- #include<reg52.h>
- #define uchar unsigned char
- #define uint unsigned int
- unsigned char code duan[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
- void main()
- {
- uchar temp=0;
- SCON = 0x50; //設置為工作方式1,方式1要確定波特率,設置定時器 01010000 方式一,10位異步收發器(8位數據) 第二個1是REN允許串行接收位
- TMOD = 0x20; //8位重裝載 00100000 0打開定時器
- PCON = 0x00; //波特率不倍增
- TH1 = 0xFA; //波特率4800
- TL1 = 0xFA;
- ES = 1; //打開通信中斷
- EA = 1; //打開總中斷
- TR1 = 1; //打開計數器
-
- P2 = 0xa0;P0 = 0x00;P2 = 0; //選中蜂鳴器,關閉蜂鳴器
- P2 = 0xE0; //選中數碼管 打開Y7
- P2=0XC0;P0=0X01;P2=0xFF;P0=0XFF; //一個數碼管亮
- while(1)
- {
-
- temp=SBUF; //SBUF是接收區
- P0=duan[temp];
- RI=0; //清除接收中斷標志位
- }
- }
復制代碼
|