您的位置 首页 硬件

mini2440定时器学习笔记

S3C2440有5个16位定时器,定时器0、1、2和3有PWM功能(因此这4个定时器也被称为PWM定时器),都有一个输出引脚,定时器4是一个内部定时器,无

S3C2440有5个16位定时器,定时器0、1、2和3有PWM功用(因而这4个定时器也被称为PWM定时器),都有一个输出引脚,定时器4是一个内部定时器,无外部输出引脚。
定时器的时钟源是PCLK,然后通过内部的两级分频器分频得到定时器作业所需求的频率。其间,定时器0、1共用一个8位的榜首级预分频器prescaler 0,定时器2、3、4共用另一个8位的榜首级预分频器prescaler 1;每个定时器都有一个与之对应的第二级分频器clock divider如下图所示

尽管定时器较多,但作业原理都是相同的,只需求了解一个定时器的作业原理即可。关于某一个定时器,其内部结构原理图如图二所示。缓存寄存器TCMPBn和TCNTBn用于缓存定时器n的比较值和初始值;TCON用于操控定时器的敞开与封闭;通过读取寄存器TCNTOn得到定时器当时计数值。

定时器作业原理概述:
①首要,将定时器的比较值和初始值装入寄存器TCMPBn和TCMPBn中
②然后,设置定时器操控寄存器TCON,发动定时器。此刻,TCMPBn和TCNTBn中的值会加载到寄存器TCMPn和TCNTn中。
③此刻,定时器会减1计数,即TCNTn进行减1计数,当TCMPn=TCNTn时,TOUTn引脚输出相反。

定时器初始化
① 定时器时钟频率(比方定时器时钟频率为50,则1秒钟计数寄存器减去50;为100,则1秒钟计数寄存器减去100);
② 设置定时器计数值(比方计数初值为100,而定时器时钟频率为50,则两秒后会发生中止,比方引脚输出相反电平);
③ 设置中止处理函数



①时钟频率初始化:定时器的时钟频率=PCLK/(prescaler+1)/(divider value)
其间: prescaler value=0~255 (它的值由TCFG0寄存器设置,如下图)
divider value=2,4,8,16 (它的值由TCFG1寄存器设置,如下图)

TCFG0 描绘 初始值
保存 [31:24] 0x00
Dead zone length [23:16] 此8位决议死区长度。死区长度的单位时刻等于定时器0的单位时刻

0x00
Prescaler 1 [15:8] 此8位决议定时器2,3,4的预标定器值 0x00
Prescaler 0 [7:0] 此8位决议定时器0,1的预标定器值 0x00





②计数值初始化:这两个寄存器寄存的是设定的计数比较值,直接对其赋值即可.下面以定时器0为例:

TCMPB0 描绘 初始值
Timer 0 computer buffer register [15:0] Set compare buffer value for Timer0 0x00000000


TCNTB0 描绘 初始值
Timer 0 count buffer register [15:0] Set count buffer value for Timer 0 0x00000000


③设置中止处理函数,自己编写。

例1:结合上面解说可知,定时器0的输入时钟是通过PCLK分频的得到的,下图展现了其发生进程。

————————————-分割线—————————————————

剖析:在上题中呈现了TCFG1和TCFG0两个定时器装备寄存器,其间TCFG0装备寄存器操控榜首级分频器prescaler的分频系数,TCFG1装备寄存器操控多路挑选开关,挑选第二级分频器divider的分频系数。详细如下图所示:


—————————————–分割线—————————————————


—————————————–分割线————————————————–
例2:PCLK为50MHz,请设置恰当的分频系数,使定时器0的输入时钟为62.5kHz。
答:已知PCLK为50MHz,则50MHz/62.5kHz=800,即需求对PCLK进行800分频。所以,使榜首级分频器的分频系数为100,第2级的分频系数为8即可满足要求。最终,只需求将分频系数写入定时器操控寄存器中相应的位即可,代码如下:
1 rTCFG0&=~(0xFF);将TCFG0的低8位清零
2 rTCFG0|=99;由于分频系数=prescaler+1,即prescaler+1=100,所以,prescaler value=99
3 rTCFG1&=~(0xF);将TCFG1的低4位清零

4 rTCFG1|=0x02;将TCFG1的低4位赋值为0x02,即挑选8分频输出

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qianrushi/yingjian/262969.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部