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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > MCS-51單片機串口通信

          MCS-51單片機串口通信

          作者: 時間:2013-01-17 來源:網(wǎng)絡(luò) 收藏

          串口通訊對而言意義重大,不但可以實現(xiàn)將的數(shù)據(jù)傳輸?shù)诫娔X端,而且也能實現(xiàn)電腦對的控制,比如你可以把寫入單片機的數(shù)據(jù)碼顯示在電腦上,如可以使用一個按鍵,當(dāng)按下它時使某一個字母如:AA,通過單片機的串口將它發(fā)送到電腦上顯示,起到仿真器的某些功效,站長在開發(fā)數(shù)據(jù)采集設(shè)備時就是通過串口來檢查數(shù)據(jù)正確與否的。

          內(nèi)部含有一個可編程全雙工串行通信接口,具有UART的全部功能。該接口電路不僅能同時進行數(shù)據(jù)的發(fā)送和接收,也可作為一個同步移位寄存器使用。

          在進行異步通信時,數(shù)據(jù)的發(fā)送和接收分別在各自的時鐘(TCLK和RCLK)控制下進行的,但都必須與字符位數(shù)的波特率保持一致。串行口的發(fā)送和接收時鐘可由兩種方式產(chǎn)生,一種是由主機頻率fosc經(jīng)分頻后產(chǎn)生,另一種方式是由內(nèi)部定時器T1或T2的溢出率經(jīng)16分頻后提供。

          51單片機有一個全雙工的串行通訊口,所以單片機和電腦之間可以方便地進行串口通訊。進行串行通訊時要滿足一定的條件,比如電腦的串口是RS232電平的,而單片機的串口是TTL電平的,兩者之間必須有一個電平轉(zhuǎn)換電路,我們采用了專用芯片MAX232進行轉(zhuǎn)換,雖然也可以用幾個三極管進行模擬轉(zhuǎn)換,但是還是用專用芯片更簡單可靠。我們采用了三線制連接串口,也就是說和電腦的9針串口只連接其中的3根線:第5腳的GND、第2腳的RXD、第3腳的TXD。這是最簡單的連接方法,但是對我們來說已經(jīng)足夠使用了,電路如下圖所示,MAX232的第10腳和單片機的11腳連接,第9腳和單片機的10腳連接,第15腳和單片機的20腳連接。本網(wǎng)站的提供的實驗板上已經(jīng)裝配好了全部硬件。

          點擊瀏覽下一頁

          串口通訊的硬件電路如上圖所示

          為了能夠在電腦端看到單片機發(fā)出的數(shù)據(jù),我們必須借助一個WINDOWS軟件進行觀察單片機,這里我們利用一個免費的電腦串口調(diào)試軟件。

          點擊瀏覽下一頁

          點擊這里可以下載并運行這個串口調(diào)試軟件這是一個綠色的軟件,無需安裝,可以直接在當(dāng)前位置運行這個軟件。軟件界面如上圖,我們先要設(shè)置一下串口通訊的參數(shù),將波特率調(diào)整為4800,勾選十六進制顯示。串口選擇為COM1,當(dāng)然將網(wǎng)站提供的51單片機實驗板的串口也要和電腦的COM1連接,將燒寫有以下程序的單片機插入單片機實驗板的萬能插座中,并接通51單片機實驗板的電源,這時只要按下K1一次,在串口調(diào)試助手軟件的接收區(qū)界面中就會增加一個“AF”字符,表示單片機向電腦發(fā)送“AF”字符成功。串口實驗的源程序如下所示:

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


          數(shù)字通信相關(guān)文章:數(shù)字通信原理


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



          上一頁 1 2 3 下一頁

          關(guān)鍵詞: MCS-51 單片機 串口通信

          評論


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