微软公司宣布不再支持你正在使用的 IE浏览器,这会严重影响浏览网页,请使用微软最新的Edge浏览器
厂商专区
产品/技术
应用分类

新人必看 单片机定时器工作模式简要介绍

2015-11-05 09:25 来源:电源网综合 编辑:柚子

相信使用过单片机定时器进行程序设置的工程师都知道,我们平时所使用的定时器都有4种工作模式。在模式0、1和2时,T0和T1的工作模式相同。在模式3时,两个定时器的工作模式不同。下面我们将会就单片机定时器的这几种工作模式,进行简要介绍和分析。

首先我们来看一下单片机定时器处于工作模式0状态下的工作情况。当定时器处于该模式下时,由TL0的低5位和TH0的全部8位共同构成一个13位的定时器。定时器启动后,定时或计数脉冲个数加到TL0上,从预先设置的初值开始累加,不断递增1。当TL0计满后,向TH0进位,直到13位寄存器计满溢出。溢出时,定时器硬件会自动地把13位的寄存器值清0,中断标记TF0置1。如果需要进一步定时,需要使用相关指令重置时间常数,并把定时器的中断标记TF0置0。工作模式0的结构如下图图1所示。

单片机定时器工作模式0结构
图1‍

接下来我们再来看一下定时器处于工作模式1时的工作情况。当单片机定时器处于该模式下运行工作时,其裕兴状态与模式0几乎完全相同,唯一的区别就是,模式1中的寄存器TH0和TL0共同构成的是一个16位定时器来参与操作,因此比模式0中的定时/计数范围更大。工作模式1的结构如下图图2所示:

单片机定时器工作模式1结构
图2‍

单片机定时器的第三种常见工作模式,就是工作模式2。通常在工作中,这种工作模式又称为自动再装入预置数模式。当定时器/计数器的寄存器TH0/TL0的值溢出时,定时器硬件设备会自动把寄存器TH0/TL0的值清0,以重新开始操作。但是有时候,我们的定时操作是需要多次重复定时的,如果溢出时不做任何处理,那么,在第二轮定时时就是从0开始定时了,而这并不是我们想要的。所以,要保证每次溢出之后,在重新开始定时的操作是我们想要的,那就要把预置数(时间常数)重新装入某个地方。而重新装入预置数的操作是硬件设备自动完成的,不需要人工干预所以,这种工作模式就叫自动再装入预置数方式。既然需要重新装入预置数,那么预置数就必须要存放在某个地方,才能保证重装操作成功。在工作模式2中,把自动重装入的预置数存放在定时器的寄存器的高8位中,也就是存放在TH0中,而只留下TL0参与定时/计数操作。显然,定时的方位小了很多。

在这里需要大家注意的一个问题是,这种工作模式2在实际应用中常常被用于波特率发生器,也就是串口通讯中,T1工作在串口模式2。用于这种方式时,定时器就是为了提供一个时间基准。计数溢出之后,不需要做太多的事情,只做一件事就可以,就是重新装入预置数,再开始重新计数,而且中间不需要任何延时。工作模式2的结构如下图图3所示:

单片机定时器工作模式2结构
图3‍

单片机定时器工作模式3结构
图4‍

最后我们来看一下单片机定时器的最后一种工作模式,也就是工作模式3。由于定时器T1没有工作模式3,如果把定时器T0设置为工作模式3,那么TL0和TH0将被分割成两个相互独立的8位定时器。工作模式3的具体结构如上图图4所示。

声明:本内容为作者独立观点,不代表电源网。本网站原创内容,如需转载,请注明出处;本网站转载的内容(文章、图片、视频)等资料版权归原作者所有。如我们采用了您不宜公开的文章或图片,未能及时和您确认,避免给双方造成不必要的经济损失,请电邮联系我们,以便迅速采取适当处理措施;欢迎投稿,邮箱∶editor@netbroad.com。

微信关注
技术专题 更多>>
研发工程师的工具箱
智慧生活 创新未来

头条推荐

电子行业原创技术内容推荐
客服热线
服务时间:周一至周五9:00-18:00
微信关注
获取一手干货分享
免费技术研讨会
editor@netbroad.com
400-003-2006