摘要:單片機具有體積小、功能強、成本低、應用面廣等優點,可以說,智能控制與自動控制的核心就是單片機。目前,一個學習與應用單片機的高潮在全社會大規模地興起。學習單片機的最有效方法就是理論與實踐并重,本文用80C51單片機自制了一個溫度控制系統,重點介紹了該系統的硬件結構及編程方法。
關鍵詞:單片機、溫度傳感器、模/數轉換器
樹人論文發表網辦的非常成功,極具口碑。在這里,你可以找到最具時事性的文章和最具代表性的各類文章。當然,因為免費和開源,大家都可以學習、借鑒和共同使用,如果你需要專屬于個人的原創文章,請點擊鏈接獲得專業文秘寫作服務。
一、單片機溫度控制系統的組成及工作原理
在工業生產和日常生活中,對溫度控制系統的要求,主要是保證溫度在一定溫度范圍內變化,穩定性好,不振蕩,對系統的快速性要求不高。以下簡單分析了單片機溫度控制系統設計過程及實現方法。現場溫度經溫度傳感器采樣后變換為模擬電壓信號,經低通濾波濾掉干擾信號后送放大器,信號放大后送模/數轉換器轉換為數字信號送單片機,單片機根據輸入的溫度控制范圍通過繼電器控制加熱設備完成溫度的控制。本系統的測溫范圍為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位置為高電平,然后再進行一次帶進位循環右移,通過上述操作使按鍵輸入的溫度值與模/數轉換器送入單片機的溫度值相統一。
三、具體電路連接如圖所示
四、軟件編程
單片機溫度控制系統由硬件和軟件組成,上述硬件原理圖搭建完成上電之后,我們還不能實現對溫度的控制,需要給單片機編寫程序,下面給出了溫度控制系統的編程方法。
ORG 00H
START:ANL P1,#00H;顯示00
JB P3.4 ,$ ;T0=0?有鍵按下?
CALL DELAY1 ;消除抖動
JNB P3.4 ,$;T0=1?放下?
MOV R0 ,#00;計溫指針初值
L1: MOV A , R0 ;計溫指針載入ACC
MOV P1 , A ;輸出至P1顯示
MOV R5 , #10 ;延時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次按消除抖動
JB P3.4 ,L3 ;放開了沒?是則
;跳至L3停止
JMP L2
L3: MOV A ,R0
CALL CHANGE
MOV 31H , A ;下限溫度存入31H
JB P3.5 ,$ ;T1=0?有鍵按下?
CALL DELAY1 ;消除抖動
JNB P3.5 ,$ ; ;T1=1?放開?
MOV R0 ,#00 ;計溫指針初值
L4:MOV A ,RO ;計溫指針載入ACC
MOV P1 , A ;顯示00
MOV R5 ,#10 ;延時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次按消除抖動
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為高阻抗
;并令ADC0804開始轉換
WAIT:JB P2.0 ,ADC ;檢測轉換完成否
JMP WAIT
ADC:MOVX A ,@RO ;將轉換好的值送入
;累加器
MOV 33H ,A ;將現在溫度值存入33H
CLR C ;C=0
SUBB A ,32H
JC TDOWN ;C=0取入值較大,表示
;溫度上升,C=1表示下降
TUP:MOV A, 33H ;將現在溫度值存入A
CLR C
SUBB A ,30H ;與上限溫度作比較
JC LOOP ;C=1時表示比上限小須
;加熱,C=0表示比上限大,停止加熱
SETB P2.1
JMP LOOP
TDOWN:MOV A ,33H ;將現在溫度值存入A
CLR C
SUBB A ,31H ;與下限溫度作比較
JNC LOOP ;C=1時表示比下限小,須
;加熱,C=0表示比下限大
CLR P2.1 ;令P2.1動作
LOOP:MOV 32H ,33H
CLR A
MOV R4 ,#0FFH ;延時
DJNZ R4 ,$
JMP AAA
END
五、結語:
本文給出了用單片機在0℃~99℃之間,通過用戶設置溫度上限、下限值來實現一定范圍內溫度的控制;給出了溫度控制系統的硬件連接電路以及軟件程序,此系統溫度控制只是單片機廣泛應用于各行各業中的一例,相信通過大家的聰明才智和努力,一定會使單片機的應用更加廣泛化。
參考文獻:
[1]李廣弟,朱月秀,王秀山.單片機基礎.北京:北京航空航天大學出版社,2001.7
[2]萬光毅,嚴義,邢春香.單片機實驗與實踐教程[M].北京:北京航空航天大學出版社,2006.4
論文指導 >
SCI期刊推薦 >
論文常見問題 >
SCI常見問題 >