7-定时器指导书.pdf

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

NBCPIC-V2.0—定时器部分

北方蓝芯科技开发有限公司

NBCPIC-V2.0使用手册

目录

定时器/计数器原理3

EX7.1定时器中断控制LED闪烁8

2北方蓝芯科技开发有限公司

NBCPIC-V2.0使用手册

定时器/计数器原理

1、什么是定时器/计数器

“定时器”是单片机系统中最基本、最常用的功能之一。什么是定时器呢?举一个简单的例子:

假如我们下午4点要参加一个重要的会议,那么为了准时到场,我们要每过一段时间看看表,确

定是不是该出发了。实际上还有更好的解决办法,就是设定一个闹钟,到时候提醒我们去开会,这

样我们就可以专心做别的事情,省去了不断看表的麻烦。在单片机中,“定时器”就是充当了这个

闹钟的角色。

下面我们简单了解一下定时器的工作原理。定时器中包含一个计数部件,CPU每隔一定时间自

动向这个计数部件发出一个信号,使它的数值加1(也有一些定时器的计数值是每次减1的)。计

8

数部件可以记录的最大数值是有限的,例如一个“8位”的定时器,其最大计数值是(2-1),即

255;如果计数达到了最大值,当CPU再次发出计数信号时,计数值将会发生“溢出”,从最大值

变回0(也可以通过设置使其溢出后变成一个非0的数,下面的段落会对此做出说明)。由于“计

数”的过程是CPU自动控制的,无需程序干预,因此只需设定一个计数频率(也就是设置CPU每

隔多长时间发出一个计数信号),就可以根据计数值来判断和控制某段过程的执行时间了。

一个8位定时器的工作原理示意图

实际上,上面所说的定时器仅仅是实现了“手表”的功能,而与我们需要的能够到时提醒的“闹

钟”还有一点点差距。怎样把定时器改造成“闹钟”呢?我们可以给定时器的计数部件设置一个初

始计数值,然后等待计数发生“溢出”就可以了。“计数初始值”是可以根据定时时间计算出来的。

还没弄明白?那么看看下面这幅图吧。

通过设定计数初值实现定时

计数溢出后,计数部件将还原回我们设定的初始值,开始下一轮计数(称为“自动重载”,也

3北方蓝芯科技开发有限公司

NBCPIC-V2.0使用手册

有一些定时器不具备自动重载功能,在溢出后计数值会变成0,需要靠程序重新设定初始值)。那

么我们的程序怎样才能知道是否发生了计数溢出呢?这要涉及到“中断”的概念了。简单地说,每

发生一次溢出,可以通过设置使CPU中止执行目前的程序(即“中断”),转而执行事先设计好的

“处理计数溢出”的一段程序(即“中断服务程序”);当中断服务程序执行结束后,CPU会返回

当初中断的位置,继续执行原来的程序。也就是说,当我们进入中断服务程序时,就意味着“闹

钟”响了。对于“中断”的相关知识,已经超出了这本入门书的涉及范围,当我们对单片机进行

更深入的学习时,将体会到“中断”带给我们的巨大的便利。

定时器溢出中断示意图

这一章的标题是“定时器/计数器”,而前面一直在讲“定时器”,并不是存心冷落“计数器”。

“计数器”的工作原理和定时器类似,只不过它的“计数信号”不是从CPU获取,而是从外部获

取,所以计数信号到来的时间间隔也不一定是相等的。在功能上,计数器和定时器只有这

您可能关注的文档

文档评论(0)

A女汉子~小郭 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档