国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

MCS-51 單片機(jī)多串口通訊應(yīng)用初探

2014-08-15 00:43:29
電子測(cè)試 2014年7期
關(guān)鍵詞:雙機(jī)通信協(xié)議中斷

王 敏

(東南大學(xué)吳健雄學(xué)院2011 級(jí),南京,211189)

0 引言

單片機(jī)屬于計(jì)算機(jī)的一個(gè)分支,是指一個(gè)集成在一塊芯片上的小而完善的微型計(jì)算機(jī)系統(tǒng),自產(chǎn)生之日起,就憑借小體積、多功能、低功耗、高性價(jià)比等優(yōu)點(diǎn)在工業(yè)控制領(lǐng)域得到大量應(yīng)用。隨著電子技術(shù)的長(zhǎng)足進(jìn)步,單片機(jī)的應(yīng)用領(lǐng)域日益拓寬,幾乎所有電子產(chǎn)品中都會(huì)覓到它的“倩影”。單片機(jī)主要有專用和通用兩類,通用類單片機(jī)能夠符合多數(shù)系統(tǒng)的功能要求,如有需要,其功能還可以拓展,以滿足特殊需要。MCS-51 單片機(jī)屬于通用型,在現(xiàn)代通訊行業(yè)應(yīng)用廣泛。

1 實(shí)現(xiàn)單片機(jī)多串口通訊的途徑

單機(jī)片與外界設(shè)備相連時(shí),通常只有一個(gè)串行通訊接口,而工程任務(wù)日益復(fù)雜,常會(huì)遇到特殊需要,一個(gè)串行通訊接口難以滿足要求,需要實(shí)現(xiàn)多串口通訊。其方法多種多樣,以下幾種較為常用:

1.1 多路模擬開(kāi)關(guān)

該設(shè)計(jì)較為合理,技術(shù)要求低,操作簡(jiǎn)單,只需用相應(yīng)軟件對(duì)多路模擬開(kāi)關(guān)進(jìn)行控制,通過(guò)多路模擬開(kāi)關(guān)和各路通訊線路分別建立連接,在多路通訊分時(shí)進(jìn)行時(shí)較為適用,不會(huì)出現(xiàn)交叉的狀況。

1.2 采用多串口單片機(jī)

隨著技術(shù)的發(fā)展進(jìn)步,具有多個(gè)串口的單片機(jī)已不罕見(jiàn),當(dāng)前常用的有68HC11P 和80C320 等。對(duì)于和MCS-51 單片機(jī)互相融合的單片機(jī),新增串口和原來(lái)的串口在使用方法上有很大的相似性。在通訊方式上,多串口單片機(jī)不需要依賴于其他軟件的支持,是當(dāng)前自動(dòng)控制領(lǐng)域很好的選擇,但價(jià)格較貴。

1.3 多片機(jī)的協(xié)同工作

如果將多個(gè)單串口的單片機(jī)組合在一起,來(lái)完成多路通訊工作,與多串口單片機(jī)相比,價(jià)格要低,且技術(shù)上也容易實(shí)現(xiàn)。此方法多用于協(xié)議轉(zhuǎn)換類工作,且每一個(gè)單片機(jī)只需處理一種協(xié)議數(shù)據(jù),為軟件編程提供了有利條件。單片機(jī)之間的數(shù)據(jù)交換必須通過(guò)一些特殊技術(shù)完成。對(duì)于雙單片機(jī)系統(tǒng),可利用并行口完成數(shù)據(jù)交換的工作,以MCS-51 單片機(jī)為例,兩個(gè)該類單片機(jī)可借助P1 口來(lái)實(shí)現(xiàn)數(shù)據(jù)交換。

1.4 擴(kuò)展串行通訊接口

實(shí)現(xiàn)多串口通訊還有一種可行的方法,就是對(duì)串行通訊接口進(jìn)行擴(kuò)展。從當(dāng)前狀況來(lái)看,MCS-51 單片機(jī)只有兩類接口芯片可用,一是Intel8250,為DIP40 封裝;二是Intel8251,屬于DIP28 封裝。該方法缺點(diǎn)是系統(tǒng)更為復(fù)雜,且擴(kuò)展之后,芯片的體積有所增大。

2 MCS-51 單片機(jī)多串口通訊

2.1 通訊原理

