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

单片机第6章_中断系统分解.ppt

  1. 1、本文档共57页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * * * * SJMP $:等待溢出中断 T0溢出中断,转入中断服务程序org 000Bh LJMP DVTO 转 DVTO:…… RETI后,又返回SJMP $(等待溢出中断) * * 计数器全1时,再输入1个脉冲就回零,并发生溢出(TCON中TF0或TF1置1), 发中断请求。 * * * * * * * * * * * * * * * * * 每个中断源均可软件编程为高优先级或低优先级中断,允许或禁止向CPU请求中断。 * * * * * * * * * * * 中断请求:当外部中断请求信号为高电平时,CP为低电平,触发器脉冲信号无效。当请求信号为低电平时,CP高电平有效,Q(INT0)输出低电平。 当撤销CP信号, Q(INT0)低电平保持不变。硬件不能自动清零,只有通过软件清除中断请求信号。 SD:异步置位断,P1.0为低电平时,Q输出高电平,撤销外部中断请求信号。 * * * * * * * * * * * * * (2)用字节操作指令来编写: MOV IE,#8AH 或者用: MOV 0A8H,#8AH ;A8H为IE寄存器字节地址 1 0 1 0 1 0 两个中断优先级,可实现两级中断嵌套。如图: (3)中断优先权 基本规则: (1)低优先级可被高优先级中断,反之则不能。 (2)同级中断不会被它的同级中断源所中断。 (3)在同时收到几个同一优先级的中断请求时,优先响应哪一个中断,取决于内部的查询顺序。 中断源 中断级别 外部中断0 最高 T0溢出中断 外部中断1 T1溢出中断 串行口中断 最低 同一优先级中,优先查询顺序如下: 中断优先级寄存器IP(Interrupt Priority),其字节地址为B8H。 PS ——串行口中断优先级控制位 PT1\PT0——定时器T1\T0中断优先级控制位 PX1\PX0——外部中断1\0中断优先级控制位 1:高优先级中断; 0:低优先级中断。 课堂练习2:设置IP寄存器的初始值,使2个外中断请求为高优先级,其它中断请求为低优先级。 (1)用位操作指令 SETB PX0 ;2个外中断为高优先级 SETB PX1 CLR PS ;串口为低优先级中断 CLR PT0 ;2个定时器/计数器低优先级中断 CLR PT1 1 1 0 0 0 (2)用字节操作指令 MOV IP,#05H 或: MOV 0B8H,#05H ;B8H为IP寄存器的字节地址 1 1 0 0 0 3、中断处理 中断处理过程大致包含三个阶段: 中断响应 中断服务 中断返回 中断处理过程流程 硬件自动完成 中断服务程序 中断响应 中断请求被响应,需满足以下必要条件: (1)允许中断 (2)无同级或更高级中断正在被服务。 (3)当前正处于所执行指令的最后一个机器周期。 (4)正在执行的指令不是RETI指令。 中断响应的主要过程: 首先由硬件自动生成一条长调用指令: LCALL addr16 CPU执行该指令,将PC的内容压入堆栈以保护断点,再将中断入口地址装入PC。各中断源服务程序的入口地址: 中断源 入口地址 外部中断0 0003H 定时器/计数器T0 000BH 外部中断1 0013H 定时器/计数器T1 001BH 串行口中断 0023H 中断服务+中断返回 主要是中断服务程序的设计,包括两部分: 主程序部分(中断系统初始化) 中断服务程序部分 主程序部分(中断系统初始化) 设置堆栈指针SP; 若为外部中断,定义触发方式; 根据需要给IP赋值,定义中断优先级; 开放中断。 ?在相应的中断入口地址设置一条跳转指令,转移到中断服务程序的实际入口处; ?根据需要保护现场; ?若为电平触发的外部中断,应有中断请求信号撤除操作;若是串行口中断,对TI、RI清0; ?安排中断服务所做的操作(中断服务程序的主体) ?恢复现场; ?中断返回(RETI)。 中断服务程序部分 常用的中断服务程序设计如下: ORG 0000H LJMP MAIN ORG 中断入口地址 LJMP INT ? ORG XXXXH MAIN:主 程 序 ? INT:中断服务程序 RETI 课堂练习3:用T0的方式0产生10ms的定时,并使P1.0引脚上输出周期为20ms

文档评论(0)

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

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

1亿VIP精品文档

相关文档