#include<reg52.h>#define uchar unsigned char
#define uint unsigned int
unsigned char dat;//用于存储单片机接收发送缓冲寄存器SBUF里面的内容
uchar const dofly[]={0x05,0x7d,0x46,0x54,
0x3c,0x94,0x84,0x5d,0x04,0x14
};
uchar code seg[]={0x01,0x79,0x42,0x50,0x38,
0x90,0x80,0x59,0x00,0x10
};
sbit wela=P2^7;
uchar bai,shi,ge;
void delay(unsigned int xms )
{
unsigned int i,j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--);
}
void display(dat)
{
bai=dat/100;
shi=(dat%100)/10;
ge=dat%10;
wela=1;
P0=dofly[bai];
P2=seg[0];
delay(3);
wela=1;
P0=dofly[shi];
P2=seg[1];
delay(3);
wela=1;
P0=dofly[ge];
P2=seg[2];
delay(3);
}
void Init_Com(void)
{
TMOD=0x20;
PCON=0x00;
SCON=0x50;
TH1=0xfd;
TL1=0xfd;
TR1=1;
}
void main()
{
Init_Com();
while(1)
{
if(RI)
{dat=SBUF;
RI=0;
SBUF=dat;
}
display(dat);
}
}
为什么无法接受数据,哪位大佬帮忙看看
|