PC機(jī)與多臺(tái)單片機(jī)實(shí)時(shí)通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
PC機(jī)與多臺(tái)單片機(jī)實(shí)時(shí)通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
PC機(jī)與多臺(tái)單片機(jī)實(shí)時(shí)通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
PC機(jī)與多臺(tái)單片機(jī)實(shí)時(shí)通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
PC機(jī)與多臺(tái)單片機(jī)實(shí)時(shí)通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、PC機(jī)與多臺(tái)單片機(jī)實(shí)時(shí)通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)集散控制系統(tǒng)(DCS)又名分布式計(jì)算機(jī)控制系統(tǒng),是利用計(jì)算機(jī)技術(shù)對(duì)生產(chǎn)過(guò)程進(jìn)行集中監(jiān)測(cè)、操作、管理和分散控制的一種新型技術(shù)。在現(xiàn)代化工業(yè)過(guò)程控制系統(tǒng)中,集散控制系統(tǒng)已成為過(guò)程自動(dòng)化系統(tǒng)發(fā)展的主流。然而,在工業(yè)控制領(lǐng)域,控制系統(tǒng)除了要求具有極高的可靠性外,還必須具有較強(qiáng)的實(shí)時(shí)響應(yīng)能力和友好的人機(jī)交互界面。1 引言本系統(tǒng)主要通過(guò)PC機(jī)與多臺(tái)單片機(jī)構(gòu)成小型集散控制系統(tǒng)來(lái)進(jìn)行通信,既充分利用PC機(jī)豐富的軟硬件資源實(shí)現(xiàn)友好的人機(jī)界面,又通過(guò)RS-232C/485總線結(jié)構(gòu)與8251單片機(jī)進(jìn)行通信,對(duì)多臺(tái)單片機(jī)進(jìn)行數(shù)據(jù)采集和處理。2 控制系統(tǒng)硬件電路設(shè)計(jì)本系統(tǒng)在電路

2、形式上比較簡(jiǎn)單,其原理框圖如圖1所示。 2.1 通信控制器電路分析與設(shè)計(jì)通信控制器的主要作用是完成主機(jī)和從機(jī)之間的通信??刂破鞯暮诵氖且慌_(tái)AT89S51單片機(jī),它僅具有一個(gè)可編程的全雙工串行通信接口,而作為通信控制器需要同時(shí)與主機(jī)(PC機(jī))和從機(jī)進(jìn)行串行通信,因此就利用單片機(jī)的并行數(shù)據(jù)接口實(shí)現(xiàn)串口的擴(kuò)展,這里選擇了8251作為單片機(jī)的串口擴(kuò)展芯片。8251是用于串行數(shù)據(jù)通信的USA RT(通信同步/異步收發(fā)器),它可以從單片機(jī)接收并行數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù)發(fā)送出去,也可以從外部接收串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù)傳送至單片機(jī)。并且8251僅占用2個(gè)外部數(shù)據(jù)空間地址單元,對(duì)它的讀、寫(xiě)訪問(wèn)如同訪問(wèn)外部RAM一樣

3、方便,、信號(hào)均由單片機(jī)提供,需要設(shè)計(jì)的只有片選信號(hào)。此外,8251提供的RXRDY和TXRDY引腳可以用來(lái)觸發(fā)單片機(jī)的外部中斷,通知單片機(jī)8251可以進(jìn)行新數(shù)據(jù)的發(fā)送或已經(jīng)接收到新的數(shù)據(jù)。根據(jù)8251的特性設(shè)計(jì)的單片機(jī)串口擴(kuò)展電路如圖2所示。圖2 基于8251的單片機(jī)串口擴(kuò)展電路從圖2可以看出,8251的指令/數(shù)據(jù)選擇引腳接到了單片機(jī)的地址線A0,這樣可以通過(guò)2個(gè)不同的地址來(lái)區(qū)分對(duì)8251的命令寫(xiě)、數(shù)據(jù)寫(xiě)或狀態(tài)讀、數(shù)據(jù)讀。進(jìn)一步分析可以發(fā)現(xiàn)8251的片選引腳與單片機(jī)地址線A15通過(guò)反相器后的相連,使得8251在外部數(shù)據(jù)空間8000HFFFFH之間32KB的范圍內(nèi)可以隨意選擇地址,這里選擇800

