51单片机的简介——定时器、计数器_伏虎_新浪博客
    8051有两个16位的定时器/计数器T0、T1,8052还有第三个定时器/计数器T2,通过内部编程都可以设定为内部定时器和外部计数器。
    1、方式寄存器TMOD
    特殊功能寄存器TMOD是TO、T1的工作方式寄存器,其格式如下:
    TMOD低四位为T0方式字段,高四位为T1方式字段。复位时TMOD的所有位置0。
    (1)工作方式选择位M1、M0
    定时器/计数器有四种工作方式,它们由M1、M0的取值决定,对应关系如下图:
     (2) 方式选择位C/T
      C/T=0为定时器方式,以fosc(晶振频率)的12分频作为计数信号,即每个机器周期定时器加1。
      C/T=1为计数器方式,以外部引脚(T0为P3.4,T1为P3.5)上输入的脉冲为输入信号,当外部信号发生负跳变时加1,外部事件计数的{zg}频率为fosc的1/24。
     (3) 门控位GATE
      当GATE=1时,由外部中断引脚INT0、INT1和内部TR0、TR1位来启动定时器。当INT0为高电平且TR0置位时,启动定时器T0。定时器T1的启动同T0。
      当GATE=0时,仅由TR0和TR1置位来启动定时器T0和T1。
      2、控制寄存器TCON
      特殊功能寄存器TCON的高4位存放着定时器的运行控制和溢出标志,低4位存放外部中断的触发方式控制位和锁存外部中断请求源。TCON的格式如下:
      (1)定时器T0的运行控制位TR0
       TR0由软件置位或者清0。当门控位GATE=0时,TO计数器仅由TR0控制,TR0=1启动计数,TR0=0时停止。当门控位GATE=1时,T0计数器由INT0和TR0共同控制,当INT0=1且TR0=1时启动T0计数器。
       (2)定时器T0溢出标志位TF0
       当T0溢出时TF0=1,并向CPU申请中断,CPU响应中断后由硬件将TF0清0,也可以由软件查询方式将TF0清0。
       (3)定时器T1的运行控制位TR1
       功能同TR0。
       (4)定时器T1溢出标志为TF1
       功能同TF1。
       (5)外部中断源1(INT1、P3.3)中断请求标志IE1
       IE1=1时外部中断源1正在向CPU请求中断,当CPU响应该中断时由硬件将IE1清0(下降沿触发方式)。
       (6)外部中断源1触发方式选择位IT1
       IT1=0时外部中断源1选择电平触发方式,当输入低电平时置位IE1;IT1=1时外部中断源1选择下降沿触发方式,当中断源由高电平变低电平时置位IE1,向CPU请求中断。
       (7)外部中断源0(INT0、P3.2)中断请求标志IE0
       功能类同IE1。
       (8)外部中断源0触发方式选择位IT0
       功能类同IT1。
       3、定时器工作方式
       如上所述,定时器有4种工作方式,它们由TMOD寄存器中的M1、M0两位决定。注意:只有T0才有工作方式3。
      (1)工作方式0
      当TMOD寄存器中的M1、M0为00时,定时器工作在方式0。下图以定时器T1来示例说明:
      计数时,TL1的低5位溢出后向TH1进位,TH1溢出后将TF1置位,并向CPU发出中断请求。注意:在方式0时,TL1只用到了低5位,高3位内容不定不能使用,控制逻辑计数的允许/禁止并不改变计数值。
      (2)工作方式1
      当TMOD寄存器中M1、M0的值为01时,定时器工作于方式1。工作方式1和工作方式0的{wy}区别在于,工作方式1可以实现16位计数,其它都和工作方式0相同。如果以定时器T1为例来图示讲解,可如下:
        (3)工作方式2
       当TMOD寄存器的M1、M0位值为10时,定时器工作于工作方式2。方式2为自动恢复初值的8位计数器,TL1作为8位计数寄存器,TH1作为8位计数常数寄存器,当TL1溢出时,一方面将TF1置位,并向CPU发出中断请求,另一方面将预设在TH1中的常数重新装入TL1,继续计数。重新装入不会影响TH1的内容。其结构简图如下:
    在方式2中通过改变TH1的值可以改变计数次数。
    (4)工作方式3
    方式3只适用于T0,此时T1停止计数。
     4、定时器/计数器溢出率的计算
     定时器/计数器在工作之前必须先设定计数初始值Ta。初值计数公式如下:
    在给定时间t后,求初值的公式如下:
    5、总结
    对定时器/计数器编程的步骤如下:
    a、写TMOD,设定工作方式、定时/计数方式、启动哪个定时器(开启相应的门控位GATE);
    b、将初值写入对于寄存器;
    c、定时器中断开或关;
    d、启动定时器,即向TCON写入数据。


  




已投稿到:
郑重声明:资讯 【51单片机的简介——定时器、计数器_伏虎_新浪博客】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——