第八章-中断系统.doc
文本预览下载声明
第八章 中断系统
8·1 什么是中断?在单片机中中断能其现哪些功能?
答:中断是通过硬件来改变CPU程序运行方向。计算机在执行程序的过程中,由于CPU以
外的某种原因,有必要尽快中止当前程序的执行,而去执行相应的处理程序,待处理结束后,再回来继续执行被中止了的原程序。这种程序在执行过程中由于外界的原因而被中间打断的情况称为中断。
在单片机中中断能实现如下功能:
(1)能实现中断及返回
当某一个中断源发出中断申请时,CPU能决定是否响应这个中断请求(当CPU在执行更
急更重要的工作时,可以暂不响应中断)。若允许响应这个中断请求,CPU必须在现行的指令执行完后,把断点处的PC值(即下一条应执行的指令地址)推入堆栈保留下来 —— 称为保护断点。这一步是硬件自动执行的。
(2)能实现优先权排队
计算机能按中断源级别高低逐次响应的过程称为优先权排队。这个过程可以通过硬件电
路来实现,也可以通过程序查询来实现。
(3)能实现中断嵌套
当CPU响应某一中断的请求,在进行中断处理时,若有优先权级别更高的中断源发出中断申请,则CPU能中断正在进行的中断服务程序,并保留这个程序的断点(类似于子程序嵌套),响应高级中断;在高级中断处理完以后,再继续进行被中断的中断服务程序。这个过程称为中断嵌套。
8·2 什么是中断优先级?中断优先级处理的原则是什么?
答:通常,在系统中有多个中断源,有时会出现两个或更多个中断源同时提出中断请求的情
况。这就要求计算机既能区分各个中断源的请求,又能确定首先为哪一个中断源服务。为了
解决这一问题,通常给各中断源规定了优先级别,称为优先权或中断优先级。
中断优先级处理的原则是:当两个或者两个以上的中断源同时提出中断请求时,计算机首先为优先权最高的中断源服务,服务结束后,再响应级别较低的中断源。
8·3 80C51有几个中断源?各中断标志是如何产生的,又如何清0的?CPU响应中断时,中断入口地址各是多少?
答:80C51单片机有5个中断源,分别为:2个外部输人中断源INT0(P3·2)和INTl(P3.3);2
个片内定时器T0和Tl的溢出中断源TF0(TCON·5)和TFl(TCON.7);1个片内串行口发送和接收中断源TI(SCON·l)和RI(SCON·0)。
各中断标志的产生和清0如下:
(1)外部申断类
外部中断是由外部原因引起的,可以通过两个固定引脚,即外部中断0 INT0和外部中1 INT1输入信号:
INT0一一外部中断0请求信号,由P3.2脚输入。通过IT0(TCON.0)来决定申断请求
信号是低电平有效还是下跳变有效。一且输人信号有效,则向CPU申请中断,并且使IE0=1。硬件复位。
INTl——外部中断1请求信号,功能与用法类似外部中断0。
(2)定时中断类
定时中断是为满足定时或计数溢出处理的需要而设置的。当定时器/计数器中的计数结
构发生计数溢出时,即表明定时时间到或计数值已满,这时就以计数溢出信号作为中断请求,
去置位一个溢出标志位。这种中断请求是在单片机芯片内部发生的,无需在芯片上设置引人
端,但在计数方式时,中断源可以由外部引人。
TF0 ——定时器T0溢出申断请求。当定时器T0产生溢出时,定时器T0中断请求标志
TFO=1,请求中断处理。使用中断时由硬件复位,在查询方式下可由软件复位(即清0)。
TFl ——定时器Tl溢出中断请求。功能与用法类似定时器T0。
(3)串行口中断类
串行口中断是为串行数据的传送需要而设置的。串行中断请求也是在单片机芯片内部发
生的,但当串行口作为接收端时,必须有一完整的串行帧数据从RI端引人芯片,d可能引发中断。
RI或TI—— 串行中断请求。当接收或发送完一串行帧数据时,使内部串行口中断请求
标志RI或TI=1,并请求中断。响应中断后必须软件复位。
CPU响应中断时,中断入口地址如下:
中断源 入口地址
外部中断0 0003H
定时器T0申断 000BH
外部中断1 0013H
定时器Tl中断 00lBH
串行口中断 0023H
8·4 中断响应时间是否确定不
显示全部