独立按键的扫描

  • Post author:
  • Post category:其他




特别注意:



P3_1代表K1



P3_0代表K2



P3_2代表K3



P3_3代表K1。

unsigned char KeyNumber = 0;
if(P3_1==0){    //表示如果按键按下
Delay(20);    //延时20ms用来消抖
while(P3_1==0);    //while空程序,手一直按住按键,程序一直卡在这里,直到松手跳出此循环
Delay(20);    //再次延时20ms消抖
KeyNumber=1;}    //记录键码值

类比上方代码,把它封装成一个函数方便调用。

#include <REGX52.H>
#include "Delay.h"


unsigned char Key()
{
	unsigned char KeyNumber = 0;
	
	if(P3_1==0){Delay(20);while(P3_1==0);Delay(20);KeyNumber=1;}
	if(P3_0==0){Delay(20);while(P3_0==0);Delay(20);KeyNumber=2;}
	if(P3_2==0){Delay(20);while(P3_2==0);Delay(20);KeyNumber=3;}
	if(P3_3==0){Delay(20);while(P3_3==0);Delay(20);KeyNumber=4;}
	
	return KeyNumber;
}



版权声明:本文为weixin_63135906原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。