标题: 51单片机UART通信打印信息+源码+proteus仿真+VSPD虚拟串口 [打印本页]

作者: 1327874105    时间: 2023-8-21 17:27
标题: 51单片机UART通信打印信息+源码+proteus仿真+VSPD虚拟串口
       一、使用51单片机的串口与Proteus的Virtual Terminal(虚拟终端)进行一个简单的串口通信,实现的功能是让Virtual Terminal通过串口 向单片机发送数据,单片机接收到数据后经串口将数据发送到Virtual Terminal上显示。

      1、Virtual Terminal

在使用前根据程序设计配置Virtual Terminal的参数,本实验使用的是11.0592MHz的晶振,波特率为9600不加倍,串口工作于方式1,8位数据位1位停止位。

      2、仿真电路图


    3、程序
    这里给大家分析一个51单片机的定时器及中断配置图(这个是在论坛上找的)


  1. #include <reg52.h>
  2. #include <stdio.h>
  3. #include <string.h>    //stdio.h,string.h用于printf函数原型

  4. void delay(unsigned int z);
  5. void uart_init(void);//串行口初始化

  6. void main()
  7. {
  8.     int a = 6,d = 15;
  9.     char b = 'A',c[] = "abcde";
  10.     uart_init();
  11.     while(1)
  12.     {
  13.         printf("a = %d b = %c c = %s d = %x\n",a,b,c,d);
  14.         printf("hello word!\n");
  15.         printf("你好世界\n");
  16.        delay(1000);
  17.    }
  18. }

  19. void uart_init(void)
  20. {
  21.     TMOD=0x20;     //即0010 0000,定时器/计数器1,工作方式2
  22.     TH1=0xfd;          //设置波特率为9600
  23.     TL1=0xfd;
  24.     TR1=1;               //启动定时器/计数器1
  25.         
  26.     SCON=0x50;     //SM0=0;SM1=1;REN=1;0101 0000.串口工作方式1,允许串行控制
  27.     PCON=0x00;     //设置SMOD=0
  28.     IE=0x90;            //EA=1;ES=1;CPU允许中断,串行允许中断
  29.         
  30.     TI=1;                 //中断请求标志位,直接使用printf必须加入此句才能实现发送
  31. }

  32. void delay(unsigned int z)
  33. {
  34.     unsigned int x,y;
  35.     for(x=z;x>0;x--)
  36.     for(y=110;y>0;y--);
  37. }
复制代码
    4、仿真结果


     


     二、利用VSPD软件虚拟一对串口,然后在PC中使用串口助手和Proteus中的MCU进行通信。
     1、打开安装好的VSPD软件,设置好需要创建的串口对的端口号(这里使用COM3和COM4作为示例),然后点击add virtual pair按钮;


    2、设置DB9串口参数和串口助手参数
       这里Component Reference和Component Value不是必填选项,下面的端口选择我们之前创建的虚拟串口对COM3和COM4中的其中一个,演示时我这边使用(串口3,波特率9600,8位数据位,1位停止位,无校验,无流控)的参数条件。在串口助手中使用(串口4,波特率9600,8位数据位,1位停止位,无校验,无流控)。




   
    3、仿真电路图


    需要注意的是Proteus中的DB9为母头接口,而电脑PC的为公头接口,所以连接方式,需要RXD接DB9的RXD,TXD接DB9的TXD。
   4、仿真结果






附件给大家打包了,里面包括了proteus仿真+程序+VSPD虚拟串口软件+串口助手软件
UART_proteus仿真 程序 VSPD软件 串口助手软件.zip (7.28 MB, 下载次数: 61)








作者: 51heizlxz    时间: 2023-9-6 16:56
感谢楼主提供的好资料。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1