单片机原理及智能仪表技术第7章解释.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
7 定时器/计数器;MCS-51单片机有2个16位的可编程的定时/计数器:定时器0(T0)和定时器1(T1)。它们都有定时或事件计数的功能,可用于定时控制、延时、波特率发生、对外部事件计数和检测等场合。 定时器/计数器的本质是加法计数器,计满溢出。 定时工作模式时,对片内振荡器输出信号的12分频脉冲计数,即每个机器周期数值加1,直至计满溢出。 计数工作模式时,通过引脚T0(P3.4)和T1(P3.5)对外部脉冲信号计数,信号下降沿时,数值加1。 定时器/计数器在计数时,不占用CPU,只有在溢出并触发中断时,才会占用CPU。;T0由2个特殊功能寄存器TH0和TL0构成,T1则由TH1和TL1构成,它们均为8位寄存器,用于存放定时或计数的初始值。 定时器内部还有一个8位的方式寄存器TMOD和一个8位的控制寄存器TCON,用于选择定时器的模式、启动方式、工作方式及运行控制等。 作计数器时,通过引脚T0(P3.4)和T1(P3.5)对外部脉冲信号计数,当输入脉冲信号从1到0的负跳变时,计数器就自动加1。计数的最高频率一般为振荡频率的1/24。;定时器/计数器的工作原理;定时器/计数器对输入信号的要求 外部计数脉冲的最高频率为系统振荡器频率的 1/24,例如选用12MHz频率的晶体,则可输入500KHz的外部脉冲。 输入信号的高、低电平至少要保持一个机器周期。 ;1.计数寄存器TH和TL 功能:设置计数初值 加法计数器,计满溢出,触发中断 计数初值的计算方法 ;2、TMOD定时器方式设置寄存器(89H):;2、TMOD定时器方式设置寄存器(89H):;3)门控方式选择位GATE : =0,非门控方式(内部启动): TRx=1,启动定时器工作; TRx=0,停止定时器工作。 =1,门控方式(外部启动): TRx=1且引脚INTx=1才启动。;定时器控制寄存器除了锁存定时器0、1,外部中断0、1的中断标志外,同时具有定时器运行/停止控制功能。;1)启动控制位TR0、TR1: =0,停止定时器工作; =1,启动定时器工作。 例:启动T0: SETB TR0; 4、定时器的结构及工作原理;7.3 定时器工作方式;16位定时/计数器。 THx8位和TLx8位组成16位加1计数器。;3、方式2(M1M0=10):;4、方式3(M1M0=11):;一、初始化的步骤 1.TMOD编程,确定工作模式(定时/计数)、工作方式(0/1/2/3)和启动方式(内部启动/外部启动); 2.TH、TL编程,装载计数初值; 3.IE编程,开放定时器中断; 4.TCON编程,启动控制(启动/停止)。;MOV TMOD,#方式字 ;选择方式 MOV THx,#XH ;装入Tx时间常数 MOV TLx,#XL SETB EA ;开Tx中断 SETB ETx SETB TRx ;启动Tx定时器 需考虑:1. 按实际需要选择定时/计数功能; 2. 按时间或计数长度选择工作方式; 3. 计算时间常数:;; (2)计数器初值的计算 把计数器计满为零所需要的计数值设定为C,计数初值设定为TC,由此可得到公式:TC=M-C。 式中,M为计数器模值,该值和计数器工作方式有关。在方式0时M为213;在方式1时M为216;在方式2和方式3时M为28。;三、MCS-51定时器的应用:;【例1】由P1.0输出方波信号,周期为2ms,设fosc=12MHz。;(2)中断方式:;【例2】已知晶振12MHZ,参阅下图,要求利用定时器T0使图中发光二极管D进行秒闪烁。 ;① 计算定时初值 T0初值 =216-50000?s/1?s =65536–50000=15536=3CB0H TH0=3CH;TL0=B0H。;③ 编制程序如下: ORG 0000H ;复位地址 LJMP MAIN ;转主程序 ORG 000BH ;T0中断入口地址 LJMP IT00 ;转T0中断服务程序 ORG 0100H ;主程序首地址 MAIN:MOV TMOD,#01H ;置T0定时器方式1 MOV TH0,#3CH ;置T0初值50mS MOV TL0,#0B0H MOV IE,;T0开中 MOV R7,#0AH ;置50mS计数器初值 SETB TR0 ;T0运行 SJMP $

文档评论(0)

舞林宝贝 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档