MCS-51的中断系统.ppt

上传人:小飞机 文档编号:6512367 上传时间:2023-11-08 格式:PPT 页数:39 大小:941.55KB
返回 下载 相关 举报
MCS-51的中断系统.ppt_第1页
第1页 / 共39页
MCS-51的中断系统.ppt_第2页
第2页 / 共39页
MCS-51的中断系统.ppt_第3页
第3页 / 共39页
MCS-51的中断系统.ppt_第4页
第4页 / 共39页
MCS-51的中断系统.ppt_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《MCS-51的中断系统.ppt》由会员分享,可在线阅读,更多相关《MCS-51的中断系统.ppt(39页珍藏版)》请在三一办公上搜索。

1、单片机原理及应用,第4章 MCS-51的中断系统,光华学院信息工程系王 超,主要内容,一、中断的基本概念二、MCS-51的中断系统三、中断源和中断标志四、中断的允许和优先权五、中断的处理过程六、中断的应用,一、中断的基本概念,日常中断的概念单片机中的中断概念中断技术的优点,日常中断的例子,你正在看书,突然电话铃响,于是你记下正在看的书的页数,去接电话,接完电话后再回来接着看书。,计算机中的中断概念,中断:是指由于某种随机事件的发生,计算机暂停现行程序的运行,转去执行另一程序,以处理发生的事件,处理完毕后又自动返回原来的程序继续运行。中断源:将能引起中断的事件称为中断源。主程序:CPU现行运行的

2、程序称为主程序。中断服务子程序:处理随机事件的程序称为中断服务子程序。,中断技术的优点,分时操作CPU可以同多个外设“同时”工作实时处理CPU及时处理随机事件故障处理电源掉电、存储出错、运算溢出,二、MCS-51中断系统,中断源中断标志中断允许中断优先级MCS-51中断系统结构中断寄存器,MCS-51中断系统中断源,8051单片机有5个中断请求源:外部输入中断源INT0(P3.2)外部输入中断源INT1(P3.3)片内定时器T0的溢出片内定时器T1的溢出片内串行口发送或接收中断源,MCS-51中断系统中断标志,每一个中断源都有相应的中断标志位;某一个中断源申请中断,相应中断标志位置1。,MCS

3、-51中断系统中断允许,EA总中断允许位,EA=1开放所有中断,EA=0 禁止所有中断。某一个中断源还有相应的中断允许位,1允许相应中断源的中断,0禁止相应中断源的中断。,MCS-51中断系统中断优先级,单片机中有两个中断优先级,即高优先级中断和低优先级中断,前者优先权高于后者(在程序中设置,相应位=1,为高优先级);同一优先级别的中断源按照自然优先级顺序确定优先级别(硬件形成,无法改变)。,MCS-51的中断系统结构图,中断标志位,中断源允许,总允许,中断优先级,TCON寄存器T0和T1控制寄存器,外部中断INT1中断标志位(TCON.3):IE=1,外部中断1向CPU申请中断,外部中断IN

4、T1触发方式控制位(TCON.3):IT1=0,电平触发方式 IT1=1,下降沿触发方式,TCON寄存器T0和T1控制寄存器,T1溢出中断标志(TCON.7):T1启动计数后,计满溢出由硬件置位TF=1,向CPU请求中断,此标志一直保持到CPU响应中断后,才由硬件自动清0.也可用软件查询该标志,并由软件清0.,SCON寄存器串口控制寄存器,TI(SCON.1)串行发送中断标志。RI(SCON.0)串行接收中断标志。,注意:寄存器可以进行位寻址.,IE寄存器中断允许寄存器,例:允许定时器T0中断:SETBEASETBET0 或MOVIE,#82H,注意:寄存器可以进行位寻址.,IP寄存器中断优先

5、级寄存器,51单片机有两个中断优先级高级和低级专用寄存器IP为中断优先级寄存器,用户可用软件设定相应位为1,对应的中断源被设置为高优先级,相应位为0,对应的中断源被设置为低优先级。系统复位时,均为低优先级该寄存器可以位寻址,三、中断处理过程,中断处理过程分为三个阶段:中断响应、中断处理和中断返回。,中断响应中断处理(又称中断服务)中断返回中断请求的撤除,中断处理过程,中断响应:在满足CPU的中断响应条件之后,CPU对中断源中断请求予以处理。,中断响应过程:保护断点地址;把程序转向中断服务程序的入口地址(通常称矢量地址)。,断点地址,中断服务子程序的入口地址,ORG 0003H,中断处理,中断服

6、务程序从入口地址开始执行,直到返回指令RETI为止,这个过程称为中断处理(或中断服务)中断服务子程序一般包括两部分内容,一是保护和恢复现场,二是处理中断源的请求。,中断处理,INTT0:PUSHACC PUSHDPH PUSHDPL PUSHPSW 中断源服务 POPPSW POPDPL POPDPH POPACC RETI,保护现场,恢复现场,中断返回,中断返回是指中断服务完后,计算机返回到原来暂停的位置(即断点),继续执行原来的程序。中断返回由专门的中断返回指令RETI来实现。,中断返回,RETI指令功能:把断点地址取出,送回到程序计数器PC中去。另外,它还通知中断系统已完成中断处理,将清

