51单片机入门_江协科技_20.1_Proteus串口仿真

1.为了解决51单片机学习过程中在Proteus中的串口仿真的问题,需要在Proteus中建立串口仿真的环境(目前Proteus安装在Win7x64虚拟机环境中;

  1. 在CSDN中找到VSPD下载地址,在虚拟机中进行VSPD的安装,具体链接地址如下:

虚拟串口软件VSPD下载安装及使用 包含XCOM串口调试软件-CSDN博客

2.1. 安装完成后需要将其中的vspdctl.dll 复制到安装目录下面覆盖原文件

  1. win7虚拟机中需要打开控制面板,然后找到设备管理器并打开,找到如图所示的COM端口,可能事COM1与COM2端口,需要修改为COM3与COM4端口,修改方法为选中需要修改的端口,点击鼠标右键,点击属性,在弹出的对话框中点击高级,在另一个弹出的对话框中找到COM3,此时是从COM1修改为COM3,同理将COM2修改为COM4;

此时win7虚拟机中的2个物理端口为COM3和COM4

  1. 打开VSPD软件,在First port中选择COM1,Second port中选择 COM2,点击add pair添加,此时在左边virtual ports中显示COM1与COM2

此时设备管理器中的端口显示如下:

  1. Proteus中找到COMPIM并添加到工程中,

在添加好的COMPIM添加RXD与TXD连接端口,建立与AT89C52的连接

同时在这个仿真环境中添加虚拟终端用于显示,需要注意虚拟终端的RXD与TXD的端口标记是要反一下的

  1. 双击COMPIM对其进行设置,如图所示是根据江协科技的教程示例进行的设置;

双击终端进行设置如下

  1. STC-ISP中的设置如下;
  1. 江协科技的程序示例如下,串口发送数据66一次;
cs 复制代码
#include <REGX52.h>

void Uart_Init(void)	//4800bps@12.000MHz
{
	PCON |= 0x80;		//使能波特率倍速位SMOD
	SCON = 0x50;		//8位数据,可变波特率
	//AUXR &= 0xBF;		//定时器时钟12T模式
	//AUXR &= 0xFE;		//串口1选择定时器1为波特率发生器
	TMOD &= 0x0F;		//设置定时器模式
	TMOD |= 0x20;		//设置定时器模式
	TL1 = 0xF3;			//设置定时初始值
	TH1 = 0xF3;			//设置定时重载值
	ET1 = 0;			//禁止定时器中断
	TR1 = 1;			//定时器1开始计时
}

void Uart_SendByte(unsigned char Byte)
{
	SBUF=Byte;
	while(TI==0);
	TI=0;
}
	
void main()
{
	Uart_Init();
	Uart_SendByte(0x66);
	while(1)
	{
		
	}
	
}
  1. 运行仿真后,在Proteus中Debug点击4.virtual Terminal,显示终端窗口和运行结果如下;
  1. STC-ISP中显示的运行结果如下:
相关推荐
F137298015572 天前
WD5030A 芯片,12V降5V,输出电流12A,电路设计
stm32·单片机·嵌入式硬件·汽车·51单片机
小莞尔2 天前
【51单片机】【protues仿真】基于51单片机的篮球计时计分器系统
c语言·stm32·单片机·嵌入式硬件·51单片机
李永奉2 天前
51单片机-使用IIC通信协议实现EEPROM模块教程
单片机·嵌入式硬件·51单片机
工大一只猿2 天前
51单片机学习
嵌入式硬件·学习·51单片机
向往鹰的翱翔2 天前
BKY莱德因:5大黑科技逆转时光
大数据·人工智能·科技·生活·健康医疗
小莞尔2 天前
【51单片机】【protues仿真】 基于51单片机八路抢答器系统
c语言·开发语言·单片机·嵌入式硬件·51单片机
GAOJ_K3 天前
弧形导轨如何提升新能源汽车的能效和续航里程?
科技·自动化·汽车·制造
小莞尔3 天前
【51单片机】【protues仿真】基于51单片机数控直流稳压电源系统
c语言·stm32·单片机·嵌入式硬件·51单片机
小莞尔3 天前
【51单片机】【protues仿真】基于51单片机密码锁系统
c语言·stm32·单片机·嵌入式硬件·51单片机
智者知已应修善业3 天前
【51单片机单按键控制2个LED循环闪烁】2022-12-7
c语言·经验分享·笔记·嵌入式硬件·51单片机