采用Protues虛擬仿真,甲乙機之間采用方式1雙向串行通信
甲機的K1按鍵可通過串口控制乙機的LED1點亮,LED2滅;
甲機的K2按鍵控制乙機的LED1滅,LED2亮;
甲機的K3按鍵控制乙機的LED1和LED2全亮。
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
單片機源程序如下:
- #include<reg52.h>
- #define uint unsigned int
- #define uchar unsigned char
- void main()
- {
- uchar temp=0;
- TMOD=0x20;
- TH1=0xfd;
- TL1=0xfd;
- SCON=0x50;
- PCON=0x00;
- TR1=1;
- while(1)
- {
- while(RI==0);
- RI=0;
- temp=SBUF;
- if(temp==0xfe)
- P1=0xfe;
- else if(temp==0xfd)
- P1=0xfd;
- else if(temp==0xfb)
- P1=0xfc;
- else
- P1=0xff;
- }
- }
復制代碼- #include<reg52.h>
- #define uint unsigned int
- #define uchar unsigned char
- void main()
- {
- uchar temp=0;
- TMOD=0x20;
- TH1=0xfd;
- TL1=0xfd;
- SCON=0x40;
- PCON=0x00;
- TR1=1;
- P1=0xff;
- while(1)
- {
- temp=P1;
- SBUF=temp;
- while(TI==0);
- TI=0;
- }
- }
復制代碼
所有資料51hei提供下載:
串口通信keil程序及仿真圖.zip
(8.42 KB, 下載次數: 40)
2019-12-2 15:22 上傳
點擊文件名下載附件
|