版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 一</b></p><p><b> 08</b></p><p><b> 2月</b></p><p><b> 2010</b></p><p> STC單片機PWM的實現(xiàn)</p><p>
2、; PWM波是數(shù)字向模擬轉(zhuǎn)換的一種重要方法,通常使用單片機的定時器做頻率發(fā)生器,含有數(shù)字比較器,當(dāng)設(shè)定值與定時器的值相等,引腳的電平發(fā)生翻轉(zhuǎn)??刂圃O(shè)定值,就控制了PWM波占空比,通過濾波,輸出直流模擬量。 </p><p> #include<reg52.h> </p><p> sfr CCON =0xD8; </p><p> sfr CMO
3、D =0xD9; </p><p> sfr CCAPM0 =0xDA; </p><p> sfr CCAPM1 =0xDB; </p><p> sfr CCAPM2 =0xDc; </p><p> sfr CCAPM3 =0xDd; </p><p> sfr CL =0xE9; </p>
4、<p> sfr CH =0xF9; </p><p> sfr CCAP0L =0xEA; </p><p> sfr CCAP0H =0xFA; </p><p> sfr CCAP1L =0xEb; </p><p> sfr CCAP1H =0xFb; </p><p> sfr CC
5、AP2L =0xEc; </p><p> sfr CCAP2H =0xFc; </p><p> sfr CCAP3L =0xEd; </p><p> sfr CCAP3H =0xFd; </p><p> sbit CR =0xDE; </p><p> void init_pwm() </p&g
6、t;<p><b> { </b></p><p> //定時器的來源CPS1,CPS0 </p><p> CMOD=0x02;//Setup PCA timer </p><p><b> CL=0x00; </b></p><p><b> CH=0x0
7、0; </b></p><p><b> } </b></p><p><b> //控制占空比 </b></p><p> void pulse_0(unsigned char p_on) </p><p><b> { </b></p>&
8、lt;p> CCAP0L=p_on;//Set the initial value same as CCAP0H </p><p> CCAP0H=p_on;// </p><p> //CCAPMn.1使能脈寬調(diào)制模式,EC0M必須=1 </p><p> CCAPM0=0x42;//0100,0010 Setup PCA module 0 in P
9、WM mode </p><p><b> } </b></p><p> void pulse_1(unsigned char p_on) </p><p><b> { </b></p><p> CCAP1L=p_on;//Set the initial value same as C
10、CAP0H </p><p> CCAP1H=p_on;//25% Duty Cycle </p><p> //CCAPMn.1使能脈寬調(diào)制模式,EC0M必須=1 </p><p> CCAPM1=0x42;//0100,0010 Setup PCA module 0 in PWM mode </p><p><b> }
11、 </b></p><p> void pulse_2(unsigned char p_on) </p><p><b> { </b></p><p> CCAP2L=p_on;//Set the initial value same as CCAP0H </p><p> CCAP2H=p_on;
12、//25% Duty Cycle </p><p> //CCAPMn.1使能脈寬調(diào)制模式,EC0M必須=1 </p><p> CCAPM2=0x42;//0100,0010 Setup PCA module 0 in PWM mode </p><p><b> } </b></p><p> void pu
13、lse_3(unsigned char p_on) </p><p><b> { </b></p><p> CCAP3L=p_on;//Set the initial value same as CCAP0H </p><p> CCAP3H=p_on;//25% Duty Cycle </p><p> /
14、/CCAPMn.1使能脈寬調(diào)制模式,EC0M必須=1 </p><p> CCAPM3=0x42;//0100,0010 Setup PCA module 0 in PWM mode </p><p><b> } </b></p><p> void delay(int a) </p><p><b>
15、 { </b></p><p><b> int i; </b></p><p> for(i=0;i<a;i++); </p><p><b> } </b></p><p> void main(void) </p><p><b>
16、 { </b></p><p> unsigned char i=0; </p><p> init_pwm(); </p><p> CR=1; //Start PCA Timer </p><p><b> while(1) </b></p><p><
17、b> { </b></p><p> while(++i) </p><p><b> { </b></p><p> pulse_0(i+50); </p><p> pulse_1(i+100); </p><p> pulse_2(i+150); </p&
18、gt;<p> pulse_3(i+200); </p><p> delay(1000); </p><p><b> } </b></p><p> while(--i) </p><p><b> { </b></p><p> pulse_0
19、(i+50); </p><p> pulse_1(i+100); </p><p> pulse_2(i+150); </p><p> pulse_3(i+200); </p><p> delay(1000); </p><p><b> } </b></p><
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機控制pwm
- 單片機輸出pwm波
- 單片機課程設(shè)計--基于stc單片機的實驗板開發(fā)與設(shè)計
- STC89C52單片機.doc
- STC89C52單片機.doc
- STC89C52單片機.doc
- stc89c52單片機.pdf
- STC單片機并口和SPI程序.rar
- stc新型單片機的isp程序設(shè)計
- STC單片機并口和SPI程序.rar
- STC單片機并口和SPI程序.rar
- stc89c52單片機.pdf
- STC89C52單片機.doc
- stc89c52單片機.pdf
- STC89C52單片機.doc
- 基于stc單片機的人體感應(yīng)臺燈
- STC89C52單片機.doc
- STC89C52單片機.doc
- STC89C52單片機.doc
- STC89C52單片機.doc
評論
0/150
提交評論