第6章__AT89C51的定时器计数器.ppt

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

1 第6章 AT89C51的定时器计数器 ? * 单片机原理及 接口技术 授课教师:林 君 授课对象:07级计算机 第6章 AT89C51的定时器/计数器 6.1 定时器/计数器的结构 两个可编程的定时器/计数器T1、T0,有2种工作模式: (1)计数器工作模式 (2)定时器工作模式 4种工作方式(方式0-方式3)。 TMOD:选择定时器/计数器T0、T1的工作模式和工作方式。 TCON:控制T0、T1的启动和停止计数,同时包含了T0、T1的状态。 单片机复位时,两个寄存器都清0。 6.1.1 工作方式控制寄存器TMOD 8位分为两组,高4位控制T1,低4位控制T0。 (1)GATE——门控位 0:仅以TRX(X=0,1)来启动定时器/计数器运行。 1:用引脚INT0 (或INT1)上的高电平和TRX(X=0,1)两个条件来控制定时器/计数器的运行。 (2)M1、M0——工作方式选择位 表6-1 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 字节地址为88H,可位寻址,位地址为88H~8FH。 低4位与外部中断有关,已介绍。高4位的功能如下: (1) TF1、TF0——计数溢出标志位 (2) TR1、TR0——计数运行控制位 1:启动定时器/计数器工作的必要条件。 0:停止定时器/计数器工作 6.2 定时器/计数器的4种工作方式 6.2.1 方式0 (M1、M0为00) 为13位的计数器 ,C/T 位决定工作模式: 0:开关打在上面,为定时器工作模式; 1:开关打在下面,为计数器工作模式,计数脉冲为P3.4、P3.5引脚上的外部输入脉冲,当引脚上发生负跳变时,计数器加1。 GATE位:决定定时器/计数器的运行取决于TRx一个条件还是TRx和INTx引脚两个条件。 (1)0:T0或T1是否计数,仅取决于TRx的状态。 (2)1:T0或T1是否计数由INTX*的输入电平和TRX的状态这两个条件来确定,即是否计数是由TRx和INTx*二个条件来控制的。 6.2.2 方式1 M1、M0=01,16位的计数器。 6.2.3 方式2 M1、M0=10 8位的计数器,计数满值溢出时,自动加载计数初值。 TLX作为常数缓冲器,当TLX计数溢出时,在置“1”溢出标志TFX的同时,还自动的将THX中的初值送至TLX,使TLX从初值开始重新计数。省去用户软件中重装初值的程序,来精确定时。 6.3 计数器模式对输入信号的要求 外部计数脉冲的最高频率为系统振荡器频率的1/24,例如选用12MHz频率的晶体,则可输入500KHz的外部脉冲。 输入信号的高、低电平至少要保持一个机器周期。 6.4 定时器/计数器的编程和应用 4种工作方式中,方式0与方式1基本相同,由于方式0是为兼容MCS-48而设,初值计算复杂,在实际应用中,一般不用方式0,而采用方式1。 6.4.1 方式1应用 例6-1 假设系统时钟频率采用6MHz,要在P1.0上输出一个周期为2ms的方波。 方波的周期用T0来确定,让T0每隔1ms计数溢出1次(每1ms产生一次中断),CPU响应中断后,在中断服务程序中对P1.0取反。 (1)计算初值X 设初值为X,则有: (216-X)×2=1000 216-X=500 X=65036 X化为16进制,即X=FE0CH=1111111000001100B。 所以,T0的初值为: TH0=0FEH TL0=0CH (2)初始化程序设计 对寄存器IP、IE、TCON、TMOD的相应位进行正确设置,将计数初值送入定时器中。 (3)程序设计 中断服务程序除产生方波外,还要注意将计数初值重新装入定时器中,为下一次中断作准备。 参考程序: ORG 0000H AJMP MAIN ;转主程序 ORG 000BH ;T0的中断入口 AJMP TIME0 ;转T0中断处理程序IT0P ORG 0100H MAI

文档评论(0)

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

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

1亿VIP精品文档

相关文档