矩阵按键电路图
函数名:key_scan
功能:读行线列线电平,根据按键键值定位
返回值:按键代表的十六进制数字
uchar是定义了unsigned char类型
key_scan函数
uchar key_scan()
{
//定义几个变量
uchar key;
uchar i=0x7f;
uchar j;
delay(10);//消抖
if(key_press())
{
重点这个do…while
do
{
i=(i<<1|i>>7);//左移1位|右移7位 每一次只输出一个低电平1111 1110
1.一开始定义i等于0x7f,为了先让P0输出为低电平。
2.当按键按下M1,M5,M9,M13,高四位(P7P6P5P4)其中有一位会因为按键导通拉低电平,输出低电平。
3.j不等于0xf0,退出do…while循环,数码管输出0,1,2,3
4.若按下不是P0对应的按键,.j等于0xf0,继续do…while循环
5.