国产精品欧美福利_亚洲日韩一区二区在线_九九在线精品三级香蕉色网_欧美另类日本亚洲_A级毛片高清免费视_成人三级亚洲无码网站_免费观看国产经典福利片_欧洲成人r片在线观看_久久大量国产情侣高清_最近免费mv在线电影在线观看

蘇州奧聯(lián)電子科技有限公司
當(dāng)前位置: 蘇州奧聯(lián)電子科技有限公司 » 單片機(jī)

51單片機(jī) (5) C51實(shí)現(xiàn)單片機(jī)串口通信仿真

分類(lèi):?jiǎn)纹瑱C(jī) 發(fā)布:2018年05月19日 22:42 瀏覽:912次 Tag:

1、效果圖



2、虛擬串口

通過(guò)VSPD虛擬串口工具虛擬出兩個(gè)串口用于通信

VSPD虛擬串口工具下載:http://download.csdn.net/detail/leytton/7565589



3、串口調(diào)試

打開(kāi)兩份串口調(diào)試工具,第一個(gè)打開(kāi)com1,第二個(gè)打開(kāi)com2,這時(shí)在任一串口調(diào)試工具發(fā)送信息,另一個(gè)串口調(diào)試工具中能接收到信息

串口調(diào)試工具下載:http://download.csdn.net/detail/leytton/7565561



4、Proteus電路設(shè)計(jì)圖

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

虛擬終端(Virtual Terminal):接RXD接口的虛擬終端顯示單片機(jī)通過(guò)com2接收到的信息,接TXD接口的虛擬終端顯示單片機(jī)傳出的信息。




5、51單片機(jī)程序代碼

  1. #include   

  2.   

  3. void init();  

  4. void main(){  

  5.  unsigned char temp=0xff;  

  6.  init();  

  7.  while(1){  

  8.     if(RI){     //RI=1,判定為串口接收到了數(shù)據(jù),RI要清零,  

  9.          RI=0;     

  10.          temp=SBUF;    

  11.      }else{  

  12.       P1=temp;   

  13.      }  

  14.  }  

  15. }  

  16. void init(){  

  17.  TMOD=0x20;   //設(shè)置T1工作方式為方式2  

  18.  TH1=0xfd; //給定時(shí)器高位裝初值  

  19.  TL1=0xfd; //給定時(shí)器低位裝初值  

  20.  TR1=1;  //開(kāi)定時(shí)器  

  21.              //以上是設(shè)置波特率  

  22.  SM0=0;  //設(shè)置串口通訊方式為方式1  

  23.  SM1=1;    

  24.  REN=1;  //串口是否接收數(shù)據(jù)的開(kāi)關(guān)  

  25. }  



6、運(yùn)行

串口調(diào)試工具接com1口發(fā)送的數(shù)據(jù),可在接RXD的虛擬終端顯示;

但是單片機(jī)基本沒(méi)反應(yīng),因?yàn)槲覍?xiě)的代碼是通過(guò)信息來(lái)控制燈亮滅,而信息格式不合法。

改進(jìn):在串口調(diào)試工具勾選“按十六進(jìn)制發(fā)送”,虛擬終端勾選“Hex Display Mode”,發(fā)送“0”則燈全亮,發(fā)送“fe”則燈P1.0亮。


 
資訊欄目
最新資訊
資訊排行
 

在線咨詢