📄 key.c
字号:
/* KEY.C */
#include <reg51.h>
#include "stdio.h"
extern void print(char,char *);
extern void delay(int);
extern char mess[];
unsigned char bitcount;
unsigned char key_num;
unsigned char key_val;
unsigned char is_up;
unsigned char press;
int item;
void init_kb(void)
{
IT1=1;
EX1=1;
IE1=0;
bitcount=11;
EA=1;
}
decode(char c)
{
switch(c)
{
case 0x69 : key_num='1'; break;
case 0x72 : key_num='2'; break;
case 0x7a : key_num='3'; break;
case 0x6b : key_num='4'; break;
case 0x73 : key_num='5'; break;
case 0x74 : key_num='6'; break;
case 0x6c : key_num='7'; break;
case 0x75 : key_num='8'; break;
case 0x7d : key_num='9'; break;
case 0x70 : key_num='0'; break;
case 0x71 : key_num='.'; break;
case 0x76 : key_num=1; break;
case 0x05 : key_num=2; break;
case 0x06 : key_num=3; break;
case 0x04 : key_num=4; break;
case 0x0c : key_num=5; break;
case 0x66 : key_num=6; break;
case 0x5a : key_num=7; break;
default: key_num=0; break;
}
}
void key() interrupt 2 using 2
{
static unsigned char dat;
press=1;
if(bitcount<11 && bitcount>2)
{
dat=(dat>>1);
if(P1&0x08)
dat=dat|0x80;
}
if(--bitcount==0)
{
if(dat==0xf0)
is_up=1;
else
key_val=dat;
decode(key_val);
bitcount=11;
}
}
clr_key()
{
key_val=0;
key_num=0;
press=0;
is_up=0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -