这是串行异步通信接收发送的实例,代码来源于书《单片机原理及应用技术》在使用该代码时,需将晶振调制“11.0592MHz。在仿真图里的虚拟终端的波特率设置为9600,校验位选择:ODD(每个都下拉一下,看到ODD的就是了);变一下这两个,其他都不变。
右键点击线,添加网络标号,代号相同即相连。
#include "reg51.h"
#include "stdio.h"
typedef unsigned char u8;
u8 red;
bit rf,Error;
//初始化程序
void init()
{
SCON=0xd0;
PCON=0x00;
TMOD=0x20;
TH1=0xFD;
TL1=0xFD;
EA=1;
ES=1;
TR1=1;
rf=0;
}
//对串口接收的数据校验
bit check(u8 chd)
{
ACC=chd