📄 7_3.c
字号:
//键盘输入程序
#include<reg51.h>
unsigned char data keyword;
void delay(void); //键消抖动延时函数
unsigned char keyscan(void); //键扫描函数
unsigned char keyin(void); //键输入函数
unsigned char data keyword; //存放键输入字
main()
{
. //初始化程序
.
.
keyword=keyin();
switch (keyword)
{
case 0: function_0();break; //跳至按键 0 功能函数
case 1: function_1();break; //跳至按键 1 功能函数
case 2: function_2();break; //跳至按键 2 功能函数
case 3: function_3();break; //跳至按键 3 功能函数
case 4: function_4();break; //跳至按键 4 功能函数
.
.
.
.
.
.
default: break;
}
.
.
.
}
//键消抖动延时函数
void delay(void)
{
unsigned int i;
for(i=2000;i>0;i--)
;
}
//keyscan(void)键扫描函数
//P1.0-P1.2行线输入P2.0-P2.7列线输出
unsigned char keyscan(void)
{
unsigned char c,d;
do
{
for (c=1;c<=0x80;c<<=1)
{
P2=c; //发出列信号,使某一列输出为高电平
d=P1&0x07; //读行输入
if (d!=0) return(d);
}
}
while(d==0); //无按键按下,继续键扫描
}
unsigned char keyin(void) //键输入函数
{
unsigned char t;
do
{
t=keyscan(); //第一次键扫描
delay(); //延时,消除键抖动
}
while (t!=keyscan()); //第二次键扫描,如果两次扫描的结果不一样则重新键扫描
return(t); //两次扫描结果相同,返回
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -