当前位置:文档之家› 中断系统及其应用

中断系统及其应用


2.SCON中的中断标志
SCON是串行口控制寄存器,其低2 位TI和RI锁存串 口的发送中断和接收中断标志。其格式和各位含义如 下: SCON 99H 98H (98H)SMOD TI RI
TI—— 串行发送中断标志。 CPU 将一个字节数据写入 发送缓冲器 SBUF 后启动发送,每发送完一个串行帧, 硬件置位TI。TI标志由软件清除。 RI—— 串行接收中断标志。在串行口允许接收时,每 接收完一个串行帧,硬件置位RI。RI标志由软件清除。 MCS - 51 系统复位后, TCON 和 SCON 中各位均被清 “0”。
第5章 中断系统及其应用
● 教学目标: 介绍中断、中断源、中断系统的概念 介绍MCS-51中断系统及中断控制 介绍中断处理的过程 介绍中断应用程序的编程 ● 学习要求: 熟悉中断、中断源、中断服务程序、保护现场、 恢复现场、中断优先级、中断处理等概念; 掌握MCS-51中断入口地址和各中断控制寄存器 的每位含义及应用:包括定时器/计数器控制寄存器 TCON、串行口控制寄存器SCON、中断允许控制寄存 器IE和中断优先控制器IP; 掌握中断初始化和中断服务程序的编制。

4. 实现中断的撤除
在响应中断申请以后,返回主程序之前, 中断请求应该撤除,否则,就等于中断 申请依然存在,这将影响对其它中断申 请的响应。 MCS-51中断系统只能对一部分中断申请, 在响应后自动撤除,使用中应注意。


5.2 MCS-51中断系统及中断控制


MCS-51的中断系统结构框图如图5—3所 示,与中断有关的特殊功能寄存器有4个, 分别为中断源寄存器(即专用寄存器 TCON 和 SCON 的相关位 ) 、中断允许控 制寄存器 IE和中断优先级控制寄存器 IP。 MCS-51单片机有5个中断源,可提供两 个中断优先级,即可实现二级中断嵌套。
自然优先级由硬件形成,排列次序如下:
中断源 自然优先级 外部中断0 最高级 定时器T0中断 外部中断1 定时器T1中断 串行口中断 最低级 当重新设置优先级时,则顺序查询逻辑电路将会相 应改变排队顺序。例如,给中断优先级寄存器IP中设 置的优先级控制字为 11H ,则 PS 和 PX0 均为高优先级 中断。当这两个中断源同时发出中断申请时,CPU将 先响应自然优先级高的 PX0 的中断申请,而后响应自 然优先级低的PS的中断申请。
2.定时中断类
定时中断是为满足定时或计数溢出处理的 需要而设置的,当定时器/计数器中的计数结 构发生计数溢出时,即表明定时时间到或计数 值已满,这时就以计数溢出信号作为中断请求, 去置位一个溢出标志位,这种中断请求是在单 片机芯片内部发生的,无需在芯片上设置引入 端,但在计数方式时,中断源可以由单片机芯 片外部引入。 TF0— 一定时器 T0 溢出中断请求。当定时 器 T0 产生溢出时,其中断请求标志 TF0 = 1 , 请求中断处理。 TF1—— 定时器 T1 溢出中断请求。当定时 器 T1 产生溢出时,其中断请求标志 TF1 = 1 , 请求中断处理。
3.实现中断嵌套
当 CPU响应某一中断的请求而进行中断处 理时,若有优先权级别更高的中断源发出中断 申请,CPU则中断正在进行的中断服务程序, 并保留这个程序的断点(类似于子程序嵌套), 响应高级中断,在高级中断处理完以后,再继 续执行被中断的中断服务程序。 中断嵌套示意图如图5—2所示。 中断申请的中断源的优先权级别与正在处 理的中断源同级或更低时,CPU暂时不响应这 个中断申请,直至正在处理的中断服务程序执 行完以后才去处理新的中断申请。
专用寄存器IP为中断优先级寄存器, 其格式和各位含义如下:
IP (B8H) BCH BBH BAH B9H B8H PS PT1 PX1 PX1 PX0
PS——串行口中断优先级控制位。 PT1——T1中断优先级控制位。 PX1——外部中断l中断优先级控制位。 PT0——T0中断优先级控制位。 PX0——外部中断0中断优先级控制位。 以上对应位为1,高优先级;为0,低优先级。 当系统复位后,IP低5位全部清“0”,将所有中断源 设置为低优先级中断。
5.2..2 MCS-51中断请求
在中断请求被响应前,中断请求标志分别由特殊功能 寄存器TCON和SCON的相应位锁存。 1.TCON中的中断标志 TCON控制寄存器各位含义: TCON 8FH 8DH 8BH 8AH 89H 88H
(88H)
TFl
TF0
IE1
IT1
IE0
IT0
TFl——T1溢出中断标志。 T1被启动计数后,从初值开始加1计数,直至计满溢 出后,由硬件使TFl=l,向CPU请求中断,此标志一直保 持到CPU响应中断后,才由硬件自动清“0”。也可用软件 查询该标志,并由软件清“0”。
中断及返回过程如图5—1所示:
主 程 序 执 行 中 断 服 务 程 序 RETI 图5-2 中断嵌套流程图 中断 主 程 序 低 级 中 断 中断 高 级 中 断
继 续 执 行 主 程 序
返回
返回
图5-1 中断流程图
2.实现优先权排队



