定时器/计数器是一种计数装置,若对内部时钟脉冲计数,可视为定时器;若对外部时钟脉冲计数,可视为计数器。
定时器/计数器的应用可以采用中断的方式当定时或计数达到时产生中断,另外也可以采用询问的方式,不断询问计数状态,以控制程序流程。
8051计数寄存器是THx和TLx两个8位的寄存器,x=1或x=0。
8051的定时器/计数器
8051单片机有2个16位定时器/计数器:定时器0(Timer0)和定时器1(Timer1)简称T0和T1,8052在包含了T0、T1还有一个Timer 2(T2)。这三个定时器/计数器都可作为内部定时器或外部计数器。
若是作为内部定时器时,是计数内部的脉冲。以12MHz的计数时钟脉冲系统为例,将12MHz/12送入定时器,此时定时器所计数的脉冲周期为1us。若采用16位的定时模式,则最多可计数65536个脉冲(即2^16),约0.0655s。
若作为外部计数器时,则是计数由T0或T1引脚送入的脉冲。同样的,若采用16位的定时模式,最多可计数65536(即2^16)个计数量。
定时器/计数器模式寄存器TMOD
定时器/计数器模式寄存器TMOD主要设定定时器/计数器的工作模式、计数信号来源及启动方式等。
TMOD模式寄存器的低四位T0(0-3)配置定时器/计数器0(Timer0)的工作模式,高四位T1(4-7)配置定时器/计数器1(Timer1)的工作模式,这两部分的结构类似,只是控制的对象不同。
我们以高四位为例来了解TMOD模式寄存器的使用,即使用T 1,(T0一样的用法)