您好,歡迎來到中國工控網   請 登錄免費注冊
服務熱線:
當前位置:首頁 >> 資訊頻道 >> > 技術應用 >> 電機控制中的16位PWM在

電機控制中的16位PWM在

時間:2017-11-18 15:19:00   來源:本網   添加人:admin

  占空比來實現調速。因此,PWM波發生器在直流電機的控制中是不可缺少的。

  C8051PCA高速輸出工作方式一、PCA捕捉/比較模塊的高速輸出工作方式原理C8051單片機有PWM功能,該功能包含在一稱為可編程計數器陣列PCA當中。

  可編程計數器陣列PCA包含1個16位的定時器/計數器和5個捕捉/比較模塊,而每個捕捉/比較模塊都有16位的模塊寄存器(8位的PCAOCPHn和8位的PCAOCPLn),且每個捕捉/比較模塊都有4種工作方式。其中在高速輸出工作方,當PCA計數器PCA0L和PCA0H的值與該模塊寄存器PCAOCPLn和PCAOCPHn中的常數值相等時,就使CEXA弓卿上的邏輯電平發生一次變化(取反),同時觸發一次中斷,使該模塊的中斷標志位CCFn被置1;如果響應這個中斷,CCFr、須用軟件清0.利用高速輸出工作方式的這個特點,我f可以實現16位的PWM功能。PCA高速輸出工作方式原理圖如所示⑴。

  根據高速輸出工作方式的工作原理,我們可以知道,當條件匹IEW,在CEXn弓腳上會產生一次正跳變或一次負跳變,同時觸發一次中斷。如果在正跳變時,將PWM高電平計數值裝人16位的模塊寄存器PCAOCPLn中和PCAOCPHn中;而在負跳變時,將0000H裝入16位的模塊寄存器PCAOCPLn和PCAOCPHn中,在CEXn引腳上我I、河以得到16位的PWM輸出。這一過程可由進一步說明1.由上圖可見,假如初始時CEXn引腳輸出低電平,而且PCA定時器初值為0000H;當匹B己條件滿足時,CEXn引腳變為高電平,同時引發一次中斷。在中斷服務子程序中,將PWM常數值裝入模塊寄存器PCAOCPn中。每一個PCA時鐘,PCA定時器加1,直到與模塊寄存器PCAOCPn中的PWM等時滿足了匹配條件,謝使CEXn引厲出變為低電平,同時又會引發一次中斷。在中斷服務子程序中,將0000H裝入模塊寄存器PCAOCPn中,ttWPCA定時器在每―個PCA時鐘到來時繼續加1,直到加到FFFFH時,再加1產生溢出,PCA的值變為0000H,這樣又產生新的匹配條件,使CEXn引腳變為高電平,同時引發一次中斷。這次在中斷服務子程序中,將PWM常數值裝人模塊寄存器PCAOCPn中。這樣循環下去,就會在CEXn弓丨腳上輸出16位的PWM PCA的高速輸出工作方式原理圖這個16位的PWM波的占空比由下式決定:改變變量PWM的值就可以改變占空比。

  如果取系統時鐘的4分頻作為PCA時鐘的話,考慮到中研究方向:自動控制微機測控及電子技術;CEX0定向到PO.O;交叉開關允許;配置PO.O推M出;禁止PCA中斷,PCA;將PWM的低8位送;將PWM的高8位送;設為告訴輸出工作方;允許PCA中斷;允許中斷;允許使用PCA;是模塊中斷,不是模塊中;讀P0.0當前狀時斷服務程序要花一定的時間(假設沒有的中斷),則PWM的最小值是7個PCA時鐘,最大值是65529個PCA時鐘,這樣最小占空比為0.01068%,最大占空比為99.9893%.如果取系統時鐘的12分頻作為PCA時鐘的話,PWM的最小值是3個PCAW1中,這樣最小占空比為0.0046%,耜占空比為PWM波的頻率等于PCA時鐘頻率的65536分頻。下面是利用高速輸出工作方式實現16位PWMX力能的初始化程序和中斷服務子程序。在這個程序中‘系統時鐘使用內部振蕩器16MHz;使用模塊0,其端口CEX0定向到P0.0;PCA時鐘使用系統時鐘4分頻;16位PWM值存放到20H、21H中,低8位在前,其數據格式與PCA時鐘相同m.三、相關程序初始化程序:用內部振蕩器16MHz斷服務子程序如下:BCCCF0,WXY1跳向處理程序斷,退出RETI四、結束語我們還可以用上面相同的方法來獲得n位PWM波,其中8

校园亚洲色无码