其中0、1、2、3有PWM功能,都有一个输出引脚,可以通过定时器来控制引脚周期性的高、低电平变化;
S3C2410共有5个定时器
其中0、1、2、3有PWM功能,都有一个输出引脚,可以通过定时器来控制引脚周期性的高、低电平变化;
定时器没有输出引脚;
一、定时器的时钟源
定时部件的时钟源为PCLK,首先通过两个8位预分频器降低频率;
定时器0、1共用第一个预分频器;
定时器2、3、4共用第二个预分频器;
预分频器的输出将进入第二级分频器,输出5种频率的时钟:2分频、4分频、8分频、16分频、外部时钟TCLOK0/TCLK1;
每个定时器的工作时钟都可以在这5种频率中选择;
二、定时器的工作原理
1、设定TCMPBn、TCNTBn两个寄存器,它们表示定时器n的比较值,初始计数值;
2、启动定时器n,通过设置TCON,TCMPBn、TCNTBn的值被装入TCMPn、TCNTn中,
在定时器n的工作频率下,TCNTn开始减1计数,其值可以通过TCNTOn寄存器读取;
3、当TCNTn的值等于TCMPn的值时,定时器n的输出管脚TOUTn反转;
TCNTn继续减1计数;
4、当TCNTn的值到达0时,其输出管脚TOUTn再次反转,并触发定时器n的中断(如果中断使能);
5、如果在TCON寄存器中将定时器n设为“自动加载”,则TCMPB0和TCNTB0寄存器的值被自动装入TCMP0和TCNT0中,开始下一个计数流程。
定时器n的输出管脚TOUTn初始状态为高电平,当TCNTn的值等于TCMPn的值、TCNTn的值等于0时都会发生反转,
也可以通过TCON寄存器设置其初始电平,这样TOUTn的输出就完全反相了,
通过设置TCMPBn与TCNTBn的值可以设置管脚TOUT输出信号的占空比,这就是所谓的可调制脉冲(PWM),所以这些定时器又被称为PWM定时器。
三、寄存器使用方法
1、TCFG0
【7:0】、【15:8】分别用于控制预分频器0、1,经过预分频器出来的时钟频率为:PCLK/(perscaler value + 1);
2、TCFG1
设置第二级分频,
【3:0】设置定时器0
【7:4】设置定时器1
【11:8】设置定时器2
【15:12】设置定时器3
【19:16】设置定时器4
0b0000——1/2
0b0001——1/4
0b0010——1/8
0b0011——1/16
0b01xx——External TCLK0/TCLK1;
3、TCNTBn
4、TCMPBn
没有TCMPBn,定时器4没有输出引脚
5、TCNTOn
6、TCON
TCON有4个作用:
(1)第一次启动定时器时,将TCNTBn、TCMPBn的值装入TCNTn、TCMPn中;
(2)启动、停止定时器;
(3)设置自动重载;
(4)设置TOUTn是否反转;
【3:0】用于定时器0
【11:8】用于定时器1
【15:12】用于定时器2
【19:16】用于定时器3
【22:20】用于定时器4,没有输出引脚反转位
位0: 0——停止定时器, 1——开启定时器;
位1: 1——将TCNTBn、TCMPBn的值装入TCNTn、TCMPn中;
位2: 0——TOUTn不反转, 1——TOUTn反转;
位3: 0——不自动加载, 1——自动加载;
在第一次使用定时器时,需要设置“位1”,使TCNTBn/TCMPBn的值装入TCNTn、TCMPn中。