PIC單片機學習 TMR2
8位寬度的TMR2定時器有一個前置預分頻器和后置預分頻器,同時還有一個周期控制寄存器與它配合一起實現針對單片機指令周期的計數。
TMR2只能作為定時器使用,無法對外部輸入的脈沖作計數。
TMR2定時器與TMR0相比,最大的區別是TMR2有一個周期的控制寄存器PR2。PR2寄存器可以設定定時器的上限值。只要當TMR2的計數值和PR2的設定值相等時就會自動歸0,同時產生一個中斷。
當TMR2的計數值與PR2寄存器中所設定的數值相一致后,一睛個計數脈沖,的到來應會讓TMR2溢出歸0,注意:一個計數溢出歸0后,并不一定產即產生TMR2IF中斷標志,何時產生中斷標志將取決于后分頻器的分頻比。如果選擇的后分頻比為1:8,則TMR2計數溢出8次后才產生1次中斷。
//前分頻器
//T2CKPS1 T2CKPS0
// 0 0 1 分頻 TMR1時鐘為晶振時鐘/(4*1)
// 0 1 4 分頻 TMR1時鐘為晶振時鐘/(4*4)
// 1 x 16 分頻 TMR1時鐘為晶振時鐘/(4*16)
//后分頻器
//TOUTPS3 TOUTPS2 TOUTPS1 TOUTPS0
// 0 0 0 0 1 分頻
// 0 0 0 1 2 分頻
// 0 0 1 0 3 分頻
// 0 0 1 1 4 分頻
// 0 1 0 0 5 分頻
// 0 1 0 1 6 分頻
// 0 1 1 0 7 分頻
// 0 1 1 1 8 分頻
// 1 0 0 0 9 分頻
// 1 0 0 1 10分頻
// 1 0 1 0 11分頻
// 1 0 1 1 12分頻
// 1 1 0 0 13分頻
// 1 1 0 1 14分頻
// 1 1 1 0 15分頻
// 1 1 1 1 16分頻
評論