- #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; //清除接收中断标志位
- }
- }
复制代码
|