0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

虚拟通信串口驱动软件与51单片机相互通信原理图

西西 来源:博客园 作者: 吃不了就兜着走 2020-09-24 11:37 次阅读

一、借助虚拟串口驱动软件模拟PC端串口调试助手软件与Proteus51单片机相互通信原理

虚拟终端(比如:Proteus中51单片机)的TXD(发送数据)和RXD(接收数据)分别与虚拟串口驱动软件所模拟出其中一个虚拟串口的TXD(发送数据)和RXD(接收数据)一一对应接通后,再与虚拟串口驱动软件所模拟出另外一个虚拟串口的TXD(发送数据)和RXD(接收数据)交叉对应接通来相互发送和接收数据,从而实现相互通信。

二、借助虚拟串口驱动软件模拟PC端串口调试助手软件与Proteus中51单片机相互通信原理图

三、虚拟通信串口驱动软件操作

(1)、虚拟通信串口驱动软件所模拟出虚拟串口间通信原理。

虚拟串口驱动软件所模拟出虚拟串口的TXD(发送数据)和RXD(接收数据)交叉对应接通来相互发送和接收数据,从而实现相互通信。

(2)、虚拟通信串口驱动软件所模拟出虚拟串口间通信原理图。

(3)、下载虚拟通信串口驱动软件,安装完成后的图标,如下所示。

(4)、双击打开虚拟通信串口驱动软件图标,弹出以下界面。

(5)、在虚拟通信串口驱动软件界面点击“添加端口”,左边Virtual Serial Port Driver栏下Virtual port处出现添加两个虚拟通信串口:COM2与COM3。

(6)、右键点击电脑上的计算机,在弹出列表中选中属性,会弹出一个关于电脑控制面板的信息界面,点击左上边设备管理器,弹出设备管理器界面,找到端口项点开,出现新增两个虚拟通信串口:COM2->COM3与COM3->COM2。

四、PC端串口调试助手软件与Proteus中51单片机相互通信的单片机C语言程序与Proteus仿真电路图

(1)、烧写PC端串口调试助手软件与Proteus中51单片机相互通信的单片机C语言程序

#include 
  void main()
{
   TMOD=0x20;//定时器工作方式为方式2,8位自动重装。
   TH1=0xfd;//初始化计数器高8位:1111 1101,对应波特率为9600。
   TL1=0xfd;//初始化计数器低8位
   TR1=1;//启动定时器1
   SM0=0;//设定串口工作方式1(10位异步通信)
   SM1=1;//设定串口工作方式1
   REN=1;//打开串口中断接收允许
   PCON = 0;//波特率不加倍
   P1 = SBUF;//表示PC端串口调试助手给单片机接收数据缓存寄存器发送某数据,然后单片机接收数据缓存寄存器接收PC端串口调试助手发来的某数据,并赋给P1端口。
   while(!RI);//判断串口接收中断标志位是否为1,若为1则单片机发送数据缓存寄存器给PC端串口调试助手发送数据结束。
   RI = 0;//表示单片机接收数据缓存寄存器可重新接收PC端串口调试助手发送数据。
   SBUF = P1;//表示单片机接收数据缓存寄存器把从PC端串口调试助手获取的某数据(用P1端口表示)赋给单片机发送数据缓存寄存器。
   while(!TI);//判断串口发送中断标志位是否为1,若为1则单片机发送数据缓存寄存器给PC端串口调试助手发送数据结束。
   TI = 0;//TI(即串口发送中断标志位)=0,表示单片机发送数据缓存寄存器可重新给PC端串口调试助手发送数据。
 }

(2)、PC端串口调试助手软件与Proteus中51单片机相互通信的Proteus仿真电路图

(3)、右键点击Proteus仿真电路图中的COMPIM元件,在弹出列表中选中编辑属性,会弹出一个编辑元件的信息界面,在Physical port处将通信串口COM1改为通信串口COM3,在Physical Baud Rate将4800改为9600,在Virtual Baud Rate处将4800改为9600,其它不变,之后点击确定。

