單片機(jī)溫度控制探究論文

時(shí)間:2022-10-23 09:47:00

導(dǎo)語:?jiǎn)纹瑱C(jī)溫度控制探究論文一文來源于網(wǎng)友上傳,不代表本站觀點(diǎn),若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。

單片機(jī)溫度控制探究論文

摘要:單片機(jī)具有體積小、功能強(qiáng)、成本低、應(yīng)用面廣等優(yōu)點(diǎn),可以說,智能控制與自動(dòng)控制的核心就是單片機(jī)。目前,一個(gè)學(xué)習(xí)與應(yīng)用單片機(jī)的高潮在全社會(huì)大規(guī)模地興起。學(xué)習(xí)單片機(jī)的最有效方法就是理論與實(shí)踐并重,本文用80C51單片機(jī)自制了一個(gè)溫度控制系統(tǒng),重點(diǎn)介紹了該系統(tǒng)的硬件結(jié)構(gòu)及編程方法。

關(guān)鍵詞:?jiǎn)纹瑱C(jī)、溫度傳感器、模/數(shù)轉(zhuǎn)換器

一、單片機(jī)溫度控制系統(tǒng)的組成及工作原理

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

二、溫度檢測(cè)的設(shè)計(jì)

系統(tǒng)測(cè)溫采用AD590溫度傳感器,AD590是美國(guó)模擬器件公司生產(chǎn)的單片集成兩端感溫電流源。它的主要特性如下:

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

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

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

4、輸出電阻為710MW;

5、精度高。

AD590溫度傳感器輸出信號(hào)經(jīng)放大電路放大10倍,再送入模/數(shù)轉(zhuǎn)換器ADC0804,轉(zhuǎn)換后送單片機(jī)。根據(jù)AD590溫度傳感器特性以及放大10倍后的電壓值與現(xiàn)場(chǎng)溫度的比較發(fā)現(xiàn),實(shí)際溫度轉(zhuǎn)換后送入單片機(jī)的值與按鍵輸入數(shù)值之間有一定的差值,模/數(shù)轉(zhuǎn)換器送入單片機(jī)的數(shù)值是按鍵輸入值得2.5倍。由于單片機(jī)不能進(jìn)行小數(shù)乘法運(yùn)算,所以先對(duì)按鍵輸入進(jìn)行乘5,然后根據(jù)運(yùn)算結(jié)果及程序狀態(tài)字的狀態(tài)再進(jìn)行循環(huán)右移一位,如果溢出標(biāo)志位為低電平時(shí)直接對(duì)累加器進(jìn)行一次帶進(jìn)位循環(huán)右移,如果溢出標(biāo)志位為高電平時(shí),先對(duì)進(jìn)位標(biāo)準(zhǔn)位CY位置為高電平,然后再進(jìn)行一次帶進(jìn)位循環(huán)右移,通過上述操作使按鍵輸入的溫度值與模/數(shù)轉(zhuǎn)換器送入單片機(jī)的溫度值相統(tǒng)一。

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

四、軟件編程

單片機(jī)溫度控制系統(tǒng)由硬件和軟件組成,上述硬件原理圖搭建完成上電之后,我們還不能實(shí)現(xiàn)對(duì)溫度的控制,需要給單片機(jī)編寫程序,下面給出了溫度控制系統(tǒng)的編程方法。

ORG00H

START:ANLP1,#00H;顯示00

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

CALLDELAY1;消除抖動(dòng)

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

MOVR0,#00;計(jì)溫指針初值

L1:MOVA,R0;計(jì)溫指針載入ACC

MOVP1,A;輸出至P1顯示

MOVR5,#10;延時(shí)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次按消除抖動(dòng)

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

;跳至L3停止

JMPL2

L3:MOVA,R0

CALLCHANGE

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

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

CALLDELAY1;消除抖動(dòng)

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

MOVR0,#00;計(jì)溫指針初值

L4:MOVA,RO;計(jì)溫指針載入ACC

MOVP1,A;顯示00

MOVR5,#10;延時(shí)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次按消除抖動(dòng)

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為高阻抗

;并令A(yù)DC0804開始轉(zhuǎn)換

WAIT:JBP2.0,ADC;檢測(cè)轉(zhuǎn)換完成否

JMPWAIT

ADC:MOVXA,@RO;將轉(zhuǎn)換好的值送入

;累加器

MOV33H,A;將現(xiàn)在溫度值存入33H

CLRC;C=0

SUBBA,32H

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

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

TUP:MOVA,33H;將現(xiàn)在溫度值存入A

CLRC

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

JCLOOP;C=1時(shí)表示比上限小須

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

SETBP2.1

JMPLOOP

TDOWN:MOVA,33H;將現(xiàn)在溫度值存入A

CLRC

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

JNCLOOP;C=1時(shí)表示比下限小,須

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

CLRP2.1;令P2.1動(dòng)作

LOOP:MOV32H,33H

CLRA

MOVR4,#0FFH;延時(shí)

DJNZR4,$

JMPAAA

END

五、結(jié)語:

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

參考文獻(xiàn):

[1]李廣弟,朱月秀,王秀山.單片機(jī)基礎(chǔ).北京:北京航空航天大學(xué)出版社,2001.7

[2]萬光毅,嚴(yán)義,邢春香.單片機(jī)實(shí)驗(yàn)與實(shí)踐教程[M].北京:北京航空航天大學(xué)出版社,2006.4