4、0H(訪問(wèn)數(shù)據(jù))和8001H(訪問(wèn)指令/狀態(tài))兩個(gè)地址。8251的RXRDY引腳通過(guò)一個(gè)非門(mén)后連接至單片機(jī)的引腳,當(dāng)8251從主機(jī)接收到數(shù)據(jù)時(shí)就會(huì)引起單片機(jī)中斷。MC14060用于為8251提供時(shí)鐘信號(hào),其中包括用于產(chǎn)生8251內(nèi)部的時(shí)鐘CLK、用于決定發(fā)送數(shù)據(jù)傳輸速率的時(shí)鐘和用于決定接收數(shù)據(jù)傳輸速率的時(shí)鐘。CLK連接到MC14060的OUT2輸出引腳,和同時(shí)連接到MC14060的Q5輸出引腳。MC14060的時(shí)鐘輸入頻率為2.4576MHz,則OUT2引腳輸出的頻率為2.4576MHz,Q5引腳輸出的頻率為2.4576MHz/25=76.8kHz。那么8251發(fā)送數(shù)據(jù)的時(shí)鐘和接收數(shù)據(jù)的時(shí)鐘均

5、為76.8kHz,通過(guò)單片機(jī)編程將8251的數(shù)據(jù)傳輸速率因子設(shè)置為1/16,則8251的串口發(fā)送和接收數(shù)據(jù)的波特率為76800/16=4800bit/s??刂破髋c主機(jī)的通信是通過(guò)8251來(lái)實(shí)現(xiàn)的,8251帶有一個(gè)全雙工的串口,但它的串行數(shù)據(jù)接口并不是RS-232C標(biāo)準(zhǔn)串口,必須通過(guò)外接RS-232收發(fā)器芯片才能與主機(jī)的串口連接起來(lái)通信,這里選擇的RS-232收發(fā)器芯片是MAXIM公司的MAX232C。MAX232C包含兩個(gè)發(fā)送器和兩個(gè)接收器,這里只需使用其中任意一組發(fā)送器和接收器即可。由于控制器與從機(jī)之間的通信是多點(diǎn)的串行通信,所以選擇了MAXIM公司的MAX485芯片來(lái)實(shí)現(xiàn)控制器與從機(jī)之間的

6、多機(jī)通信系統(tǒng)。因?yàn)樾盘?hào)在傳輸線上傳送時(shí),若遇到阻抗不連續(xù)的情況,會(huì)出現(xiàn)反射現(xiàn)象從而影響信號(hào)的遠(yuǎn)距離傳輸,所以必須采用匹配的辦法來(lái)消除反射。雙絞線的特性阻抗一般在110130之間,它與線的絕緣材料的厚度及導(dǎo)線的直徑有關(guān),所以通常在RS-485總線末端接入120的電阻是為了對(duì)通信線路進(jìn)行阻抗匹配。由于MAX485為半雙工通信方式,不能同時(shí)發(fā)送和接收數(shù)據(jù),只能通過(guò)控制和DE引腳的狀態(tài)來(lái)進(jìn)行發(fā)送數(shù)據(jù)和接收數(shù)據(jù)的轉(zhuǎn)換。這里將MAX485的和DE引腳連在一起接到單片機(jī)的P10口,通過(guò)單片機(jī)的P10口來(lái)控制MAX485發(fā)送數(shù)據(jù)和接收數(shù)據(jù)的轉(zhuǎn)換,當(dāng)P10為低電平時(shí)MAX485處于接收數(shù)據(jù)狀態(tài),而當(dāng)P10為高電

