外部中断的一些预备知识

一、中断源

二、中断申请标志寄存器——TCON(和定时器的那个TCON是一样的)
(每次中断都需要先申请)


1、每一个中断源都有相应的中断标志位;
2、某一个中断源申请中断,相应中断标志位置1,系统自动置1,程序可通过检查中断申请标志位0 还是1,判断有无中断产生
二、中断允许标志寄存器IE
(申请外部中断之后要开允许,不开允许外部中断是不能接受中断的)


1、EA:总中断允许位,EA=1开放所有中断,EA=0,禁止所有中断;
2、某一个中断源还有相应的中断允许位,1允许相应中断源的中断,0禁止相应中断源的中断。(这两个就有点像是总开关和局部开关的关系)
三、中断的优先级标志寄存器IP
(当有多个中断来临的时候,设置优先级可以决定哪个中断程序先执行)

1、单片机中有两个中断优先级,即高优先级中断和低优先级中断,前者优先权高于后者(在程序中设置,相应位=1,为高优先级);
2、同一优先级别的中断源按照自然优先级顺序确定优先级别(硬件形成,无法改变)。
例子:按照按键次序,先后依次点亮8盏灯中的一盏,要求采用中断方式编程。

代码展示:
ORG 0000H
LJMP MAIN
ORG 0013H ; 中断矢量,外部中断1—INT1—P3.3
LJMP INT
ORG 040H
MAIN:SETB EX1 ; 开外部中断INT1允许
CLR PX1 ; 外部中断INT1低优先级
SETB IT1; INT1边沿触发
SETB EA; 开中断总允许
MOV A,#01H; A=准备的显示初值0000 0001B
HERE:SJMP HERE; 原地等待中断申请
INT:
MOV P1,A ; 输出到P1口显示
RL A ; 左环移一次,准备下次显示的数据
RETI ; 中断返回
END
中断扩展——中断和查询结合

代码展示:
ORG 0003H ;外部中断0入口
AJMP INT0 ;转向中断服务程序入口
INT0: PUSH PSW ;保护现场
PUSH ACC
JNB P1.0,EXT0 ;中断源查询并转相应服务程序
JNB P1
51单片机中断与定时器详解

本文深入解析51单片机的中断机制,包括中断源、中断标志寄存器、中断允许标志寄存器等,并详细介绍定时器的工作原理、控制寄存器及其初始化过程。此外,还提供了具体的编程示例。
最低0.47元/天 解锁文章
4145

被折叠的 条评论
为什么被折叠?



