首先需要在Proteus中将环境建立起来。我这里使用的版本是8.8。

利用两个元器件就可以建立VIRTUAL TERMINAL和COMPIM的连接。如上图所示,两个VIRTUAL TERMINAL的RXD与COMPIM的RXD与TXD相连。单片机的RXD与TXD与COMPIM的TXD与RXD对应相连接。
VIRTUAL TERMINAL是串口监视仪器,可以通过它将数据线上的符合RS232协议的波形捕捉到,并显示出来,也可以往数据线上发送RS232协议的波形;COMPIM为串口元件,可设置占用计算机上哪一个串口。然后就要设置通信速率以及通信格式了,在属性框中实现设置相同的就行了。这样就可实现数据的通信了。下图为VIRTUAL TERMINAL和COMPIM的设置。



接下来要安装虚拟串口。运行虚拟串口程序,配置虚拟串口,这里我增加COM2,COM4两个虚拟串口。


增加之后,左边会出现COM2,COM4,并且在设备管理器的端口中也可以看到这两个相互连接的端口,此时我们的虚拟串口就配置好了。



之后可以打开串口调试助手调试测试串口是否正常工作。打开两个串口调试助手窗口,一个将端口设置为COM2,另一个将端口设置为COM4,相互之间发送信息。信息接收正常,则表示虚拟串口已经可以正常工作了。


然后将Proteus中晶振的频率与单片机的频率设置为11.0592MHz。



在导入相应的hex文件后点击运行仿真。此时Proteus的单片机串口为COM2,设置串口调试助手为COM4。以16进制的发送方式发送AA,则可点亮相应的LED灯。虚拟终端在十六进制的显示下也可接收到。


测试代码:/*控制LED的亮灭*/
#include <reg52.h>
#define uchar unsigned char
uchar a;
void uart_init();
void main() { uart_init();while(1)  {       } } void serial() interrupt 4   // 串口中断服务函数
{ if(RI){a=SBUF; // 读出接收到的数据RI=0; // 清零接收标志位 P0=a;  //将接受到的数据给P0端口   }} void uart_init(){SCON = 0x50;//配置SM0/1,并允许接收TMOD=0x20; // 设置定时器1 为方式2TH1=0xfd;  //装入初值 对应波特率9600TL1=0xfd; TR1=1; //启动定时器1 EA=1; // 打开总中断开关ES=1; // 打开串口中断开关 }

Proteus的51单片机串口通信相关推荐

  1. 51单片机串口通信【收集学习向】

    本篇整理了学习51串口通信过程中看到的一些比较好的文章,有很多的超链接.并根据自己遇到的情况分析了串口传输乱码的一些原因. 目录 1.原理知识 2.测试程序和虚拟仿真 3.电路设计与公母口连线 电路设 ...

  2. 51单片机串口通信模板_深入理解51单片机串口通信及通信实例

    串口通信的原理 串口通信(SerialCommunications)的概念非常简单,串口按位(bit)发送和接收字节.尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一 ...

  3. 51单片机串口通信原理、相关寄存器配置与简单串口收发程序代码

    目录 1. 串口通信原理 2. 51单片机串口通信 2.1 串口简要模式图 2.2 相关寄存器 (1)PCON.SCON.SBUF (2)IE.IPH.IP (3)配置T1定时器 2.3 波特率和系统 ...

  4. 51单片机串口通信模板_51单片机串口通信

    51 单片机串口通信 51 单片机串口通信(转载) 2009-03-03 18:22 一.串口通信原理 串口通讯对单片机而言意义重大,不但可以实现将单片机的数据传输到计 算机端,而且也能实现计算机对单 ...

  5. 51单片机~串口通信(讲解+代码)

    51单片机~串口通信 (一)计算机串行通信原理: 综上:所以在设置的时候,经常将SCON设置为0X50==0101 0000 ,使用方式1. (二)工作: 中断控制 led灯,每发送一条指令灯亮或灭( ...

  6. 51单片机串口通信发送以及接收代码详解1

    #include <reg51.h> //实验现象:单片接收电脑发送的字符串,并发回给PC端的代码.//函数声明 void uart_init(void); void uart_seng_ ...

  7. 51单片机串口通信发送以及接收代码详解2

    #include <reg51.h> //实验现象:在电脑端没按下发送的时候,单片一直给电脑发送aaa字符串: //实验现象:在电脑端按下发送的时候,结束字符串aaa的发送代码,执行单片接 ...

  8. 51单片机-串口通信

    目录 1.什么是通信 1.1.通信的概念 1.2.传送方式 1.3.同步方式 1.4.传送方向 1.5.校验方式 2.单片机串口介绍 2.1.硬件电路 2.2.电平标准 2.3.常见接口 2.4.内部 ...

  9. 51单片机-串口通信(串口向电脑发送信息电脑通过串口控制LED)

    文章目录 前言 一.串行通信口的功能以及串行通信口的结构及原理 1.1 串行通信口的功能 1.2 51单片机串口的结构 二.串行通信口的控制寄存器 2.1 串行控制寄存器SCON 2.2 电源控制寄存 ...

最新文章

  1. 自己闲来无聊弄的python小游戏,turtle实现海龟赛跑
  2. Oracle安装ORA-12154和ORA-12169问题的解决
  3. 【机器学习】一文解决样本不均衡(全)
  4. 简历上写CV开源项目,有用吗?
  5. WinSock2编程之打造完整的SOCKET池
  6. Android: 生成安卓可使用的Tflite文件
  7. windows10使用多套public key pair进行SSH连接github的配置文件
  8. vue.js 全局应用js_如何在不到7分钟的时间内测试您的Vue.js应用
  9. 今天是我开通博客的第一天
  10. 如何设置计算机网共享文件夹,局域网内如何设置共享文件夹呢
  11. 操作mysql_MySQL学习笔记之基础操作
  12. 更高效地刷OJ——String常用方法(一)
  13. VC绘制控件如何防止闪烁
  14. matlab 音乐传奇,matlab 如何打开wav声音文件
  15. pyspark案例系列11-ALS推荐算法
  16. 面试题:线上CPU飙高如何排查
  17. 基于Unity的VR迷宫游戏项目技术分享
  18. 75 [backtrader期货策略]十大经典策略-分时均线交叉策略
  19. IO模型_阻塞_非阻塞_多路复用
  20. Python 学习7-魔方方法

热门文章

  1. Windows命令-目录操作-查看当前目录/更改目录-cd/chdir
  2. Java微服务 面试题
  3. 【eslint】Identifier ‘***_***‘ is not in camel case
  4. 第五周-css3重点总结
  5. 一个封装的BeanCopier工具类
  6. Sed命令替换指定文件中某一行所有内容
  7. 工频交流耐压试验装置中试验变压器有何作用
  8. 求n个数的最大数最小数c++_C++求N个数中的最大值
  9. 苹果电脑创始人:永远做一名工程师
  10. CentOS 7虚拟机安装常用软件