基于STC89C58數字溫度計的設計與實現
2.3 LM94022的輸出特性
LM94022的輸出特性如圖2所示,這是測量溫度與輸出電壓在不同靈敏度時的特性。由于輸出電壓隨溫度升高而下降,其靈敏度為負值。在VDD=5 V時,不同靈敏度下幾個特定溫度值的輸出電壓如表2所示(典型值)。
數字溫度計電路設計的總體方案如圖3所示。采用STC89C58單片機作為主控器件;LCD采用FM1602,單片機中的P0作為其接口,并由P2.5~P2.7控制,用以驅動LCD的顯示;時鐘芯片采用DS1302,用腳P2.2~P2.4作為時鐘芯片控制引腳;LM94022作為溫度傳感芯片,并用TLC2543將其轉化成數字信號,用P3.2~P3.6作為ADC的控制引腳;P1口作為鍵盤的輸人口,用以接收由鍵盤輸出的信號;用P2.1和P2.0分別作為溫度過高和溫度過低的報警控制引腳,P3.7作為蜂鳴器的控制引腳。
3.1 溫度采樣
LM94022采用“10”模式,在0~100℃范圍內,用轉化公式:
T=(1 568-V)×0.122 699 38
對輸出電壓采樣(用運放LM2015作電壓跟隨器)并用ADC轉化,由單片機提取,計算并轉化成溫度。
3.2 時鐘電路
時鐘采用備用電池,在第一次設定時間后,所儲存的信息不會丟失,待下一次電路啟動的時候,無需再次設定時間,方便使用。
3.3 人機交換電路
系統由鍵盤作為人機交換器,4×4結構如圖4所示。其中,Time用于時間設定;L-tem和H-tem分別用于低溫和高溫設定;Return用于返回主界面。
3.4 復位功能
當按下復位鍵時,對系統初始化,系統的低溫設置為0.0℃,高溫設置為90.0℃。
3.5 顯示界面
第一行顯示時間,第二行顯示第一路和第二路的溫度,當出現緊急情況時,第二行顯示原因,第一行顯示第幾路出錯,并將有蜂鳴器鳴叫和LED燈提示。
3.6 數據存儲
硬件存儲功能沒有實現,由于分工出現一些小的問題,導致軟硬件結合不當,設計脫節,最終沒能實現存儲功能。
4 系統軟件設計
系統的軟件由三大模塊組成:主程序模塊、功能實現模塊和運算控制模塊。
4.1 主程序流程
系統上電復位后,進行初始化:選擇T0中斷(工作方式1)并設置定時器初值,溫度測試電路初始化,顯示電路初始化。若有按鍵按下,禁止T0中斷,顯示處理相應事件的界面。處理完事件后,按下Return鍵,T0中斷重新開啟,回到正常的溫度顯示界面;沒有按鍵按下時,如果T0中斷,則更新溫度值,如圖5所示。
評論