一、定时/计数器的结构原理
MCS-51单片机中有2个可编程的16位定时/计数器T0和T1,他们内部都是由“加1”计数寄存器、工作方式寄存器TMOD和控制寄存器TCON三个部分组成。
其中,
(1)“加1”计数器分为高8位和低8位;
(2)TMOD寄存器主要用于控制定时或者计数功能选择、工作方式设置以及启动方式的控制等;
(3)TCON寄存器主要用于控制T0或T1的启动/暂停、溢出标志的设置等。
定时/计数器工作时,每来一个脉冲(即过1个机器周期),“加1”计数寄存器会加1,当其为全1的时候,在输入一个脉冲,这时计数寄存器产生溢出。与此同时,计数寄存器值会被清零,同时TCON寄存器的溢出标志位被置为1,并向单片机CPU发出定时中断信号。
若此时工作在定时模式,则代表设定的时间到;若工作于计数模式,则表示计数值已满。
1.工作于定时模式
定时/计数器工作于定时模式时,“加1”计数寄存器是对单片机内部产生的机器周期进行计数,其频率为系统晶振频率的1/12,此时定时时间T = Tp * N(Tp是每个机器周期的时间,N为累计的机器周期脉冲个数)
2.工作于计数模式
定时/计数器工作于计数模式时,它用于对外部事件的计数,其值由单片机T0或T1引脚输入,脉冲的下降沿计数。输入值从一个高电平到低电平,至少需要2个机器周期,(1个机器周期 = 12晶振周期),因此计数频率最大为