《嵌入式系统概论-单片机基础》单片机之定时计数器1.ppt

《嵌入式系统概论-单片机基础》单片机之定时计数器1.ppt

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
教学目的:了解80C51系列单片机内部定时器/计数器的结构与工作原理;能够采用查询方式对定时器/计数器的4种工作模式编程、应用。 教学重点: 1. 定时/计数器的工作原理; 2. 定时器方式1、2的编程、应用。 教学难点: 1.工作方式寄存器和定时/计数器控制寄存器的设置 2.定时/计数器初值的设置 80C51定时器/计数器及其应用 在单片机应用和控制系统中,经常需要对某个控制对象定时进行控制。这种定时一般可采用两种方法。一是利用延时程序来实现,但这样会降低CPU的工作效率;另外一种方法就是通过一个可编程的实时时钟或可编程的时钟接口芯片来实现。这种方法可以使CPU与时钟并行工作,并且不会影响CPU的效率。除定时外,还有一些是对某种事件的计数结果来进行控制的,因此,单片机内部均设有可编程的定时器/计数器。 80C51单片机内有两个16位定时/计数器,即定时器T0和定时器T1,它们都具有定时和事件计数的功能,可用于定时控制延时,对外部事件计数和检测等场合。 80C51定时/计数器基本概念 80C51定时/计数器基本原理 80C51定时/计数器的结构 80C51定时/计数器的原理 80C51的16位定时/计数器实质上是一个加1计数器,其控制电路受软件控制、切换。通过软件可以设置为4种工作方式,每种方式都可以用作定时或者计数。不同的工作方式,计数器长度分别为:16位、13位和8位。 80C51定时/计数器的原理 当80C51的16位选择定时/计数器作为定时器工作时:计数器的加1信号由振荡器12分频信号产生。经过一个机器周期,计数器增1,直至计满溢出为止。对于标准频率12MHz的80C51,T=1μs。若需要改变定时时间,可改变定时器的初值或选择定时器的长度(8位、13位、16位)。 80C51定时/计数器的原理 当80C51的16位定时/计数器作为计数器工作方式时:通过引脚T0(P3.4)、T1(P3.5)对外部信号计数。外部脉冲的下降沿触发计数,计数器在每个机器周期的S5P2期间对引脚电平采样,如果一个机器周期采样值为1,下一个机器周期采样值为0,则计数器加1.检测一个由1至0的跳变需要两个机器周期。对于频率12MHz的80C51,T=2μs。计数器的最高计数频率为0.5MHz。 80C51定时/计数器的控制方法 80C51的定时/计数器是一个可编程部件,在定时/计数器工作之前,CPU须将一些命令(控制字)写入定时/计数器的特殊功能寄存器中。这个过程称作“定时/计数器的初始化”。在初始化过程中,须将工作方式控制字写入工作方式寄存器(TMOD),工作状态控制字写入控制寄存器(TCON),赋予定时/计数器初值。 控制与管理定时/计数器T0和T1工作的特殊功能寄存器有2个,工作方式寄存器TMOD(89H)和定时/计数器控制寄存器TCON(88H)。 工作方式寄存器TMOD(89H) 工作方式寄存器TMOD用于控制T0、T1的工作方式和4种工作模式。其中低4位用于控制T0,高4位用于控制T1。其格式如下: 工作方式寄存器TMOD(89H) 定时/计数控制寄存器TCON(88H) 定时/计数器的控制关系 定时/计数器的功能 定时/计数器的初始化与启动 定时/计数器初值的确定方法 定时/计数器初值的确定方法 定时/计数器初值的确定方法 定时/计数器初值的确定方法 定时器T0(T1)的工作方式(方式0方式1) 定时器T0(T1)的工作方式(方式2) 定时器T0的工作方式(方式3) 定时器T0应用举例(方式一) 定时器T0应用举例(方式一) 定时器T1应用举例(方式一) 定时器T1应用举例(方式一) 定时器 T0 应用举例(方式二计数) 用定时器T0方式二计数,每计满100次,将P1.0端取反。 外部计数信号由T0(P3.4)脚引入,每产生1次负跳变计数器加1,由程序查询TF0。方式二具有初值自动装入功能。 初值 X=28-100=156=9CH TH0=TL0=9CH,TMOD=06H 定时器T0(T1)应用举例(方式二) MOV TMOD ,#06H;设置为方式二计数 MOV TH0 ,#9CH ;赋初值 MOV TL0 ,#9CH SETB TR0 ;启动T0 DEL: JBC TF0,REP ;查询计数溢出 SJMP DEL REP: CPL P1.0 ;输出取反 SJMP DEL 简易方波发生器 END 由于不同的工作方式下,计数器的位数不同,因而最大计数值也不同,确定定时/计数器初值的具体方法如下: 现假设最大计数值为M,那么各方式下的M值如下: 方式0:M=213=8192 方式1:M=216=65536 方式2:M=28=256

文档评论(0)

junjun37473 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档