📄 key11.c
字号:
#include "reg52.h"
#define uchar unsigned char
#define uint unsigned int
#define PORT P2//修改下面表中值的位置,就可以按自己的想法,定义键盘位置
uchar code tab[16]={0xbd,0xee,0xed,0xeb,0xe7,0xde,0xdd,0xdb,0xd7,0xbe,0xbb,0xb7,0x7e,0x7d,0x7b,0x77};//这个值根据程序得出,
void Delay33(int n)
{
int ii;
for(ii=0;ii<n;ii++);
}
//键盘
uchar Scan_Key(void)
{
uchar a,b,c,i;
PORT=0xf0;//高行,低列
if((PORT&0xf0)!=0xf0) //有键按下
{
Delay33(100); //去抖动
if((PORT&0xf0)!=0xf0) //确实有键按下
{
b=PORT&0xf0; //b的值是列值,对于不同的行,同一列值是不变的,b总共就有四个值;同理行值也是四个。将它们和来确定按键位置。
PORT=0x0f;//高行,低列
c=PORT&0x0f;
PORT=0xf0;
}
a=c+b; //b的值是行值,对于不同的列,同一行值是不变的,b总共就有四个值;同理列值也是四个。将它们和来确定按键位置。
for(i=0;i<16;i++) //查表
{
if(tab[i]==a)
{ //PORT=0x0f;//高行,低列
while((PORT&0xf0)!=0xf0);// 等待手离开按键
return i;
}
}
}
return 100;
} /*
main(void)
{
while(1)
{ // kkk++;
// Scan_Key();
// ii++;
Delay33();
}
}
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -