围绕中断响应条件及过程展开
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.2 跳沿触发方式 连续两次采样,一个机器周期采样到外部中断输入为高,下 一个机器周期采样为低,则置“1”中断请求标志(IE0/IE1), 直到CPU响应此中断时,该标志才清0。但输入的负脉冲宽 度至少保持1个机器周期。
2. 外部中断请求的撤消 (1)跳沿方式外部中断请求的撤消是自动撤消的。 (2)电平方式外部中断请求的撤消: 除了标志位清“0”之外,还需在中断响应后把中断请 求信号引脚从低电平强制改变为高电平,如图5-8所示。
CPU在执行主程序
CPU执行低级 中断服务程序
CPU执行高级 中断服务程序
低级中 断请求
高级中 断请求
图5-6 二级中断嵌套
特殊情况下中断优先级排列顺序
当同时接收到几个同一优先级的中断请求时,响应哪个中断 源则取决于内部硬件查询顺序。
其优先级顺序排列如下所示。P107 中断源 外部中断0 T0溢出中断 外部中断1 T1溢出中断 串行口中断 中断级别 最高
最低
三、图5-2 中断系统的结构
四、外中断触发方式及中断请求的撤销
1. 外部中断的触发方式选择(IT0/IT1) 两种触发方式:电平触发方式和跳沿触发方式。
适于外中断以低电平输入且 中断服务程序能清除外部中 断请求的情况。
1.1 电平触发方式 CPU在每个机器周期采样到的外部中断输入线的电平。 在中断服务程序返回之前,外部中断请求输入必须无效 (即变为高电平),否则CPU返回主程序后会再次响应 中断。
C1 U1 X1 C2
CRYSTAL 18 XTAL1 P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD 39 38 37 36 35 34 33 32 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17
1. 中断服务程序设计的任务 (1)设置中断允许控制寄存器IE。 (2)设置中断优先级寄存器IP。 (3)对外中断源,是采用电平触发还是跳沿触发,要 设置IT0/IT1。 (4)编写中断服务程序,处理中断请求。 前3条一般放在主程序的初始化程序段中。
例5-3 假设允许外部中断 0中断,并设定它为高级中断, 其它中断源为低级中断,采用跳沿触发方式。 在主程序中编写如下程序段: SETB SETB SETB SETB EA ;CPU开中断 EX0 ;允许外中断0产生中断 PX0 ;外中断0为高级中断 IT0 ;外中断0为跳沿触发方式
任务2描述:单片机上电,单灯按1Hz频率循环,一旦按下P3.2所接 的按键,发光二极管全亮,2秒钟后,单灯继续原来的循环。 1、流水灯的源程序 2、流水灯的源程序+中断初始化程序 3、中断服务程序及延时子程序 4、 用查询程序实现上述任务 5、从INT0输入,并采用了去抖动电路。
Fra Baidu bibliotek例:
C3
22uF 1nF 19
一、复习中断的概念
围绕中断响应条件及过程展开 中断系统涉及到的SFR 中断的软硬件设计的四个要素
二、中断优先级 三、图5-2 中断系统的结构 四、外中断触发方式及中断请求的撤销 五、中断服务程序的设计 六、多中断源的系统设计
二、89C51的中断优先级
89C51有两个中断优先级。 每个中断请求源均可编程为高优先级中断或低优先级中断。 MCS-51的中断系统有两个不可寻址的“优先级激活触发器”:
只要P1.0端输出一个负脉冲就可以使D触发器置“1”,从而 撤消了低电平的中断请求信号。 所需的负脉冲可增加如下两条指令得到: ORL P1,#01H ;P1.0为“1” ANL P1,#0FEH ;P1.0为“0” 电平方式的外部中断请求信号的完全撤消,是通过软硬件 相结合的方法来实现的。
五、中断服务程序的设计
2. 采用中断时的主程序结构 常用的主程序结构如下: ORG 0000H LJMP MAIN ORG 中断入口地址 LJMP INT ORG XXXXH MAIN: 主程序 ⋮ SJMP $ INT:中断服务程序
⋮
RETI END
3. 中断服务程序的流程
几点说明: (1)现场保护仅涉及到PSW和A的内容, 如还有其它需保护的内容,只需要在相应 的位置再加几条PUSH和POP指令即可。 (2) “中断处理程序段”,应根据任务 的具体要求,来编写。 (3)如果本中断服务程序不允许被其它 的中断所中断,可将“中断处理程序段” 前后的“开中断”和“关中断”两条去掉。 (4)中断服务程序的最后一条指令必须 是返回指令RETI。见例5-4P113
例5-4
INT:
典型的中断服务程序如下:
CLR PUSH PUSH SETB EA PSW ACC EA ;CPU关中断 ;现场保护 ; ;CPU开中断
中断处理程序段
CLR POP POP SETB RETI EA ACC PSW EA ;CPU关中断 ;现场恢复 ;CPU开中断 ;中断返回,恢复断点
一个用来指示某高优先级的中断正在执行,所有后来的中断均
被阻止。 另一个用来指示某低优先级的中断正在执行,所有同级中断都 被阻止,但不阻断高优先级的中断请求。
用中断优先级寄存器IP设置每个中断源的级别
可归纳为下面两条基本规则: (1)低优先级可被高优先级中断,反之则不能。 (2)同级中断不会被它的同级中断源所中断。 两个中断优先级,可实现两级中断嵌套。如图5-6示。
应用举例----关于保护现场
任务2描述:单片机上电,单灯按1Hz频率循环,一旦按下P3.2所接 的按键,发光二极管全亮,2秒钟后,单灯继续原来的循环。
1、流水灯的源程序
2、流水灯的源程序+中断初始化程序 3、中断服务程序及延时子程序
4、 用查询程序实现上述任务 5、从INT0输入,并采用了去抖动电路。