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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于51單片機的多機并行通信系統(tǒng)

          基于51單片機的多機并行通信系統(tǒng)

          作者: 時間:2012-09-11 來源:網(wǎng)絡(luò) 收藏

          2.3 應(yīng)用時的注意事項

          兩個之間的握手方式如果采用中斷,由于U2_H向外部發(fā)送數(shù)據(jù)比U1_L接收外部數(shù)據(jù)快,Ul_L向U2_H傳送數(shù)據(jù)時,無需考慮U2_H的狀態(tài),而U2_H向U1_L傳送數(shù)據(jù)時,由于U2_H接收外部數(shù)據(jù)比U1_L向外部發(fā)送數(shù)據(jù)快,U2_H必須查詢Ul_L的狀態(tài),即U1_L是否處于接收U2_H數(shù)據(jù)的狀態(tài),否則,U2_H就不能向Ul_L傳送數(shù)據(jù)。

          若作為RS_485接口使用,只需對圖2中的電路稍做改動,增加對75176芯片的讀寫控制,同時兩個中與主設(shè)備相連的作為主機,通過P2口的一位來協(xié)調(diào)兩個單片機是接收數(shù)據(jù)還是發(fā)送數(shù)據(jù)。

          值得注意的是,該波特率變換器在不同的應(yīng)用中會受到一定的限制,在使用時要注意下面幾點:

          ①波特率很高時,要考慮單片機串行口能否實現(xiàn);

          ②從波特率高的向波特率低的變換時,要考慮波特率低的單片機能否實現(xiàn)不丟數(shù)據(jù)的發(fā)送;

          ③當雙向變換時,既要考慮上述情況,還有考慮程序的大小,以及執(zhí)行時間對雙向傳送數(shù)據(jù)的影響,計算兩個單片機能否實現(xiàn)不丟數(shù)據(jù)的變換,在時間上要留有余量;

          ④在查詢時,要注意握手信號的關(guān)系,不要對同一數(shù)據(jù)產(chǎn)生重復(fù)讀取,以至于數(shù)據(jù)重復(fù);

          ⑤波特率不同時,單片機可以選用不同的晶振頻率。

          2.4 實例及源程序

          在實際使用中若碰到如圖1所示的情況,需要波特率變換器將坡特率為172.8kbps的數(shù)據(jù)轉(zhuǎn)換成波特率為115.2kbps,再向上位機傳送。實際使用的電路如圖2所示。在該實例中,為了防止局部時刻接收數(shù)據(jù)比發(fā)送快而丟失數(shù)據(jù),再U2_H單片機的程序中,加入了8個數(shù)據(jù)區(qū)作為接收數(shù)據(jù)存放緩沖區(qū)。

          3 結(jié)論

          通過長時間的通信實驗和實際應(yīng)用,設(shè)計的波特率變換器方案可行,通信可靠,沒有出現(xiàn)數(shù)據(jù)丟失的情況。在一些中,由于通信波特率特殊,在設(shè)備之間通信存在波特率不匹配時,通過波特率變換器,可以實現(xiàn)不同波特率設(shè)備之間的通信。通過更改單片機的晶頻振率,可以滿足各種波特率(在單片機允許的范圍內(nèi))的轉(zhuǎn)換。

          dc相關(guān)文章:dc是什么


          51單片機相關(guān)文章:51單片機教程


          c語言相關(guān)文章:c語言教程


          單片機相關(guān)文章:單片機教程


          單片機相關(guān)文章:單片機視頻教程


          單片機相關(guān)文章:單片機工作原理


          通信相關(guān)文章:通信原理



          上一頁 1 2 3 下一頁

          評論


          相關(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); })();