📄 2.c
字号:
#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
code uchar ledcode[]={0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d,
0x07,0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71};
sbit K0=P2^0;
sbit K1=P2^1;
sbit K2=P2^2;
sbit K3=P2^3;
uchar rdata;
uchar ledbuf[4]; //数码管显示缓冲
uchar receive (void); //单片机接收函数
void display (void); //单片机显示函数
void delay (uint tc);
void main (void)
{
TMOD=0x20;
TL1=0xfa;
TH1=0xfa;
TR1=1;
SCON=0x50;
PCON=0x00;
while(1)
{
do
{
if ( receive() ) display();
}while( receive() );
display();
}
}
uchar receive (void)
{
while(RI==0) return(0);
RI=0;
rdata=SBUF;
SBUF=rdata;
while(TI==0);
TI=0;
}
void display (void)
{
ledbuf[0]=ledbuf[1];
ledbuf[1]=ledbuf[2];
ledbuf[2]=ledbuf[3];
ledbuf[3]=ledcode[rdata]; //移位
delay(500);
P0=ledbuf[0];K0=0;delay(200);K0=1;
P0=ledbuf[1];K1=0;delay(200);K1=1;
P0=ledbuf[2];K2=0;delay(200);K2=1;
P0=ledbuf[3];K3=0;delay(200);K3=1;
delay(500);
}
void delay (uint tc)
{
uchar i;
for (i=0;i<tc;i++)
{}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -