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

          新聞中心

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

          51單片機串口通信實例

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

          最小系統(tǒng)部分(時鐘電路、復(fù)位電路等)第一講已經(jīng)講過,在此不再敘述。我們重點來了解下與計算機的RS-232 接口電路。可以看到,在電路圖中,有TXD 和RXD 兩個接收和發(fā)送指示狀態(tài)燈,此外用了一個叫MAX3232 的芯片,那它是用來實現(xiàn)什么的呢?首先我們要知道計算機上的是具有RS-232 標準的串行接口,而RS-232 的標準中定義了其電氣特性:高電平“1”信號電壓的范圍為-15V~-3V,低電平“0”

          信號電壓的范圍為+3V~+15V。可能有些讀者會問,它為什么要以這樣的電氣特性呢?這是因為高低電平用相反的電壓表示,至少有6V 的壓差,非常好的提高了數(shù)據(jù)傳輸?shù)目煽啃?。由?a class="contentlabel" href="http://www.ex-cimer.com/news/listbylabel/label/單片機">單片機的管腳電平為TTL,與RS-232 標準的串行口進行時,首先要解決的便是電平轉(zhuǎn)換的問題。一般來說,可以選擇一些專業(yè)的集成電路芯片,如圖中的MAX3232。MAX3232 芯片內(nèi)部集成了電壓倍增電路,單電源供電即可完成電平轉(zhuǎn)換,而且工作電壓寬,3V~5.5V 間均能正常工作。其典型應(yīng)用如圖中所示,其外圍所接的電容對傳輸速率有影響,在試驗套件中采用的是0.1μF。

          值得一提的是MAX3232 芯片擁有兩對電平轉(zhuǎn)換線路,圖中只用了一路,因此浪費了另一路,在一些場合可以將兩路并聯(lián)以獲得較強的驅(qū)動抗干擾能力。此外,我們有必要了解圖中與計算機相連的DB-9 型RS-232的引腳結(jié)構(gòu)(見圖2)。

          圖2 DB-9連接器接口圖

          圖2 DB-9連接器接口圖

          其各管腳定義如下(見表4)。

          表4 DB-9型接口管腳定義

          表4 DB-9型接口管腳定義

          三、程序設(shè)計

          本講設(shè)計程序如下:

          #include AT89X52.h (1)

          void Init_Com(void) ( 2)

          {

          TMOD = 0x20; ( 3)

          PCON = 0x00; ( 4)

          SCON = 0x50; ( 5)

          TH1 = 0xE8; ( 6)

          TL1 = 0xE8; ( 7)

          TR1 = 1; ( 8)

          }

          void main(void) ( 9)

          {

          unsigned char dat; ( 10)

          Init_Com(); ( 11)

          while(1) ( 12)



          關(guān)鍵詞: 實例 通信 串口 單片機

          評論


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