当前位置:
文档之家› 3.3.1 51单片机中断概念(中断控制).
3.3.1 51单片机中断概念(中断控制).
例1 假设允许片外中断,禁止其他中断。试根据假设条件设 置IE的相应值。 根据题目要求,要允许外部中断,就需要将 IE 寄存器的 EA 、 EX1、EX0置1,其他位清0,可分别通过字节寻址或者位寻 址进行。 (1) (2) 用字节操作指令: IE=0X85; 用位操作指令: EX0=1 ; EX1=1 ; EA =1 ; 外部中断0允许中断 外部中断1允许中断 CPU开中断
后才考虑是否响应另一个中断申请。
(4)同一个优先级里,优先权的顺序是由硬件决定而不能改变的。但是用户可以通 过改变优先级的方法改变中断响应的顺序。例如,8051单片机中串行口的优先权最
低,但是可以在中断优先级寄存器IP中写入10H,则只有串行口是最高优先级。若
同时有若干中断提出申请,则一定会优先响应串行口的申请。
是否立即响应它而形成中断嵌套;
2)如果一个中断服务子程序执行完之后,发现已经有若干中断都提出了 申请,那么应该先响应哪一个申请.
在开放中断的条件下,用下述四个原则使用中断优先级结构: (1)非中断服务子程序可以被任何一个中断申请所中断,而与优先级结构无关。 (2)如果若干中断同时提出申请,则CPU将选择优先级、优先权最高者予以响应。 (3)低优先级可以被高优先级的中断申请所中断。换句话说,同级不能形成嵌套、 高优先级不能被低优先级嵌套,当禁止嵌套时,必须执行完当前中断服务子程序之
无人机控制器应用技术
中断的控制
一. 中断允许控制 IE
IE (A8H) AFH EA ACH ES ABH ET1 AAH EX1 A9H ET0 A8H EX0
其中EX0、EX1:外部中断允许控制位 1——开中断 0——关中断 EA:中断允许总控制位 1——开中断 0——关中断 其他位我们现在可以先不用理会,在设置时既可以按位设置也 可以对IE整体设置。
805l复位以后,特殊功能寄存器IP的内容为00H。所以在初始化程序中要考虑到 对其编程。
一个中断服务子程序被另一个中断申请所中断,被称为中断嵌套。8051 单片机至少可以实现两级中断嵌套。图1-2是两级中断嵌套的示意图。
主 程 序 Βιβλιοθήκη 断 服务 子程 序1 中断 服务 子程 序2
断点 1
断点 2
在中断开放的条件下,中断优先级结构解决了如下两个向题: 1)正在执行一个中断服务子程序时,如果发生了另一个中断申请,CPU
优先级设定位。
例如:要求外部中断 1 为高优先级,则 IP 整体设置为: IP=0X04;
例1 系统要求设定8051的片外中断为高优先级中断,片内中断为低 优先级。请写出相应的指令。
解:根据题目要求,需要将8051的外部中断优先级控制位PX0、PX1 设置为1,而内部中断优先级控制位PT0、PT1、PS清为0。 (1) 用字节操作指令: IP = 0x05 ; (2) 用位操作指令: PX0 = 1 ; PX1 = 1 ; PS = 0 ; PT0 = 0 ; PT1 = 0 ;
二. 中断优先级控制IP
8051片内有一个中断优先级寄存器IP,其格式如图6.7所示。
IP (B8H) BCH PS BBH PT1 BAH PX1 B9H PT0 B8H PX0
PX0、PX1为外部中断优先级设定位。只有2个级别, 0 为低, 1 为高。在设置时同样既可以按位设置也可以对 IP整体 设置。 PT0、PT1为内部定时中断优先级设定位。PS为串行接口中断