📄 键盘中断.txt
字号:
#include <reg51.h>
//LCD的口线
sbit E=P3^5;
sbit RW=P3^6;
sbit RS=P3^7;
//8字LED的连接方法
//P0.7 P.06 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0
// H G F E D C B A
unsigned char code ledcode[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,
0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e}; //数码管段码表
void scankey(void);
void main(void)
{
E=0; //取消LCD对LED的影响
RW=0;
RS=1;
P2=0xfe; //用第一个8字数码管显示
P0=0x8c; //上电显示"P"
while(1)
{
P1=0xfe;
scankey();
P1=0xfd;
scankey();
P1=0Xfb;
scankey();
P1=0xf7;
scankey();
}
}
void scankey(void)
{
switch(P1)
{
case 0xee: { P0=ledcode[1];}break; // 键 "1"
case 0xde: { P0=ledcode[2];}break; // 键 "2"
case 0xbe: { P0=ledcode[3];}break; // 键 "3
case 0x7e: { P0=ledcode[4];}break; // 键 "4"
case 0xed: { P0=ledcode[5];}break; // 键 "5
case 0xdd: { P0=ledcode[6];}break; // 键 "6
case 0xbd: { P0=ledcode[7];}break; // 键 "7
case 0x7d: { P0=ledcode[8];}break; // 键 "8
case 0xeb: { P0=ledcode[9];}break; // 键 "9
case 0xdb: { P0=ledcode[0];}break; // 键 "0
case 0xbb: { }break; // 键 "+
case 0x7b: { }break; // 键 "-
case 0xe7: { P0=ledcode[10];}break; //键 "A"
case 0xd7: { P0=ledcode[11];}break; //键 "B"
case 0xb7: { P0=ledcode[12];}break; //键 "C"
case 0x77: { P0=ledcode[13];}break; //键 "C"
default: break;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -