一,、設計概況
本制作采用USB口作為供電端口,,用DS18B20溫度傳感器進行溫度信息采集,用AT89C2051單片機進行控制,,采用四位共陽數(shù)碼管顯示,,從而實現(xiàn)對溫度的測量顯示(系統(tǒng)框圖如圖1所示)。本設計可培養(yǎng)學生對單片機學習的興趣,,提高其制作與編程能力,。
圖1 系統(tǒng)框圖
二、電路原理
采用PROteUS仿真軟件進行原理圖設計與程序仿真,。電路如圖2所示。
圖2 電路圖
1,、電源
采用USB口供電,,可將USB適配器接人電路板的USB口或直接接計算機USB口,。這樣,既節(jié)省了資源,,又能夠獲得較為理想的工作電壓,。USB口的外形及電源口定義如圖3所示。
圖3 USB口的外形及電源口定義
2,、溫度信號采集
采用DS18B20(外形見圖4)智能型數(shù)字溫度傳感器作為溫度信號采集裝置。
圖4 DS18B20外形
(1)DS18B20工作原理
DS18B20的讀寫時序和測溫原理與DS1820相同,只是得到的溫度值的位數(shù)不同,,且溫度轉換的延時時間由2s減為750ms,。DS18B20測溫原理如圖5所示。其中,,低溫度系數(shù)晶振的振蕩頻率受溫度影響很小,,用于產(chǎn)生固定頻率的脈沖信號送給計數(shù)器1。高溫度系數(shù)晶振的振蕩頻率隨溫度變化改變明顯,,所產(chǎn)生的信號作為計數(shù)器2的脈沖輸人,。計數(shù)器1和溫度寄存器被預置在-55℃所對應的—個基數(shù)值。計數(shù)器1對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行減法計數(shù),,當計數(shù)器1的預置值減到0日寸,,溫度寄存器的值將加1,計數(shù)器1將重新被裝人預置,,并重新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行計數(shù),。如此循環(huán),直到計數(shù)器2計數(shù)到OH寸停止溫度寄存器值的累加,。此時,,溫度寄存器中的數(shù)值即為所測溫度。圖5中的斜率累加器用于補償和修正測溫過程中的非線性,,其輸出用于修正計數(shù)器1的預置值,。
圖5 DS18B20測溫原理圖
(2)DS18B20的主要特性
1)適應電壓范圍3.0V~5.5V,在寄生電源方式下可由數(shù)據(jù)線供電,。
2)DS18B20與微處理器之間僅需要—條口線即可雙向通訊,。
3)支持多點組網(wǎng)功能,多個DS18B20可以并聯(lián)在唯—的三線上,,實現(xiàn)組網(wǎng)多點測溫,。
4)不需要任何外圍元件,全部傳感元件及轉換電路集成在外形如一只三極管的電路內(nèi),。
5)測溫范圍-55℃~+125℃,,在-lO℃~+85℃時精度為±0.5℃。
6)可編程的分辨率為9位~12位,,對應的可分辨溫度分別為0.5℃,、0.25℃,、0.125℃和0.0625℃,可實現(xiàn)高精度測溫,。
7)在9位分辨率時,,最多93.75ms便可把溫度轉換為數(shù)字,12位分辨率時最多750ms便可把溫度值轉換為數(shù)字,。
8)直接輸出數(shù)字溫度信號,,以一線總線串行傳送給CPU,同時可傳送CRC校驗碼,,具有極強的抗干擾糾錯能力,。
9)電源極性接反時,芯片不會因發(fā)熱而燒毀,,但不能正常工作,。
DS18B20遵循單總線協(xié)議,每次測溫時必須有初始化,、傳送ROM命令,、傳送RAM命令、數(shù)據(jù)交換等4個過程,。
3,、AT89C2051單片機
采用AT89C2051單片機作為主控元件(參見圖2)。
4,、數(shù)碼管顯示
采用四位共陽數(shù)碼管進行動態(tài)顯示,,溫度顯示保留到小數(shù)點后一位。編程時,,利用P3.2~P3.5作為數(shù)碼管動態(tài)顯示的位選端,,Pl.0~Pl.7作為數(shù)碼管動態(tài)顯示的段選位。當P3.2輸出高電平時選中“1”號數(shù)碼管,,P3.3輸出高電平時選中“2”號數(shù)碼管,,以此類推。在電路中,,P3.2~P3.5外接4只NPN三極管作為驅(qū)動,。Pl.0~Pl.7外接8只電阻限流。
三,、參考程序
本設計采用單片機C語言進行編程,,限于篇幅,其參考程序此處不一一列出,。
四,、制作與調(diào)試
本設計調(diào)試較為簡單,只要安裝、焊接正確,,程序編寫準確完整,,一般較為容易實現(xiàn)功能。
調(diào)試好的實物如圖6所示,。
圖6 實物圖