?? key.c
字號:
#include<reg52.h>
#include<key.h>
static void delay(void);
void delay(void) //延時子程序
{
unsigned char n, m;
for (n = 100; n > 0; n--)
for (m = 300; m > 0; m--);
}
uchar KeyScan(void) //按鍵掃描程序 P1.0--P1.3為行線 P1.4--P1.7為列線
{
uchar rcode, ccode;
PX = 0xF0; // 發全0行掃描碼,列線輸入
if((PX&0xF0) != 0xF0) // 若有鍵按下
{
delay(); // 延時去抖動
if((PX&0xF0) != 0xF0)
{ rcode = 0xFE; // 逐行掃描初值
while((rcode&0x10) != 0)
{
PX = rcode; // 輸出行掃描碼
if((PX&0xF0) != 0xF0) // 本行有鍵按下
{
ccode = (PX&0xF0)|0x0F;
do{;}while((PX&0xF0) != 0xF0); //等待鍵釋放
return ((~rcode) + (~ccode)); // 返回鍵編碼
}
else
rcode = (rcode<<1)|0x01; // 行掃描碼左移一位
}
}
}
return 0; // 無鍵按下,返回值為0
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -