基于AT89S52單片機(jī)的溫度控制系統(tǒng)
2 系統(tǒng)流程圖
圖2為系統(tǒng)的流程圖,上電后先對(duì)系統(tǒng)進(jìn)行初始化,然后進(jìn)入while(1)循環(huán)語(yǔ)句,此循環(huán)體中包含兩個(gè)while語(yǔ)句,分別為while(state)和while(!state)。程序根據(jù)位變量state的值選擇進(jìn)入溫度設(shè)定狀態(tài)還是系統(tǒng)運(yùn)行狀態(tài)。在初始化的過(guò)程中將state的值設(shè)為1,因此剛開機(jī)系統(tǒng)進(jìn)入運(yùn)行狀態(tài)。運(yùn)行狀態(tài)下,系統(tǒng)不斷通過(guò)CD4051和AD7705聯(lián)合采集熱敏電阻兩端的電壓值,然后與設(shè)定電壓值對(duì)比,并通過(guò)MAX541定時(shí)輸出自動(dòng)升溫電壓值,讓系統(tǒng)嚴(yán)格地在規(guī)定時(shí)間內(nèi)升到指定溫度。在循環(huán)的過(guò)程中還需要不斷地判斷bit變量kd的值,此變量為全局變量,由鍵盤中斷程序置1,同時(shí)鍵盤中斷程序還返回按鍵掃描值key,該值用來(lái)確定按下哪一個(gè)鍵。顯然從流程圖中可以看出,當(dāng)kd為0時(shí),程序跳過(guò)按鍵程序模塊,當(dāng)kd為1時(shí)程序先判斷key值,然后運(yùn)行相對(duì)應(yīng)的按鍵功能程序。我們將某一鍵設(shè)為狀態(tài)切換鍵,當(dāng)按下此鍵時(shí)執(zhí)行程序state=!state,這樣就實(shí)現(xiàn)了狀態(tài)的切換。在進(jìn)入設(shè)定狀態(tài)后,MAX541的輸出停止改變。同時(shí)光標(biāo)不斷閃爍,提示使用者輸入溫度設(shè)定值。光標(biāo)閃爍程序和MAX541定時(shí)改變輸出值的程序都是采用定時(shí)器中斷來(lái)實(shí)現(xiàn)的。因?yàn)閮煞N功能處于不同的狀態(tài),同時(shí)為了避免中斷過(guò)多造成系統(tǒng)不穩(wěn)定,通過(guò)利用state變量的值和if語(yǔ)句,有效地將兩種功能用一個(gè)定時(shí)器來(lái)實(shí)現(xiàn)。進(jìn)入定時(shí)中斷程序后,當(dāng)state值為1時(shí),即系統(tǒng)處于運(yùn)行狀態(tài)時(shí),執(zhí)行定時(shí)改變MAX541輸出值的功能。當(dāng)state的值為0時(shí),即系統(tǒng)處于設(shè)定狀態(tài)時(shí),執(zhí)行光標(biāo)閃爍的功能。本文引用地址:http://2s4d.com/article/163442.htm
3 溫控儀的恒流源改進(jìn)
3.1 熱敏電阻
3.1.1 NTC熱敏電阻溫度特性方程
NTC熱敏電阻溫度特性方程用下列經(jīng)驗(yàn)公式描述:
式中:RT為T時(shí)的熱敏電阻阻值,RT0為T0時(shí)熱敏電阻阻值,從上述表達(dá)式可以看出電阻的變化與溫度的變化成指數(shù)關(guān)系,溫度升高,阻值迅速降低,靈敏度高是熱敏電阻測(cè)溫的主要優(yōu)點(diǎn)。
3.1.2 NTC熱敏電阻的熱電特性
熱敏電阻自身溫度變化1℃時(shí),其電阻值的相對(duì)變化定義為熱敏電阻的熱溫度系數(shù),由熱敏電阻的經(jīng)驗(yàn)公式可以推出熱溫度系數(shù)a為:
從上式可以看出NTC熱敏電阻的溫度系數(shù)為負(fù),且與溫度變化有關(guān),溫度越低,溫度系數(shù)越高,靈敏度越高;反之則靈敏度越低。
評(píng)論