摘要:單片機(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)鍵詞:單片機(jī)、溫度傳感器、模/數(shù)轉(zhuǎn)換器
樹人論文發(fā)表網(wǎng)辦的非常成功,極具口碑。在這里,你可以找到最具時(shí)事性的文章和最具代表性的各類文章。當(dāng)然,因?yàn)槊赓M(fèi)和開源,大家都可以學(xué)習(xí)、借鑒和共同使用,如果你需要專屬于個(gè)人的原創(chuàng)文章,請點(diǎn)擊鏈接獲得專業(yè)文秘寫作服務(wù)。
一、單片機(jī)溫度控制系統(tǒng)的組成及工作原理
在工業(yè)生產(chǎn)和日常生活中,對溫度控制系統(tǒng)的要求,主要是保證溫度在一定溫度范圍內(nèi)變化,穩(wěn)定性好,不振蕩,對系統(tǒng)的快速性要求不高。以下簡單分析了單片機(jī)溫度控制系統(tǒng)設(shè)計(jì)過程及實(shí)現(xiàn)方法。現(xiàn)場溫度經(jīng)溫度傳感器采樣后變換為模擬電壓信號,經(jīng)低通濾波濾掉干擾信號后送放大器,信號放大后送模/數(shù)轉(zhuǎn)換器轉(zhuǎn)換為數(shù)字信號送單片機(jī),單片機(jī)根據(jù)輸入的溫度控制范圍通過繼電器控制加熱設(shè)備完成溫度的控制。本系統(tǒng)的測溫范圍為0℃~99℃,啟動(dòng)單片機(jī)溫度控制系統(tǒng)后首先按下第一個(gè)按鍵開始最低溫度的設(shè)置,這時(shí)數(shù)碼管顯示溫度數(shù)值,每隔一秒溫度數(shù)值增加一度,當(dāng)滿足用戶溫度設(shè)置最低值時(shí)再按一下第一個(gè)按鍵完成最低溫度的設(shè)置,依次類推通過第二個(gè)按鍵完成最高溫度的設(shè)置。然后溫度檢測系統(tǒng)根據(jù)用戶設(shè)定的溫度范圍完成一定范圍的溫度控制。
二、溫度檢測的設(shè)計(jì)
系統(tǒng)測溫采用AD590溫度傳感器,AD590是美國模擬器件公司生產(chǎn)的單片集成兩端感溫電流源。它的主要特性如下:
1、流過器件的電流(mA)等于器件所處環(huán)境的熱力學(xué)溫度(開爾文)度數(shù);即: ,式中:Ir—流過器件(AD590)的電流,單位為mA;T—熱力學(xué)溫度,單位為K。
2、AD590的測溫范圍為-55℃~+150℃;
3、AD590的電源電壓范圍為4V~30V;
4、輸出電阻為710MW;
5、精度高。
AD590溫度傳感器輸出信號經(jīng)放大電路放大10倍,再送入模/數(shù)轉(zhuǎn)換器ADC0804,轉(zhuǎn)換后送單片機(jī)。根據(jù)AD590溫度傳感器特性以及放大10倍后的電壓值與現(xiàn)場溫度的比較發(fā)現(xiàn),實(shí)際溫度轉(zhuǎn)換后送入單片機(jī)的值與按鍵輸入數(shù)值之間有一定的差值,模/數(shù)轉(zhuǎn)換器送入單片機(jī)的數(shù)值是按鍵輸入值得2.5倍。由于單片機(jī)不能進(jìn)行小數(shù)乘法運(yùn)算,所以先對按鍵輸入進(jìn)行乘5,然后根據(jù)運(yùn)算結(jié)果及程序狀態(tài)字的狀態(tài)再進(jìn)行循環(huán)右移一位,如果溢出標(biāo)志位為低電平時(shí)直接對累加器進(jìn)行一次帶進(jìn)位循環(huán)右移,如果溢出標(biāo)志位為高電平時(shí),先對進(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)對溫度的控制,需要給單片機(jī)編寫程序,下面給出了溫度控制系統(tǒng)的編程方法。
ORG 00H
START:ANL P1,#00H;顯示00
JB P3.4 ,$ ;T0=0?有鍵按下?
CALL DELAY1 ;消除抖動(dòng)
JNB P3.4 ,$;T0=1?放下?
MOV R0 ,#00;計(jì)溫指針初值
L1: MOV A , R0 ;計(jì)溫指針載入ACC
MOV P1 , A ;輸出至P1顯示
MOV R5 , #10 ;延時(shí)1秒
A1:MOV R6 , #200
D1:MOV R7 , #248 ;0.5毫秒
JNB P3.4 ,L2 ;第2次按下T0?
DJNZ R7,$
DJNZ R6,D1
DJNZ R5,A1
INC A
DA A
MOV R0 , A
JMP L1
L2:CALL DELAY1 ;第2次按消除抖動(dòng)
JB P3.4 ,L3 ;放開了沒?是則
;跳至L3停止
JMP L2
L3: MOV A ,R0
CALL CHANGE
MOV 31H , A ;下限溫度存入31H
JB P3.5 ,$ ;T1=0?有鍵按下?
CALL DELAY1 ;消除抖動(dòng)
JNB P3.5 ,$ ; ;T1=1?放開?
MOV R0 ,#00 ;計(jì)溫指針初值
L4:MOV A ,RO ;計(jì)溫指針載入ACC
MOV P1 , A ;顯示00
MOV R5 ,#10 ;延時(shí)1秒
A2:MOV R6 ,#200
D2:MOV R7 ,#248 ;0.5毫秒
JNB P3.5 ,L5 ;第二次按下T1?DJNZ R7 ,$
DJNZ R6 ,D2
DJNZ R5 , A2
ADD A , #01H
DA A
MOV R0 , A
JMP L4
L5:CALL DELAY1 ;第2次按消除抖動(dòng)
JB P3.5 ,L6 ;放開了?是則跳至L6
JMP L5
L6:MOV A, RO ;
CALL CHANGE
MOV 30H ,A ;上限溫度存入30H
DELAY1:MOV R6 ,#60 ;30毫秒
D3:MOV R7 , #248
DJNZ R7 , $
DJNZ R6 , D3
RET
CHANGE:MOV B ,#5
MUL AB
JNO D4
SETB C
D4:RRC A
RET
MOV 32H ,#0FFH ;32H舊溫度寄存
;器初值
AAA:MOVX @R0 , A;使BUS為高阻抗
;并令A(yù)DC0804開始轉(zhuǎn)換
WAIT:JB P2.0 ,ADC ;檢測轉(zhuǎn)換完成否
JMP WAIT
ADC:MOVX A ,@RO ;將轉(zhuǎn)換好的值送入
;累加器
MOV 33H ,A ;將現(xiàn)在溫度值存入33H
CLR C ;C=0
SUBB A ,32H
JC TDOWN ;C=0取入值較大,表示
;溫度上升,C=1表示下降
TUP:MOV A, 33H ;將現(xiàn)在溫度值存入A
CLR C
SUBB A ,30H ;與上限溫度作比較
JC LOOP ;C=1時(shí)表示比上限小須
;加熱,C=0表示比上限大,停止加熱
SETB P2.1
JMP LOOP
TDOWN:MOV A ,33H ;將現(xiàn)在溫度值存入A
CLR C
SUBB A ,31H ;與下限溫度作比較
JNC LOOP ;C=1時(shí)表示比下限小,須
;加熱,C=0表示比下限大
CLR P2.1 ;令P2.1動(dòng)作
LOOP:MOV 32H ,33H
CLR A
MOV R4 ,#0FFH ;延時(shí)
DJNZ R4 ,$
JMP AAA
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
論文指導(dǎo) >
SCI期刊推薦 >
論文常見問題 >
SCI常見問題 >