LPC 學(xué)習筆記之定時(shí)器
PC--------預分頻計數寄存器
PR--------預分頻寄存器
TC--------定時(shí)計數寄存器
MR--------匹配寄存器
TCR-------定時(shí)器/計數器控制寄存器
if(PR == PC)
{
PC = 0;
TC += 1;
}
if{TC == MR}
{
根據MCR的設置進(jìn)行相應的動(dòng)作:
1,定時(shí)器產(chǎn)生中斷
2,TC = 0即TC清零
3,停止定時(shí)器TC,PC停止,TCR[0] = 0;即停止定時(shí)器/計數器。
}
LPC中的定時(shí)器只能向上計數,即從0開(kāi)始計數。
PC每個(gè)PCLK 周期加1 。當其值到達預分頻寄存器中保存的值時(shí),定時(shí)器計數器 TC加1 ,預分頻計數器在下個(gè)PCLK 周期復位。例如,當PR=0 時(shí),定時(shí)器計數器每個(gè) PCLK 周期加1 ,當 PR=1 時(shí)定時(shí)器計數器每 2 個(gè)PCLK 周期加1 ,以此類(lèi)推。
根據文檔描述“當PR=0 時(shí),定時(shí)器計數器每個(gè) PCLK 周期加1”這說(shuō)明對PCLK進(jìn)行了分頻,這就說(shuō)明了PR為什么叫做預分頻寄存器的原因了。但是如果定時(shí)器的PCLK是24MHz的,按理說(shuō)PR=0時(shí),應是12MHZ,但是從示波器上來(lái)看好像不是不知為什么?但是對于毫秒的定時(shí),按照文檔說(shuō)明的推理和現實(shí)示波器的測了是準確無(wú)誤的。
定時(shí)時(shí)間 = PCLK / (2PR); 為什么乘2呢?是因為分頻的原因,不要忘記當PR=0時(shí)也是有分頻作用的哦!
評論