📄 4x4.txt
字号:
#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
Void dlms(void);
Uchar kbscan(void); /*函数说明*/
Void main(void)
{
Uchar key;
While(l)
{
Key=kbscan(); /*键盘扫描函数,返回键码送至key保存 */
dlms()
}
}
void dlms(void) /* 延时*/
{
uchar I;
for(i=200;i>0;i--)
{
}
}
uchar kbscan(void) /*键盘扫描函数*/
{uchar sccode,recode;
P1=0xf0;
If((P1&0xf0)!=0xf0) /*如果P1口高四位不全为1,则有键按下*/
{dlms(); /*延时,去抖动*/
If((P1&0xf0)!=0xf0) /*再读输入值*/
{sccode=0xf0 /*最低位置0*/
While((sccode&0x10)! =0) /*不到最后一行,循环*/
{P1=sccode: /*P1口输出扫描码*/
If((P1&0xf0)!=0xf0) /*如果P1.4~P1.7不全为1,该行有键按下*/
{recode=(P1&0xf0;); /*保留P1口高四位输入值,低四位变为1,作为列值*/
Return(sccode +recode) /*行码+列码=键编码,返回主程序*/
}
else
sccode =(sccode<<1)|0x01; /*如果该行无键按下,查下一行,行扫描值左移一位*/
}
}
}
Return(0); /*无键按下,返回值为0*/
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -