当前位置: 首页 > news >正文

【51单片机系列】proteus仿真单片机的串口通信

本文参考:https://zhuanlan.zhihu.com/p/425809292。

在proteus之外使用串口软件和单片机通信。通过在proteus设计一个单片机接收PC发送的数据,并将接收的数据发送出去,利用软件【Configure Virtual Serial Port Driver】创建一对虚拟串口,利用软件【串口助手】向单片机发送数据。

proteus仿真电路图如下:

proteus仿真电路图

COMPIM器件是COM Port Physical Interface Model串口物理端口模型。proteus中的COMPIM是标准的RS-323端口,可直接使用电脑的物理串口通信,即COMPIM是通过电脑的物理串口进行实际通信的。

也就是说proteus仿真利用COMPIM通过电脑的串口与外界的其它设备进行通信。

需要注意的是COMPIM与单片机的接法:单片机的RXD引脚与COMPIM的RXD引脚连接,单片机的TXD引脚与COMPIM的TXD引脚连接。

设置COMPIM的参数,按照需求设计。如下,设置COM端口号为COM2,波特率为9600bps。要注意单片机的波特率要和各个串口波特率一致;串口选择了COM2表示单片机在COM2逻辑上是相互的,串口上收到的信息,也就是单片机收到的信息,单片机发送的信息就会从COM3发出。

COMPIM属性设置

使用软件【Configure Virtual Serial Port Driver】查看或创建当前的端口号,打开软件如下。电脑中只有一个物理端口COM1,可以添加虚拟端口对,点击【Add pair】即可。这时COM2和COM3是相连的,只要在串口助手中监视COM3即可。

虚拟端口驱动界面

打开【串口调试助手】,设置相同的波特率,如下,然后打开串口监视。

串口调试助手界面

编写单片机的代码,单片机接收PC(即串口助手)发送的数据,并将接收到的数据发送出来。编码如下:

/*实现功能:串口通信,proteus仿真单片机与串口通信接收PC机数据[2024-01-16] zoya
*/
#include <reg52.h>typedef unsigned char u8;
typedef unsigned int u16;#define GPIO_LED P1void UsartInit()
{SCON=0x50;  // 串口工作方式1,接收数据TMOD=0x20;  // 定时器T1工作方式2TH1=TL1=0xFD;  // 波特率9600bps,不倍增PCON=0x00;ES=1;  // 打开串口中断允许位EA=1;  // 打开CPU中断允许位TR1=1;  // 启动计数
}
void main()
{UsartInit();while(1);
}void ReceiveDat() interrupt 4
{u8 tmp;if(RI){tmp=SBUF;RI=0;SBUF=tmp;while(!TI);TI=0;}
}

仿真结果:

proteus仿真单片机与PC通信

http://www.lryc.cn/news/284378.html

相关文章:

  • 【Qt】对象树与坐标系
  • 【设计模式】腾讯二面:自动贩卖机/音频播放器使用了什么设计模式?
  • 转换操作符转换类型:普通函数指针(普通函数、类的静态函数)、类的成员函数指针
  • 易控智驾高精度地图开发工程师校招一面、二面面经
  • 用VSCode玩STM32的烧录工具 CooCox Cortex Flash Programmer
  • Pycharm无法刷新远程解释器的框架: Can‘t get remote credentials for deployment server
  • c++设计模式之单例模式
  • Git学习笔记(第5章):Git团队协作机制
  • Python 面向对象绘图(Matplotlib篇-16)
  • Linux开机自动挂载window密码有转义字符的共享文件夹
  • Redis(四)
  • 一文解读ISO26262安全标准:术语
  • 使用stable diffussion插件StableSR将图片高清放大
  • ActiveMQ:专注消息传递,助您构建高效稳定的系统
  • 小程序样例1:简单待办列表
  • Jvm相关知识(面试高级必备)
  • android 常规log的查看与抓取
  • 【SpringBoot】—— 如何创建SpringBoot工程
  • 2018年认证杯SPSSPRO杯数学建模A题(第二阶段)海豚与沙丁鱼全过程文档及程序
  • C# tcp客户端字符串(图片名称)+ 图片数据打包,发送到服务端;服务端接收到数据后解析数据包
  • 【机组】算术逻辑单元带进位运算实验的解密与实战
  • axios query传数组参数的格式
  • 2018年认证杯SPSSPRO杯数学建模B题(第一阶段)动态模糊图像全过程文档及程序
  • qt学习:Qfile文件类
  • 从 GPT1 - GPT4 拆解
  • Python项目——计算器(PySide6+Pyinstaller)
  • ChatGPT 和文心一言哪个更好用?
  • 数据备份与恢复
  • 数据库原理及数据库的优化
  • C语言第三弹---数据类型和变量