在MCS-51 單片機(jī)工作時(shí),每發(fā)送一幀數(shù)據(jù)為11 位,包括1位起始位、1 位停止位、8 位數(shù)據(jù)位,還有一個(gè)附加的第9 位數(shù)據(jù)(常以奇偶校驗(yàn)位的形式出現(xiàn)于非多機(jī)系統(tǒng)中)。為了避免通訊中出現(xiàn)差錯(cuò),常會(huì)將“0”或“1”設(shè)置為區(qū)分?jǐn)?shù)據(jù)幀(標(biāo)志0)和地址幀(標(biāo)志1)的標(biāo)識(shí)。在主從式多級(jí)通信中,有以下幾項(xiàng)需要注意:為保證準(zhǔn)確地接收來(lái)自主機(jī)的信息,從機(jī)在其發(fā)送信息時(shí)一直保持在聽(tīng)命狀態(tài),假如接收到的信息為“1”,說(shuō)明來(lái)自主機(jī)的信息屬于地址信息,所有的從機(jī)此時(shí)都接收中斷,反之則中斷屏蔽。單個(gè)從機(jī)一旦出現(xiàn)中斷,系統(tǒng)便會(huì)將本機(jī)地址和所接受地址進(jìn)行比較,若兩者相符,則發(fā)送本機(jī)地址作為對(duì)主機(jī)的回答,同時(shí)聯(lián)通主機(jī)準(zhǔn)備接收其他信息。若兩者不符,從機(jī)則自動(dòng)返回到中斷服務(wù)程序。這樣通過(guò)從機(jī)對(duì)主機(jī)地址幀數(shù)據(jù)和其他信息的隔離,信息更安全。

2.2 MCS-51 單片機(jī)多串口通訊現(xiàn)狀

只有保證在MCS-51 單片機(jī)和PC 機(jī)間建立的串行接口對(duì)接的有效可行性,才能完成兩者間良好的串行通信。由于RS-232使用的是EIA 電平,而MCS-51 單片機(jī)使用的是TTL 電平,為安全有效地完成數(shù)據(jù)傳送工作,必須在兩者間安裝電平轉(zhuǎn)換芯片。MAX232 芯片采用單電源供電,功耗較低,其自身帶有電壓電源變換器,能夠和RS-232 輸出的電壓相轉(zhuǎn)換,能滿足其技術(shù)要求,所以,無(wú)論是從功能上考慮還是從經(jīng)濟(jì)上考慮,都比較適宜。

3 單片機(jī)之間的通信協(xié)議

3.1 單片機(jī)雙機(jī)通信協(xié)議

在單片機(jī)通信中,雙機(jī)通信是最為簡(jiǎn)單的一種通信模式,可直接和串口進(jìn)行連接,操作起來(lái)方便簡(jiǎn)單,但兩機(jī)之間的距離不能太遠(yuǎn)。使用RS-422 可延長(zhǎng)通信距離,選擇光電隔離方法,可相應(yīng)地減輕干擾。在軟件編程這一方面,需要建立相應(yīng)的協(xié)議,用來(lái)對(duì)相同的晶振頻率以及波特率做出相關(guān)規(guī)定,通過(guò)該協(xié)議,就可利用編程實(shí)現(xiàn)通信了。一般情況下,雙機(jī)通信有查詢和中斷兩種方法。

3.2 單片機(jī)多機(jī)通信協(xié)議

分布式集散控制系統(tǒng)應(yīng)用范圍較廣,此系統(tǒng)的下位機(jī)需進(jìn)行信號(hào)收集,常用多個(gè)單片機(jī)來(lái)代替,以方便對(duì)現(xiàn)場(chǎng)的有效控制。此時(shí),控制整個(gè)系統(tǒng)運(yùn)行的主機(jī)多是單片機(jī),而從機(jī)則是多個(gè)單片機(jī),主要負(fù)責(zé)對(duì)現(xiàn)場(chǎng)信號(hào)進(jìn)行收集,并對(duì)局部加以控制。主機(jī)和從機(jī)依靠總線進(jìn)行連接。由主機(jī)TXD 端口發(fā)出的信號(hào),所有從機(jī)都可以接收;而由從機(jī)發(fā)出的信號(hào),只有主機(jī)能對(duì)其接收。所以,每個(gè)從機(jī)都可以自由和主機(jī)通信,但從機(jī)與從機(jī)通信,一定要經(jīng)過(guò)主機(jī)。在多機(jī)進(jìn)行通信時(shí),為使通信更加可靠,可引入尋址技術(shù),由主機(jī)向各從機(jī)發(fā)送一個(gè)地址信息,用來(lái)驗(yàn)證身份。各從機(jī)接收后,與自身地址相比,如果一樣,則可與主機(jī)通信;如果不一樣,則可以不理會(huì)主機(jī)發(fā)來(lái)的數(shù)據(jù)。

用戶判斷收到的信息是數(shù)據(jù)幀還是地址幀,可通過(guò)改變TBB來(lái)實(shí)現(xiàn),如此一來(lái),當(dāng)主機(jī)在發(fā)送尋址時(shí),TBB 值設(shè)為一條;當(dāng)發(fā)送的是數(shù)據(jù)時(shí),需將TBB 清零。從機(jī)的識(shí)別主要依靠控制位SM2完成,該控制位位于串口控制寄存器中。從機(jī)接收到信息且是地址幀后,如果SM2 為1,則將數(shù)據(jù)進(jìn)行保存,并將中斷標(biāo)志R 設(shè)為1,向CPU 發(fā)送中斷信息;如果接受的不是地址幀,而是數(shù)據(jù)幀,則放棄信息,也不中斷;但如果從機(jī)的SM2 為0,則不管是數(shù)據(jù)幀還是地址幀,都應(yīng)將其數(shù)據(jù)進(jìn)行保存,并將中斷標(biāo)志R 設(shè)置為1。