7、平時(shí)MAX485則處于發(fā)送數(shù)據(jù)狀態(tài)。MAX485的RO引腳接到單片機(jī)的串口接收引腳RXD,MAX485的DI引腳接到單片機(jī)的串口發(fā)送引腳TXD。在通信速率要求不是很高的情況下,RS-485總線的通信距離可以達(dá)到1200m,這樣就可以通過(guò)多臺(tái)單片機(jī)來(lái)構(gòu)建一個(gè)遠(yuǎn)程多機(jī)通信系統(tǒng)。2.2 從機(jī)部分硬件電路分析與設(shè)計(jì) 在本系統(tǒng)中,從機(jī)主要完成信號(hào)采集與顯示輸出。這里采用A/D轉(zhuǎn)換芯片ADC0804完成模擬信號(hào)的采集?;贏DC0804所設(shè)計(jì)的A/D采集電路采用阻容元件來(lái)搭建ADC0804的時(shí)鐘電路。電阻R=10k,電容=150p,經(jīng)計(jì)算,時(shí)鐘頻率電位器RP1用于提供ADC0804的參考電壓,調(diào)整電位器,

8、使ADC0804的Vref/2引腳的電壓為2.56V。電位器RP2用于提供ADC0804的輸入電壓,調(diào)整RP2即可使輸入電壓在05V內(nèi)變化。將ADC0804的引腳接到單片機(jī)的引腳,即每次ADC0804轉(zhuǎn)換完成后就會(huì)使單片機(jī)進(jìn)入中斷來(lái)處理ADC0804輸出的8位數(shù)字信息。此外,從機(jī)還要將主機(jī)發(fā)送過(guò)來(lái)的信息顯示出來(lái),以表明從機(jī)接收到了主機(jī)發(fā)來(lái)的信號(hào)。系統(tǒng)中采用了8個(gè)LED連接到單片機(jī)的P2口作為顯示輸出,可以將主機(jī)發(fā)送過(guò)來(lái)的十六進(jìn)制數(shù)據(jù)以二進(jìn)制方式顯示出來(lái)。由于單片機(jī)端口的驅(qū)動(dòng)能力有限,不能用高電平直接驅(qū)動(dòng)LED,所以將LED采用共陽(yáng)極接法。在從機(jī)工作的過(guò)程中,可能會(huì)出現(xiàn)各種異常狀況,需要將報(bào)警信

9、息及時(shí)反饋給主機(jī)。為了模擬從機(jī)異常報(bào)警過(guò)程,在單片機(jī)的 外部中斷輸入端連接一個(gè)按鍵,利用按鍵觸發(fā)外部中斷來(lái)報(bào)警。當(dāng)按下鍵時(shí),從機(jī)會(huì)將報(bào)警信息發(fā)送給控制器,控制器收到后再將報(bào)警信息傳遞給主機(jī),在主機(jī)界面上就會(huì)彈出一個(gè)對(duì)話框顯示是幾號(hào)從機(jī)報(bào)警。3 集散控制系統(tǒng)軟件設(shè)計(jì)3.1控制器和從機(jī)的軟件設(shè)計(jì)控制器軟件設(shè)計(jì)的主要任務(wù)是完成主機(jī)和從機(jī)之間的數(shù)據(jù)交換,而從機(jī)軟件設(shè)計(jì)的主要任務(wù)是完成A/D采集并將采集的數(shù)據(jù)上傳給控制器,能夠?qū)⒅鳈C(jī)發(fā)送過(guò)來(lái)的數(shù)據(jù)輸出顯示,而且可以通過(guò)按鍵中斷觸發(fā)報(bào)警??刂破髋c主機(jī)之間的通信是通過(guò)8251來(lái)實(shí)現(xiàn)的,8251的功能配置由單片機(jī)通過(guò)軟件編程方式實(shí)現(xiàn),單片機(jī)可以通過(guò)8位并行數(shù)據(jù)

