福建中醫(yī)藥大學(xué)附屬人民醫(yī)院 黃建輝
實(shí)驗室溫度監(jiān)測系統(tǒng)的設(shè)計
福建中醫(yī)藥大學(xué)附屬人民醫(yī)院 黃建輝
該文利用AT89s52單片機(jī)制作出實(shí)驗室溫度監(jiān)測系統(tǒng),其中包含了顯示模塊、溫度模塊、鍵盤輸入模塊、報警模塊。采用DS18B20溫度傳感器時采集實(shí)驗室的溫度,需及時監(jiān)控室內(nèi)溫度。該設(shè)計除可應(yīng)用在實(shí)驗室內(nèi),還可用在精密設(shè)備內(nèi)部的溫度監(jiān)控、藥房溫度監(jiān)測等對溫度監(jiān)控要求較高的場所。
實(shí)驗室 單片機(jī) 溫度監(jiān)測系統(tǒng)
隨著現(xiàn)代信息技術(shù)的飛速發(fā)展,實(shí)驗設(shè)備越來越精密,對溫度監(jiān)控要求也越來越高,特別是醫(yī)療實(shí)驗設(shè)備。傳統(tǒng)的實(shí)驗室溫度控制通過人工觀測溫度計來進(jìn)行監(jiān)測,這種方法費(fèi)時費(fèi)力,且不能實(shí)時監(jiān)測,同時數(shù)據(jù)也不夠精準(zhǔn),所以自動溫度監(jiān)測系統(tǒng)的設(shè)計與研究顯得尤為重要。
本系統(tǒng)設(shè)計采用89S52作為溫度控制器,通過數(shù)字溫度傳感器對溫度進(jìn)行采集,并顯示在LED屏上。主要功能是:當(dāng)系統(tǒng)上電后,通過鍵盤確定溫度的上下限,DS18B20對實(shí)驗室的溫度進(jìn)行實(shí)時監(jiān)測,當(dāng)溫度超過限值時,單片機(jī)驅(qū)動報警模塊報警,實(shí)驗室管理人員可及時進(jìn)行相應(yīng)的處理。
生產(chǎn)車間多路溫度采集系統(tǒng)硬件電路是整個設(shè)計最底層、最為基礎(chǔ)、最為重要的部分,它主要由AT89S52控制模塊、溫度采集模塊、LED顯示模塊、輸入模塊、報警模塊組成,原理圖如圖1所示。
圖1 硬件電路原理圖
2.1 核心控制模塊AT89S52
AT89S52是一種低功耗、高性能CMOS8位微控制器,具有8k在系統(tǒng)可編程Flash存儲器。AT89S52使用Atmel公司高密度、非易失性存儲器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,AT89S52擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。
2.2 溫度傳感器DS18B20
DS18B20是一種得到廣泛使用的溫度傳感器,是美國達(dá)拉斯(DALLAS)半導(dǎo)體公司推出的應(yīng)用單總線技術(shù)的數(shù)字溫度傳感器。本設(shè)計之所以選擇單線數(shù)字器件DS18B20,是在經(jīng)過多方面比較和考慮后決定的,主要有以下幾方面原因:
首先,測溫范圍為-55℃~+125℃,測溫精度為±0.5℃;溫度轉(zhuǎn)換精度9~12位可變;可以通過數(shù)據(jù)線供電,具有超低功耗工作方式。
第二,由于計算機(jī)技術(shù)和微電子技術(shù)的發(fā)展,新型大規(guī)模集成電路功能越來越強(qiáng)大,體積越來越小,而價格也越來越低。
第三,由于DS18B20是單總線器件,微處理器與其接口時僅需占用1個I/O端口,大大減少接線的數(shù)量,降低系統(tǒng)的復(fù)雜度,減少工程的施工量。
2.3 輸入模塊
輸入模塊采用查詢方式,通過三個按鍵對溫度進(jìn)行設(shè)定。Set鍵用于切換當(dāng)前溫度與設(shè)置溫度,ACC和DEC鍵分別用于設(shè)置報警溫度的加減,三個按鍵均采用軟件消抖動處理。
2.4 顯示模塊
顯示電路采用4位共陽極LED數(shù)碼管,運(yùn)用動態(tài)掃描方式進(jìn)行掃描,單片機(jī)P2.0—P2.3口接數(shù)碼管的位選端,P0口連接上位電阻增加驅(qū)動能力,并作為段碼輸出。
3.1 主程序流程
實(shí)驗室溫度監(jiān)測系統(tǒng)軟件運(yùn)用C語言進(jìn)行程序設(shè)計,包括主程序、LED顯示程序、溫度采集程序、鍵盤輸入與報警程序。主程序?qū)纹瑱C(jī)各個參數(shù)初始化后,實(shí)時處理DS18B20采集到的溫度,在數(shù)碼管上顯示當(dāng)前溫度,將當(dāng)前溫度與設(shè)定溫度進(jìn)行比較,如果超過溫度就報警,否則一直采集顯示溫度每1s數(shù)據(jù)更新一次。主程序流程圖見圖2。
圖2 主程序流程圖
3.2 溫度采集
DS18B20的核心功能是直接數(shù)字溫度傳感器。溫度傳感器可以配置成9、10、11、12位方式。相應(yīng)的精度分別為0.5℃、0.25℃、0.125℃、0.0625℃。默認(rèn)的分辯率為12位。DS18B20在空閑低功耗狀態(tài)下加電(寄生電源工作方式)。主機(jī)必須發(fā)出CONVERT T[44h]命令使其對測量溫度進(jìn)行A-D轉(zhuǎn)換。然后進(jìn)行采集轉(zhuǎn)換,結(jié)果存于2字節(jié)高速溫度寄存器,并返回到空閑低功耗狀態(tài)。
3.3 溫度顯示
LED顯示采用的是動態(tài)掃描方式,先送位碼后送字碼,將每個7段碼輪流點(diǎn)亮,因為每片數(shù)碼管的點(diǎn)亮?xí)r間相當(dāng)短,利用人的眼睛惰性,展現(xiàn)在我們眼前的就是溫度的數(shù)值穩(wěn)定顯示在后面3個7段碼上,最左邊的LED作為報警溫度,當(dāng)程序進(jìn)入設(shè)置溫度時顯示1,當(dāng)程序顯示當(dāng)前溫度時則不顯示。
3.4 溫度報警設(shè)置
溫度報警設(shè)置的三個按鍵采用掃描查詢方式,同時設(shè)置標(biāo)志位,當(dāng)按下SET鍵時標(biāo)志位為1,則進(jìn)入設(shè)置狀態(tài),否則系統(tǒng)顯示當(dāng)前溫度。當(dāng)按下ACC鍵時,設(shè)置溫度加1,當(dāng)按下DEC鍵時,設(shè)置溫度減1。三個按鍵均進(jìn)行消抖處理。程序流程圖見圖3。
圖3 溫度報警程序流程圖
3.5 溫度報警
當(dāng)實(shí)驗室內(nèi)溫度超出設(shè)置溫度時,單片機(jī)P1.7口輸入出一個高電平信號,使得三極管導(dǎo)能,驅(qū)動揚(yáng)聲器工作,及時報警讓實(shí)驗室管理員能及時處理。
[1]江志紅.51單片機(jī)技術(shù)與應(yīng)用系統(tǒng)開發(fā)案例精選[M].北京:清華大學(xué)出版社,2008.
[2]吳戈,李玉峰.案例學(xué)單片機(jī)C語言開發(fā)[M].北京:人民郵電出版社, 2008.
[3]梁潔婷.單片機(jī)原理與應(yīng)用[M].北京:高等教育出版社,2003.