摘 要:近年來(lái)隨著我國(guó)信息化進(jìn)程的加快,在很多大專院校、科研院所建設(shè)了大量的計(jì)算機(jī)、服務(wù)器機(jī)房。因此,在一個(gè)不大的空間區(qū)域內(nèi)使用了大量的貴重設(shè)備,再加上與之配套的空調(diào)、試驗(yàn)平臺(tái)等附屬設(shè)備,整個(gè)機(jī)房就需要有幾十個(gè)電源接插裝置(即電源插座)。某些插座接點(diǎn)中通過的電流可能達(dá)到幾十安培,甚至?xí)摺k娋€接點(diǎn)又是容易出現(xiàn)局部高溫高熱的,那么就需要一種監(jiān)測(cè)系統(tǒng),在那些平時(shí)難以看到、發(fā)生危險(xiǎn)無(wú)法在第一時(shí)間察覺的地方,“替”機(jī)房的管理人員監(jiān)視這些地點(diǎn)(例如暗藏的供電線路接頭)。一旦發(fā)生危險(xiǎn)情況,就可以及時(shí)準(zhǔn)確的報(bào)告給機(jī)房人員,以保證能準(zhǔn)確及時(shí)的處理危險(xiǎn)狀況。
關(guān)鍵詞:?jiǎn)纹瑱C(jī);溫度;監(jiān)測(cè)
一、系統(tǒng)硬件電路設(shè)計(jì)
1.系統(tǒng)硬件電路設(shè)計(jì)方案。DS1820的所有功能、操作均是在單片機(jī)控制下進(jìn)行的,線上接有若干個(gè)DS 1820傳感器,即可進(jìn)行多點(diǎn)的溫度采集.值得注意的是所有的命令碼均以串行方式通過一線總線輸出到DS 1820,讀出的數(shù)字溫度值也以串行方式輸入到單片機(jī),并存入數(shù)據(jù)緩存。根據(jù)DS 1820數(shù)字溫度傳感器的功能特點(diǎn),選擇一線總線的網(wǎng)絡(luò)結(jié)構(gòu)。該網(wǎng)絡(luò)基于DS1820以及一線總線協(xié)議。本系統(tǒng)的硬件,主要由三個(gè)部分組成:基于AT89C51單片機(jī)及其外圍電路的主機(jī)控制單元;DS 1820串行組成的一線總線型網(wǎng)絡(luò);LED數(shù)字顯示及其驅(qū)動(dòng)電路。
AT89C51單片機(jī)功能強(qiáng)、I/O口多、但是其內(nèi)部的數(shù)據(jù)暫存存儲(chǔ)器空間比較小,只有128個(gè)字節(jié)。而DS 1820的ROM碼有64位,也就是說,記錄一個(gè)ROM碼要占據(jù)8個(gè)字節(jié)的數(shù)據(jù)暫存存儲(chǔ)器空間,再加上用于搜索、溫度值存儲(chǔ)、指針等操作所必須額外分配的存儲(chǔ)器空間。實(shí)際上AT89C51單片機(jī)內(nèi)部已經(jīng)沒有多少富余了,在程序編寫中發(fā)現(xiàn),10個(gè)ROM碼是能允許的最大值。哪怕再增加一個(gè)8字節(jié)的ROM碼都必須使用擴(kuò)展的片外RAM??紤]到本系統(tǒng)目前只計(jì)劃應(yīng)用在較小的機(jī)房中,監(jiān)測(cè)點(diǎn)不多;同時(shí),本設(shè)計(jì)的重點(diǎn)在于數(shù)字溫度傳感器及其一線總線技術(shù)的應(yīng)用研究。因此,沒有使用外擴(kuò)RAM的方法來(lái)擴(kuò)大一線總線網(wǎng)絡(luò)的規(guī)模。相信,即便本系統(tǒng)由于某種原因需要對(duì)一線總線網(wǎng)絡(luò)進(jìn)行擴(kuò)展,無(wú)論是選擇單片機(jī)換型,或者選擇外擴(kuò)RAM,實(shí)現(xiàn)它們都應(yīng)沒有太大的障礙。
AT89C51具有4個(gè)I/O口,它們分別是P0口、P1口、P2口和P3口。利用其中的3個(gè)I/O口,與本系統(tǒng)其它部分連接,分別實(shí)現(xiàn)了不同的功能:P1口連接著由10個(gè)DS 1820傳感器組成一線總線網(wǎng)絡(luò),還連接著用于顯示單個(gè)DS 1820傳感器ROM碼的接口電路。P0、P2口連接著LED數(shù)字顯示單元。P0口連接一片14引腳的反相門芯片7406,用于對(duì)6個(gè)LED顯示燈的選擇控制。同時(shí),7406也起到了反向驅(qū)動(dòng)器的作用。P2口連接兩片14引腳的7407芯片,用于發(fā)送顯示內(nèi)容。同時(shí)7407也起到正向驅(qū)動(dòng)器的作用。
最多由10片DS 1820組成的一線總線網(wǎng)絡(luò),由三條線連接。它們分別是電源線、數(shù)據(jù)傳輸線、共用地線。電源線根據(jù)DS1820的要求,使用5V的直流供電。在具體設(shè)計(jì)上可以和AT89C51使用同一個(gè)電壓源。數(shù)據(jù)傳輸線直接連接在P1口的P1.5引腳上,對(duì)應(yīng)著P1寄存器的P1.5數(shù)據(jù)位,因此主機(jī)對(duì)總線上的DS 1820的操作實(shí)際上就是對(duì)P1.5數(shù)據(jù)位的操作。所以在程序設(shè)計(jì)時(shí)需要注意這一點(diǎn)。
還有,就是出于對(duì)特殊情況的特別考慮,本系統(tǒng)設(shè)置了一個(gè)插口,用于讀出某個(gè)DS 1820傳感器ROM碼。這個(gè)插口除了中間的引腳連接在AT89C51的P1.6引腳上,從硬件上說和一線總線網(wǎng)絡(luò)的接口沒有什么不同。但是從軟件上來(lái)說,它專用于對(duì)單個(gè)DS 1820的ROM碼讀取。實(shí)際的設(shè)計(jì)上,作者在數(shù)據(jù)線上設(shè)置了一個(gè)切換跳線,當(dāng)需要系統(tǒng)進(jìn)行讀 ROM碼操作時(shí),就將該引腳接上帶5K左右上拉電阻的上拉電;需要系統(tǒng)轉(zhuǎn)入正常的溫度監(jiān)測(cè)運(yùn)行時(shí),就將該引腳的數(shù)據(jù)傳輸線連至地線。
AT89C51通過對(duì)P1.6引腳的讀和判斷,就可以決定是轉(zhuǎn)入讀ROM操作還是運(yùn)行溫度監(jiān)測(cè)。通過一個(gè)小小的切換跳線,就可以實(shí)現(xiàn)在兩種功能之間方便地進(jìn)行切換。這個(gè)跳線以及DS 1820插口都設(shè)置在主機(jī)的面板上,很便于使用。
2.LED數(shù)字顯示及其驅(qū)動(dòng)電路。LED顯示器的工作情況有兩種:一種是溫度顯示;另一種是ROM碼顯示。DS 1820測(cè)溫范圍上限是125℃,因此溫度的十進(jìn)制顯示需要用3位;本系統(tǒng)總線上有10個(gè)DS 1820傳感器的溫度值需要顯示,所以要顯示系統(tǒng)為每個(gè)傳感器自動(dòng)分配的編號(hào),必須設(shè)置2位顯示;另外考慮到編號(hào)和溫度的顯示值緊挨在一起可能造成混淆,因此在它們之間還增加了分隔的一位。最終選擇在這里設(shè)置了6位的LED顯示。
當(dāng)顯示ROM碼時(shí),即使用十六進(jìn)制顯示,也最少需要顯示16個(gè)十六進(jìn)制數(shù)。因此設(shè)計(jì)上,只能是讓6個(gè)LED從低位到高位逐個(gè)顯示三次,如此才能全部顯示完??紤]到人工記錄需要時(shí)間,所以軟件設(shè)計(jì)上采用無(wú)限循環(huán)的顯示方式。要想中止顯示ROM的操作,只要拔下待測(cè)的DS 1820,并且將切換跳線跳至測(cè)量溫度運(yùn)行模式即可。
二、主要元器件介紹
用微型計(jì)算機(jī)滲透到測(cè)試領(lǐng)域并得到充分發(fā)揮,是現(xiàn)代測(cè)試技術(shù)發(fā)展的必然趨勢(shì),也是目前作為智能儀表的設(shè)計(jì)的一般方法,目前市場(chǎng)上的單片機(jī)從數(shù)據(jù)總線寬度上來(lái)分主要有8位機(jī)、16位機(jī)、32位機(jī),其中的32位單片機(jī)近年來(lái)在信號(hào)分析與處理、語(yǔ)音處理、數(shù)字圖象處理等數(shù)字信號(hào)處理運(yùn)用領(lǐng)域得到廣泛的運(yùn)用,但在工業(yè)測(cè)控現(xiàn)場(chǎng),占主導(dǎo)地位的還是8位機(jī)和16位機(jī),對(duì)本課題涉及的多路溫度的監(jiān)測(cè),運(yùn)用單片機(jī)的主要目的是構(gòu)成一個(gè)具有一定判斷、運(yùn)算能力以及具有存儲(chǔ)、顯示、通信等功能的智能測(cè)量?jī)x表,它所處理的信息量和復(fù)雜程度由于是溫度因而用8位機(jī)已經(jīng)足夠了。目前,生產(chǎn)單片機(jī)的廠商有很多,尤其是近年來(lái)微電子技術(shù)、計(jì)算機(jī)技術(shù)的飛速發(fā)展,比較著名的有Intel,Philips,Microchip, Motorola,Zilog, Atmel等半導(dǎo)體企業(yè)。
由于采用智能化的數(shù)字溫度傳感器省去了A/D轉(zhuǎn)換電路和信號(hào)放大電路等外圍電路,只需要從一個(gè)I/O口引腳引出一條總線就可以連接數(shù)個(gè)傳感器,構(gòu)成一個(gè)多點(diǎn)檢測(cè)系統(tǒng)??紤]到一般單片機(jī)I/O口的驅(qū)動(dòng)能力,一條總線上能夠搭載的傳感器數(shù)量是有限的,傳感器數(shù)量過多會(huì)導(dǎo)致丟失數(shù)據(jù)和誤碼的問題。原則上,一條總線上搭載的傳感器數(shù)量,應(yīng)以測(cè)試結(jié)果為依據(jù)。當(dāng)檢測(cè)點(diǎn)很多,超過一條總線的負(fù)載能力時(shí),根據(jù)需要,還可以考慮從軟件和硬件方面進(jìn)行改進(jìn),以期總線上可以搭載更多的傳感器。
另外,單片機(jī)內(nèi)必須分配足夠的存儲(chǔ)器以存儲(chǔ)DS 1820的ROM碼。由于DS 1820的ROM碼非常長(zhǎng)(64位),因此將會(huì)占據(jù)很大的寄存器空間。如果占據(jù)的空間太大,就有必要為單片機(jī)設(shè)計(jì)外擴(kuò)寄存器。在這里,出于方便開發(fā)的考慮,選用了經(jīng)典的單片機(jī)AT89C51。
三、結(jié)論
通過介紹基于單片機(jī)和智能溫度傳感器的監(jiān)測(cè)系統(tǒng)的一般工作原理以及應(yīng)用,使用DS 1820的測(cè)溫系統(tǒng)電路簡(jiǎn)單,應(yīng)用方便靈活。在常溫測(cè)量中有較大優(yōu)勢(shì),應(yīng)用前景廣闊。如在工業(yè)、空調(diào)系統(tǒng)、智能樓宇等領(lǐng)域的溫度測(cè)量中可以有廣泛的應(yīng)用。作為新型的通信協(xié)議,一線總線(1-Wire Bus)技術(shù)己經(jīng)在很多方面表現(xiàn)出特有的優(yōu)勢(shì),已經(jīng)成為一種非常有發(fā)展?jié)摿蛷V闊應(yīng)用前景的通信協(xié)議。而智能化的數(shù)字溫度傳感器是傳感器發(fā)展上的一次革命,將會(huì)給諸多領(lǐng)域的技術(shù)發(fā)展帶來(lái)深刻的變化。
參考文獻(xiàn):
[1]單片機(jī)應(yīng)用程序設(shè)計(jì)技術(shù)(修訂版) 作者: 周航慈 著 出版社:北京航空航天大學(xué)出版社 2009.
[2]單片機(jī)語(yǔ)言C51程序設(shè)計(jì) 作者: 趙文博 劉文濤 出版社:人民郵電出版社 2015.
[3]單片微型計(jì)算機(jī)原理及其C語(yǔ)言程序設(shè)計(jì) 作者: 陳光東著 出版社:華中理工大學(xué)出版社 2014.
[4]單片機(jī)原理及應(yīng)用技術(shù)(第2版) 作者: 李全利 出版社:高等教育出版社 2012.