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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 單片機與PC機串行通信的實現(xiàn)的設(shè)計原理

          單片機與PC機串行通信的實現(xiàn)的設(shè)計原理

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

          隨著和微機技術(shù)的不斷發(fā)展,特別是網(wǎng)絡(luò)技術(shù)在測控領(lǐng)域的廣泛應(yīng)用,由機和多臺構(gòu)成的多機網(wǎng)絡(luò)測控系統(tǒng)已成為技術(shù)發(fā)展的一個方向。它結(jié)合了單片機在實時數(shù)據(jù)采集和微機對圖形處理、顯示的優(yōu)點。同時,windows環(huán)境下后臺微機在數(shù)據(jù)庫管理上具有明顯的優(yōu)勢。二者結(jié)合,使得單片機的應(yīng)用已不僅僅局限于傳統(tǒng)意義上的自動監(jiān)測或控制,而形成了向以網(wǎng)絡(luò)為核心的分布式多點系統(tǒng)發(fā)展的趨勢。本文主要介紹機與51系列單片機的一般方法和步驟。

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

          硬件結(jié)構(gòu)和單片機的通1S程序

          單片機和機的一般采用RS-232、RS-422或B3-485總線標(biāo)準(zhǔn)接口,也有采用非標(biāo)準(zhǔn)的20nnJL電流環(huán)的。為保證的可靠,在選擇接口時必須注意:(1)通信的速率;(2)通信距離:(3)抗干擾能力;(4)組網(wǎng)方式。本文主要介紹采用RS-232接口與單片機通信的方法。

          1、 RS-232電平轉(zhuǎn)換和PC機的接口電路

          RS-232是早期為公用電話網(wǎng)絡(luò)數(shù)據(jù)通信而制定的標(biāo)準(zhǔn),其邏輯電平與ITLCMOS電乎完全不同。邏輯0規(guī)定為+5- +15V之間,邏輯1,,規(guī)定為-5~-15V之間。由于RS-232發(fā)送和接收之間有公共地,傳輸采用非平衡模式,因此共模噪聲會耦合到信號系統(tǒng)中,其標(biāo)準(zhǔn)建議的最大通信距離為15米.但實際應(yīng)用中我們在300bi:/s的速率下可以達(dá)到300米。

          RS-232規(guī)定的電平和一般微處理器的邏輯電平不一致,必須進行電平轉(zhuǎn)換,邏輯電平轉(zhuǎn)換可以采用以下三種方式。

          采用 MCl488和MCl489芯片的轉(zhuǎn)換接口 MCl488和MCl489芯片為早期的RS-232至TTL邏輯電平的轉(zhuǎn)換芯片,上圖為實際電路。該電路的不便之處是需要±12V電壓,并且功耗較大,不適合用于低功耗的系統(tǒng)。圖中TXD、RXD分別接單片機的發(fā)送和接收端。

          采用MAX232芯片的轉(zhuǎn)換接口 MAX232是MAXIM公司生產(chǎn)的,包含兩路驅(qū)動器和接收器的RS-232轉(zhuǎn)換芯片。上圖為實際電路。芯片內(nèi)部有一個電壓轉(zhuǎn)換器,可以把輸入的+5v電壓轉(zhuǎn)換為RS-232接口所需的±10V電壓,尤其適用于沒有±12V的單電源系統(tǒng)。與此相同的芯片還有MAx202、AD公司的ADDtl01以及 INl2只SIL公司的ICl232芯片。

          采用分立元件的轉(zhuǎn)換接口上圖為采用分立元件實現(xiàn)的RS-232-TTL電平的轉(zhuǎn)換接口電路,其特點是利用PC機的BS-232接口的③腳信號出(也可用④、⑦腳)來供給負(fù)電源,F(xiàn)C機的③、④、⑦腳在非發(fā)送邏輯0電平時均為1電平(-10V左右),其驅(qū)動能力為20mA,利用這個特性,用一個二極管和電解電容,即在電解電容上獲取了RS-232通信所需的負(fù)電源。該電路簡單、功耗小,在沒有專用芯片時不失為一種替代方法。

          上述介紹的RS。232至TTL電平轉(zhuǎn)換的方法可以適用于大多數(shù)通信系統(tǒng),在一些特殊應(yīng)用場合需要諸如靜電保護、多收發(fā)器(如與MODEM連接)時可采用MAX238(4驅(qū)動、4接收)或MAX3221t t15Kv靜電保護)等芯片。

          2、單片機通信程康

          單片機串工作方式目前廣泛應(yīng)用的51系列單片機的通信可工作于同步或異步方式,多數(shù)與8031兼容的51系列單片機都有一個或多個UART 異步接口,這就為用戶通信程序提供了很好的便利條件。當(dāng)應(yīng)用系統(tǒng)中需要多個串行通信接口時,可采用以下幾種方法:(1)采用多串口的單片機,如華邦的WW77E58就有2個串行接口;(2)采用通用異步串口擴展芯片,如TLl6c552(2路)、LCl6C554(4路);(3)采用普通I/O 模擬實現(xiàn)通信。這是最簡單經(jīng)濟的方法,并且可以實現(xiàn)高速串通信,本文僅討論采用一個異步串行通信的設(shè)計方法,單片機串口的控制方式MCS-51系列單片機對串口的控制是通過對串行口控制寄存器SCON和功率控制寄存器PCON的設(shè)置來實現(xiàn)的。SCON是一個可位尋址的特殊功能寄存器,通過設(shè)置SGON的SM0和SMI,可以使單片機有四種不同的工作方式。SCON的格式可參見有關(guān)手冊說明。在用于和PC機實現(xiàn)串行通信時,一般設(shè)置為方式1或方式3,主要區(qū)別是方式1的數(shù)據(jù)格式為8位,方式3的數(shù)據(jù)格式為9位,其中第9位SM2為多機通信位,可實現(xiàn)單片機的多點通信。功率控制寄存器PCON的SMOD為串行口波特串倍率控制位,當(dāng)單片機的品振為整數(shù)時(如6M),設(shè)置5MOD為1通常可獲得更高的通信速串,但 SMOD不能位尋址。

          單片機串口的速率設(shè)置單片機和PC機通信時,其通信速率由定時器T1或定時器T2產(chǎn)生(52系列),在T1工作在方式2時的通信速率的計算公式為:波特串=(SMOD× Fosc)/(32×12×[256-TH1])。其中Fosc晶振頻率,為獲得準(zhǔn)確的通信速率,F(xiàn)osc通常為11.0592MH2。采用T1定時器通信的系統(tǒng),速率不可能過高,一般情況下最高為19200bit/s。如為了獲得更高的通信速率可利用52系列單片機的定時器T2,最高速率可達(dá) 115200bjt/s。實際應(yīng)用中我們曾經(jīng)在6MH2晶振的單片機系統(tǒng)中實現(xiàn)了38400bit/s的高速通信。

          單片機串口通信程序的實現(xiàn)方法實際應(yīng)用中,單片機通信程序一般采用中斷方式與微機通信,微機做為主控方。當(dāng)單片機收到微機發(fā)送的地址信號時,便轉(zhuǎn)入中斷服務(wù)程序,向微機發(fā)送數(shù)據(jù)。其中斷服務(wù)于程序流程見圖4,該中斷服務(wù)于程序也適用于多機通信的系統(tǒng)。詳細(xì)的程序清單請參見本刊網(wǎng)站 COMMON.ASM,單片機的晶振為11. 0592MHz,通信速率為9600bit/s,幀格式為N.8.1。



          評論


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