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

专题六输入输出和中断解读.ppt

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

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 5.4.3 MCS-51对中断的响应与撤消 ? MCS-51中断响应的基本条件 ? MCS-51中断响应过程 ? MCS-51中断响应时间 ? MCS-51中断请求的撤消 MCS-51中断响应的基本条件 ? 51 CPU 中断受阻的条件: ? CPU 正在处理相同或更高级中断 ? 现行的机器周期不是所执行指令的最后一个机器周期 ? 正在执行的指令是访问IE、IP或RETI指令 ? 在执行上述指令后至少再执行一条指令,才可能响应中断。 ? MCS-51的中断响应的基本条件: ? 首先要有中断源发出中断申请; ? 中断总允许位EA=1,即CPU允许所有中断源申请中断; ? 在中断源寄存器TCON和SCON中,申请中断的中断允许位为1, 即此中断源可以向CPU申请中断。 A 51CPU自动完成: ? CPU先在每个机器周期的S5P2期间,对各中断源重复进行查询,并设置相应的中断标志位 。 ? 如果中断响应条件满足,且不存在中断阻断的情况,则CPU就响应中断。 ? 硬件生成长调用指令自动地把断点地址压入堆栈保护,并随之将对应的中断入口装入程序计数器PC,使程序转向该入口地址,以执行中断服务程序。 A 用户必须完成: 在这些入口地址存放一条无条件跳转指令,使程序跳转到用户安排的中断服务程序起始地址上去 。 MCS-51响应中断的过程 MCS-51 的中断响应过程 中断源 入口地址 同级中断 优先级 IE0 0003H TF0 000BH IE1 0013H T F 1 001BH TI/RI 0023H 中断入口地址表 低级中断源的 中断服务程序 CLR EA SETB EA MCS-51 的中断程序设计举例 [例5-3]请根据图6-3的支持电路,编出CPU响应INT0上中断时的主程序和中断服务程序。 ORG 0000H AJMP MAIN ORG 0003H LJMP EX1SVR ORG 0100H MAIN:MOV SP#6FH SETB IT0 SETB EX0 SETB EA SJMP $;等待中断 EX1SVR: PUSH PSW PUSH ACC MOV A,#0FFH MOV P1,A MOV A,P1 SWAP A MOV P1,A POP ACC POP PSW RETI END 初始化部分 答:将子程序入口地址压入堆栈,因为它是CALL指令的 转移目标地址, 而不是CALL的下一条指令地址。 问:响应中断后什么地址压入堆栈? 答:将 SJMP $ 指令的转移目标地址压入堆栈。即 中断在本 指令处产生,本指令的目标地址是本指令地址。 问:若中断在CALL指令执行后产生, 响应中断后什么地址压入堆栈? 问:若要控制中断的次数,在主程序中采用CJNE R7,#10,NEXT指令,NEXT标号应写在什么语句上? 答:将NEXT标号写在本指令上。 即:NEXT:CJNE R7,#10,NEXT;等待中断 必须在中断服务程序中用INC R7指令更新R7的值。 R7的初值在主程序的初始化部分置入。 ? 对强迫中断的服务程序具有随机性 ? 要考虑可能在程序的什么指令处发生, ? 要保护什么内容,才能保证返回断点后正常工作。 ? 对人为设置的软件中断与子程序调用的区别 ?返回指令不同 ? 子程序返回用RET ? 中断服务程序返回用RETI ? 处理内容不同,中断一般处理I/O操作。 5.4.4 MCS-51中断系统的初始化及应用 1、MCS-51中断系统的初始化 中断系统初始化步骤为: 1)CPU开中断或关中断; 2)某中断源中断请求的允许或禁止(屏蔽);

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档