基于AT89S52與PIC16F877A的在線編程控制系統(tǒng)
PIC16F877A部分電路原理如圖3所示。
4 軟件設(shè)計
4.1 AT89S52部分
首先執(zhí)行系統(tǒng)初始化,初始時鐘,全局變量,定時器,IO端口,鍵盤中斷服務子程序。
然后進入MAINLOOP循環(huán)程序,等待接受鍵盤中斷。如果鍵盤有輸入動作,系統(tǒng)產(chǎn)生鍵盤中斷,進入鍵盤中斷服務子程序。
鍵盤中斷服務子程序的主要功能是生成命令數(shù)據(jù)包,并根據(jù)用戶指令處理該命令數(shù)據(jù)包。
命令數(shù)據(jù)包的格式如下:
若用戶確認,則發(fā)送到PIC16F877A執(zhí)行;
若用戶取消,則退出鍵盤中斷服務子程序,重新進入等待狀態(tài)。系統(tǒng)運行流程圖如圖4所示。
4.2 PIC軟件結(jié)構(gòu)
PIC系統(tǒng)初始化后首先按默認參數(shù)啟動PWM輸出,在啟動過程中不斷地進行A/D轉(zhuǎn)換,將采集到的數(shù)據(jù)根據(jù)PID策略調(diào)節(jié)PWM的占空比,從而達到調(diào)節(jié)電機轉(zhuǎn)速的目的,同時不問斷的監(jiān)聽PSP通道,若收到AT89S52的命令數(shù)據(jù)包,馬上更新默認啟動參數(shù),讓電機以新參數(shù)模式運行在新轉(zhuǎn)速狀態(tài)。
PIC16F877A執(zhí)行軟件運行流程圖如圖5所示。
5 結(jié) 語
利用AT89S52作為主處理器,PIC16F87X作為從處理器,使控制精度大為提高,可達10位PWM精度。AT89S52與PIC16F87X具有在線編程功能,功能齊全,片上資源豐富,可以滿足系統(tǒng)升級要求。隨著帶有系統(tǒng)在線編程功能的單片機得到廣泛應用與發(fā)展,ISP技術(shù)成了未來發(fā)展方向,基于在線編程技術(shù)的控制系統(tǒng)應用也將越來越廣泛。
評論