基于AT89C51溫度智能控制系統(tǒng)的軟件設(shè)計
2.2 功能實現(xiàn)模塊
功能實現(xiàn)模塊主要由A/D轉(zhuǎn)換子程序、中斷處理子程序、鍵盤處理子程序和顯示子程序等組成。
(1)A/D轉(zhuǎn)換子程序。
先送地址鎖存允許ALE一上跳沿,使A、B、C地址狀態(tài)送入地址鎖存器中,然后發(fā)送給START一個上跳沿使內(nèi)部寄存器清0,再給其發(fā)送一個下跳沿,開始進行A/D轉(zhuǎn)換,然后判斷轉(zhuǎn)換結(jié)束狀態(tài)信號EOC是否為1,為0則繼續(xù)等待轉(zhuǎn)換,為1則將轉(zhuǎn)換好的數(shù)字量經(jīng)ADC0808的8個數(shù)據(jù)輸出端送到AT89C51的P0.0~P0.7口,A/D轉(zhuǎn)換流程圖如圖3所示。本文引用地址:http://2s4d.com/article/161463.htm
(2)T0中斷子程序。
該中斷是單片機內(nèi)部5 s定時中斷,為低優(yōu)先級,但卻是最重要的處理子程序。在該中斷響應中,單片機要完成的工作有:A/D數(shù)據(jù)采集和轉(zhuǎn)換、數(shù)字濾波、標度變換處理、顯示設(shè)定值、調(diào)用PID算法及PWM處理子程序。產(chǎn)生控制信號PWM波是單片機上常用的模擬量輸出方法,通過外接轉(zhuǎn)換電路,可以將脈沖的占空比變成電壓。程序中通過調(diào)整占空比調(diào)節(jié)輸出模擬電壓,PWM的占空比由定時器通過定時來實現(xiàn),定時長短取決于PID運算的結(jié)果。
(3)T1中斷子程序。
T1中斷子程序嵌套在T0中斷子程序中,為高優(yōu)先級的中斷。T0的定時初值由PID算法子程序提供,T0中斷的響應時間用于對電熱絲的控制,也就是產(chǎn)生PWM波。
(4)鍵盤處理子程序。
作為高優(yōu)先級的功能鍵,系統(tǒng)要實時準備響應實時中斷。在中斷的響應過程中,應能顯示設(shè)定值和控制處理后的值,其流程圖如圖4所示。
評論