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

南京理工大学单片机应用技术课件第五章 定时与中断系统.ppt

南京理工大学单片机应用技术课件第五章 定时与中断系统.ppt

  1. 1、本文档共74页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
中断的基本概念 MCS-51的中断系统 中断的处理过程 外部中断源的扩展 中断的应用 一、定时器/计数器简介 1. 特点 两个可编程的定时器/计数器T1、T0。 2种工作模式: (1)计数器工作模式 (2)定时器工作模式 4种工作方式: (方式0-方式3)。 单片机复位时,两个寄存器的所有位都被清0。 3. 工作方式寄存器TMOD 8位分为两组,高4位控制T1,低4位控制T0。 (1)GATE——门控位 0:以TRX(X=0,1)来启动定时器/计数器运行。 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:计数器模式。 4. 控制寄存器TCON 低4位与外部中断有关,已介绍。高4位的功能如下: (1) TF1、TF0——计数溢出标志位 (2) TR1、TR0——计数运行控制位 1:启动定时器/计数器工作 0:停止定时器/计数器工作 5. 对输入信号的要求 外部计数脉冲的最高频率为系统振荡器频率的1/24,例如选用12MHz频率的晶体,则可输入500KHz的外部脉冲。 输入信号的高、低电平至少要保持一个机器周期。 如图所示,图中Tcy为机器周期。 二、4种工作方式 1. 方式0 M1、M0为00: 为13位的计数器 ,C/T* 位决定工作模式: 0:开关打在上面,为定时器工作模式; 1:开关打在下面,为计数器工作模式,计数脉冲为P3.4、P3.5引脚上的外部输入脉冲,当引脚上发生负跳变时,计数器加1。 GATE位:决定定时器/计数器的运行取决于TRx一个条件还是TRx和INTx*引脚两个条件。 (1)0:A点(见图6-2)是否计数,仅取决于TRx的状态。 (2)1:B点电位由INTX*的输入电平和TRX的状态这两个条件来确定。是否计数是由TRx和INTx*二个条件来控制的。 2. 方式1 M1、M0=01,16位的计数器。 3. 方式2 计数满后自动装入计数初值。 M1、M0=10 : TLX作为常数缓冲器,当TLX计数溢出时,在置“1”溢出标志TFX的同时,还自动的将THX中的初值送至TLX,使TLX从初值开始重新计数。定时器/计数器的方式2工作过程如图6-5(X=0,1)。 省去用户软件中重装初值的程序,精确的定时。 4. 方式3 增加一个附加的8位定时器/计数器,从而具有3个定时器/计数器。 只适用于定时器/计数器T0。T1不能工作在方式3, T1方式3时相当于TR1=0,停止计数(此时T1可用来作串行口波特率产生器)。 工作方式3下的T0 T0分为两个独立的8位计数器:TL0和TH0 。TL0使用T0的状态控制位C/T*、GATE、TR0、,而TH0被固定为一个8位定时器(不能作外部计数模式),并使用定时器T1的状态控制位TR1和TF1,同时占用定时器T1的中断请求源TF1。 T0工作在方式3下T1的各种工作方式 当T1用作串行口的波特率发生器时, T0才工作在方式3。 T0处于方式3时, T1可定为方式0、方式1和方式2,用来作为串行口的波特率发生器,或不需要中断的场合。 (1)T1工作在方式0 (2) T1工作在方式1 (3) T1工作在方式2 三、应用实例 4种工作方式中,方式0与方式1基本相同,由于方式0是为兼容MCS-48而设,初值计算复杂,在实际应用中,一般不用方式0,而采用方式1。 1. 方式1应用 例1 假设系统时钟频率采用6MHz,要在P1.0上输出一个周期为2ms的方波,如图所示。 方波的周期用T0来确定,让T0每隔1ms计数溢出1次(每1ms产生一次中断),CPU响应中断后,在中断服务程序中对P1.0取反。 (1)计算初值X 设初值为X,则有: (216-X)×2×10-6=1×10-3 216-X=500 X=65036 X化为16进制,即X=FE0CH=1111111000001100B。 所以,T0的初值为:

文档评论(0)

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

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

1亿VIP精品文档

相关文档