Re: PIC16F18855的CLC模組,沒有TMR2_Postscaled的輸入腳,可推蜂鳴器嗎?
|
||||
---|---|---|---|---|
高級會員
|
Bingo
謝謝版主的指導,這招厲害,長知識了 感恩您 末學 陳鴻進
發表於: 2020/12/20 7:41
|
|||
|
Re: PIC16F18855的CLC模組,沒有TMR2_Postscaled的輸入腳,可推蜂鳴器嗎?
|
||||
---|---|---|---|---|
高級會員
|
Dear 版主,
感謝您的回應。 1.我的問題在於,系統一直會有1個常態的30K~40KHz的外部中斷會進來,使得Buzzer因中斷而造成聲音變了調。因此,當CPU偵測到按鍵時,需由CPU發出1個Trigger Buzzer Delay,待Delay時間過後,自動關閉Buzzer;這就是,我要用軟體來觸發ZCD (用ZCD的POL旗標)後,啟動TMR2_HLT,產生1個Delay (Monostable ),令CLC1的AND-OR 模式(即,由NCO產生4KHz,與TMR2做AND Gate),令Buzzer 的4KHz輸出。 2.若採PWM方式:當蜂鳴器響完聲響時,CPU要知道該聲響已完畢,再將該 I/O 腳設成輸入腳,以便關閉蜂鳴器。問題是,當蜂鳴器響完聲響時,CPU是無法知道該聲響已完畢。 感恩您 末學 陳鴻進
發表於: 2020/12/18 15:33
|
|||
|
Re: PIC16F18855的CLC模組,沒有TMR2_Postscaled的輸入腳,可推蜂鳴器嗎?
|
||||
---|---|---|---|---|
版主
|
TMR2_Postscaled 的輸出是可將 Timer2 的 Match 中斷輸出再延長但無法將輸出串接到 CLC。如果可以的話可以延長 TMR2 的 Pre-Scale 及拉長 TMR2 的比較器數值到 3.8KHz。TMR2 的 PR2 match 是可以用在 CLC 的輸入端的。
如果 timer2 的時間仍不夠長,那考慮使用 Timer 1,3,5 的 overflow 的輸出給 CLC。 蜂鳴器有兩種: 一種是給電就會叫的。第二種是給 3.8KHz 的電壓才會叫的。 先確定一下你的蜂鳴器是哪一種? 之前我控制蜂鳴器是讓使用 Timer1 的 PWM Mode 直接輸出 50% 3.8KHz 的。要關閉蜂鳴器也只需將該 I/O 腳設成輸入腳後即可關閉蜂鳴器,切成輸出模式蜂鳴器就會響了。
發表於: 2020/12/16 14:32
|
|||
|
PIC16F18855的CLC模組,沒有TMR2_Postscaled的輸入腳,可推蜂鳴器嗎?
|
||||
---|---|---|---|---|
高級會員
|
Dear 各位先進,
因專案需簡單控制,當有按鍵時須響1聲或連續3聲;發聲元件是採4KHz的蜂鳴器,而4KHz已由PIC16F18855的NCO產生。現設計將NCO的4KHz與TMR2_Postscaled的輸出腳,透過CLC1來做AND後,由CLC1_OUT腳來推動蜂鳴器,如附件的上圖。此構想係參卓『 CIP/MCC 實作指導手冊』 LAB6第51頁的設計,如附件的下圖;但PIC16F18855的CLC模組,卻沒有TMR2_Postscaled的輸入腳。 故,請各位先進幫忙,協助後學解決此一問題。 感恩您 末學 陳鴻進
發表於: 2020/12/16 0:47
|
|||
|