原创 单片机的定时/计数器

2012-2-1 11:37 1378 10 10 分类: MCU/ 嵌入式

上一篇,我们给大家讲述了单片机的一些简单入门知识,不知道对您是否有用呢,今天我将继续为大家献上单片机的定时/计数器知识,欢迎和我一起讨论学习,嘻嘻。

 

在测量控制系统中,常常要求有一些实时时钟,以实现定时控制,定时测量或延时动作,也往往要求有计数器能对外部事件计数,如测电机转速,频率,工作个数等.

实现定时/计数,有软件,数字电路和可编程定时/计数3种主要方式.

 

定时/计数器的结构和工作原理

51单片机的定时/计数器T1由寄存器TH1和TL1组成,定时/计数器T0由寄存器TH0和TL0组成.它们均是8位寄存器.它们用于存放定时或计数的初始值.

定时/计数器实质上是加1计数器,它可以工作与定时方式,也可以工作于计数方式.两种工作方式实际上都是对脉冲计数,只不过所计脉冲的来源不同.

1.jpg

定时方式:

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的工作方式.

2.jpg

定时/计数器控制寄存器TCON

TCON寄存器是一个多功能的寄存器.

3.jpg

TF1:T1溢出中断请求标志。

TR1:T1运行控制位

TF0:T0溢出中断请求标志

TR0:T0运行控制位

 

定时/计数器的工作方式

51单片机的定式/计数器有4种工作方式:

4.jpg

工作方式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,以便增加一个定式/计数器。

定时/计数器的计数初值的计算

5.jpg

 

更多信息请访问相关博文:http://bbs.ednchina.com/BLOG_ARTICLE_3001339.HTM

如果您有什么疑问请留言或者来信:wiznetbj@wiznettechnology.com ,希望本篇文章可以给您带来帮助,谢谢。 

文章评论0条评论)

登录后参与讨论
我要评论
0
10
关闭 站长推荐上一条 /2 下一条