仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
单片机源程序如下:
- #include<reg52.h>
- #define uint unsigned int
- #define uchar unsigned char
- sbit p10=P1^0;
- uchar a,b,kk;
- void delay_ms(uchar y)
- {
- uchar i;
- while(y--)
- for(i=0;i<120;i++)
- ;
- }
- void put(uchar x) //发送函数
- {
- SBUF=x; //SBUF:串行口数据缓冲器
- while(TI==0); //等待发送结束
- TI=0;
- }
- void main()
- {
- uchar j;
- SCON=0x40; //串行口工作方式1,8位通用异步发送器
- TMOD=0x20; //定时器1工作方式2
- PCON=0x00; //波特率不倍增
- TH1=0xf4;
- TL1=0xf4; //波特率2400
- TR1=1; //定时器1开始计时
- P2=0xc0;
- while(1)
- {
- if(p10==0&&j==0)
- {
- delay_ms(15);
- while(p10==0);
- kk=1;
- P2=0xf9;
- j=1;
- }
- if(p10==0&&j==1)
- {
- delay_ms(15);
- while(p10==0);
- kk=2;
- P2=0xa4;
- j=2;
- }
- if(p10==0&&j==2)
- {
- delay_ms(15);
- while(p10==0);
- kk=3;
- P2=0xb0;
- j=0;
- }
- ……………………
- …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
LED.zip
(68.31 KB, 下载次数: 50)
|