基于AT89C51控制的0.01℃數顯溫度計的設計
溫度測量在物理實驗、醫療衛生、食品生產等領域,尤其在熱學實驗(如:物體的比熱容、汽化熱、熱功當量、壓強溫度系數等教學實驗)中,有特別重要的意義?,F在所使用的溫度計通常都是精度為1℃和0.1℃的水銀、煤油或酒精溫度計。這些溫度計的刻度間隔通常都很密,不容易準確分辨,讀數因難,而且它們的熱容量還比較大,達到熱平衡所需的時間較長,因此很難讀準,并且使用非常不方便。而利用晶體三極管3DG6C的基極與集電極之間正向電壓降Ubc隨溫度T呈線性變化的關系作為溫度傳感器,以OP07構成放大器,以
因為溫度計對精度要求高,對速度要求低,故用定時器中斷來作調度器內核,主要任務是計算什么時刻要運行什么任務,然后調用相應的任務函數,如圖6所示。
掃描鍵盤函數在調度器的調度下每20ms執行一次,利用此20ms的時間間隔正好用延時消除抖動來消除鍵盤抖動。鍵盤設計成行列矩陣式,功能有:設定時間、設定測量時間間隔、切換時鐘狀態和溫度計狀態、開始和結束溫度測量、查詢以前測量的溫度數據。其流程如圖7所示。顯示刷新函數在調度器的調度下每 4ms執行一次,顯示刷新函數用于動態顯示七段LED顯示管。讀取數據函數在調度器的調度下每1S執行一次,運行此函數時,單片機從ICL7135中讀取一次數據。程序流程如圖8所示。
時間刷新函數在調度器的調度下每1s執行一次,進行計時。
3 溫度計定標與數據測試
溫度計定標時用數字電壓表測量ICL7135第2、3兩腳之間的電壓值(基準電壓),調節R5,使其在2V左右;將傳感器Q1放入冰水混合物中,經過充分攪拌達到熱平衡后調節R6,使顯示讀數為0.00(標定0℃);利用氣壓計讀出當時當地的大氣壓強,并根據大氣壓強,當地重力加速度計算出當時的實際壓強;根據沸點與壓強的關系查出沸點溫度.把傳感器放入沸水中,待顯示讀數穩定后仔細調節R5,使顯示器顯示讀數等于當地當時的沸點溫度后定標工作結束[1]。本溫度計的量程為-50~150℃,讀數精度為0.01℃,考慮到實際使用一般在0℃~100℃。我們用0℃~50℃和50℃~100℃的精密水銀溫度計作撿驗標準,測量結果見表1。其中T水銀為水銀溫度計的測量值,最后一位是估計值,T數字為數字溫度計測量值,最后一位是顯示值。由測試結果可知,所設計的溫度計能達到要求
4 結束語
本數顯溫度計具有讀數方便,精度高的特點。引入單片機AT89C51控制后,可以通過不同的軟件設計以完成不同的使用要求。系統設計時保留引腳 P3.2,如在該引腳外接一揚聲器,可通過軟件編程實現溫度超限報警,作為溫度報警器用。通過保留的串口,可以實現與PC機的通訊,增加串口通訊程序模塊就可用作多點溫度檢測系統的下位機。
參 考 文 獻
[1] 潘學軍.0.01℃的數顯溫度計[J].物理實驗.2003(5):22~25
[2] 談文心,錢聰,宋云購.模擬集成電路原理及應用[M].西安:西安交通大學出版社,1995.16~39.
[3] 何立民. MCS-51單片機應用系統設計[M]. 北京:北京航空航天大學出版社 1995.9
手機電池相關文章:手機電池修復
51單片機相關文章:51單片機教程
加速度計相關文章:加速度計原理
評論