寄存器TMOD是单片机的一个特殊功能寄存器,其功能是控制定时器/计数器T0、T1的工作方式。它的字节地址为89H,不可以对它进行位操作。
只能进行字节操作,即给寄存器整体赋值的方法设置初始值,如TMOD=0x01。在上电和复位时,寄存器TMOD的初始值为00H。
TCON是一个特殊功能寄存器,其主要功能是接收各种中断源送来的请求信号,同时也对定时器/计数器进行启动和停止控制。其字节地址是88H,它有8位,每位均可进行位寻址。TCON的高4位用于控制定时器/计数器的启动和中断申请,低4位与外部中断有关。
1、工作方式0
当M1M0=00时,定时器/计数器T1选定为工作方式0。 在这种工作方式下T1为13位计数器,这时定时器/计数器的等效电路如下图所示,它由TL1的低5位和TH1的8位构成。当TL1低5位和TH1组成的13位计数器计数溢出时,则置位TCON中的溢出标志位TF1,表示有中断请求。
2、工作方式1
当M1M0=01时,定时器/计数器选定为工作方式1。在这种工作方式下为16位计数器。定时器/计数器T1在工作方式1的等效电路如下图所示,它由TL1的8位和TH1的8位构成。当TL1和TH1组成的16位计数器计数溢出时,则置位TCON中的溢出标志位TF1,表示有中断请求,同时16位计数器复位为0。
n为由工作方式决定的计数器位数。
例如,当T0工作于方式0时,n=16,最大计数值为 65536,若要计数10 000次,需将初值设置为:65536-10000=55536。如果单片机采用的晶振为11.0592MHz,则计数1次需要的时间(12分频后的1个脉冲周期)
所以计数10 000次实际上就相当于计时1.085×10 000=10850μs。