Re: pic16f1507-Timer1設定問題

作者 Ryang 於 2018年05月07日 11:35:53
我看不太懂你的程式架構,感覺很亂有直接使用暫存器的設定且沒有說明,這必須對照 Data Sheet 一個一個暫存器來看。

T1CON=0b00000100;

TMR1IF=0; //?埃TMR1い耞篨??
//TMR1H =(65536-40000)/256; //?﹚10msい耞???
//TMR1L =(65536-40000)%256;


以 16MHz 執行,Timer1 的 Clock Source 選用 Fosc/4, Prescable 為 1:1,所以計數周期為 0.25uS (Fcy = 4MHz).
(65536-40000) x 0.25uS = 6.384mS 中斷一次。所以請確認一下你的中斷時間設定。


中斷裡:
if (TMR1cnt>=100) //100*10ms=1s
{
RC6=1;
TMR1cnt = 0;
sec++;
if(sec>=1) //1秒(1秒1次))
{
RC7=1;
sec=0;
}
}


sec++ 後,一定滿足 (sec>=1) 的條件,看不懂你的寫法? 試著將 RC6=1 改成 RC6 = !RC6 做轉態測試看看。

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