分享

Proteus通过虚拟串口程序仿真51单片机串口的实现

 求知881 2019-01-26

1.参考文章下载地址:http://download.csdn.net/source/1927624

2.虚拟串口

3.串口调试助手

4.Proteus 7.5 sp3

 

实现方法

1.参考文章(参考文章是从CSDN下载的一篇PDF文件)已经很详细的说明了怎么实现,我就不想啰嗦了,我只提供几个关键的截图和串口调试程序代码

如果参考文章打不开我提供参考文章的下载连接

2.提供Proteus的连线图如下:(值得注意的是单片机的RXD和TXD分别和串口的RXD和TXD一一对应相连,这和用Proteus的虚拟终端给串口输入信号时,单片机和串口的连接方式是不一样的,用Proteus的虚拟终端作为串口输入信号的时候单片机的RXD和串口的TXD相连,是交错连接的)

注意:1.51单片机的晶振频率我设置的是11.0592MHz,单片机载入的program file可以是HEX,也可以是BIN

      2.SCMR表示单片机接收到的内容,SCMT代表单片机发送出去的内容

     3.我的串口设置如下图(主要设置波特率,这里是9600)

   4.我的虚拟串口程序的抓图如下

  6.我串口调试工具的截图如下:

  7.最后附上串口调试所使用到的程序代码(只写了输入调试的程序)

#include
void init();
void main()
{
 init();
 while(1)
 {
  while(!RI);    //RI=1,判定为串口接收到了数据,RI要清零,
  RI=0;   //否则就会进入中断,如果没接收数据就一直在while循环
  P1=SBUF;  //如果介绍到数据就点亮第一个发光二极管

 }
}
void init()
{
 TMOD=0x20;  //设置T1工作方式为方式2
 TH1=0xfd; //给定时器高位装初值
 TL1=0xfd; //给定时器低位装初值
 TR1=1;  //开定时器
            //以上是设置波特率
 SM0=0;  //设置串口通讯方式为方式1
 SM1=1;  
 REN=1;  //串口是否接收数据的开关
}

8.最后提供一张调试成功的截图


关键字:Proteus  虚拟串口  程序仿真  51单片机  串口

编辑:什么鱼 引用地址:http://www./mcu/article_2017012233557.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多