代码如下
#include<reg51.h>
#include<intrins.h>
#define INT8U unsigned char
#define INT16U unsigned int
#define KEY_PORT P1
#define KeyNo = 0XFF;
extern void delay_ms(INT16U) ;
INT8U KeyMatrix_Down()
{
KEY_PORT = 0X0F; delay_ms(1);
return KEY_PORT !=0x0F ? 1:0;
}
void Keys_Scan()
{
switch (KEY_PORT)
{ case 0x0E : KeyNo = 0 ;break;
case 0x0D : KeyNo = 0 ;break;
case 0x0B : KeyNo = 0 ;break;
}
KEY_PORT = 0xF0; delay_ms(1);
switch (KEY_PORT)
{
case 0xE0: KeyNo += 0;break;
case 0xD0: KeyNo += 3;break;
case 0xB0: KeyNo += 6;break;
case 0x70: KeyNo += 9;
}
}
#define KeyNo = 0XFF;
改为
#define KeyNo 0XFF
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632