占空比來實現(xiàn)調(diào)速。因此,pwm波發(fā)生器在直流電機的控制中是不可缺少的。
c8051pca高速輸出工作方式一、pca捕捉/比較模塊的高速輸出工作方式原理c8051單片機有pwm功能,該功能包含在一稱為可編程計數(shù)器陣列pca當中。
可編程計數(shù)器陣列pca包含1個16位的定時器/計數(shù)器和5個捕捉/比較模塊,而每個捕捉/比較模塊都有16位的模塊寄存器(8位的pcaocphn和8位的pcaocpln),且每個捕捉/比較模塊都有4種工作方式。其中在高速輸出工作方,當pca計數(shù)器pca0l和pca0h的值與該模塊寄存器pcaocpln和pcaocphn中的常數(shù)值相等時,就使cexa弓卿上的邏輯電平發(fā)生一次變化(取反),同時觸發(fā)一次中斷,使該模塊的中斷標志位ccfn被置1;如果響應這個中斷,ccfr、須用軟件清0.利用高速輸出工作方式的這個特點,我f可以實現(xiàn)16位的pwm功能。pca高速輸出工作方式原理圖如所示⑴。
根據(jù)高速輸出工作方式的工作原理,我們可以知道,當條件匹iew,在cexn弓腳上會產(chǎn)生一次正跳變或一次負跳變,同時觸發(fā)一次中斷。如果在正跳變時,將pwm高電平計數(shù)值裝人16位的模塊寄存器pcaocpln中和pcaocphn中;而在負跳變時,將0000h裝入16位的模塊寄存器pcaocpln和pcaocphn中,在cexn引腳上我i、河以得到16位的pwm輸出。這一過程可由進一步說明1.由上圖可見,假如初始時cexn引腳輸出低電平,而且pca定時器初值為0000h;當匹b己條件滿足時,cexn引腳變?yōu)楦唠娖?,同時引發(fā)一次中斷。在中斷服務子程序中,將pwm常數(shù)值裝入模塊寄存器pcaocpn中。每一個pca時鐘,pca定時器加1,直到與模塊寄存器pcaocpn中的pwm等時滿足了匹配條件,謝使cexn引厲出變?yōu)榈碗娖剑瑫r又會引發(fā)一次中斷。在中斷服務子程序中,將0000h裝入模塊寄存器pcaocpn中,ttwpca定時器在每―個pca時鐘到來時繼續(xù)加1,直到加到ffffh時,再加1產(chǎn)生溢出,pca的值變?yōu)?000h,這樣又產(chǎn)生新的匹配條件,使cexn引腳變?yōu)楦唠娖?,同時引發(fā)一次中斷。這次在中斷服務子程序中,將pwm常數(shù)值裝人模塊寄存器pcaocpn中。這樣循環(huán)下去,就會在cexn弓丨腳上輸出16位的pwm pca的高速輸出工作方式原理圖這個16位的pwm波的占空比由下式?jīng)Q定:改變變量pwm的值就可以改變占空比。
如果取系統(tǒng)時鐘的4分頻作為pca時鐘的話,考慮到中研究方向:自動控制微機測控及電子技術(shù);cex0定向到po.o;交叉開關(guān)允許;配置po.o推m出;禁止pca中斷,pca;將pwm的低8位送;將pwm的高8位送;設(shè)為告訴輸出工作方;允許pca中斷;允許中斷;允許使用pca;是模塊中斷,不是模塊中;讀p0.0當前狀時斷服務程序要花一定的時間(假設(shè)沒有的中斷),則pwm的最小值是7個pca時鐘,最大值是65529個pca時鐘,這樣最小占空比為0.01068%,最大占空比為99.9893%.如果取系統(tǒng)時鐘的12分頻作為pca時鐘的話,pwm的最小值是3個pcaw1中,這樣最小占空比為0.0046%,耜占空比為pwm波的頻率等于pca時鐘頻率的65536分頻。下面是利用高速輸出工作方式實現(xiàn)16位pwmx力能的初始化程序和中斷服務子程序。在這個程序中‘系統(tǒng)時鐘使用內(nèi)部振蕩器16mhz;使用模塊0,其端口cex0定向到p0.0;pca時鐘使用系統(tǒng)時鐘4分頻;16位pwm值存放到20h、21h中,低8位在前,其數(shù)據(jù)格式與pca時鐘相同m.三、相關(guān)程序初始化程序:用內(nèi)部振蕩器16mhz斷服務子程序如下:bcccf0,wxy1跳向處理程序斷,退出reti四、結(jié)束語我們還可以用上面相同的方法來獲得n位pwm波,其中8<16.使用n位:pwm方式的好處是:在滿足應用要求的前提下,可以獲得比16位pwm方式更高的頻率;在可以在適當?shù)匦薷奈竚h和pwml值后,在占空比不變的情況tlffl意改變pwm的頻率。










