摘 要:介紹一種基于單片機(jī)和數(shù)字溫度傳感器的多路溫度采集、記錄系統(tǒng)的軟、硬件實(shí)現(xiàn)方案。系統(tǒng)硬件設(shè)計(jì)以Atmel公司的AT89S52單片機(jī)為核心,選擇高性價(jià)比元部件完成電路設(shè)計(jì),通過(guò)數(shù)字溫度傳感器DS1820實(shí)現(xiàn)溫度采集,以1602字庫(kù)液晶實(shí)現(xiàn)數(shù)據(jù)實(shí)時(shí)顯示,并將溫度數(shù)值存儲(chǔ)在I2C接口芯片AT24C16內(nèi)。系統(tǒng)可以實(shí)現(xiàn)單路、多路溫度的自動(dòng)定時(shí)采集與保存。設(shè)計(jì)使用的外圍元件較少,具有設(shè)計(jì)簡(jiǎn)單,擴(kuò)展靈活,功能較全面等特點(diǎn)。
關(guān)鍵詞:AT89S52; 溫度采集; LCD顯示; I2C接口芯片
中圖分類(lèi)號(hào):TP368.1文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1004-373X(2010)08-0167-02
Temperature Recording System Based on MCU
PANG Xiao-ling, LIU Zhen-gang
(Haidu College, Qingdao Agricultural University,Laiyang265200, China)
Abstract:A scheme that realizes software and hardware of multi-channel temperature recording system based on MCU and digital temperature sensor is presented. The hardware of the system takes the AT89S52 MCU of ATMEL as a core, selects the components with high performance-cost ratio to complete the circuit design, acquisitstemperature data by the temperature sensor DS1820, implements the real-time data display by 1602 LCD, and stores the temperature values in the I2C interface chip AT24C16. The system can complete either single-channel or multi-channel temperature acquisition andrecord. The structure of the system is simple, the expansibility is flexible,thefunction is comprehensive andonly a few external components is needed.
Keywords:AT89S52; temperature acquisition; LCD display; I2C interface chip
目前檢測(cè)溫度一般采用熱電偶或熱敏電阻作為傳感器。這種傳感器至儀表之間通常都要用專(zhuān)用的溫度補(bǔ)償導(dǎo)線,而溫度補(bǔ)償導(dǎo)線的價(jià)格很高,并且線路太長(zhǎng),會(huì)影響測(cè)量精度,這是直接以模擬量形式進(jìn)行采集的不可避免的問(wèn)題。在實(shí)際應(yīng)用中,往往需要對(duì)較遠(yuǎn)處的溫度信號(hào)進(jìn)行監(jiān)視。為此,設(shè)計(jì)了一種用單片機(jī)與數(shù)字溫度傳感器集成的方案,它可以以更低的成本和更高的精確度實(shí)現(xiàn)溫度檢測(cè)[1]。
1 系統(tǒng)綜述
系統(tǒng)硬件設(shè)計(jì)以Atmel公司的AT89S52單片機(jī)為核心,主要由電源電路、復(fù)位電路、晶振電路、串口通訊電路、溫度傳感器電路、12864液晶顯示電路、I2C存儲(chǔ)器電路以及按鍵輸入電路構(gòu)成[2]。溫度采集電路采用單總線數(shù)字溫度傳感器實(shí)現(xiàn)溫度采集,可設(shè)計(jì)為一路或多路;溫度存儲(chǔ)電路采用I2C接口E2PRPOM存儲(chǔ)芯片,以實(shí)現(xiàn)數(shù)據(jù)記錄;液晶顯示電路采用圖形點(diǎn)陣液晶顯示器,以實(shí)現(xiàn)溫度的即時(shí)顯示。同時(shí)配以鍵盤(pán)輸入電路,可以接收用戶指令輸入,隨時(shí)改變工作模式,或查詢?nèi)我鈺r(shí)間的溫度數(shù)據(jù)[3]。
2 硬件系統(tǒng)設(shè)計(jì)
硬件電路設(shè)計(jì)總體結(jié)構(gòu)圖如圖1所示。由+5 V電源電路、手動(dòng)復(fù)位電路、晶振電路(11.059 2 MHz)構(gòu)成單片機(jī)最小系統(tǒng),完成單片機(jī)的基本運(yùn)行需求。串口電路用于通信,實(shí)現(xiàn)與主機(jī)的交互。溫度采集電路、1602液晶顯示電路、I2C存儲(chǔ)器電路為該設(shè)計(jì)的三個(gè)核心模塊,實(shí)現(xiàn)主要設(shè)計(jì)功能,同時(shí)實(shí)現(xiàn)按鍵輸入電路。
圖1 硬件系統(tǒng)總體結(jié)構(gòu)圖
2.1 溫度采集電路設(shè)計(jì)
該設(shè)計(jì)采用Dallas公司生產(chǎn)的3引腳T0-T2小體積封裝溫度傳感器DS18B20。DS1820是美國(guó)Dallas半導(dǎo)體公司推出的第一片支持“單總線”接口的溫度傳感器。它具有微型化、低功耗、高性能,抗干擾能力強(qiáng),易配微處理器等優(yōu)點(diǎn),可直接將溫度轉(zhuǎn)化成串行數(shù)字信號(hào),供微機(jī)處理[4]。
溫度測(cè)量范圍為-55~+125 ℃,可編程為9~12位A/D轉(zhuǎn)換精度, 被測(cè)溫度用符號(hào)擴(kuò)展的16位數(shù)字量方式串行輸出。測(cè)溫分辨率可達(dá)0.062 5 ℃,其工作電源既可在遠(yuǎn)端引入,也可采用寄生電源方式產(chǎn)生,易于系統(tǒng)集成[5]。多個(gè)DS18B20可以并聯(lián)到三根或兩根線上,CPU只需一根端口線就能與諸多DS18B20通信,占用微處理器的端口較少,可節(jié)省大量的引線和邏輯電路[6]。以上特點(diǎn)使DS18B20非常適用于遠(yuǎn)距離多點(diǎn)溫度檢測(cè)系統(tǒng)。溫度傳感器電路圖如圖2所示。
2.2 I2C存儲(chǔ)器擴(kuò)展電路設(shè)計(jì)
I2C總線(Inter Integrated Circuitbus)包括一條數(shù)據(jù)線(SDA)和一條時(shí)鐘線(SCL),是單片機(jī)系統(tǒng)常用的總線結(jié)構(gòu)[7]。這種總線結(jié)構(gòu)盡可能地節(jié)省了單片機(jī)I/O資源,為多路溫度采集保留了最大的擴(kuò)展空間。
該設(shè)計(jì)中采用的存儲(chǔ)器AT24C16是Atmel公司生產(chǎn)的I2C接口E2PROM芯片。AT24C16中帶有片內(nèi)尋址寄存器。每寫(xiě)入或讀出一個(gè)數(shù)據(jù)字節(jié)后,該地址寄存器自動(dòng)加1,以實(shí)現(xiàn)對(duì)下一個(gè)存儲(chǔ)單元的操作,且所有字節(jié)都以單一操作方式讀取。為降低總的寫(xiě)入時(shí)間,一次操作可寫(xiě)入多達(dá)8 B的數(shù)據(jù)。I2C存儲(chǔ)器電路圖3所示。
圖2 溫度傳感器電路圖
圖3 I2C存儲(chǔ)器電路圖
2.3 液晶顯示電路設(shè)計(jì)
液晶顯示電路采用1602帶字庫(kù)液晶實(shí)現(xiàn)。這一液晶模塊,接口功能明確,操作簡(jiǎn)單,簡(jiǎn)化了電路設(shè)計(jì),自帶字庫(kù)極大地方便了顯示操作的實(shí)現(xiàn)[8]。
3 系統(tǒng)功能實(shí)現(xiàn)
系統(tǒng)軟件設(shè)計(jì)主要有兩項(xiàng)任務(wù),是用于不間斷記錄溫度數(shù)據(jù);二是用于接收用戶輸入,響應(yīng)用戶指令。
溫度記錄程序中每隔固定時(shí)間間隔采集溫度數(shù)據(jù),將溫度數(shù)據(jù)與當(dāng)前時(shí)間一并記錄。若不擴(kuò)展實(shí)時(shí)時(shí)鐘芯片,可用軟件方式,依據(jù)時(shí)間間隔計(jì)算轉(zhuǎn)換得到當(dāng)前時(shí)間,避免使用時(shí)鐘芯片增加系統(tǒng)成本。對(duì)于用戶按鍵輸入,以外部中斷方式予以響應(yīng)[9]。
該設(shè)計(jì)中沒(méi)有采用操作系統(tǒng),因此,多任務(wù)的調(diào)度是系統(tǒng)功能實(shí)現(xiàn)的關(guān)鍵之一。該設(shè)計(jì)沒(méi)有輸入中斷產(chǎn)生時(shí),為普通單任務(wù)系統(tǒng);中斷產(chǎn)生時(shí),工作在多任務(wù)模式下。因此,中斷產(chǎn)生后,兩個(gè)任務(wù)模仿Linux操作,系統(tǒng)系多線程工作模式實(shí)現(xiàn)調(diào)度。
由于單片機(jī)工作頻率所限,加之溫度傳感器為單總線串行器件,讀/寫(xiě)占用時(shí)間周期相對(duì)較長(zhǎng),因此系統(tǒng)應(yīng)考慮環(huán)境溫度變化的劇烈程度[10]。
4 結(jié) 語(yǔ)
該設(shè)計(jì)可以實(shí)現(xiàn)溫度數(shù)據(jù)的采集與長(zhǎng)時(shí)間數(shù)據(jù)記錄,既可以單獨(dú)采樣其中任意一路,也可以實(shí)現(xiàn)多路同時(shí)采樣,同時(shí)可以與主機(jī)交互。該系統(tǒng)的整個(gè)運(yùn)行過(guò)程在同一地點(diǎn)進(jìn)行集中監(jiān)控,方便又節(jié)省人力,實(shí)現(xiàn)了溫度的采集、顯示、存儲(chǔ)于一體的集成記錄功能。設(shè)計(jì)使用的外圍元件較少,具有設(shè)計(jì)簡(jiǎn)單,擴(kuò)展靈活,功能較全面等特點(diǎn)。
參考文獻(xiàn)
[1]夏大勇, 周曉輝, 趙增, 等.MCS - 51 單片機(jī)溫度控制系統(tǒng)[J].工業(yè)儀表與自動(dòng)化裝置, 2007(1): 43-46.
[2]鐘富昭. 8051 單片機(jī)典型模塊設(shè)計(jì)與應(yīng)用[J]. 北京:人民郵電出版社, 2007.
[3]管力銳. 單片機(jī)在大型糧庫(kù)溫度測(cè)量中的應(yīng)用\\. 長(zhǎng)春光學(xué)精密機(jī)械學(xué)院學(xué)報(bào), 2000, 23(2): 52-55.
[4]王俊杰. DS18B20在糧倉(cāng)測(cè)溫系統(tǒng)上的應(yīng)用. 鄭州輕工業(yè)學(xué)院學(xué)報(bào), 2007, 22(5): 83-85.
[5]余瑾, 姚燕. 基于DS18B20測(cè)溫的單片機(jī)溫度控制系統(tǒng)[J]. 微計(jì)算機(jī)信息, 2009, 25(8): 105-106.
[6]李鋼. 1-Wrie 總線數(shù)字溫度傳感器 DS18B20原理及應(yīng)用[J]. 現(xiàn)代電子技術(shù),2005, 28(21):77-79.
[7]何力民. I2C總線應(yīng)用系統(tǒng)設(shè)計(jì)[M]. 北京: 北京航空航天大學(xué)出版社, 1995.
[8]連林珍. 單片機(jī)控制 SED1353 實(shí)現(xiàn) LCD顯示[J]. 儀表技術(shù), 2007(5): 27-30.
[9]張建軍,鄭和喜,李興軍, 等. 交互式 PID 溫度控制系統(tǒng)的設(shè)計(jì)[J]. 華北航天工業(yè)學(xué)院學(xué)報(bào), 2000, 10(1): 55-59.
[10]孫育才. 8051 單片機(jī)原理及其應(yīng)用[M]. 北京:電子工業(yè)出版社, 2006.