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