news 2026/4/29 1:20:33

Proteus8.9使用虚拟串口VSPD仿真51单片机的串口通信【详细教程-2025】

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Proteus8.9使用虚拟串口VSPD仿真51单片机的串口通信【详细教程-2025】

作者相关信息

github主页https://github.com/snqx-lqh
VX公众号小离的嵌入式笔记

📖 欢迎交流 如果对你有帮助,希望可以帮我点个赞👍和收藏,谢谢

软件下载链接

仿真软件版本:Proteus8.9
下载链接:
链接:https://pan.baidu.com/s/1kkgFmRBlh268m_ESl83weg 提取码:9bde 复制这段内容后打开百度网盘手机App,操作更方便哦

虚拟串口工具VSPD
链接:https://pan.baidu.com/s/1uQ5f_6TjwxREZCwp7Pk99A?pwd=6rmk 提取码:6rmk 复制这段内容后打开百度网盘手机App,操作更方便哦

本文的原工程我也放在了CSDN下载,但是我觉得可能用不上,因为我的全部内容都在博客中叙述了,应该比较容易自己复现。

虚拟串口安装和使用

安装步骤

1、双击安装应用程序按钮。

2、只能选English

3、直接Next

4 、选择同意

5、选择安装路径,不要在C盘即可

6、直接Next

7、取消全部勾选,然后NEXT

8、点击install下载

9、不要勾选,直接关闭

10、将安装包中Crack的文件夹中的内容复制

11、将其粘贴到安装目录下,直接

12、直接替换文件中目标,至此安装完毕。

配置虚拟串口对

1、打开软件,可以看到当前系统已占用的端口,1处是物理端口,就是实际拥有的端口,40和41就是我创建的虚拟串口对,你往串口40发东西,串口41能收到,往串口41发东西,串口40能收到。

2、我们新创建一个串口对,比如使用20和21配对,记得,一定选择未使用的端口,点击添加端口即可。


3、创建完成后,左边会有一对新的串口对

4、然后你就可以在系统的设备管理器也能找到这两个端口了。有的时候在上面显示,有的时候在下面,不管了,反正有。

5、如果要删除的话,选中串口对,点击删除即可。

虚拟串口使用测试

串口上位机相互发送

打开两个正点原子的XCOM,也可以是其他的上位机测试软件,然后设置好波特率什么的,一个选择刚刚设置的串口20,一个选择刚刚设置的串口21。

然后就能发现左边发送的右边能接到,右边发送的左边能接到。

Proteus仿真

首先我们先绘制一个51单片机带上串口的电路图。

重点是COMPIM这个元器件的配置,还有注意连线,P30接RXD,P31接TXD。然后我们右键选中编辑这个元器件。也可以直接双击打开。

在编辑界面我们输入这个串口的设备信息,主要是他代表的串口号,有可能下拉框没有你能选的,这时候你就需要自己输入了。比如我的COM20就没有,是我自己输的,然后其他配置根据实际情况来,什么停止位呀啥的。

然后设置完成后点击右上角的OK。


我们写一个测试程序放在单片机中,测试程序如下

#include"reg52.h"#defineu8unsignedchar#defineu16unsignedintsbit LED=P2^0;voidUartInit(void)//9600bps@11.0592MHz{PCON&=0x7F;//波特率不倍速SCON=0x50;//8位数据,可变波特率TMOD&=0x0F;//设置定时器模式TMOD|=0x20;//设置定时器模式TL1=0xFD;//设置定时初始值TH1=0xFD;//设置定时重载值ET1=0;//禁止定时器中断TR1=1;//定时器1开始计时ES=1;//打开串口中断EA=1;//打开全部中断}voidSendBuffLen(u8*str,u8 len){while(len!=0){SBUF=*str;while(!TI);TI=0;str++;len--;}}charstr[]="hello world\r\n";intmain(){UartInit();SendBuffLen(str,sizeof(str));while(1){}}voidUartRoutine(void)interrupt4{u8 res;if(RI){res=SBUF;if(res==0x01){LED=0;SendBuffLen("hello world\r\n",sizeof("hello world\r\n"));}else{LED=1;SendBuffLen("中文字符测试\r\n",sizeof("中文字符测试\r\n"));}RI=0;}}

将代码通过Keil编译后,生成HEX文件,双击单片机后插入文件,同时记得,代码配置的单片机使用的是11.0592MHz的时候。

然后打开一个串口调试助手,选择COM21,因为仿真中用的COM20

运行仿真,一开始单片机会发送一个Helloworld。

发送1个01,使用HEX模式,会发现单片机会反一个helloworld,同时LED被点亮,这是代码逻辑,就不细讲了,主要是验证串口可以收发。

发送1个02,使用HEX模式,会发现单片机会反一个中文字符测试,同时LED被熄灭,这是代码逻辑,就不细讲了,主要是验证串口可以收发。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/11 7:17:07

Lealone架构深度解析:从H2数据库到全链路异步化革新

Lealone架构深度解析:从H2数据库到全链路异步化革新 【免费下载链接】Lealone 一个安全的能够自我进化的 AI 应用开发平台 项目地址: https://gitcode.com/gh_mirrors/le/Lealone Lealone作为一个安全的能够自我进化的AI应用开发平台,其架构设计融…

作者头像 李华
网站建设 2026/4/14 18:56:22

Huntarr API参考手册:完整接口说明和调用示例

Huntarr API参考手册:完整接口说明和调用示例 【免费下载链接】Sonarr-Hunter Assists Sonarr to check for missing TV Shows 项目地址: https://gitcode.com/gh_mirrors/so/Sonarr-Hunter Huntarr是一款功能强大的Sonarr辅助工具,专为帮助用户检…

作者头像 李华
网站建设 2026/4/11 7:09:11

GLM-4V-9B保姆级安装教程:Docker一键部署,支持多轮对话

GLM-4V-9B保姆级安装教程:Docker一键部署,支持多轮对话 1. 环境准备与快速部署 1.1 系统要求 操作系统:Linux (推荐Ubuntu 20.04)显卡:NVIDIA GPU (显存≥24GB)驱动:NVIDIA驱动≥515.65.01Docker:19.03C…

作者头像 李华