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










