考点3 中断处理《单片机原理与应用》四川省(分类招生和对口招生)电子信息类 知识点讲解

2026-04-07
| 12页
| 16人阅读
| 0人下载
中职电子知识铺
进店逛逛

资源信息

学段 中职
学科 职教专业课
课程 单片机技术与应用
教材版本 -
年级 -
章节 -
类型 题集-综合训练
知识点 中断原理及应用
使用场景 中职复习-一轮复习
学年 2026-2027
地区(省份) 四川省
地区(市) -
地区(区县) -
文件格式 DOCX
文件大小 1.65 MB
发布时间 2026-04-07
更新时间 2026-04-09
作者 中职电子知识铺
品牌系列 上好课·一轮讲练测
审核时间 2026-04-07
下载链接 https://m.zxxk.com/soft/57209314.html
价格 3.00储值(1储值=1元)
来源 学科网

内容正文:

四川省(电子信息大类)对口招生《单片机原理与应用》 复习讲义 模块 5 中断原理及应用 考点三 中断处理 【考纲要求】 1.掌握中断初始化及中断应用的程序编写。 2.理解堆栈的概念和进出栈的过程。 3.掌握堆栈程序的编写方法。 【知识网络】 【知识和技能要点】 1、 中断的响应过程 中断处理可以分为中断请求、中断响应、中断服务、中断返回四个过程。 1.中断请求 每个机器周期都顺序检查每一个中断源,当查询到某个中断标志位为1时,如果不被下述条件所阻止,则将在下一个机器周期S1期间,响应激活最高中断请求。 满足中断响应条件但不执行中断的3种情况如下: 1当前正在执行的指令没执行完。 2当前响应了同级或高级中断。 3正在执行的指令是RETI或者IE,IP相关指令。 2.中断响应 中断响应开始由硬件产生一条长调用指令LCALL。该指令首先将断点地址的内容压入堆栈保护起来,然后将对应中断服务程序的人口地址装入程序计数器PC,使程序转向相应的中断服务程序。一般设置一条跳转指令和程序设置ROM地址以开辟存储空间,使单片机使去执行该中断入口地址对应的中断服务程序。 5个中断源的人口地址它们之间只隔8个字节单元地址,一般情况下不足以容下一个中断服务程序。通常,在每个中断源的人口地址后设置一条跳转指令今,跳到其他的ROM地址空间去处理中断服务程序。例如: ORG 0100H ;主程序开始 LJMP START;主程序开始地址 ORG 0003H ;外部中断0的人口地址 LJMP ITTO ;中断服务程序 .... ORG 0100H;中断程序从0100H处执行 ITTO:.... 外部中断的响应时间 从外部中断标志置位,到CPU查询到该标志,需要1个机器周期。 执行硬件子程序调用,转到相应的中断入口,需要2个机器周期。 如果发生受阻,最不利的情况是,RETI后面跟随一条乘除指令,则需要5个机器周期。 由此可见,在单一中断系统里,外部中断的响应时间约为3~8个机器周期。 3.中断服务 在中断服务程序中,首先用软件保护现场。在处理完中断服务程序后,再恢复现场,以预防中断返回后丢失原寄存器中的内容,一般用RSO,RS1切换工作寄存器组,使主程序用到的寄存器和中断服务程序用到的寄存器为不同的组。保护现场用入栈指令,恢复现场用出栈指令。 (1)堆栈的定义 堆栈是内部数据存储器(RAM)中的一个区域,用于存放程序执行过程中某些寄存器内需要保护的数据。数据进人或退出堆栈应遵循“先进后出,后进先出”的原则。MCS-51系列单片机的堆栈区地址范围为片内RAM的00H~7FH (2)堆指针SP ①数据进栈时,堆栈指针SP先自动加1,然后数据才被压人堆栈; ②数据出栈时,先取出需要出栈的数据,然后SP自动减1。SP总是指向栈顶,在系统恢复后,堆栈指针SP的初始值为O7H,入栈操作从08H单元开始。因为00H~2FH作为工作寄存器组区和位寻址区,所以堆栈区的地址一般开辟在RAM用户区(30H~7FH) (3)堆栈操作指令 堆栈操作指令有两条:进栈指令和出栈指令。 ①进栈指令 格式:PUSH direct 功能:SP堆栈指针先自动加1,然后将direct 单元地址的值压入堆栈区。 ②出栈指令 格式:POP direct功能:先将堆栈区SP所对应单元地址的值取出送入direct单元存储,然后SP堆栈指针自动减1。 4.中断返回 中断服务程序最后一条指令必须用中断返回指令RETI。这条指令的功能是将中断优先级寄存器IP清0,结束中断服务所执行的程序,返回到断点处继续执行主程序。 该指令为中断程序的最后一条指令,CPU执行这一条指令时,将响应中断时的优先级状态寄存器清零,然后从堆栈中弹出两个字节送入程序计数器PC。CPU执行完该指令后,将从原先的断点处继续执行被中断的程序。 注意:中断返回指令与子程序返回指令不同,子程序返回指令为RET。 二、中断信号的撤除 CPU响应中断后,应撤除该中断信号,否则会再次引起中断响应。对于不同中断源,撤除方法不同。具体如下: 1.定时器/计数器TO,T1中断信号的撤除 CPU响应TO或T1中断后,由硬件自动清除相应的中断标志位TFO/TF1,即自动撤除中断信号。 2.串行口中断信号的撤除 CPU响应串行口中断后并不自动清除相应的中断标志位,用户需要在串行口中断服务程序中软件清除,相应指令为CLR TX/RX. 3.外部中断信号的撤除 ①对于边沿触发方式的外部中断INTO和INTI,CPU响应中断后也是由硬件自动清除IEO和 IE1; ②对于电平触发方式的外部中断INTO和INTI,CPU响应中断后应立即撤除INTO和INTI的低电平信号,否则会再次产生中断信号,故撤除电平触发方式的外部中断INTO和INT1应由软件和硬件共同完成。 3、 中断初始化 当单片机复位后,与中断有关的寄存器清0。因此,在使用中断之前,必须用软件编程对与中断相关的寄存器初始化。中断初始化操作主要有以下四方面: 1.开相应中断源的中断;(IE) 2.设定中断优先级; (IP) 3.确定中断源是内部中断还是外部中断,外部中断考虑触发方式,即给IT0、IT1赋值,赋值为1代表边沿触发(下降沿有效),赋值为0代表电平触发(低电平有效)。 4.开总中断控制位EA,即EA=1 例: 中断初始化 CLR IT1 SETB PX1 SETB EX1 SETB EA ORL IP,#04H ANL TCON ,#0FBH MOV IE,#84H 中断优先级控制 IP(B8H) — — — PS PT1 PX1 PT0 PX0 中断使能控制IE(A8H) EA — — ES ET1 EX1 ET0 EX0 中断标志控制寄存器TCON(88H) TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 【练习题】 1、 选择题 1.在中断服务程序中,至少应有一条(     )。 A. 传送指令     B. 转移指令     C. 加法指令       D. 中断返回指令 2.MCS-51响应中断时,下列哪种操作不会发生(     ) A. 保护现场     B.保护PC     C.找到中断入口      D.保护PC转入中断入口 3.计算机在使用中断方式与外界交换信息时,保护现场的工作应该是(    ) A. 由CPU自动完成                B. 在中断响应中完成 C. 应由中断服务程序完成           D. 在主程序中完成 4.(     )非单片机系统响应中断的必要条件。 A. TCON或SCON寄存器内的有关中断标志位为1 B.IE中断允许寄存器内的有关中断允许位置1 C.IP中断优先级寄存器内的有关位置1 D.当前一条指令执行完 5.执行返回指令时,返回的断点是(     ) A. 调用指令的首地址               B. 调用指令的末地址 C. 调用指令下一条指令的首地址     D. 返回指令的末地址 6.中断查询确认后,在下列各种8051单片机运行情况中,能立即进行响应的是(    ) A. 当前正在执行高优先级中断处理 B. 当前正在执行RETI指令 C. 当前指令是DIV指令,且正处于取指令的机器周期 D.当前指令是MOV   A,R3 7.当外部中断0发出中断请求后,中断响应的条件是(    )。 A.SETB ET0    B.SETB EX0     C.MOV IE,#81H    D.MOV IE,#61H   8.当定时器T0发出中断请求后,中断响应的条件是(    )。 A.SETB ET0    B.SETB EX0      C.MOV IE,#82H    D.MOV  IE,#61H 9.MCS—51单片机CPU开中断的指令是(  )A.SETB  EA       B.SETB  ES       C.CLR  EA        D.SETB  EX0 10.MCS—51单片机外部中断0开中断的指令是( )A.SETB  ETO      B.SETB  EXO      C.CLR  ETO       D.SETB  ET1 11.MCS—51单片机外部中断1和外部中断0的触发方式选择位是(    )。 A.TR1和TR0      B.IE1和IE0          C.IT1和IT0      D.TF1和TF0 12.MCS—51单片机响应中断的过程是(    )。 A.断点PC自动压栈,对应中断矢量地址装入PC   B.关中断,程序转到中断服务程序 C.断点压栈,PC指向中断服务程序地址 D.断点PC自动压栈,对应中断矢量地址装入PC,程序转到该矢量地址,再转至中断服务程序首地址 13.执行中断处理程序最后一句指令RETI后,(    )。 A.程序返回到ACALL的下一句       B.程序返回到LCALL的下一句 C.程序返回到主程序开始处           D.程序返回到响应中断时的下一句 14.MCS—51单片机响应中断矢量地址是(   )。 A.中断服务程序的首句地址             B.中断服务程序的出口地址 C.中断服务程序的入口地址             D.主程序等待中断指令的地址 15.一主程序中有一句LP:SJMP LP,功能指令为等待中断,当发生中断且中断返回后,(    )。 A.返回到主程序开始处            B.返回到该句的下一条指令处 C.返回到该句的上一条指令处      D.返回到该句 16.一中断子程序的最后一句不是RETI而是RET,中断返回后(    )。 A.返回到主程序中ACALL或LCALL的下一句  B.返回到主程序中响应中断时一句的下一句 C.返回到主程序开始处        D.返回到0000H处 17.对定时器控制寄存器TCON中的IT1和IT0位清0后,则外部中断请求信号方式为(    )。 A.低电平有效       B.高电平有效     C.脉冲上跳沿有效    D.脉冲后沿负跳有效 三、判断题 1.如设外部中断0中断,应置中断允许寄存器IE的EA位和EX0位为1。(   ) 2.8051单片机允许5个中断源请求中断,都可以用软件来屏蔽,即利用中断允许寄存器IE来控制中断的允许和禁止。(   ) 3.中断响应的最快响应时间为3个机器周期。( ) 4.中断初始化时,对中断控制器的状态设置,只可使用位操作指令,而不能使用字节操作指令(   )   5.8051单片机对最高优先权的中断响应是无条件的(  )   6.在MCS-51单片机内部结构中,TMOD为模式控制寄存器,主要用来控制定时器的启动与停止。(  ) 7.在MCS-51单片机内部结构中,TCON为控制寄存器,主要用来控制定时器的启动与停止。(  ) 8.MCS—51单片机的中断允许寄存器的IE的作用是用来对各中断源进行开放或屏蔽的控制。(  ) 9.用户在编写中断服务程序时, 可在中断入口矢量地址存放一条无条件转移指令,以防止中断服务程序容纳不下。(  ) 10.若要在执行当前中断程序时禁止更高优先级中断,应用软件关闭CPU中断,或屏蔽更高级中断源的中断,在中断返回时再开放中断。(  ) 三、分析题 1.试编写一段对中断系统初始化的程序,使之允许INT0、INT1、T0、串行接口中断,且使T0中断为高优先级中断。 2.若规定外部中断1为边沿触发方式,低优先级,在中断服务程序将寄存器B的内容左循环一位,B的初值设为02H,按要求补充完整主程序与中断服务程序。               ORG   0000H               LJMP   MAIN                     ____               LJMP   WB               ORG   0100H           MAIN:SETB   EA                                                                                              MOV   B,#02H                        WAIT:SJMP   WAIT             WB:MOV   A,B                  RL     A                  MOV   B,A                                 3.根据如图所示电路,编写程序完成以下工作:采用外部中断INT0,每中断一次,数码管的内容加1,假设数码管初始值为00,中断一次显示01,再中断一次显示02,99 【答案】 一、选择题 1.D 中断服务程序最后必须用RETI返回主程序 2.A 保护现场(寄存器入栈)是程序员写的,CPU不会自动完成 3.C 保护现场/恢复现场必须在中断服务程序中完成 4.C IP是优先级寄存器,不是响应中断的必要条件 5.C 返回断点 = 调用指令下一条指令的首地址 6.D MOV A,R3 是单周期指令,执行完可立即响应中断 7.C MOV IE,#81H = 开总中断EA + 开外部中断0 EX0 8.C MOV IE,#82H = 开总中断EA + 开定时器0中断 ET0 9.A SETB EA CPU开总中断 10.B SETB EX0 开外部中断0 11.C IT0、IT1 是外部中断0/1触发方式位 12.D 中断响应:PC压栈 → 装入中断矢量 → 跳中断服务程序 13.D RETI 返回到中断发生时的下一条指令 14.C 中断矢量地址 = 中断服务程序入口地址 15.D 原地等待指令,中断返回后继续等待 16.A 用RET代替RETI,会按子程序返回,不是中断返回 17.A 2、 判断题 1.√ 2.√ 3.√ (MCS-51中断最快响应时间:3个机器周期) 4.× 可以用位操作,也可以用字节操作(如 MOV IE,#81H) 5.× 高优先级也必须等当前指令执行完才能响应 6.× TMOD是工作模式寄存器,不控制启停 7.√ TCON的TR0/TR1控制定时器启动停止 8.√ IE 就是中断允许/屏蔽控制寄存器 9.√ 矢量地址只有8字节,必须用LJMP跳转到服务程序 10.√ 可软件关中断/屏蔽高级中断,返回前再开启 三、分析题 1.允许INT0、INT1、T0、串行口中断,T0高优先级 MOV IE,#97H ; 开总中断+INT0+INT1+T0+串行口 MOV IP,#02H ; 设置 T0 为高优先级 2. ORG 0000H LJMP MAIN ORG 0013H ; 外部中断1入口地址 LJMP WB ORG 0100H MAIN: SETB EA ; 开总中断 SETB EX1 ; 开外部中断1 CLR PX1 ; 低优先级 SETB IT1 ; 边沿触发 MOV B,#02H ; B初值 WAIT: SJMP WAIT ; 等待中断 WB: MOV A,B ; 中断服务程序 RL A ; 左循环一位 MOV B,A RETI ; 中断返回 3. 参考程序: ORG 0000H ; 复位入口 LJMP MAIN ; 跳转到主程序 ORG 0003H ; 外部中断0入口地址 LJMP INT0_PRO ; 中断服务程序 ORG 0030H ; 主程序起始地址 MAIN: MOV SP, #60H ; 设置堆栈 MOV R7, #00H ; 计数变量,初始0 → 显示00 SETB IT0 ; INT0下降沿触发 SETB EX0 ; 允许外部中断0 SETB EA ; 开启总中断 ; 主循环:一直刷新数码管显示 LOOP: LCALL DISPLAY ; 调用显示函数 LJMP LOOP INT0_PRO: LCALL DELAY10MS ; 消抖 JB P3.2, INT0_END; 确认按键按下 INC R7 ; 计数+1 MOV A, R7 CJNE A, #100, INT0_END ; 不到100就退出 MOV R7, #00H ; 到100归零 INT0_END: RETI ; 中断返回 DISPLAY: MOV A, R7 MOV B, #10 DIV AB ; A=十位,B=个位 ; 显示十位 MOV P2, #00H MOV DPTR, #TAB MOVC A, @A+DPTR MOV P0, A SETB P2.0 LCALL DELAY1MS CLR P2.0 ; 显示个位 MOV A, B MOVC A, @A+DPTR MOV P0, A SETB P2.1 LCALL DELAY1MS CLR P2.1 RET ; 共阴极段码表 TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ; 延时1ms DELAY1MS: MOV R6, #2 D1: MOV R5, #250 DJNZ R5, $ DJNZ R6, D1 RET ; 延时10ms(消抖) DELAY10MS: MOV R4, #20 D10:MOV R5, #250 DJNZ R5, $ DJNZ R4, D10 RET END 原创精品资源学科网独家享有版权,侵权必究 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $

资源预览图

考点3 中断处理《单片机原理与应用》四川省(分类招生和对口招生)电子信息类 知识点讲解
1
考点3 中断处理《单片机原理与应用》四川省(分类招生和对口招生)电子信息类 知识点讲解
2
考点3 中断处理《单片机原理与应用》四川省(分类招生和对口招生)电子信息类 知识点讲解
3
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。