10、接口向8251寫(xiě)入待發(fā)送的數(shù)據(jù)、命令或者從8251讀出接收的數(shù)據(jù)、狀態(tài)。在軟件設(shè)計(jì)上可以分為兩部分,一部分是控制器向主機(jī)發(fā)送數(shù)據(jù),另一部分是控制器從主機(jī)接收數(shù)據(jù),程序流程圖分別如圖3和圖4所示。注意必須先讀取8251的狀態(tài)字,當(dāng)發(fā)送數(shù)據(jù)標(biāo)志位TXRDY為1時(shí)才能通過(guò)8251向主機(jī)發(fā)送數(shù)據(jù)。控制器在中斷服務(wù)程序中處理從主機(jī)接收到的數(shù)據(jù)??刂破髋c從機(jī)間的通信主要是利用了51單片機(jī)串口的多機(jī)通信功能。在多機(jī)通信中,為了保證主機(jī)與所選擇的從機(jī)實(shí)現(xiàn)可靠的通信,必須保證通信接口具有識(shí)別功能,可以通過(guò)控制單片機(jī)的串口控制寄存器SCON中的SM2位來(lái)實(shí)現(xiàn)多機(jī)通信功能??刂破骱蛷臋C(jī)在接收串行數(shù)據(jù)時(shí)均采用中斷方式

11、??刂破髋c從機(jī)通信是通過(guò)MAX485來(lái)實(shí)現(xiàn)的,必須先將單片機(jī)的P10口置1,使MAX485處于發(fā)送數(shù)據(jù)的狀態(tài),然后才能發(fā)送數(shù)據(jù),發(fā)送完數(shù)據(jù)后必須將單片機(jī)P10口置0,使MAX485處于接收數(shù)據(jù)的狀態(tài)。從機(jī)的A/D采集采用中斷方式通知從機(jī)接收數(shù)據(jù)。當(dāng)從機(jī)接收到的數(shù)據(jù)為#0AAH時(shí),從機(jī)就將A/D轉(zhuǎn)換的數(shù)據(jù)發(fā)送給控制器,發(fā)送的數(shù)據(jù)每隔1s更新一次;當(dāng)數(shù)據(jù)為#0BBH時(shí),從機(jī)就停止向控制器發(fā)送A/D轉(zhuǎn)換的數(shù)據(jù);當(dāng)數(shù)據(jù)為其它時(shí)就輸出顯示。由于在實(shí)際應(yīng)用中前端控制系統(tǒng)可能會(huì)出現(xiàn)各種各樣的報(bào)警信息,所以在這里通過(guò)一個(gè)按鍵觸發(fā)中斷來(lái)模擬報(bào)警情況的發(fā)生。3.2 主機(jī)通信控制軟件設(shè)計(jì)與測(cè)試3.2.1 主機(jī)通信控

12、制軟件設(shè)計(jì)主機(jī)控制軟件設(shè)計(jì)主要是針對(duì)串口的操作,通過(guò)建立主界面對(duì)話框及添加變量,串口初始化,串口事件消息處理,發(fā)送數(shù)據(jù),查看數(shù)據(jù),選擇從機(jī)號(hào)查看狀態(tài),選擇從機(jī)號(hào)控制狀態(tài)并且編寫(xiě)VC+程序來(lái)實(shí)現(xiàn)可視化界面及其功能。3.2.2 從機(jī)狀態(tài)控制測(cè)試在測(cè)試時(shí),將主機(jī)、控制器和兩臺(tái)從機(jī)全部連上,在主機(jī)對(duì)話框的從機(jī)狀態(tài)控制欄里,選擇1號(hào)機(jī),在編輯框中輸入十六進(jìn)制數(shù)據(jù)“12”,然后點(diǎn)擊“發(fā)送”按鈕,如圖5所示。1號(hào)機(jī)收到數(shù)據(jù)后就會(huì)將數(shù)據(jù)用8位LED以二進(jìn)制方式顯示出來(lái),LED顯示為“”。圖5 從機(jī)狀態(tài)控制測(cè)試圖6 從機(jī)狀態(tài)控制測(cè)試圖7 顯示1號(hào)機(jī)報(bào)警信息3.2.3 從機(jī)狀態(tài)查看測(cè)試在從機(jī)狀態(tài)查看欄里,選擇1號(hào)

