| / #include<reg52.h>                 //库文件
 #define uchar unsigned char//宏定义无符号字符型
 #define uint unsigned int  //宏定义无符号整型
 /********************************************************************
 初始定义
 *********************************************************************/
 code uchar seg7code[10]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //显示段码 数码管字跟
 uchar wei[4]={0XEf,0XDf,0XBf,0X7f};  //位的控制端
 unsigned char dat; //用于存储单片机接收发送缓冲寄存器SBUF里面的内容
 /********************************************************************
 延时函数
 *********************************************************************/
 void delay(uchar t)
 {
 uchar i,j;
 for(i=0;i<t;i++)
 {
 for(j=13;j>0;j--);
 { ;
 }
 }
 }
 
 /********************************************************************
 显示函数
 *********************************************************************/
 void Led(uchar date) //显示函数
 {
 /*****************数据转换*****************************/
 uint z,x,c,v;
 z=date/1000;                         //求千位
 x=date%1000/100;                 //求百位
 c=date%100/10;                 //求十位
 v=date%10;                         //求个位
 
 P2=0XFF;
 P0=seg7code[z];
 P2=wei[0];
 delay(80);
 P2=0XFF;
 P0=seg7code[x];
 P2=wei[1];
 delay(80);
 P2=0XFF;
 P0=seg7code[c];
 P2=wei[2];
 delay(80);
 P2=0XFF;
 P0=seg7code[v];
 P2=wei[3];
 delay(80);
 P2=0XFF;
 }
 ///////功能:串口初始化,波特率9600,方式1/////////
 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; //接收数据SBUF赋与dat
 RI=0; //RI 清零。
 SBUF = dat; //在原样把数据发送回去
 }
 Led(dat); //显示接收到的数据
 }
 }
 
 /********************************************************************
 结束
 *********************************************************************/
 
 
 
 
 |