南京芯科利电子科技有限公司

服务热线:17749591789    

单片机

51单片机 (5) C51实现单片机串口通信仿真

分类:单片机 发布:2019-03-20 10:47:17 浏览:591次 Tag:

1、效果图



2、虚拟串口

通过VSPD虚拟串口工具虚拟出两个串口用于通信

VSPD虚拟串口工具下载:http://download.csdn.net/detail/leytton/7565589



3、串口调试

打开两份串口调试工具,第一个打开com1,第二个打开com2,这时在任一串口调试工具发送信息,另一个串口调试工具中能接收到信息

串口调试工具下载:http://download.csdn.net/detail/leytton/7565561



4、Proteus电路设计图

P1串口:属性原件值COMPIM,Physical port为com2,Physical Baud rate为9600 

虚拟终端(Virtual Terminal):接RXD接口的虚拟终端显示单片机通过com2接收到的信息,接TXD接口的虚拟终端显示单片机传出的信息。




5、51单片机程序代码

  1. #include   

  2.   

  3. void init();  

  4. void main(){  

  5.  unsigned char temp=0xff;  

  6.  init();  

  7.  while(1){  

  8.     if(RI){     //RI=1,判定为串口接收到了数据,RI要清零,  

  9.          RI=0;     

  10.          temp=SBUF;    

  11.      }else{  

  12.       P1=temp;   

  13.      }  

  14.  }  

  15. }  

  16. void init(){  

  17.  TMOD=0x20;   //设置T1工作方式为方式2  

  18.  TH1=0xfd; //给定时器高位装初值  

  19.  TL1=0xfd; //给定时器低位装初值  

  20.  TR1=1;  //开定时器  

  21.              //以上是设置波特率  

  22.  SM0=0;  //设置串口通讯方式为方式1  

  23.  SM1=1;    

  24.  REN=1;  //串口是否接收数据的开关  

  25. }  



6、运行

串口调试工具接com1口发送的数据,可在接RXD的虚拟终端显示;

但是单片机基本没反应,因为我写的代码是通过信息来控制灯亮灭,而信息格式不合法。

改进:在串口调试工具勾选“按十六进制发送”,虚拟终端勾选“Hex Display Mode”,发送“0”则灯全亮,发送“fe”则灯P1.0亮。


相关文章
QQ在线咨询
销售电话:
17749591789
17749591789
512383826
扫码添加微信