一、仿真环境
二、Proteus模型搭建

三、软件代码
- fosc=11.0592MHz,A机和B机以波特率9600bit/s进行双机通信。
- A机有发送开关,合上时,以1s为间隔,循环发送0、1、…、255数据,同时A机接收B机返回的串行数据;A机的P0、P2接LED,P2用于显示发送的数据,P0用于显示接收的数据,通过比较验证数据通信数据是否正确。
- B机接收A机发过来的数据,将收到的数据通过TXD端返回A机;B机的P0接LED,对收到的数据进行显示
1)A机程序
#include <reg51.h>
#include <intrins.h>
sbit KEY = P1^0;
unsigned char data_tx;
unsigned char data_rx;
unsigned char T0_counter = 0;
unsigned char T0_flag = 0;
void main()
{
data_tx = 0x7f;
data_rx = 0xff;
TMOD = 0x20 + 0x01;
SCON = 0x50;
PCON &= 0x7f;
TH1 = TL1 = 0xfd;