軟件框架的設計是否合理,空壓機控制算法的優劣直接關系到整個系統的功能和性能。軟件是數字控制系統的靈魂,它在系統硬件的基礎上,實現高效的控制算法和豐富的系統功能,充分體現了數字控制系統的優越性。軟件總體結構主要由主程序和波形發生器中斷子程序組成。系統的主程序流程。片內波形發生器WFG(Wave Form Generator)是87C196MC獨具的特點之一。這一外設裝置大大簡化了用于產生同步脈寬調制(PwM)波形的控制軟件和外部硬件,特別適用于控制三相交流感應電機,也可用于控制直流無刷電機和其他需要多個PWM輸出的裝置。波形發生器有3個同步的PwM模塊,每個模塊包含一個相位比較寄存器、一個無信號時間(dead—time)發生器和一對可編程的輸出。WFG可以產生獨立的3對PWM波形,但它們有共同的載波頻率、無信號時間和操作方式。一旦啟動之后,FG只要求CPU在改變PWM的占空比時加以干預。采用16MHz晶振時,中心對準的PWM的載波周期為0.25us一--16ms,增量為0.25us;邊沿對準的P刪的載波周期為0.125us~8ms,增量為0.125us,無信號時間的調整范圍為0.125us---125us 1)雙向計數寄存器WG_COUNTER該寄存器是一個16位的雙向計數器,湖南空壓機是3對輸出信號的時基發生器。它的時鐘頻率是振蕩頻率的二分之一,也就是每一個狀態周期WG_COUNTER改變一個計數值a無論什么時候都可以讀計數器,但是不能直接對它進行寫操作。用戶可以對WG—RELOAD寄存器進行寫操作,而它的值周期地裝載到計數器中。
重裝載寄存器WG_RELOAD
該寄存器實際上包含一對16位寄存器。當讀或寫該寄存器時,訪問的是WG—RELOAD寄存器。寫到WG—RELOAD的值,被周期地(取決于操作方式)裝入到第二個寄存器。這個寄存器稱為計數器比較寄存器,它是WG—COUNTER實際與之比較的時間寄存器。對第二個寄存器的裝載發生于WG—COUNTER=1或者WG COUNTER的值等于計數器比較寄存器的值時,與WFG的操作方式有關。長沙空壓機若寫“0”到WG—RELOAD中,則當該值裝入計數器中,它就停止計數。
相比較緩沖寄存器WG_COMPx共有3個(x=l,2,3)可讀寫的16位相比較緩沖器。每一個相比較緩沖器有一個關聯的比較寄存器,它的值與每次計數后的WG_COUNTER相比較。這些比較寄存器不能直接被用戶訪問。G_COUNTER停止時,半個狀態周期后,寫入到相位比較緩沖器的值被裝。