下载此文档

特殊功能寄存器中的标志.ppt


文档分类:IT计算机 | 页数:约26页 举报非法文档有奖
1/26
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/26 下载此文档
文档列表 文档介绍
特殊功能寄存器中的标志
第1页,共26页,编辑于2022年,星期日
中 断 的 概 述
1. 中断
中断是指计算机在执行某一程序的过程中, 由于计算机系统内、 外的某种原因, 而必须中止原程序的执行,。
第14页,共26页,编辑于2022年,星期日
中断响应
1. 中断响应的条件
(1) 同级或高优先级的中断已在进行中; 
(2) 当前的机器周期还不是正在执行指令的最后一个机
器周期(换言之, 正在执行的指令完成前, 任何中断请求
都得不到响应); 
(3) 正在执行的是一条 RETI或者访问特殊功能寄存器
IE或 IP的指令(换言之, 在 RETI或读写 IE或 IP之后, 不会
马上响应中断请求, 而至少执行一条其它指令之后才会响应)。
第15页,共26页,编辑于2022年,星期日
2. 中断响应过程
单片机一旦响应中断请求, 就由硬件完成以下功能: 
(1) 根据响应的中断源的中断优先级, 使相应的优先级状态触发器置 1; 
(2) 执行硬件中断服务子程序调用, 并把当前程序计数器PC的内容压入堆栈; 
(3) 清除相应的中断请求标志位(串行口中断请求标
志 RI和 TI除外);

(4) 把被响应的中断源所对应的中断服务程序的入口
地址(中断矢量)送入PC, 从而转入相应的中断服务程序。
第16页,共26页,编辑于2022年,星期日
表 中断服务程序入口地址表
第17页,共26页,编辑于2022年,星期日
例如, 现有外部中断 1 提出申请, 且主程序中有R0、 R1、 DPTR、累加器A需保护, 则编制程序应为:
ORG 0000H 
AJMP MAIN
ORG 0013H
LJMP INT1
…
ORG 0100H
MAIN: …; 主程序
…
ORG 1000H
第18页,共26页,编辑于2022年,星期日
INT1: PUSH ACC ; 中断服务程序
PUSH DPH
PUSH DPL
PUSH 0
PUSH 1

POP 1
POP 0
POP DPL
POP DPH
POP ACC
RETI

第19页,共26页,编辑于2022年,星期日
编程中应注意: 
(1) 在 0000H放一条跳转到主程序的跳转指令, 这是因为 MCS-51单片机复位后, PC的内容变为 0000H, 程序从 0000H 开始执行, 紧接着 0003H是中断程序入口地址, 故在此中间只能插入一条转移指令; 
(2) 响应中断时, 先自动执行一条隐指令“LCALL 0013H”, 而 0013H至 001BH(定时器 1 溢出中断入口地址)之间可利用的存储单元不够, 故放一条无条件转移指令。 
(3) 在中断服务程序的末尾, 必须安排一条中断返回指令RETI, 使程序自动返回主程序。
第20页,共26页,编辑于2022年,星期日
中断系统的应用
例 1 单步操作的中断实现。
把一个外部中断(设为INT0])设置为电平激活方式。其中断服务程序的末尾写上如下几条指令: 
JNB , $ ; 在INT0变高前原地等待(死循环)
JB , $; 在 INT0变低前原地等待(死循环)
RETI ; 返回并执行一条指令
第21页,共26页,编辑于2022年,星期日
现在,若INT0保持低电平, 且允许INT0中断, 则CPU就进入外部中断 0 服务程序, 由于有上述几条指令, 它就会停在 JNB处, 原地等待。当INT0 端出现一个正脉冲(由低到高, 再到低)时, 程序就会往下执行, 执行RETI后, 将返回主程序, 往下执行一条指令, 然后又立即响应中断,以等待INT0端出现的下一个正脉冲。 这样在INT0端每出现一个正脉冲, 主程序就执行一条指令, 实现了单步执行的目的, 要注意的是, 这个正脉冲的高电平持续时间不小于 3个周期, 以确保 CPU能采集到高电平值。
第22

特殊功能寄存器中的标志 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数26
  • 收藏数0 收藏
  • 顶次数0
  • 上传人石角利妹
  • 文件大小1.29 MB
  • 时间2022-05-02
最近更新