📄 ri_ti.c
字号:
/* 功能:PC键盘0-9显示,行列式按键键值显示
运行:在BANK3完成,启动串口助手软件后,在串口助手软件发送区输入的任意数字
对应数字号码会显示在数码管上。按任意行列按键,键值会显示在助手接收区
*/
#include<at89x52.h>
#define BaudRate 9600L
#define uchar unsigned char
code uchar SegCode[]={0xc0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
void UartInit()
{
SCON = 0x50;
TMOD = 0x20;
PCON = 0x80;
TH1 = TL1 = 0xfa;
TR1 = 1;
}
uchar key()
{
uchar kbuf,row,line;
P2 = 0x0f;
row = P2;
P2 = 0xf0;
line = P2;
kbuf = row+line;
return(kbuf);
}
void UartRec()
{ uchar rbuf;
if(RI)
{
RI = 0;
rbuf = SBUF;
P0 = SegCode[rbuf];
P1_3 = 1;
P1_3 = 0;
P0 = 0xff;
P1_2 = 1;
P1_2 = 0;
}
}
void main()
{ uchar ch;
UartInit();
while(1)
{
ch = key();
if(ch != 0xff)
{
while(key() != 0xff); //返回值不会修改ch吧?
SBUF = ch;
while(TI==0);
TI = 0;
}
UartRec();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -