📄 key_scan.h
字号:
#ifndef __key_scan_h__
#define __key_scan_h__
#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
uchar buff;
void delay1ms(void)
{ uchar i;
for(i=200;i>0;i--);
}
void key_scan(void)
{ uchar hang,lie;
P3=0xf0;
if((P3&0xf0)!=0xf0) //行码为0,列码为1
{ delay1ms();
if((P3&0xf0)!=0xf0) //有键按下,列码变为0
{ hang=0xfe; //逐行扫描
while((hang&0x10)!=0) //扫描完4行后跳出
{ P3=hang;
if((P3&0xf0)!=0xf0) //本行有键按下
{ lie=(P3&0xf0)|0x0f;
buff=((~hang)+(~lie));
}
else hang=(hang<<1)|0x01; //下一行扫描
}
}
}
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -