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

LPC2103学习之定时器0和定时器1

时间:11-21 来源:互联网 点击:
这两天学习LPC2103的定时器。开始看前面的寄存器介绍看的有点头晕,一会儿就搞混了。不过当我看到后面用图片描述定时器相关寄存器操作时,一下就明了了。知道应用再看原理后比较明了。

为什么把这两个定时器放到一起,因为它们都是32位的定时器,它们除了外设基地址不同外,其他都相同。

说说这两个定时器的特性

1.两个32位定时器定时器/计数器各含有一个可编程的32位预分频器

2.计数器或定时器操作;

3.定时器0有3路、定时器1有4路捕获通道。当输入信号跳变时可取得定时器的瞬时值,也可选择使捕获事件产生中断;

4.每个定时器共有4个32位匹配寄存器,匹配时的动作有下面三种:

匹配时定时器继续工作,可选择产生中断。

匹配时定时器停止工作,可选择产生中断。

匹配时复位定时器,可选择产生中断。

5.定时器0有3个、定时器1有4个对应于匹配寄存器的外部输出,匹配时的输出有如下4种:

匹配时设置为低电平

匹配时设置为高电平

匹配时翻转

匹配时无动作

6.对于每个定时器,多达4个匹配寄存器可配置为PWM,允许使用多达3个匹配输出作为单边沿控制的PWM输出。

如果接下来就是说一大推寄存器的话,肯定犯困。我开始就是从头开始看那么多寄存器看的犯晕。但是换个方式,从定时器应用出发,再来细看定时器寄存器,一下子会豁然开朗不少。

就定时器的应用来说,一共有3个。一是单纯的作为定时器,二是作为比较匹配。三就是定时器用作捕获功能。

先看看定时器用作定时功能时寄存器的模块图

1.32位定时器TC的计数频率由Fpclk经过预分频计数器得到

2.定时器的启动/停止、计数复位由TCR控制

3.需要注意的是,定时器溢出不会产生中断,定时器的中断是由捕获事件或匹配事件引发的,所以上图最后那根线是虚线。

再看定时器用作比较匹配时的寄存器框图

1.定时器的比较匹配功能由寄存器MCR进行控制

2.MR0~3存放的是四路比较匹配通道的比较值

3.当发生匹配时,按照MCR设置的方法产生中断或复位TC等

4发生匹配时,EMR控制匹配引脚输出——高电平、低电平、引脚电平翻转等。

最后是定时器用作捕获功能时寄存器的框图

1.定时器的捕获功能由寄存器CCR进行控制

2.通过CCR寄存器,捕获事件可以设定为上升沿触发,下降沿触发、双边沿触发

3.通过CCR寄存器,可以设定当捕获事件发生时,是否产生中断

4.CR0~3为4路捕获寄存器,保存对应的捕获值

看见以上的定时器的三个功能,操作方法自然也大概明了了:

1.计算定时器的时钟频率,设置PR寄存器进行分频工作

2.若使用匹配功能,则需配置匹配通道的初值及其工作模式;若使用捕获功能时,需设置捕获功能相关的寄存器。

3.如果要使用到定时器中断,则需设置VIC,使能中断。、

4.最后设置TCR,启动定时器。

定时器计数时钟频率如下:

计数时钟频率 = Fpclk / (N+1)

N为PR的值

知道一个大概,然后再看具体的寄存器,我是觉得这样比较好些。

先是寄存器汇总,看看关于定时器0与定时器1总共有多少个寄存器:

下面分类介绍寄存器。先说基本的寄存器:

1.中断标志寄存器(T0IR、T1IR)

包含4个用于匹配中断的标志位,4个用于捕获中断的标志位。具体描述如下图,如果有中断产生,则相应寄存器位置1,否则为0.向相应标志位写1会清除该中断标志位,写0无效。

2.定时器控制寄存器(T0CR、T1CR)

该寄存器用于控制定时器计数器的操作。

3.定时器计数器(T0TC、T1TC)

当预分频的计数器到达计数的上限时,32位定时器计数器TC加1。如下图所示,如果TC到达计数上限之前没有被复位,它会一直计数到0XFFFFFFFF然后翻转到0X00000000,该事件不会产生中断。如果需要,可以用匹配寄存器检测溢出。

4.预分频寄存器(T0PR、T1PR)

32位预分频寄存器指定了预分频计数器的最大值

5.预分频计数器寄存器(T0PC、T1PC)

预分频计数器使用某个常量来控制Pclk的分频,可实现控制定时器分辨率和定时器溢出之间的关系。预分频计数器每个Pclk周期加1,当达到预分频寄存器中保存的值时,定时器计数器加1,预分频计数器在下个Pclk周期复位。当PR=0时,

定时器计数器每个Pclk加1,;当PR=1时,定时器计数器每2个Pclk周期加1,如下图所示。

下面介绍第二部分寄存器,匹配功能寄存器组。

匹配功能寄存器组包括匹配寄存器、匹配控制寄存器和外部匹配寄存器。其中,匹配寄存器用来存放定时器的匹配值,发生匹配事件时,匹配控制寄存器用来设置定时器的工作。而外部匹配寄存器则用来设置匹配输出引脚的动作。

1.匹配寄存器(MR0~MR3)

匹配寄存器连续与定时器计数值(TC)相比较,当两个值相等时,则自动触发产生中断,复位定时器计数

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

网站地图

Top