13、機(jī),點(diǎn)擊查看按鈕,如圖6所示,編輯框里就會(huì)將1號(hào)機(jī)A/D采集到的數(shù)據(jù)以十六進(jìn)制的方式顯示出來(lái)。當(dāng)調(diào)整ADC0804的輸入電壓時(shí),編輯框中的數(shù)據(jù)就會(huì)隨著輸入電壓的變化每隔1s更新一次。同樣,當(dāng)查看2號(hào)機(jī)時(shí),也能夠正常工作。3.2.4 從機(jī)報(bào)警測(cè)試在從機(jī)部分通過(guò)按鍵觸發(fā)中斷的方式來(lái)模擬報(bào)警情況的發(fā)生,當(dāng)按下1號(hào)機(jī)的按鍵時(shí),在主機(jī)的界面上就會(huì)彈出一個(gè)菜單顯示“1號(hào)機(jī)報(bào)警”,如圖7所示;當(dāng)按下2號(hào)機(jī)的按鍵時(shí),在主機(jī)的界面上就會(huì)彈出一個(gè)菜單顯示“2號(hào)機(jī)報(bào)警”。4 結(jié)論 針對(duì)集散控制系統(tǒng)的廣泛應(yīng)用,提出了一種新的由一臺(tái)PC機(jī)和多臺(tái)單片機(jī)組成的一個(gè)小型集散控制系統(tǒng)的結(jié)構(gòu),實(shí)現(xiàn)了PC機(jī)與多臺(tái)單片機(jī)間的通信任務(wù)

14、。本文作者創(chuàng)新點(diǎn):既充分利用PC機(jī)豐富的軟硬件資源實(shí)現(xiàn)友好的人機(jī)界面,又通過(guò)RS-232C/485總線結(jié)構(gòu)與8251單片機(jī)進(jìn)行通信,對(duì)多臺(tái)單片機(jī)進(jìn)行數(shù)據(jù)采集和處理。本系統(tǒng)不僅硬件實(shí)現(xiàn)簡(jiǎn)單,而且軟件實(shí)現(xiàn)可靠。通過(guò)長(zhǎng)時(shí)間長(zhǎng)距離的測(cè)試,證明該方法思路簡(jiǎn)單,價(jià)格低、功能強(qiáng)、抗干擾能力好、溫限寬、通訊可靠,是一種有效的多機(jī)通訊方法。同時(shí),系統(tǒng)可以通過(guò)串口通訊,擴(kuò)展為更高級(jí)別的集散控制系統(tǒng)。因此,這種小型集散控制系統(tǒng)有著廣闊的應(yīng)用前景。參考文獻(xiàn)1 肖金球等.一種多智能儀表DCS系統(tǒng)的研究.微計(jì)算機(jī)信息,2005,21(6):23-252 張毅剛.新編MCS-51單片機(jī)應(yīng)用設(shè)計(jì).哈爾濱:哈爾濱工業(yè)大學(xué)出版社,2003.257-2623 李朝青.PC機(jī)及單片機(jī)數(shù)據(jù)通信技術(shù).北京:北京航空航天大學(xué)出版社,2000.94-1124 鄭學(xué)堅(jiān),周斌.微型計(jì)算機(jī)原理及應(yīng)用(第三版).北京:

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論