Re: AD產生不同頻率輸出問題
|
||||
---|---|---|---|---|
初級會員
|
承上述,頻率還是可變動,但DUTYCYCLE並不是50%,而是DUTY OFF被固定了,請教是何處設定錯誤?
發表於: 2004/10/22 14:00
|
|||
|
Re: AD產生不同頻率輸出問題
|
||||
---|---|---|---|---|
初級會員
|
AD/2動作數值有誤問題已解,是未初始cf造成
現有一事不明,頻率換算問題. 今若我調至 1200/min 及 6000/min ,使用4MHZ OSC,以上列程式而言, 則示波器顯示的頻率應各為多少?
發表於: 2004/10/22 11:59
|
|||
|
Re: AD產生不同頻率輸出問題
|
||||
---|---|---|---|---|
高級會員
|
如果你用書上的方法 , 那就不用TIMER1了 , PWM模組是硬體控制的 , 你需要做的是修改PR2和CCPR1L的值 ,
PR2 - 控制PWM的週期 CCPR1L - 控制PWM的DUTY , 所以你可以將AD值丟到PR2 , AD/2丟到CCPR1L , 就會得到50%的DUTY的可變頻率了 , 不過就如RYANG版主大大所說 , 更新PR2的TIMING很重要 , 不然很容易你的波形會怪怪的
發表於: 2004/10/22 10:07
|
|||
|
Re: AD產生不同頻率輸出問題
|
||||
---|---|---|---|---|
初級會員
|
參考書上一段PWM範例程式如下:
banksel PR2 MOVLW .127 ; 設定PR2=128us 週期之PWM波形 MOVWF PR2 BANKSEL CCPR1L MOVLW .40 ; 達成DUTYCYCLE=40us MOVWF CCPR1L BANKSEL TRISC BCF TRISC,2 ; ... 原本我曾嘗試將AD輸出的值放入 CCPR1L 如下: MOVLW AD_TEMP ; MOVWF CCPR1L ; 而後發現調整AD只能變動DUTYCYCLE; 1.所以現在我應將AD輸出的值放入PR2? 2.那我要如何放入 PWM Period/2 的值在CCPR1L? 3.另我原想規劃TIMER1中斷(1ms),如依提供方法去做.現在還需要用到? 謝謝賜教!
發表於: 2004/10/21 14:00
|
|||
|
Re: AD產生不同頻率輸出問題
|
||||
---|---|---|---|---|
版主
|
可以用A/D當頻率的調整輸入,另使用一組PWM的輸出的可扁頻率的輸出。
1. 先規劃 PWM 輸出頻率(Period),為使輸出為50%的方波所以duty=Period / 2 2. 將A/D 轉換後的值當作Period,其除二的結果送入Duty。這樣就可以產生頻率的變化了 3. 當然你也要考慮AD的最小值,及更新PWM的時間。
發表於: 2004/10/21 9:36
|
|||
|
AD產生不同頻率輸出問題
|
||||
---|---|---|---|---|
初級會員
|
使用PIC16C73,不知該如何將AD輸出的值,設計搭配計時器TIMER1 ,產生不同頻率輸出?我的AD範圍由500~6000, 欲設計DUTYCYCLE=50% ,可隨AD值變化產生不同頻率 ,
發表於: 2004/10/21 0:43
|
|||
|