📄 keyboard.c
字号:
#include "reg51.h"
#include "intrins.h"
#include "keyboard.h"
sbit P1_7=P1^7;
//sbit P1_6=P1^6;
void delay(void)
{
unsigned char i;
for(i=0;i<10;i++)//i=10 210
_nop_();
}
unsigned scan_key(void)
{
unsigned char result=0;
P1_7=0;
P1|=0x40;
P3|=0x33;
switch ((P3&0x33)|(P1&0x40))
{
case 0x33: result=1; break;
case 0x72: result=2; break;
case 0x71: result=3; break;
case 0x63: result=4; break;
case 0x53: result=5; break;
default: result=0; break;
}
return result;
}
unsigned get_key(void)
{
unsigned char temp1,key_num=0;
unsigned int i=4000;//按键时间
if((temp1=scan_key())!=0);
{
delay();
if( temp1==scan_key())
{
key_num=temp1;
while(scan_key()!=0&&i--);//放开按键或时间到都可以退出循环
}
}
return key_num;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -