单片机课件2.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机课件2

5.2 定时/计数器 51机内置了二个16位的定时/计数器,分别称为T0、T1(T2只在52机以上才有)。 5.2.2 定时/计数功能概述 其中,T2只有52以上机才有。每个定时/计数器均由两个独立的8位寄存器构成,分为高8位(H)和低8位(L)。他们可以通过CPU对工作方式寄存器TMOD设置为16位寄存器使用,最大计数值为FFFFH;也可独立作为8位寄存器使用,最大计数值为FFH。 工作方式寄存器TMOD(89H,不可位寻址) TMOD上、下半字节对称,分别对应T0、T1的工作状态。以T0为例,各位的意义如下: :此位为0,为定时模式,此位为1,为计数模式。 M1、M0:工作方式选择。该2位可组成00、01、10、11四种数字组合,对应为工作方式0、1、2、3。注意:T1没有工作方式3。 GATE——定时/计数器启动方式控制位。 控制字寄存器TCON (88H,可位寻址) TF1:定时器1的溢出标志; TF0:定时器0的溢出标志。CPU响应定时/计数器中断,标志自动清零;若CPU不响应此中断,则此标志需用软件清除。 TR0:定时器0运行控制位,靠软件置位或清除。置位时,定时/计数器0接通工作,TR0=0,定时器0停止工作。 TR1:是关于定时器1的,含义与TR0类似。 TCON的低四位与外部中断相关,待讨论。 4.定时/计数器T0、T1工作方式及内部结构 (1)工作方式0(13位定时/计数器,M1M0=00H)(少用) 当 =0时,计数脉冲来自CPU内部分频器,为定时,标准51计数脉冲频率是时钟信号的12分频(而STC系列有“6时钟/机器周期”和“12时钟/机器周期”两种模式,计数脉冲是系统时钟信号的6或12分频),当 =1时,计数脉冲来自T0或T1引脚,即处于计数方式。 工作方式1(16位定时/计数器,M1M0=01H) (常用) 方式2 (M1M0=10) (常用)此方式下,TLx作为可自动重装8位计数器,TLx的溢出不仅置位TFx,而且将THx的内容装入TLx。因此,THx的内容决定了定时/计数器的初值,称为重装常数。 方式3 (M1M0=11) (少用) 【例5-3】应用定时器T0产生1ms的定时,并使P1.0输出周期为2ms,占空比为1:1的方波。设晶振频率为6MHz,定时器/计数器工作于方式0。 解:通过P1.0输出周期为2ms、占空比为1:1的方波,可用定时器定时1ms,每次定时到,对P1.0的状态取反,但不要忘记装入时间常数。如此反复,即可达到目的。 第一步:定时器工作于方式0定时模式。本题与T1无关,所以TMOD的控制字定义为; 第二步:装入T0的常数。计数器每机器周期计数值加1,机器周期为: 或 设所需初值为x,则 解得:x = 7692 = 1E0CH = 1 1110 0000 1100B 根据13位定时器的特性,TH0放x的高8位,TL0放低5位,我们将x值重排如下:x = 1111 0000 0 1100,即得本任务的时间常数为:TH0 = F0H,TL0 = 0CH。 第三步:编写程序,参考程序清单如下: ORG 0000H AJMP MAIN ORG 0050H MAIN: MOV SP,#60H ACALL PTM TESTTF0: JNB TF0,TESTTF0 CLR TF0 ;软件清除T0溢出标志 CPL P1.0 ;P1.0求反,以输出方波 MOV TL0,#0CH;用指令重装时间常数 MOV TH0,#0F0H SJMP TESTTF0 ;输出方波循环,将子程序隔开 PTM: MOV TMOD,#00H MOV TL0,#0CH MOV TH0,#0F0H SETB TR0 RET END 请注意CLR TF0这条指令的意义。 中断就是CPU在当前执行(主)程序中,插入一段特殊程序的运行过程。 中断源发出中断请求的外设或引起中断的内部原因称为中断源。标准51中断源有5个,按其优先级依次为外部中断0、定时器0、外部中断1、定时器1 溢出及串行口发送/接收中断。其中外部中断0、1为外部中断,其他三种为内部中断。外部中断是由单片机外部事件引发的中断;内部中断是由单片机芯片内部事件引发的中断。 中断向量是中断服务程序的入口地址。 5.3.2 中断控制1.中断允许与禁止 CPU响应中断的前提条件是要开放中断。51没有专用的开中断和关中断指令。中断开放或关闭是通过SFR的中断允许寄存器IE的各位来控制的。

文档评论(0)

wuyuetian + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档