五、PC端串口调试助手软件操作

(1)、下载PC端串口调试助手软件,安装完成后的图标,如下所示。

(2)、双击打开PC端串口调试助手软件图标,弹出以下界面。

(3)、在PC端串口调试助手软件界面串口处将通信串口COM1改为通信串口COM2,在波特率处将4800改为9600,选上十六进制显示及十六进制发送,点击“打开串口”。

(4)、在PC端串口调试助手软件界面点击“打开串口”弹出的界面

(5)、回到虚拟串口驱动软件界面,Virtual Serial Port Driver栏下Virtual port处的通信串口COM2出现[9600-N-8-1],表示PC端串口调试助手的通信串口COM2已激活。

(6)、回到PC端串口调试助手软件与Proteus中51单片机相互通信的Proteus仿真电路图界面,启动Proteus仿真电路。

(7)、再次回到虚拟串口驱动软件界面,Virtual Serial Port Driver栏下Virtual port处的通信串口COM3出现[9600-N-8-1],表示Proteus仿真电路图中51单片机借助COMPIM元件(RS-232串口(即9针端口)与MAX232芯片结合体)激活通信串口COM3。

六、PC端串口调试助手软件与Proteus中51单片机相互通信(注意:先启动PC端串口调试助手软件中的串口,再运行Proteus仿真电路,否则PC端串口调试助手软件与Proteus中51单片机无法相互通信。

(1)、在PC端串口调试助手软件界面的“发送的字符/数据”右边长条输入框输入发送给Proteus仿真电路图中51单片机的数据。

(2)、Proteus中51单片机未接到PC端串口调试助手软件发送数据的初始状态。

(3)、在PC端串口调试助手软件界面的“发送的字符/数据”右边长条输入框输入发送给Proteus仿真电路图中51单片机的数据后,点击PC端串口调试助手软件界面中的“手动发送”,让PC端串口调试助手软件给Proteus中51单片机发送数据。

(4)、Proteus中51单片机接收到PC端串口调试助手软件发送的数据。

(5)、在Proteus中51单片机接收到PC端串口调试助手软件发送数据的同时,PC端串口调试助手软件也接收了Proteus中51单片机发送的初始状态数据。

(6)、再次在PC端串口调试助手软件界面的“发送的字符/数据”右边长条输入框输入发送给Proteus中51单片机的数据。

(7)、Proteus中51单片机未接到PC端串口调试助手软件再次发送数据的初始状态。

(8)、再次在PC端串口调试助手软件界面的“发送的字符/数据”右边长条输入框输入发送给Proteus仿真电路图中51单片机的数据后,点击PC端串口调试助手软件界面中的“手动发送”,再次让PC端串口调试助手软件给Proteus中51单片机发送数据。

(9)、Proteus中51单片机再次接收到PC端串口调试助手软件发送的数据。

(10)、在Proteus中51单片机接收到PC端串口调试助手软件再次发送数据的同时,PC端串口调试助手软件也再次接收了Proteus中51单片机发送的初始状态数据。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 51单片机
    +关注

    关注

    274

    文章

    5702

    浏览量

    123623
  • 串口驱动
    +关注

    关注

    2

    文章

    82

    浏览量

    18654
  • 虚拟通信
    +关注

    关注

    0

    文章

    3

    浏览量

    6872
收藏 人收藏

    评论

    相关推荐

    51单片机核心板原理图

    51单片机核心板原理图
    发表于 12-16 11:30 3次下载

    LabVIEW与单片机无法串口通信 提示串口打开错误 端口设置有问题吗?

    0xBFFF0000) 未知系统错误(其它错误)。 重启计算机也无法解决这个错误。 通过虚拟串口,LabVIEW与串口助手通信正常, 单片机
    发表于 12-06 22:28

    串口通信的开发环境配置

    ,如单片机、传感器模块等。 准备一个USB转串口模块(如CH340、FT232等),以便将串口设备连接到计算机。 连接线,用于将串口设备、USB转
    的头像 发表于 11-22 09:21 263次阅读

    为什么通信要使用虚拟串口串口助手?

    串口助手和虚拟串口是什么?串口助手和虚拟串口串口
    的头像 发表于 11-15 01:04 1031次阅读
    为什么<b class='flag-5'>通信</b>要使用<b class='flag-5'>虚拟</b><b class='flag-5'>串口</b>和<b class='flag-5'>串口</b>助手?

    51单片机STC8H8K64U通过RA8889/RA8876如何控制彩屏 I2C源码下载

    51单片机STC8H8K64U驱动彩屏,控制器采用瑞佑RA8889. 使用软件模拟I2C方式通信驱动
    的头像 发表于 11-01 11:02 440次阅读
    <b class='flag-5'>51</b><b class='flag-5'>单片机</b>STC8H8K64U通过RA8889/RA8876如何控制彩屏 I2C源码下载

    基于51单片机的多路温度检测调节及串口显示

    ,利用虚拟串口模块实时将平均温度值实现串口显示。仿真演示视频:基于51单片机的多路温度检测调节及串口
    的头像 发表于 10-22 14:13 210次阅读
    基于<b class='flag-5'>51</b><b class='flag-5'>单片机</b>的多路温度检测调节及<b class='flag-5'>串口</b>显示

    基于51单片机的遥控开关仿真(双机通信)

    单片机最小系统、继电器及LED灯构成;(4)由于仿真无法模拟无线模块通信,故利用单片机RXD、TXD端口模拟,通过遥控器的开关实现对主机LED灯的控制,实现LED灯的点亮及熄灭。仿真演示视频:基于
    的头像 发表于 10-22 14:12 294次阅读
    基于<b class='flag-5'>51</b><b class='flag-5'>单片机</b>的遥控开关仿真(双机<b class='flag-5'>通信</b>)

    如何实现51单片机与PC的串行通信

    51单片机与PC的串行通信是一种常见的通信方式,它允许单片机通过串行接口与PC
    的头像 发表于 10-21 11:35 933次阅读

    把esp8266加入到c51单片机单通道程序怎么写

    要将ESP8266模块加入到C51单片机的单通道程序中,您需要了解如何通过串行通信(UART)与ESP8266进行通信。以下是如何实现这一点的步骤和示例代码。 步骤 1:硬件连接 首先
    的头像 发表于 10-18 11:32 612次阅读

    51单片机驱动

    电子发烧友网站提供《51单片机驱动.exe》资料免费下载
    发表于 09-20 11:46 5次下载

    51单片机烧录软件怎么用

    准备工作 确保您已经安装了51单片机烧录软件,如Keil、IAR等。 准备好51单片机开发板和烧录器,如STC-ISP等。 确保您的计算机已
    的头像 发表于 08-22 09:26 1212次阅读

    基于51单片机直流电机驱动测速电路及程序及元件清单

    本资源内容概要:       这是基于51单片机直流电机驱动测速电路及程序设计包含了电路源文件(Altiumdesigner
    发表于 06-20 16:16 1次下载

    两块esp32-c3如何实现蓝牙相互通信

    各位大佬,求问两块esp32-c3如何实现蓝牙相互通信?应该参考vscode的esp-idf中哪个例程呢?
    发表于 06-11 06:18

    51单片机串口通信详细介绍-小白必看

    51单片机串口通信单片机与外部设备通信的重要方式,它基于串行
    的头像 发表于 04-17 09:33 1998次阅读
    <b class='flag-5'>51</b><b class='flag-5'>单片机</b><b class='flag-5'>串口</b><b class='flag-5'>通信</b>详细介绍-小白必看

    stc51单片机怎么烧录

    烧录STC51单片机是一项常见的操作,下面将详细介绍如何进行烧录以及所需的步骤和工具。本文将按照如下顺序进行详解: STC51单片机简介 硬件烧录工具介绍 硬件烧录步骤
    的头像 发表于 01-02 17:41 3440次阅读