?? msg.c
字號:
////////////////////////////////////////////////////////////////////////
//文件名:msg.c
//功能描述:消息搜集程序
////////////////////////////////////////////////////////////////////////
#include "reg52.h"
#include "msg.h"
#include "comm.h"
#include "dianji.h"
#include "disp.h"
///////////////////////////////////////////////////////////////////////
//得到有個按鍵命令
uchar getmsg(void)
{
static data uchar temp;
static bdata bit temp_qianzhang=0;
static bdata bit temp_houzhang=0;
data uchar i=0;
//按鍵按下的時間在500MS內只處理一次
P1|=0x0f8;
while((temp==(P1&0x0f8))&&(i<10))
{
if(getqianzhang()&&(!temp_qianzhang)) //前方障礙出現(xiàn)
{
temp_qianzhang=1;
return MSG_QIANZHANG;
}
if((!getqianzhang())&&temp_qianzhang) //前方障礙消失
{
temp_qianzhang=0;
return MSG_NOQIANZHANG;
}
if(gethouzhang()&&(!temp_houzhang)) //后方障礙出現(xiàn)
{
temp_houzhang=1;
return MSG_HOUZHANG;
}
if((!gethouzhang())&&temp_houzhang) //后方障礙消失
{
temp_houzhang=0;
return MSG_NOHOUZHANG;
}
delay_ms(30);
i++;
}
temp=(P1&0x0f8);
switch(temp) //按鍵編碼
{
case KEY_QIAN:
return MSG_K_QIAN;
case KEY_HOU:
return MSG_K_HOU;
case KEY_ZUO:
return MSG_K_ZUO;
case KEY_YOU:
return MSG_K_YOU;
case KEY_TING:
return MSG_K_TING;
case KEY_MODE:
return MSG_K_MODE;
case KEY_FEN:
return MSG_K_FEN;
case KEY_REC:
return MSG_K_REC;
case KEY_DISPMODE:
return MSG_K_DISPMODE;
default:
return NULL;
}
}
/////////////////////////////////////////////////////////////////////
//立即返回按鍵值
uchar imgetch(void)
{
P1|=0x0f8;
return (P1&0x0f8);
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -