单片机讲稿chapter6-0-1.ppt

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

第 6 章 单片机的中断与定时系统 6.1 MCS-51 单片机的定时器 / 计数器 6.2 MCS-51 单片机的串行口 6.3 MCS-51 单片机的中断系统 6.4 中断系统和定时器的应用举例 1. 定时器控制寄存器(TCON) TF0/TF1:? 查询方式:禁止中断,软件清“0” 中断方式:硬件自动清“0“ 2. 工作方式寄存器(TMOD) 功能:确定定时器工作方式及功能选择。不能位寻址,TMOD各位的定义: ? ?? GATE:门控位?? =0:定时器/计数器仅受TR的控制 ?? =1:只有为高电平且TR=1时,定时器/计数器才工作 ????? :功能选择位 ??? =0: 定时功能 ??? =1: 计数功能 ????? M1 M0 :工作方式选择位方式0 =00 方式1 =01 方式2 =10 方式3 =11 3. 中断允许控制寄存器(IE) 1 6.1.2 工作方式 1.? 方式0(M1M0=00) 13位计数结构的工作方式。多路转换开关接通振荡脉冲的12分频输出,13位计数器以此作为计数脉冲,这时实现定时功能。当 时,多路转换开关接通计数引脚(T0),计数脉冲由外部引入,当计数脉冲发生负跳变时,计数器加1,这时实现计数功能。不管那种功能,当13位计数发生溢出时,硬件自动把13位清零,同时硬件置位溢出标志位TF0。当GATE=0时,或门输出的高电平与 无关,此时与门的输出只受运行控制位TR0控制。如果TR0=0,则与门输出为低电平,则模拟开关断开,定时器/计数器不工作。如果TR0=1,则与门输出为高电平,则模拟开关闭合,定时器/计数器工作。 当GATE=1时,只有TR0和 同时为高电平,定时器/计数器才工作,否则,定时器/计数器不工作。 应用: ? 计数范围:1~213 ? 计数计算公式:计数值=213-计数初值 ? 定时范围:1机器周期~213机器周期 ? 定时计算公式:定时时间=(213-定时初值)×机器周期 ? 如果晶振频率为6MHz ,则最大定时时间为:213×1/6MHz×12=214 us 2. 方式1(M1M0=01) 16位计数结构的工作方式,其计数器由TH0全部8位和TL0的全部8位构成。其逻辑电路和工作情况与方式0完全相同,所不同的只是计数器的位数。MCS-51单片机之所以设置几乎完全一样的方式0和方式1,是出于与MCS-48单片机兼容的要求。因为,MCS-48单片机的定时器/计数器是13位的计数结构。 (1)定时和计数的应用 ? 计数范围:1~216 ? 计数计算公式:计数值=216-计数初值 ? 定时范围:1机器周期~216机器周期 ? 定时计算公式:定时时间=(216-定时初值)×机器周期 ? 如果晶振频率为6MHz ,则最大定时时间为:216×1/6MHz×12=217 us 【例6-1】设单片机晶振频率为6MHZ,使用T1以工作方式1,产生周期为500 的等宽正方波,并由P1.0 输出,以中断方式编程。 分析:题目的要求可用右图来表示。 由上图可以看出只要使P1.0 的电位每隔250 ? ORG 0000H? ? SJMP MAIN? ? ORG 001BH ? ? AJMP INTT1 MAIN: MOV TMOD, #10H? ? MOV IE,#88H? ? MOV TH1, #0FFH? ? MOV TL1, #83H;初始化 LOOP: SETB TR1 ;启动 HERE: SJMP HERE;等待中断 ? AJMP LOOP? INTT1: MOV TH1, #0FFH;中断响应程序 ? MOV TL1, #83H? ? CPL P1.0? ? RETI? ;中断返回 3. 方式2(M1M0=10) 8位计数器:TL0作计数器,TH0作预置寄存器使用,计数溢出时,TH0中的计数初值自动装入TL0,即TL0是一个自动恢复初值的8位计数器。 在使用时,要把计数初值同时装入TL0和TH0中。 优点是提高定时精度,减少了程序的复杂程度。 计数范围:1~28 计数计算公式:计数值=28-计数初值 定时范围:1机器周期~28机器周期 定时计算公式:定时时间=(28-定时初值)×机器周期 【例6-2】 用定时器1以工作方式2实现计数,每计数100,累加器进行加1操作,以查询方式编写程序。 解:计算计数初值 TMOD=60H 使用查询方式关闭中断,即IE=00H ? MO

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档