汪小會
(解放軍電子工程學院,安徽合肥 230037)
數字顯示溫度計是直接用十進制數字來顯示測試點溫度的裝置,可用于日常溫度監測和某些工業生產過程溫度的測試。本文介紹一個基于熱敏電阻PT100數字顯示溫度計的實現方案[1]。該溫度計設計以“模擬電子線路”、“數字邏輯電路”和“51單片機原理與應用”課程內容為切入點,涉及到熱敏電阻、運算放大器、模/數轉換器、51單片機和動態顯示數碼管等功能器件的基本原理和應用方法。設計方案在Proteus上仿真,仿真成功后燒寫單片機,進行0℃和100℃兩個溫度點實際調試。
工程上的溫度測量使用較多的阻性溫度測量器件,本文采用金屬鉑制成的標準測溫熱電阻PT100作為溫度傳感器件。PT100對溫度有較好的線性度,即在工作范圍內(-50℃ ~+500℃)單位溫度的變化導致其電阻變化均為等值,用合適的電路將電阻的變化再轉換成模擬電壓的變化,然后將模擬電壓轉換成數字信號,經51單片機控制后,產生相應的數碼管顯示信號。
本溫度計由傳感器PT100模擬電壓形成與調理電路、模擬/數字轉換電路、51單片機控制電路和數碼顯示電路組成,如圖1所示。溫度計由兩部分組成:①硬件電路;②軟件程序??刂频暮诵男酒捎?AT89C51[2]。

圖1 數字顯示溫度計框圖
如圖2所示,將熱敏電阻RT1(PT100)與一個電阻R2(如10kΩ)串聯,PT100上產生的溫感電壓就與其阻值成正比。該電壓通過R3和R5送至差分放大器TL062的2腳。為了使PT100在0℃時差分放大器輸出電壓為0V,再安置一條10kΩ電阻R1和可變電阻RV1串聯的支路。RV1上的電壓通過R4,送至TL062的3腳。調節RV1便可使在0℃時,讓TL062的輸出電壓達到0V。由于差分放大器輸出的信號很小,還需輸出級進行放大。

圖2 模擬電壓形成與調理電路圖
模/數轉換由芯片ADC0808實現[3]。如將圖1中輸出的模擬溫感信號作為ADC0808的IN3通道信號,并將其通道選擇地址線ADD C、ADD B和ADD A設置為011,地址鎖存ALE接高電平。來自51單片機的ADC啟動信號(正脈沖)接START端,時鐘脈沖接CLOCK端,輸出允許接OE端。ADC轉換結束標志信號EOC送至51單片機P3.1端,數字輸出信號OUT1~OUT8送至其P1.0-P1.7口存儲并處理產生數字顯示信號。其電路見圖3。

圖3 模擬/數字轉換電路
51單片機上電后,在P3.2端產生ADC啟動信號,其后在 P3.3端依次產生正脈沖作為 ADC的CLOCK,并檢測來自ADC的EOC端是否為高電平,即一次模/數轉換是否完成。如完成則對ADC的OE置1,存儲 ADC傳送來的數字信號(OUT1~OUT8),51單片機將數字信號分出百位、十位、個位數字,再根據數字值查出動態顯示數碼管的字段碼信號和字選信號,傳送至動態顯示數碼管的字段控制端和字選控制端,并保持一段時間(2.5ms~5ms)。完成這過程后再次進行了下一次轉換,如此循環。圖4所用數碼管是四位動態顯示數碼管,左邊三個數碼管分別用于顯示測量溫度值百、十、個位數字,最右邊數碼管用于顯示溫度攝氏度單位“C”。圖4中沒有標示的管腳碼,可按參考文獻[2]所述連接。

圖4 單片機控制與顯示電路圖
書面設計完成后,在Proteus上畫出如下所示的電路圖(圖5),然后在Keil(51單片機編譯軟件)中編寫程序,生成HEX文件后回到Proteus中,給單片機加載生成的HEX文件,運行仿真。仿真開始后調試過程:設置RT1為0℃,調整RV1使數碼管顯示000C;再設置RT1為100℃,調整RV2使數碼管顯示100C。這樣就完成了仿真調試,隨后隨意設置RT1幾個不同的溫度數值,觀察數碼管顯示的數值是否與設置值一致,如正常就進行實際電路安裝及調試工作[4]。

圖5 在Proteus上建立的電路圖
本課題是筆者多年從事電子技術綜合實驗教學課題中一個典型代表。其綜合知識范圍廣,程序設計思想新穎,將其作為實驗教學課題十分現實。本課題設計是從電子技術知識綜合應用角度出發來實現的,對學生的分析問題和解決問題能力的提高很有實用價值。
[1] 楊 剛,周 群.電子系統設計與實踐[M].北京:電子工業出版社,2005
[2] 夏繼強,沈德金.單片機實驗與實踐教程[M].北京:北京航空航天大學出版社,2004
[3] 康華光.電子技術基礎[M].北京:高等教育出版社,2006
[4] 中國集成電路大全[M].北京:國防工業出版社,2000