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中显示的运行结果如下:
相关推荐
糖糖单片机设计1 天前
硬件开发_基于物联网的生态环境检测系统
stm32·单片机·嵌入式硬件·物联网·51单片机
v_JULY_v1 天前
23-25年总结:23年因为大模型而转型科技,24年起发力具身,25年长沙具身开始一轮轮突飞猛进
科技
智者知已应修善业2 天前
【51单片机32个灯,第一次亮1,2。第二次亮2,3。第三次亮3,4。。。。】2023-2-10
c语言·经验分享·笔记·嵌入式硬件·51单片机
点灯小铭2 天前
基于51单片机手机无线蓝牙APP控制风扇调速设计
单片机·mongodb·智能手机·毕业设计·51单片机·课程设计
Dobby_052 天前
【期末复习】51单片机
51单片机
FIN66682 天前
昂瑞微IPO前瞻:技术破局高端射频模组,国产替代第二波浪潮下的硬科技突围
前端·科技·搜索引擎·产品运营·创业创新·制造·射频工程
逼子格2 天前
【Proteus仿真】虚拟终端出现乱码问题解决
单片机·嵌入式硬件·proteus·嵌入式·硬件工程·电路仿真·虚拟终端
eqwaak03 天前
科技信息差(10.2)
开发语言·python·科技·科技信息差
aloha_7893 天前
顺丰科技java面经准备
java·开发语言·spring boot·科技·spring·spring cloud
mc23563 天前
以江协科技STM32入门教程的方式打开FreeRTOS——STM32C8T6如何移植FreeRTOS
科技·stm32·嵌入式硬件