7、除优先级状态触发器。特别注意:不能用RET指令代替RETI指令!,中断处理过程示意图,由硬件自动完成,四、中断请求的撤除,CPU响应某中断请求后,在中断返回前,应该撤除该中断请求,否则会引起另一次中断。定时器0或1溢出:CPU在响应中断后,硬件清除了有关的中断请求标志TF0或TF1,即中断请求是自动撤除的。边沿激活的外部中断:CPU在响应中断后,也是用硬件自动清除有关的中断请求标志IE0或IE1。串行口中断:CPU响应中断后,没有用硬件清除T1、R1,故这些中断不能自动撤除,而要靠软件来清除相应的标志。,电平激活的外部中断源中断标志的撤除,电平触发外部中断撤除方法较复杂。因为在电平触发方式中,

8、中断请求标志的撤销是自动的,但中断请求信号的低电平可能继续存在,所以在响应中断后应立即撤除INT0或INT1引脚上的低电平。在硬件上,CPU对INT0和INT1引脚的信号不能控制,所以这个问题要通过硬件,再配合软件来解决。,中断服务程序,硬件自动完成,五、中断服务程序的设计,1、中断服务程序设计的任务 基本任务:(1)设置中断允许控制寄存器IE。(2)设置中断优先级寄存器IP。(3)对外部中断源,是采用电平触发还是跳沿触发。(TCON)(4)编写中断服务程序,处理中断请求。前3条一般放在主程序的初始化程序段中。,例1.假设允许外部中断0中断,并设定它为高级中断,其它中断源为低级中断,采用跳沿触

9、发方式。在主程序中编写如下程序段:SETB EA;CPU开中断 SETB EX0;允许外中断0产生中断 SETB PX0;外中断0为高级中断 SETB IT0;外中断0为跳沿触发方式,五、中断服务程序的设计,2、采用中断时的主程序结构常用的主程序结构如下:ORG 0000HLJMP MAINORG 中断入口地址LJMP INT MAIN:主 程 序INT:中断服务程序,五、中断服务程序的设计,例 2 ORG 0000H AJMP MAIN ORG 0003H AJMP INT0 ORG 0040H MAIN:MOV SP,#60H SETB EA;CPU开中断 SETB EX0;允许外中断0产

10、生中断 SETB PX0;外中断0为高级中断 SETB IT0;外中断0为跳沿触发方式 INT0:,五、中断服务程序的设计,例 3 根据中断服务程序流程,编出中断服务程序。假设,现场保护只需将PSW和A的内容压入堆栈中保护。典型的中断服务程序如下:INT:CLR EA;CPU关中断PUSH PSW;现场保护PUSH ACC;SETB EA;CPU开中断 中断处理程序段 CLR EA;CPU关中断POP ACC;现场恢复POP PSW SETB EA;CPU开中断RETI;中断返回,恢复断点,ORG 0000H LJMP MAIN ORG 0003H LJMP INT ORG 0040HMAIN

11、:MOV SP,#60H SETB EA SETB EX0 SETB PX0 SETB IT0 SJMP$INT:CLR EA PUSH PSW PUSH ACC SETB EA,SETB P1.4 ACALL DELAY200ms CLR EA POP ACC POP PSW SETB EA RETIDELAY200ms:MOV R7,#200DEL:MOV R6,#250 DJNZ R6,$;fosc=6MHz DJNZ R7,DEL RET END,1.外部中断1所对应的中断入口地址为H。A0003H B.000B C.0013 D.001B2.下列说法哪个是正确的:A.各中断发出的中断

12、请求信号,都会标记在51系统的IE寄存器中。B.各中断发出的中断请求信号,都会标记在51系统的TMOD寄存器中。C.各中断发出的中断请求信号,都会标记在51系统的IP寄存器中。D.各中断发出的中断请求信号,都会标记在51系统的TCON与SCON寄存器中。3.8051单片机响应中断后,产生长调用指令LCALL,执行该指令的过程包括:首先把()的内容压入堆栈,以进行断点保护,然后把长调用指令的16位地址送(),使程序执行转向()中的中断地址区。A.PC、IP、程序存储器 B.PC、PC、程序存储器C.PC、PC、数据存储器 D.IP、PC、数据存储器4.下列哪段程序是设定外部中断1为跳沿触发的中断

13、初始化程序。A.SETB IT0 B.SETB IT1 C.CLR IT0 D.CLR IT1 SETB EX0 SETB EX1 SETB EX0 SETB EX1 SETB EA SETB EA SETB EA SETB EA5.下列说法错误的是。A.同一级别的中断请求按时间的先后顺序响应。B.同一时间同一级别的多中断请求,将形成阻塞,系统无法响应。C.低优先级中断请求不能中断高优先级中断请求,但是高优先级中断请求能中断低优先级中断请求。D.同级中断不能嵌套。,中 断 习 题,6.中断子程序的返回指令是。ARET B.RETI C.CLR D.SETB7.下列哪个中断源是由单片机片内外设触

14、发的。A.外部中断 INT0 B.外部中断INT1 C.定时器T0中断 D.串口接收中断RI8.指令MOV IE,#82H的目的是:A.允许定时器T1中断 B.允许外部中断INT0中断C.允许定时器T0中断 D.允许外部中断INT1中断9:把PC断点地址压入堆栈是由完成。A.软件编程 B.硬件自动 C.仿真软件 D.仿真器10.下列寄存器哪个是不能进行位寻址的:A.TCON B.SCON C.TMOD D.IE,中 断 习 题,1.编程题:假设允许外部中断1中断,并设定它为高级中断,其它中断源为低级中 断,采用低电平触发方式。2.编程题:根据中断服务程序流程,编出中断服务程序。假设,现场保护只需将 PSW和A的内容压入堆栈中保护。3.简答:MCS-51的中断系统中有几个中断源?它们各是什么?每个中断源入口 地址是多少?默认情况下它们的优先级别是怎样的?(画图简要说明),中 断 习 题,Thank You!,END,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号