51单片机的简介——定时器、计数器

TMOD低四位为T0方式字段,高四位为T1方式字段。复位时TMOD的所有位置0。

定时器/计数器有四种工作方式,它们由M1、M0的取值决定,对应关系如下图:

C/T=0为定时器方式,以fosc(晶振频率)的12分频作为计数信号,即每个机器周期定时器加1。

C/T=1为计数器方式,以外部引脚(T0为P3.4,T1为P3.5)上输入的脉冲为输入信号,当外部信号发生负跳变时加1,外部事件计数的最高频率为fosc的1/24。

当GATE=1时,由外部中断引脚INT0、INT1和内部TR0、TR1位来启动定时器。当INT0为高电平且TR0置位时,启动定时器T0。定时器T1的启动同T0。

特殊功能寄存器TCON的高4位存放着定时器的运行控制和溢出标志,低4位存放外部中断的触发方式控制位和锁存外部中断请求源。TCON的格式如下:

TR0由软件置位或者清0。当门控位GATE=0时,TO计数器仅由TR0控制,TR0=1启动计数,TR0=0时停止。当门控位GATE=1时,T0计数器由INT0和TR0共同控制,当INT0=1且TR0=1时启动T0计数器。

当T0溢出时TF0=1,并向CPU申请中断,CPU响应中断后由硬件将TF0清0,也可以由软件查询方式将TF0清0。

IE1=1时外部中断源1正在向CPU请求中断,当CPU响应该中断时由硬件将IE1清0(下降沿触发方式)。

IT1=0时外部中断源1选择电平触发方式,当输入低电平时置位IE1;IT1=1时外部中断源1选择下降沿触发方式,当中断源由高电平变低电平时置位IE1,向CPU请求中断。

如上所述,定时器有4种工作方式,它们由TMOD寄存器中的M1、M0两位决定。注意:只有T0才有工作方式3。

当TMOD寄存器中的M1、M0为00时,定时器工作在方式0。下图以定时器T1来示例说明:

计数时,TL1的低5位溢出后向TH1进位,TH1溢出后将TF1置位,并向CPU发出中断请求。注意:在方式0时,TL1只用到了低5位,高3位内容不定不能使用,控制逻辑计数的允许/禁止并不改变计数值。

当TMOD寄存器中M1、M0的值为01时,定时器工作于方式1。工作方式1和工作方式0的唯一区别在于,工作方式1可以实现16位计数,其它都和工作方式0相同。如果以定时器T1为例来图示讲解,可如下:

当TMOD寄存器的M1、M0位值为10时,定时器工作于工作方式2。方式2为自动恢复初值的8位计数器,TL1作为8位计数寄存器,TH1作为8位计数常数寄存器,当TL1溢出时,一方面将TF1置位,并向CPU发出中断请求,另一方面将预设在TH1中的常数重新装入TL1,继续计数。重新装入不会影响TH1的内容。其结构简图如下:

a、写TMOD,设定工作方式、定时/计数方式、启动哪个定时器(开启相应的门控位GATE);

Be the first to reply

发表回复

您的电子邮箱地址不会被公开。