用PIC12F1572的Timer 1 Toggle Mode 抓RPM會飄

作者 hjchen 於 2019年06月23日 11:23:52
Dear 先進,
後學擬設計1個能抓取風扇轉速RPM的裝置;參卓版主Ryang所說:用教育光碟W301教材中的Timer 1 Toggle Mode於PIC12F1572中的腳4(RA3)來設計。雖可中斷,但RPM會飄。
PIC採16MHz,Timer1的Clock為1MHz,外部RPM從RA3輸入,我採MCC來產生程式碼,怪的是:依PIC12F1572 PDF檔第101頁所示,若將T1GSEL=1 (RA3輸入),則無法中斷;但將T1GSEL=0 (表RA4輸入),則可中斷,但抓到的Timer 1 Clock數會飄。
附件中的Timer1_Gated_CKT1是電路方塊圖;
附件中的Timer 1 Toggle Mode是時序圖;
附件中的在Prog.zip檔是部分重要程式;
而完整程式是Frq.X.zip檔。
在Prog.zip檔是部分重要程式中,其中:
1.在main.c 中,打開中斷、TMR1清為0、並測是抓取其標G_Period;
2.若有抓到Toggle中斷,則在ISR程式中,將G_Period=0,並將Timer 1 Clock數目寫至Period。
3.Timer 1 Toggle Mode的其他設定在Prog.zip檔中。
4.因T1GGO是屬於Single Pulse Mode的抓Next Pulse; 不知Toggle Mode 是否有類似Bit或哪個Bit可做為抓Next Period的旗標呢?

敬請各先進們協助後進解決問題為何?
感恩您

附加檔案:



jpg  Timing.JPG (45.26 KB)
3325_5d0eeb4d2400c.jpg 527X387 px

jpg  Timer1_Gated_CKT.JPG (14.51 KB)
3325_5d0eeb5e3dbc4.jpg 253X117 px
zip Frq.X.zip 大小: 411.43 KB; 下載次數: 77
zip prog.zip 大小: 1.02 KB; 下載次數: 84

來自: http://www.microchip.com.tw/newbb/viewtopic.php?forum=1&topic_id=22683&post_id=79765