和雙機(jī)通信相同,在通信軟件開(kāi)始編寫(xiě)之前,必須有相關(guān)協(xié)議,大致有以下規(guī)定:系統(tǒng)最多能夠接入255 臺(tái)從機(jī);當(dāng)主機(jī)傳輸0FFH 的地址時(shí),每個(gè)從機(jī)都應(yīng)恢復(fù)到SM2 值為1 的狀態(tài),做好再次接收地址的準(zhǔn)備;主從機(jī)通信的程序大致為,主機(jī)將地址信息傳輸給各從機(jī),各從機(jī)接收后將主機(jī)地址發(fā)送至主機(jī),主機(jī)對(duì)其進(jìn)行判斷,若相同則發(fā)送控制命令,各從機(jī)據(jù)此將本身狀態(tài)返回給主機(jī);主機(jī)在要求各從機(jī)接收所發(fā)數(shù)據(jù)塊時(shí),需將控制命令00 發(fā)送到各從機(jī);要求各從機(jī)發(fā)送自己所需的數(shù)據(jù)塊時(shí),需將控制命令FF 發(fā)送至各從機(jī),其他一切命令都不可通。

另外,必須注意的是設(shè)計(jì)通信接口,要依據(jù)一定的標(biāo)準(zhǔn)進(jìn)行設(shè)計(jì)。目前,有3 種通信接口應(yīng)用比較廣泛:一是RS-422,RS-449,RS-485,此類接口成本較高,但通信距離遠(yuǎn),具有較快的傳輸速度;二是RS-232C,在距離較短的通信中比較常見(jiàn);三是20mA的電流環(huán),此類接口結(jié)構(gòu)簡(jiǎn)單,具有較強(qiáng)的抗干擾能力。

4 結(jié)束語(yǔ)

MCS-51 單片機(jī)價(jià)格低,性能優(yōu)越,在自動(dòng)控制領(lǐng)域應(yīng)用廣泛。上述兩種通信協(xié)議有利于對(duì)較為復(fù)雜的信號(hào)的有效控制和處理。對(duì)MCS-51 單片機(jī)多串口通訊技術(shù)的研究和探討在提高自控效能的同時(shí)還能降低成本,使MCS-51 單片機(jī)得到進(jìn)一步的革新和應(yīng)用。

[1] 張英.MCS-51 單片機(jī)上實(shí)現(xiàn)多串口通訊的技術(shù)分析[J].信息系統(tǒng)工程,2013,38(2):125-127

[2] 孫建軍.關(guān)于單片機(jī)技術(shù)應(yīng)用的幾點(diǎn)思考[J].科技致富向?qū)В?011,18(3):243-245

[3] 徐小濤.基于MCS-51 單片機(jī)的串行通信實(shí)現(xiàn)[J].計(jì)算機(jī)與網(wǎng)絡(luò),2010,28(19):179-181

[4] 王富東.單片機(jī)多串口通訊技術(shù)及其應(yīng)用.儀器儀表學(xué)報(bào),2002,36(S1):105-107

[5] 楊順景.MCS-51 單片機(jī)多串口通訊技術(shù)的應(yīng)用探析[J].電子制作,2013,21(9):214-215

猜你喜歡
雙機(jī)通信協(xié)議中斷
雙機(jī)、雙槳軸系下水前的安裝工藝
雙機(jī)牽引ZDJ9道岔不同步問(wèn)題的處理
基于Z-Stack通信協(xié)議棧的紅外地溫采集電路設(shè)計(jì)
跟蹤導(dǎo)練(二)(5)
千里移防,衛(wèi)勤保障不中斷
解放軍健康(2017年5期)2017-08-01 06:27:44
Loader軸在雙機(jī)桁架機(jī)械手上的應(yīng)用
基于DMX512通信協(xié)議的多路轉(zhuǎn)發(fā)器設(shè)計(jì)與研究
基于NS-3的PLC多頻通信協(xié)議仿真平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)
RSSP-I、RSSP-Ⅱ及SAHARA三種安全通信協(xié)議實(shí)現(xiàn)技術(shù)簡(jiǎn)介
AT89C51與中斷有關(guān)的寄存器功能表解
临澧县| 宁武县| 济宁市| 正安县| 云梦县| 鄂温| 勐海县| 逊克县| 息烽县| 茶陵县| 沿河| 陆河县| 丹凤县| 霍邱县| 长寿区| 汽车| 文登市| 台江县| 六盘水市| 东光县| 平定县| 依安县| 南汇区| 九台市| 屏南县| 苏尼特左旗| 泰安市| 桐乡市| 社会| 临澧县| 丰镇市| 宽城| 德庆县| 互助| 樟树市| 洱源县| 昌平区| 独山县| 永仁县| 深泽县| 河津市|