單片機溫度控制系統分析論文

時間:2022-02-09 11:54:00

導語:單片機溫度控制系統分析論文一文來源于網友上傳,不代表本站觀點,若需要原創文章可咨詢客服老師,歡迎參考。

單片機溫度控制系統分析論文

一、單片機溫度控制系統的組成及工作原理

在工業生產和日常生活中,對溫度控制系統的要求,主要是保證溫度在一定溫度范圍內變化,穩定性好,不振蕩,對系統的快速性要求不高。以下簡單分析了單片機溫度控制系統設計過程及實現方法。現場溫度經溫度傳感器采樣后變換為模擬電壓信號,經低通濾波濾掉干擾信號后送放大器,信號放大后送模/數轉換器轉換為數字信號送單片機,單片機根據輸入的溫度控制范圍通過繼電器控制加熱設備完成溫度的控制。本系統的測溫范圍為0℃~99℃,啟動單片機溫度控制系統后首先按下第一個按鍵開始最低溫度的設置,這時數碼管顯示溫度數值,每隔一秒溫度數值增加一度,當滿足用戶溫度設置最低值時再按一下第一個按鍵完成最低溫度的設置,依次類推通過第二個按鍵完成最高溫度的設置。然后溫度檢測系統根據用戶設定的溫度范圍完成一定范圍的溫度控制。

二、溫度檢測的設計

系統測溫采用AD590溫度傳感器,AD590是美國模擬器件公司生產的單片集成兩端感溫電流源。它的主要特性如下:

1、流過器件的電流(mA)等于器件所處環境的熱力學溫度(開爾文)度數;即:,式中:Ir—流過器件(AD590)的電流,單位為mA;T—熱力學溫度,單位為K。

2、AD590的測溫范圍為-55℃~+150℃;

3、AD590的電源電壓范圍為4V~30V;

4、輸出電阻為710MW;

5、精度高。

AD590溫度傳感器輸出信號經放大電路放大10倍,再送入模/數轉換器ADC0804,轉換后送單片機。根據AD590溫度傳感器特性以及放大10倍后的電壓值與現場溫度的比較發現,實際溫度轉換后送入單片機的值與按鍵輸入數值之間有一定的差值,模/數轉換器送入單片機的數值是按鍵輸入值得2.5倍。由于單片機不能進行小數乘法運算,所以先對按鍵輸入進行乘5,然后根據運算結果及程序狀態字的狀態再進行循環右移一位,如果溢出標志位為低電平時直接對累加器進行一次帶進位循環右移,如果溢出標志位為高電平時,先對進位標準位CY位置為高電平,然后再進行一次帶進位循環右移,通過上述操作使按鍵輸入的溫度值與模/數轉換器送入單片機的溫度值相統一。

三、具體電路連接如圖所示

四、軟件編程

單片機溫度控制系統由硬件和軟件組成,上述硬件原理圖搭建完成上電之后,我們還不能實現對溫度的控制,需要給單片機編寫程序,下面給出了溫度控制系統的編程方法。

ORG00H

START:ANLP1,#00H;顯示00

JBP3.4,$;T0=0?有鍵按下?

CALLDELAY1;消除抖動

JNBP3.4,$;T0=1?放下?

MOVR0,#00;計溫指針初值

L1:MOVA,R0;計溫指針載入ACC

MOVP1,A;輸出至P1顯示

MOVR5,#10;延時1秒

A1:MOVR6,#200

D1:MOVR7,#248;0.5毫秒

JNBP3.4,L2;第2次按下T0?

DJNZR7,$

DJNZR6,D1

DJNZR5,A1

INCA

DAA

MOVR0,A

JMPL1

L2:CALLDELAY1;第2次按消除抖動

JBP3.4,L3;放開了沒?是則

;跳至L3停止

JMPL2

L3:MOVA,R0

CALLCHANGE

MOV31H,A;下限溫度存入31H

JBP3.5,$;T1=0?有鍵按下?

CALLDELAY1;消除抖動

JNBP3.5,$;T1=1?放開?

MOVR0,#00;計溫指針初值

L4:MOVA,RO;計溫指針載入ACC

MOVP1,A;顯示00

MOVR5,#10;延時1秒

A2:MOVR6,#200

D2:MOVR7,#248;0.5毫秒

JNBP3.5,L5;第二次按下T1?

DJNZR7,$

DJNZR6,D2

DJNZR5,A2

ADDA,#01H

DAA

MOVR0,A

JMPL4

L5:CALLDELAY1;第2次按消除抖動

JBP3.5,L6;放開了?是則跳至L6

JMPL5

L6:MOVA,RO;

CALLCHANGE

MOV30H,A;上限溫度存入30H

DELAY1:MOVR6,#60;30毫秒

D3:MOVR7,#248

DJNZR7,$

DJNZR6,D3

RET

CHANGE:MOVB,#5

MULAB

JNOD4

SETBC

D4:RRCA

RET

MOV32H,#0FFH;32H舊溫度寄存

;器初值

AAA:MOVX@R0,A;使BUS為高阻抗

;并令ADC0804開始轉換

WAIT:JBP2.0,ADC;檢測轉換完成否

JMPWAIT

ADC:MOVXA,@RO;將轉換好的值送入

;累加器

MOV33H,A;將現在溫度值存入33H

CLRC;C=0

SUBBA,32H

JCTDOWN;C=0取入值較大,表示

;溫度上升,C=1表示下降

TUP:MOVA,33H;將現在溫度值存入A

CLRC

SUBBA,30H;與上限溫度作比較

JCLOOP;C=1時表示比上限小須

;加熱,C=0表示比上限大,停止加熱

SETBP2.1

JMPLOOP

TDOWN:MOVA,33H;將現在溫度值存入A

CLRC

SUBBA,31H;與下限溫度作比較

JNCLOOP;C=1時表示比下限小,須

;加熱,C=0表示比下限大

CLRP2.1;令P2.1動作

LOOP:MOV32H,33H

CLRA

MOVR4,#0FFH;延時

DJNZR4,$

JMPAAA

END

五、結語:

本文給出了用單片機在0℃~99℃之間,通過用戶設置溫度上限、下限值來實現一定范圍內溫度的控制;給出了溫度控制系統的硬件連接電路以及軟件程序,此系統溫度控制只是單片機廣泛應用于各行各業中的一例,相信通過大家的聰明才智和努力,一定會使單片機的應用更加廣泛化。

參考文獻:

[1]李廣弟,朱月秀,王秀山.單片機基礎.北京:北京航空航天大學出版社,2001.7

[2]萬光毅,嚴義,邢春香.單片機實驗與實踐教程[M].北京:北京航空航天大學出版社,2006.4

摘要:單片機具有體積小、功能強、成本低、應用面廣等優點,可以說,智能控制與自動控制的核心就是單片機。目前,一個學習與應用單片機的高潮在全社會大規模地興起。學習單片機的最有效方法就是理論與實踐并重,本文用80C51單片機自制了一個溫度控制系統,重點介紹了該系統的硬件結構及編程方法。

關鍵詞:單片機、溫度傳感器、模/數轉換器