网站大量收购独家精品文档,联系QQ:2885784924

第06章单片机.ppt

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章 8051单片机的定时器/计数器 主讲 朱兆优 本章学习要点: (1) 定时器/计数器内部结构、工作原理; (2) 定时器/计数器的控制寄存器设置和工作方式选择; (3) 定时器/计数器初值计算、初始化和中断的应用。 单片机有2个可编程的定时器/计数器T1、T0 2种工作模式: (1)计数器工作模式 (2)定时器工作模式 4种工作方式 (方式0-方式3) 6.1 定时器/计数器的结构 TMOD:选择定时器/计数器T0、T1的工作模式和工作方式。 TCON:控制T0、T1的启动和停止计数,同时包含了T0、T1的状态。 单片机复位时,两个寄存器的所有位都被清0。 6.1.1 工作方式控制寄存器TMOD 8位分为两组,高4位控制T1,低4位控制T0。 (1)GATE——门控位 0:以TR0/TR1来启动定时器/计数器运行。 1:用外中断引脚(INT0*或INT1*)上的高电平和TRX来启动定时器/计数器运行。 (2)M1、M0——工作方式选择位 M1 M0 工 作 方 式 0 0 方式0,13位定时器/计数器。 0 1 方式1,16位定时器/计数器。 1 0 方式2,8位常数自动重新装载 1 1 方式3,仅适用于T0,T0分成两个8 位计数器,T1停止计数。 (3) C/T*——计数器模式和定时器模式选择位 0:定时器模式。 1:计数器模式。 6.1.2 定时器/计数器控制寄存器TCON 低4位与外部中断有关,已介绍。高4位的功能如下: (1) TF1、TF0——计数溢出标志位 (2) TR1、TR0——计数运行控制位 1:启动定时器/计数器工作 0:停止定时器/计数器工作 6.2 定时器/计数器的4种工作方式 6.2.1 方式0 (M1-M0为00)定时器/计数器的框图: 方式0为13位的计数器 ,C/T* 位决定工作模式: 0:开关打在上面,为定时器工作模式; 1:开关打在下面,为计数器工作模式,计数脉冲为P3.4、P3.5引脚上的外部输入脉冲,当引脚上发生负跳变时,计数器加1。 6.2.2 方式1 M1-M0=01,16位的计数器。 6.2.3 方式2 计数满后自动装入计数初值。 M1、M0=10 ,等效框图如下: TL1作为计数器,TH1作常数备份。当TL1计数溢出时,自动将TH1中的值送至TLX,使TLX从初值开始重新计数。 6.2.4 方式3 增加一个附加的8位定时器/计数器,从而具有3个定时器/计数器。 只适用于定时器/计数器T0。T1不能工作在方式3, T1方式3时相当于TR1=0,停止计数(此时T1可用来作串行口波特率产生器)。 1.工作方式3下的T0 T0分为2个独立的8位计数器:TL0和TH0 。TL0使用T0的状态控制位C/T*、GATE、TR0,TH0被固定为一个8位定时器(不能作外部计数模式),并使用T1的控制位TR1和TF1,同时占用T1的中断请求源TF1。 各引脚与T0的逻辑关系如图所示: 2.T0工作在方式3下T1的各种工作方式 当T1用作串行口的波特率发生器时, T0才工作在方式3。 T0处于方式3时, T1可定为方式0、方式1和方式2,用来作为串行口的波特率发生器,或不需要中断的场合。 6.3 定时器/计数编程 6.3.1 定时器/计数器的初始化 1.初始化的步骤 (1) 确定工作方式(即对TMOD赋值) (2) 预置定时器/计数器的初值, (3) 定时器/计数器的中断 设置 (4) 启动定时器/计数器。 2.定时器/计数器初值的计算 计数器模式下:初值=最大计数值-计数值 定时器模式下:初值=最大计数值-定时时间/Tcy 方式0:最大计数值= 213 = 8192,最长定时8192Tcy。 方式1:最大计数值= 216 = 65536,最长定时 65536Tcy 方式2:最大计数值256,最长定时 256Tcy 方式3:定时器0分成两个8位计数器,其最大计数值均为256,最长定时时间均为256×Tcy。 6.3.2 定时器/计数器的编程示例 例6-1 假设系统晶振频率fosc=6 MHz,使用定时器/计数器1作定时,在P1.1上输出周期为1 ms方波。 采用工作方式0 计算初值: 机器周期Tcy = 12/fosc = 12

文档评论(0)

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

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

1亿VIP精品文档

相关文档