proteus虚拟串口的实现:https://mp.csdn.net/console/editor/html/107251649
一、使用proteus绘制简单的电路图,用于后续仿真
二、编写程序
/********************************************************************************************************************
---- @Project: USART
---- @File: main.c
---- @Edit: ZHQ
---- @Version: V1.0
---- @CreationTime: 20200710
---- @ModifiedTime: 20200710
---- @Description:
---- 波特率是:9600 。
---- 通讯协议:EB 00 55 XX YY
---- 加无效填充字节后,上位机实际上应该发送:00 EB 00 55 XX YY
---- 其中第1位00是无效填充字节,防止由于硬件原因丢失第一个字节。
---- 其中第2,3,4位EB 00 55就是数据头
---- 后2位XX YY就是有效数据
---- 任意时刻,单片机从电脑“串口调试助手”上位机收到的一串数据中,只要此数据中包含关键字EB 00 55 ,并且此关键字后面两个字节的数据XX YY 分别为01 02,那么蜂鸣器鸣叫一声表示接收的数据头和有效数据都是正确的。
---- 单片机:AT89C52
********************************************************************************************************************/
#include "reg52.h"
/*——————宏定义——————*/
#define FOSC 11059200L
#define BAUD 9600
#define T1MS (65536-FOSC/12/500) /*0.5ms timer calculation method in 12