目前檢測溫度一般采用熱電偶或熱敏電阻作為傳感器,。這種傳感器至儀表之間通常都要用專用的溫度補償導線,,而溫度補償導線的價格很高,并且線路太長,,會影響測量精度,,這是直接以模擬量形式進行采集的不可避免的問題。在實際應用中,,往往需要對較遠處的溫度信號進行監(jiān)視,。為此,設計了一種用單片機與數字溫度傳感器集成的方案,,它可以以更低的成本和更高的精確度實現溫度檢測,。
l 系統(tǒng)綜述
系統(tǒng)硬件設計以Atmel公司的AT89S52單片機為核心,主要由電源電路,、復位電路,、晶振電路、串口通訊電路,、溫度傳感器電路,、12864液晶顯示電路、I2C存儲器電路以及按鍵輸入電路構成,。溫度采集電路采用單總線數字溫度傳感器實現溫度采集,,可設計為一路或多路;溫度存儲電路采用I2C接口E2PRPOM存儲芯片,,以實現數據記錄,;液晶顯示電路采用圖形點陣液晶顯示器,以實現溫度的即時顯示,。同時配以鍵盤輸入電路,,可以接收用戶指令輸入,隨時改變工作模式,,或查詢任意時間的溫度數據,。
2 硬件系統(tǒng)設計
硬件電路設計總體結構圖如圖1所示。由+5 V電源電路,、手動復位電路,、晶振電路(11.059 2 MHz)構成單片機最小系統(tǒng),完成單片機的基本運行需求,。串口電路用于通信,,實現與主機的交互。溫度采集電路,、1602液晶顯示電路,、I2C存儲器電路為該設計的三個核心模塊,實現主要設計功能,,同時實現按鍵輸入電路,。
2.1 溫度采集電路設計
該設計采用Dallas公司生產的3引腳T0-T2小體積封裝溫度傳感器DSl8820。DSl820是美國Dallas半導體公司推出的第一片支持“單總線”接口的溫度傳感器,。它具有微型化,、低功耗、高性能,,抗干擾能力強,,易配微處理器等優(yōu)點,可直接將溫度轉化成串行數字信號,,供微機處理,。
溫度測量范圍為-55~+125 ℃,,可編程為9~12位A/D轉換精度,被測溫度用符號擴展的16位數字量方式串行輸出,。測溫分辨率可達O.062 5 ℃,,其工作電源既可在遠端引入,也可采用寄生電源方式產生,,易于系統(tǒng)集成,。多個DSl8820可以并聯到三根或兩根線上,CPU只需一根端口線就能與諸多DSl8820通信,,占用微處理器的端口較少,,可節(jié)省大量的引線和邏輯電路。以上特點使DSl8820非常適用于遠距離多點溫度檢測系統(tǒng),。溫度傳感器電路圖如圖2所示,。
2.2 I2C存儲器擴展電路設計
I2C總線(Inter Integrated Circuitbus)包括一條數據線(SDA)和一條時鐘線(SCL),是單片機系統(tǒng)常用的總線結構,。這種總線結構盡可能地節(jié)省了單片機I/O資源,,為多路溫度采集保留了最大的擴展空間。
該設計中采用的存儲器AT24C16是Atmel公司生產的I2C接口E2PROM芯片,。AT24C16中帶有片內尋址寄存器,。每寫入或讀出一個數據字節(jié)后,該地址寄存器自動加1,,以實現對下一個存儲單元的操作,,且所有字節(jié)都以單一操作方式讀取。為降低總的寫入時間,,一次操作可寫入多達8 B的數據,。I2C存儲器電路圖3所示。
2.3 液晶顯示電路設計
液晶顯示電路采用1602帶字庫液晶實現,。這一液晶模塊,,接口功能明確,操作簡單,,簡化了電路設計,,自帶字庫極大地方便了顯示操作的實現。
3 系統(tǒng)功能實現
系統(tǒng)軟件設計主要有兩項任務,,是用于不間斷記錄溫度數據,;二是用于接收用戶輸入,響應用戶指令,。
溫度記錄程序中每隔固定時間間隔采集溫度數據,,將溫度數據與當前時間一并記錄。若不擴展實時時鐘芯片,,可用軟件方式,,依據時間間隔計算轉換得到當前時間,,避免使用時鐘芯片增加系統(tǒng)成本。對于用戶按鍵輸入,,以外部中斷方式予以響應,。
該設計中沒有采用操作系統(tǒng),因此,,多任務的調度是系統(tǒng)功能實現的關鍵之一,。該設計沒有輸入中斷產生時,,為普通單任務系統(tǒng),;中斷產生時,工作在多任務模式下,。因此,,中斷產生后,兩個任務模仿Linux操作,,系統(tǒng)系多線程工作模式實現調度,。
由于單片機工作頻率所限,加之溫度傳感器為單總線串行器件,,讀/寫占用時間周期相對較長,,因此系統(tǒng)應考慮環(huán)境溫度變化的劇烈程度。
4 結語
該設計可以實現溫度數據的采集與長時間數據記錄,,既可以單獨采樣其中任意一路,,也可以實現多路同時采樣,同時可以與主機交互,。該系統(tǒng)的整個運行過程在同一地點進行集中監(jiān)控,,方便又節(jié)省人力,實現了溫度的采集,、顯示,、存儲于一體的集成記錄功能。設計使用的外圍元件較少,。具有設計簡單,,擴展靈活,功能較全面等特點,。