8051单片机原理-8051的中断-8051单片机

来源:本站
导读:目前正在解读《8051单片机原理-8051的中断-8051单片机》的相关信息,《8051单片机原理-8051的中断-8051单片机》是由用户自行发布的知识型内容!下面请观看由(电工学习网 - www.9pbb.com)用户发布《8051单片机原理-8051的中断-8051单片机》的详细说明。

8051单片机原理


8031、8751AH和89C51,提供了5个中断源:即2个外部中断、两个计时器中断和串列口中断。 8052AH则除了以上5个中断外另增加了第六个中断:那就是第三个计时器/计数器。底下仅将中断结构作一概略性的介绍。

中断允许暂存器(INTERRUPT ENABLES)
EA - ET2 ES ET1 EX1 ET0 EX0
EA IE.7 如果EA=0,禁止所有的中断,EA=1时,各中断是否作用,由各允许位决定
- IE.6 不能使用
ET2 IE.5 允许Timer2溢位或补入中断(8052)
ES IE.4 允许串行I/O
ET1 IE.3 允许Timer1
EX1 IE.2 允许INT1
ET0 IE.1 允许Timer0
EX0 IE.0 允许INT0


透过设定或清除在SFR里名为IE(Interrupt Enable)暂存器里的位元,每个中断源都可以被各别的(Enable)或禁止(DISABLE)。这个暂存器(IE)也包含有一个整体禁止位元,它可以被清除,以禁止所有的中断。


中断优先权(Interrupt Priority)

- PT2 PS PT1 PX1 PT0 PX0
IE.7 不能使用
- IE.6 不能使用
PT2 IE.5 定义Timer2优先权(8052)
PS IE.4 定义串行I/O优先权
PT1 IE.3 定义Timer1优先权
PX1 IE.2 定义INT1优先权
PT0 IE.1 定义Timer0优先权
PX0 IE.0 定义INT0优先权

每个中断源可透过设定或清除SFR内名为IP(Interrupt Priority)的暂存器内的某些位元,可个别的将它面划到两层优先权的一层里,较低优先权的中断可以被较高优先权的中断所中断,但并不能被另一个低优先权中断。而高优先权中断就不能被其它中断源中断。如果有两个不同优先权层次的中断同时到达时,则较高优先权的中断要求先被服务。如果相同优先层次的中断同时到达时,则可以用内部的轮询(polling)顺序决定那一个要求先被服务,因此在每个优先层次里有一个次优先权结构由轮询顺序来决定。

IE和IP暂存器及轮询顺序如何动作?

以决定任何中断发生时那一个会被优先服务。中断工作会在每个机械周期的状态5(S5)时,所有的中断旗号都被锁入中断控制系统中,这个取样信号会在下一个机械周期时被加以检查,如果有允许的中断,它的旗号被发现设定"1",此时中断系统就产生一个LCALL至程序记忆体的对应位址。但有某些情况会禁止中断的产生,即相同或较高优先权的中断正在执行时。

硬体所产生的LCALL动作会使得目前的程序计数器值被推入(push)堆叠区,然后将服务程序的起始位址载入PC。如前面所述每个中断服务程序都有一固定的起始位址。中断发生时仅有程序计数器(PC)被推入堆叠区,而PSW或任何一个暂存器都没有放入堆叠区。仅PC被推入堆叠区保存起来,这使得写程序的人可以自己决定要花多少时间去保存其它的暂存器,虽然这会增加程序的负担,但这样,可增快中断响应时间。在许多的中断功能里,例如控制应用时,只要将口里的接脚反相、或重新载入计时器、或读入或写资料至列口缓冲区时,这种作法通常可以比其它的CPU还短的时间完成中断服务的工作。

提醒:《8051单片机原理-8051的中断-8051单片机》最后刷新时间 2023-07-10 03:57:27,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《8051单片机原理-8051的中断-8051单片机》该内容的真实性请自行鉴别。