优先权 —— 给各中断源规定一个优先级 别,称为优先权。 当两个或者两个以上的中断源同时提出 中断请求时,计算机首先为优先权最高 的中断源服务,服务结束后再响应级别 较低的中断源。计算机按中断源级别高 低逐次响应的过程称优先权排队。 这个过程可以通过硬件电路来实现,也 可以通过程序查询来实现。
5.1.3中断系统的一般功能
中断系统一般应具有如下功能: 1. 实现中断及返回 当某一个中断源发出中断申请时,若允许 响应这个中断请求,CPU必须在现行的指令执 行完后,把断点处的PC值 ( 即下一条应执行的 指令地址 ) 压入堆栈保存起来,称为保护断点, 这是由硬件自动完成的。 保护现场——响应中断请求后,将有关的寄存 器内容和状态标志位压入堆栈保存起来,这称 为保护现场。 恢复现场——执行中断服务程序后,恢复原保 留的寄存器的内容和标志位的状态,称恢复现 场,并执行返回指令“RETI”,这个过程通过 用户编程来实现。
5.1概述
中断技术是计算机中的重要技术之一。 引入中断技术作用: (1)实时处理,提高计算机处理故障的能 力; (2)解决CPU和外设之间的速度匹配问题, 提高CPU的效率。 本章将介绍中断的概念,并以 MCS-51的中断系统为例介绍中断的处理 过程及应用。
5.1.1中断的概念
中断——是指中央处理器CPU正在执行程序,处 理某件事情的时候,外部发生了某一事件,请 求CPU马上处理,CPU暂时中断当前的工作, 转入处理所发生的事件,处理完以后,再返回 到原来被中断的地方,继续原来的工作。 实现中断功能的部件称为中断系统。 中断服务程序——中断之后所执行的处理程序通 常称为中断服务程序,原来运行的程序称为主 程序。 断点 —— 主程序被断开的位置( 地址 ) 称为断点。 中断源——引起中断的原因,或能发出中断申 请的来源,称为中断源。 中断请求 —— 中断源要求服务的请求称为中断 请求或中断申请。
TF0——T0溢出中断标志。其操作功能类似于 TF1。 IE1——INT1外部中断1标志。IE1=1表明外部 中断1向CPU申请中断。 IT1——外部中断1触发方式控制位。 (1)ITl=0,外部中断1为电平触发方式,低 电平有效。 (2)ITl=1,外部中断1控制为边沿(先高后 低的负跳变)触发方式。 IE0——INT0外部中断0标志。其操作功能与 IE1类同。 IT0——外部中断0触发方式控制位。其操作功 能与IT1类同。
3.串行口中断类
串行口中断是为串行数据的传送需要而设置的。 RI 或 TI—— 串行中断请求。当接收或发送完一串行 帧数据时,使内部串行口中断请求标志 RI 或 TI = 1 , 并请求中断。 各中断源对应的中断服务程序入口地址: 中断源 入口地址 外部中断0 0003H 定时器T0中断 000BH 外部中断1 0013 定时器T1中断 001BH 串行口中断 0023H
调用中断服务程序与调用子程序的区别:
调用子程序指令在程序中是事先安排 好的,而调用中断服务程序事先却无法 确知,因为“中断”的发生是由外设决 定的,程序中无法事先安排调用指令, 因而调用中断服务程序的过程是由硬件 自动完成的。
ห้องสมุดไป่ตู้
5.1.2中断源


中断源——在中断系统中,将引起中断请求的设备或事件的来源,—般统称 为中断源。常见中断源: 1.输入、输出设备中断源 一般计算机的输入、输出设备,如键盘、磁盘驱动器、打印机等,可通过 接口电路向CPU申请中断。 2.故障源 故障源是产生故障信息的来源。例如:CPU内部故障源,如除法中除数为 零时的情况;外部故障源,如电源掉电情况。 在电源掉电时可以接入备用的电池供电,以保存存储器中的信息。当电压因 掉电降到—定值时,就发出中断申请,由计算机的中断系统完成替换备用电 源的控制。 3.实时中断源 在实时控制中,常常将被控参数、信息作为实时中断源。例如,电压、电 流、温度等超越上限或下限时,以及继电器、开关闭合断开时,都可以作为 中断源申请中断。 4.定时/计数脉冲中断源 内部定时/计数中断是由单片机内部的定时器/计数器溢出时自动产生的; 外部定时/计数中断是由外部定时脉冲通过CPU的中断请求输入线或定时器/ 计数器的输入线引起的。
5.2.4 中断优先级



中断优先级 —— 系统设计人员给每个中断 源,事先安排一个中断响应的优先顺序。然后 按照轻重缓急的次序响应中断。中断源的这种 优先顺序常被称为中断优先权级别,或简称中 断优先级。 专用寄存器IP统一管理中断优先级。它具有 两个中断优先级,由软件设置每个中断源为高 优先级中断或低优先级中断,并可实现两级中 断嵌套。 高优先级中断源可以中断正在执行的低优先 级中断服务程序,除非在执行低优先级中断服 务程序时设置了CPU关中断或禁止某些高优先 级中断源的中断。同级或低优先级的中断源不 能中断正在执行的中断服务程序。
相关主题