51单片机资源
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.中断系统
一.中断概述
⒈什么叫中断?
CPU暂时中止其正在执行的程序,转去执行请求中断的那个外设或事件的服务程序,等处理完毕后再返回执行原来中止的程序, 叫做中断。
⒉为什么要设置中断?
⑴提高CPU工作效率
⑵具有实时处理功能
⑶具有故障处理功能
⑷实现分时操作
二. 中断源和中断控制寄存器
⒈中断源
中断源是指能发出中断请求,引起中断的装置或事件。80C51单片机的中断源共有5个,其中2个为外部中断源,3个为内部中断源:
⑴ INT0:外部中断0,中断请求信号由P3.2输入。
⑵ INT1:外部中断1,中断请求信号由P3.3输入。
⑶ T0:定时/计数器0溢出中断,对外部脉冲计数由P3.4输入。
⑷ T1:定时/计数器1溢出中断,对外部脉冲计数由P3.5输入。
⑸串行中断:包括串行接收中断RI和串行发送中断TI。
⒉中断控制寄存器
80C51单片机中涉及中断控制的有3个方面,4个特殊功能寄存器:
①中断请求:定时和外中断控制寄存器TCON;串行控制寄存器SCON;
②中断允许控制寄存器IE;
③中断优先级控制寄存器IP。
⑴中断请求控制寄存器
INT0、INT1、T0、T1中断请求标志放在TCON中,串行中断请求标志放在SCON中。
TCON的结构、位名称、位地址和功能如下:
TCON D7 D6 D5 D4 D3 D2 D1 D0
位名称TF1 —TF0 —IE1 IT1 IE0 IT0
位地址8FH 8EH 8DH 8CH 8BH 8AH 89H 88H
功能T1中断标志—T0中断标
志
—
INT1中断
标志
INT1触发
方式
INT0中断
标志
INT0触发
方式
TCON位功能:
① TF1 —— T1溢出中断请求标志,T1计数溢出后,TF1=1
② TF0 —— T0溢出中断请求标志
T0计数溢出后,TF0=1
③ IE1 ——外中断中断请求标志
当P3.3引脚信号有效时,IE1=1
④ IE0 ——外中断中断请求标志
当P3.2引脚信号有效时,IE0=1
⑤ IT1 ——外中断触发方式控制位
IT1=1,边沿触发方式;
IT1=0,电平触发方式。
⑥ IT0 ——外中断触发方式控制位
其意义和功能与IT1相似。
② RI ——串行口接收中断请求标志
⑵中断允许控制寄存器IE
80C51对中断源的开放或关闭由中断允许控制寄存器IE控制。
EA=1,CPU开中;
EA=0,CPU关中,且屏蔽所有5个中断源。
② EX0 ——外中断INT0中断允许控制位
EX0=1,INT0开中;EX0=0,INT0关中。
③ EX1 ——外中断INT1中断允许控制位
EX1=1,INT1开中;EX1=0,INT1关中。
④ ET0 ——定时/计数器T0中断允许控制位
ET0=1,T0开中;ET0=0,T0关中。
⑤ ET1 ——定时/计数器T1中断允许控制位
ET1=1,T1开中;ET1=0,T1关中。
⑥ ES ——串行口中断(包括串发、串收)允许控制位
ES=1,串行口开中;ES=0,串行口关中。
说明: 80C51对中断实行两级控制,总控制位是EA,每一中断源还有各自的控制位。首先要EA=1,其次还要自身的控制位置“1”。
三. 中断处理过程
中断处理过程大致可分为四步:
中断请求、中断响应、中断服务、中断返回
⒈中断请求
中断源发出中断请求信号,相应的中断请求标志位(在中断允许控制寄存器IE中)置
“1”。
⒉中断响应
CPU查询(检测)到某中断标志为“1”,在满足中断响应条件下,响应中断。
⑴中断响应条件:
①该中断已经“开中”;
② CPU此时没有响应同级或更高级的中断;
③当前正处于所执行指令的最后一个机器周期;
④正在执行的指令不是RETI或者是访向IE、IP的指令,
否则必须再另外执行一条指令后才能响应。
⑵中断响应操作
CPU响应中断后,进行下列操作:
①保护断点地址;
②撤除该中断源的中断请求标志;
③关闭同级中断;
④将相应中断的入口地址送入PC;
80C51五个中断入口地址:
INT0:0003H;
T0:000BH;
INT1:0013H
T1:001BH;
串行口:0023H
⒊执行中断服务程序
中断服务程序应包含以下几部分:
⑴保护现场
⑵执行中断服务程序主体,完成相应操作
⑶恢复现场
⒋中断返回
在中断服务程序最后,必须安排一条中断返回指令RETI,当CPU执行RETI指令后,自动完成下列操作:
⑴恢复断点地址。
⑵开放同级中断,以便允许同级中断源请求中断。
四. 中断响应等待时间
若排除CPU正在响应同级或更高级的中断情况,中断响应等待时间为:3~8个机器周期
五. 中断请求的撤除
中断源发出中断请求,相应中断请求标志置“1”。 CPU响应中断后,必须清除中断请求“1”标志。否则中断响应返回后,将再次进入该中断,引起死循环出错。
⑴对定时/计数器T0、T1中断,外中断边沿触发方式,CPU响应中断时就用硬件自动清除了相应的中断请求标志。
⑵对外中断电平触发方式,需要采取软硬结合的方法清除(CPU自动硬件清除,同时用户也要及时将外部中断引脚变成无效电平)。
⑶对串行口中断,用户应在串行中断服务程序中用软件清除TI或RI。
六. 中断优先控制和中断嵌套
⒈中断优先控制
80C51中断优先控制首先根据中断优先级,此外还规定了同一中断优先级之间的中断优先权。其从高到低的顺序为:INT0、INT1、T0、T1、串行口。
中断优先级是可编程的,而中断优先权是固定的,不能设置,仅用于同级中断源同时请求中断时的优先次序。
80C51中断优先控制的基本原则:
①高优先级中断可以中断正在响应的低优先级中断,反之则不能。
②同优先级中断不能互相中断。
③同一中断优先级中,若有多个中断源同时请求中断,CPU将先响应优先权高的中断,