⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 msg.c

📁 单片机实现的遥控小汽车的设计研究论文与程序
💻 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)) //前方障碍出现
                {
                        temp_qianzhang=1;
                        return MSG_QIANZHANG;
                }
                if((!getqianzhang())&&temp_qianzhang) //前方障碍消失
                {
                        temp_qianzhang=0;
                        return MSG_NOQIANZHANG;
                }
                if(gethouzhang()&&(!temp_houzhang)) //后方障碍出现
                {
                        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 + -