key.c

来自「这是一个成熟的DSA通讯持续,可以在单片机之间通讯用.」· C语言 代码 · 共 64 行

C
64
字号
#include<at89x52.h>
#include"key.h"
#include"typedefine.h"
#include"delay.h"

uchar key_flag;
uchar key;
/*------------------------------------------------
获取按键
-------------------------------------------------*/
uchar Check_Key(void)
{
 if((KEY1!=1&KEY2!=0&KEY3!=0&KEY4!=0)&&(key_flag==0))
   {
    delay_xms(15);
    if((KEY1!=1&KEY2!=0&KEY3!=0&KEY4!=0)&&(key_flag==0))
	  {
         key=1;
		 key_flag=1;
		    return key;
	  }
   }      

 if((KEY1!=0&KEY2!=1&KEY3!=0&KEY4!=0)&&(key_flag==0))
   {
    delay_xms(30);
    if((KEY1!=0&KEY2!=1&KEY3!=0&KEY4!=0)&&(key_flag==0))
	  {
         key=2;
		 key_flag=1;
		    return key;
      }
   }

 if((KEY1!=0&KEY2!=0&KEY3!=1&KEY4!=0)&&(key_flag==0))
   {
     delay_xms(30);
     if((KEY1!=0&KEY2!=0&KEY3!=1&KEY4!=0)&&(key_flag==0))
	   {
         key=3;
		 key_flag=1;
		    return key;
       }
   }

 if((KEY1!=0&KEY2!=0&KEY3!=0&KEY4!=1)&&(key_flag==0))
  {
    delay_xms(30);
    if((KEY1!=0&KEY2!=0&KEY3!=0&KEY4!=1)&&(key_flag==0))
	  {
         key=4;
		 key_flag=1;
		    return key;
	  }
  }
   
 if(KEY1!=0&KEY2!=0&KEY3!=0&KEY4!=0)
  {
	 key_flag=0;
	 key=0;
	 return key;
  }

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?