微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > LPC 学习笔记之定时器

LPC 学习笔记之定时器

时间:11-11 来源:互联网 点击:
LPC定时器与时间相关的寄存器有PC,PR,TC,MR。

PC--------预分频计数寄存器
PR--------预分频寄存器
TC--------定时计数寄存器
MR--------匹配寄存器
TCR-------定时器/计数器控制寄存器

if(PR == PC)
{
PC = 0;
TC += 1;
}
if{TC == MR}
{
根据MCR的设置进行相应的动作:
1,定时器产生中断
2,TC = 0即TC清零
3,停止定时器TC,PC停止,TCR[0] = 0;即停止定时器/计数器。
}

LPC中的定时器只能向上计数,即从0开始计数。
PC每个PCLK 周期加1 。当其值到达预分频寄存器中保存的值时,定时器计数器 TC加1 ,预分频计数器在下个PCLK 周期复位。例如,当PR=0 时,定时器计数器每个 PCLK 周期加1 ,当 PR=1 时定时器计数器每 2 个PCLK 周期加1 ,以此类推。

根据文档描述“当PR=0 时,定时器计数器每个 PCLK 周期加1”这说明对PCLK进行了分频,这就说明了PR为什么叫做预分频寄存器的原因了。但是如果定时器的PCLK是24MHz的,按理说PR=0时,应是12MHZ,但是从示波器上来看好像不是不知为什么?但是对于毫秒的定时,按照文档说明的推理和现实示波器的测了是准确无误的。

定时时间 = PCLK / (2PR); 为什么乘2呢?是因为分频的原因,不要忘记当PR=0时也是有分频作用的哦!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top