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