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