<tfoot id="ygvxt"><menuitem id="ygvxt"></menuitem></tfoot>
    • <kbd id="ygvxt"></kbd>
      <th id="ygvxt"><progress id="ygvxt"></progress></th>

      您好,歡迎訪問上海意泓電子科技有限責任公司網(wǎng)站!
      4新聞資訊
      您的位置: 首頁 ->  新聞資訊 -> 單片機

      ?51單片機 (5) C51實現(xiàn)單片機串口通信仿真

      文章出處:單片機 責任編輯:上海意泓電子科技有限責任公司 發(fā)表時間:
      2018
      05-19

      1、效果圖



      2、虛擬串口

      通過VSPD虛擬串口工具虛擬出兩個串口用于通信

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



      3、串口調(diào)試

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

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



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

      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,判定為串口接收到了數(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; //給定時器高位裝初值  

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

      20.  TR1=1;  //開定時器  

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

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

      23.  SM1=1;    

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

      25. }  



      6、運行

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

      但是單片機基本沒反應(yīng),因為我寫的代碼是通過信息來控制燈亮滅,而信息格式不合法。

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


      上海意泓電子科技有限責任公司 版權(quán)所有 未經(jīng)授權(quán)禁止復(fù)制或鏡像

      CopyRight 2020-2025 www.hljhgw.com All rights reserved   滬ICP備2021005866號

      国产强伦姧在线观看,…中文天堂在线一区,亚洲欧洲精品污网站在线观看,在线视频综合站
      <tfoot id="ygvxt"><menuitem id="ygvxt"></menuitem></tfoot>
        • <kbd id="ygvxt"></kbd>
          <th id="ygvxt"><progress id="ygvxt"></progress></th>