<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 多串口船舶導航數(shù)據(jù)轉(zhuǎn)換器的低成本實現(xiàn)

          多串口船舶導航數(shù)據(jù)轉(zhuǎn)換器的低成本實現(xiàn)

          作者: 時間:2009-10-30 來源:網(wǎng)絡 收藏
          3.2單片機P89C669與AT89C2051通信程序的設計
          單片機P89C669與AT89C2051之間的通信流程圖如圖3所示,具體如下。
          (1)P89C669方面
          ①P89C669發(fā)送。首先,程序初始化后P89C669將AT89C2051有關(guān)的晶振信息、波特率等參數(shù)以命令字形式傳送給AT89C2051,AT89C2051接收后查表求解進行波特率設置。然后P89C669將接收完畢的存入緩沖區(qū),并檢測 引腳,若為高電平則等待,直到變?yōu)榈碗娖綍r通過并口將數(shù)據(jù)傳給AT89C2051。在AT89C2051將接收緩沖區(qū)數(shù)據(jù)發(fā)送出去的同時檢測緩沖區(qū),如果緩沖區(qū)不滿則將 引腳置低,反之則高。
          ②P89C669接收數(shù)據(jù)。AT89C2051接收到數(shù)據(jù)后用 引腳產(chǎn)生邊沿信號向P89C669發(fā)出請求,P89C669收到請求信號后執(zhí)行讀取數(shù)據(jù)程序。

          本文引用地址:http://www.ex-cimer.com/article/173579.htm


          圖3 P89C669方面的程序流程圖

          (2)AT89C2051方面
          AT89C2051是作為IC芯片用來進行擴展的,在初始化階段接收上位機傳來的數(shù)據(jù)進行初始化設置,然后循環(huán)等待接收上位機發(fā)送的數(shù)據(jù)[6]。AT89C2051將并口傳來的數(shù)據(jù)存在并口接收緩沖區(qū),并復制到發(fā)送緩沖區(qū),激活串口使用中斷方式發(fā)送;將串口傳來的數(shù)據(jù)存在串口接收緩沖區(qū),并復制到并口發(fā)送緩沖區(qū),同時改變 的電位,向上位機發(fā)出請求。在數(shù)據(jù)中,AT89C2051主要是用來串口發(fā)送電羅經(jīng)信號,它與P89C669的通信流程圖如圖4所示。

          4結(jié)束語
          文中應用AT89C2051擴展串口后,系統(tǒng)共有三個串行口。其中,一個串口用來選擇接收電羅經(jīng)或者GPS信號用以數(shù)據(jù)轉(zhuǎn)換;一個串口經(jīng)過MAX3232TTL電平與RS-232電平轉(zhuǎn)換后可連接微機的串行口,從而簡單方便地單片機P89C669的在線編程,它同時也作為GPS信號的輸出接口;另一個串口主要用來輸出電羅經(jīng)信號。
          該電路與采用專用芯片的電路相比,并不復雜,而且編程設計較簡單,綜合考慮是一種比較經(jīng)濟實用的低設計方法。
          創(chuàng)新點:
          文章本著低的指導思想進行設計。首先,選用可在線編程的P89C669單片機為主處理器,省去編程器,降低了;其次,采用價格便宜的AT89C2051單片機與充分利用P89C669單片機豐富的IO口進行串口擴展。最終,實現(xiàn)了多串口數(shù)據(jù)的低成本實現(xiàn)。


          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();