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单片机
    +关注

    关注

    269

    文章

    5648

    浏览量

    120641
  • 串口驱动
    +关注

    关注

    2

    文章

    78

    浏览量

    18348
  • 虚拟通信
    +关注

    关注

    0

    文章

    3

    浏览量

    6862
收藏 人收藏

    评论

    相关推荐

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

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

    单片机串口通信的接收与发送

    单片机串口通信是一种常见的通信方式,它可以实现单片机与外部设备的数据交换。在实际应用中,单片机
    的头像 发表于 12-20 14:03 1476次阅读

    单片机串口通信的接收与发送程序

    单片机串口通信的接收与发送程序 一、引言 单片机串口通信是一种常见的
    的头像 发表于 12-19 13:57 832次阅读

    请问51单片机同时使用定时器和串口通信会不会相互干扰?

    51单片机同时使用定时器和串口通信会不会相互干扰? 同时使用定时器1和定时器二会不会互相干扰
    发表于 11-08 07:43

    2块51单片机之间的通信方式都有哪些?

    2块51单片机之间的通信方式都有哪些
    发表于 11-07 08:28

    51单片机如何实现双机串口通信

    51单片机如何实现双机串口通信
    发表于 11-03 07:42

    51单片机和stm32单片机如何串口通信呢,需要电平转换器吗?

    51单片机和stm32单片机如何串口通信呢,需要电平转换器吗?
    发表于 11-01 07:47

    单片机串口通信代码

    这是一个单片机C51串口接收(中断)和发送例程,可以用来测试51单片机的中断接收和查询发送,另外我觉得发送没有必要用中断,因为程序的开销是一
    发表于 10-19 15:53 0次下载
    <b class='flag-5'>单片机</b>与<b class='flag-5'>串口</b><b class='flag-5'>通信</b>代码

    基于单片机串口通信模块设计

    电子发烧友网站提供《基于单片机串口通信模块设计.doc》资料免费下载
    发表于 10-19 11:29 8次下载
    基于<b class='flag-5'>单片机</b>的<b class='flag-5'>串口</b><b class='flag-5'>通信</b>模块设计

    基于Linux的ARM和单片机串口通信设计

    电子发烧友网站提供《基于Linux的ARM和单片机串口通信设计.pdf》资料免费下载
    发表于 10-11 10:35 0次下载
    基于Linux的ARM和<b class='flag-5'>单片机</b>的<b class='flag-5'>串口</b><b class='flag-5'>通信</b>设计

    STM32单片机学习笔记(3):虚拟串口

    利用CubMX生成基于32单片机的HAl库工程,然后编写程序在proteus上仿真验证。本项目最适合没有开发板的同学学习,零成本利用仿真软件率先入门STM32单片机。这是第三部分针对串口
    发表于 07-18 16:40 1921次阅读
    STM32<b class='flag-5'>单片机</b>学习笔记(3):<b class='flag-5'>虚拟</b><b class='flag-5'>串口</b>

    串口屏与单片机通信

    串口屏与单片机通信需要通过串口进行数据传输。以下是一些简单的步骤:
    的头像 发表于 06-14 14:07 2037次阅读
    <b class='flag-5'>串口</b>屏与<b class='flag-5'>单片机</b><b class='flag-5'>通信</b>

    单片机通信协议有哪些 单片机和wifi模块间怎么通信

    单片机和WiFi模块通信的方法有以下几种: 1. 串口通信:将单片机与WiFi模块通过串口连接,
    的头像 发表于 06-13 17:56 1w次阅读

    51单片机串口通信它的发送和接受为什么不可以同时进行呢?

    51单片机串口通信是全双工的,但是为什么又说它的发送和接受不可以同时进行呢?
    发表于 04-23 10:13

    基于51单片机单片机串口通信仿真设计

    基于51单片机单片机串口通信仿真设计,资料包含仿真及源程序
    发表于 04-20 16:15 3次下载