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