Re: 16F946 PWM問題
|
||||
---|---|---|---|---|
資深會員
|
pwm1_off(){
CCP1CON=0; CCPR1L=0; tmr2on=0; } 就這樣 如果pwm1_off 之後,rc5還是不受控制,就要檢查是否設成 seg10 或 t1cki 或 input
發表於: 2010/2/24 13:30
|
|||
|
Re: 16F946 PWM問題
|
||||
---|---|---|---|---|
版主
|
設定上有些要修改,第一要先確定PR2 的週期為 4KHz 。
再來將 CCPR1L = PR2 /2 這樣就可以得到 50% 的 duty Cycle 了。CCPR1L=0 Duty Cycle 設成 0 ,這合理嗎? CCP Module 隋時可以關閉恢復成一般的 I/O 腳功能,請檢查一下是否有將 RC5/T1CKI/CCP1/SEG10 這隻腳 Tris 程輸出腳功能。
發表於: 2010/2/23 16:29
|
|||
|
16F946 PWM問題
|
||||
---|---|---|---|---|
新會員
|
各位好~~
我想利用PWM來控制喇叭 4KHZ 我試了結果要關閉PWM只能設CCPR1L=0, 若設CCP1CON=0則CCP1輸出為HI,再設定RC5=0 輸出也不會變LOW 請問是不是CCP1設定成PWM就不能恢復一般輸出嗎? 記得我玩16F873可以PWM模式關閉,要用再打開 我主要想一開始就設定好PWM,喇叭 ON就打開PWM模式 喇叭OFF就關閉PWM模式... 因我第一次玩C,請各位幫忙,謝謝~~ if(BZ_TIME ==0) { CCPR1L=0; CCP1CON=0X0F; //CCP1CON=0;<--設0也會HI T2CON=0X01;<---這個要設,不然也會輸出HI //RC5=0;<--若輸出變HI,這行不能變LOW... } else { BZ_TIME--; PR2=127; CCPR1L=0B01000000; CCP1CON=0X0F; T2CON=0X01; TMR2=0; TMR2ON=1; }
發表於: 2010/2/23 15:35
Edited by b740112 on 2010年02月23日 15:57:33
Edited by b740112 on 2010年02月23日 15:59:38 |
|||
|