上一篇,我们给大家讲述了单片机的一些简单入门知识,不知道对您是否有用呢,今天我将继续为大家献上单片机的定时/计数器知识,欢迎和我一起讨论学习,嘻嘻。
在测量控制系统中,常常要求有一些实时时钟,以实现定时控制,定时测量或延时动作,也往往要求有计数器能对外部事件计数,如测电机转速,频率,工作个数等.
实现定时/计数,有软件,数字电路和可编程定时/计数3种主要方式.
定时/计数器的结构和工作原理
51单片机的定时/计数器T1由寄存器TH1和TL1组成,定时/计数器T0由寄存器TH0和TL0组成.它们均是8位寄存器.它们用于存放定时或计数的初始值.
定时/计数器实质上是加1计数器,它可以工作与定时方式,也可以工作于计数方式.两种工作方式实际上都是对脉冲计数,只不过所计脉冲的来源不同.
定时方式:
TMOD.2=0,开关打向上,计数器TH0,TL0的计数脉冲来自振荡器的12分频后的脉冲,即对系统的机器周期计数.每过一个机器周期,寄存器TH,TL自动加1,当计满了预设的个数,TH,TL回零.产生溢出中断.
计数方式:
TMOD.2=1,开关打向下,计数器的计数脉冲分别来自于引脚T0和T1上的外部脉冲.当计满预制数后回零,并产生中断.
计数器的最高频率不得超过振荡器的24分频.
定时/计数器的寄存器
51单片机的定时/计数器为可编程定时/计数器.在定时/计数器工作之前,必须将控制命令写入定时/计数器的控制寄存器,即进行初始化.
定时/计数器方式寄存器TMOD
TMOD寄存器为8位,高4位用于选择T1的工作方式,低4位用于选择T0的工作方式.
定时/计数器控制寄存器TCON
TCON寄存器是一个多功能的寄存器.
TF1:T1溢出中断请求标志。
TR1:T1运行控制位
TF0:T0溢出中断请求标志
TR0:T0运行控制位
定时/计数器的工作方式
51单片机的定式/计数器有4种工作方式:
工作方式0
方式0为13位定时计数方式,由TH提供高8位,TL提供低5位的计数初值,最大计数值为 (8192个脉冲)。
工作方式1
方式1与方式0基本相同。唯一的区别在于计数寄存其的位数是16位,由TH提供高8位,TL提供低8位的计数初值,最大计数值为 (65536个脉冲)。
工作方式2
方式2是8位的可自动装入的定时计数方式。最大计数数值为 (256个脉冲)。
工作方式3
方式3只是用于定时/计数器0。只有将T1用做串行口的波特率发生器时,T0才工作在方式3,以便增加一个定式/计数器。
定时/计数器的计数初值的计算