第五章中断 教学目的和要求 本章主要介绍中断的概念,MCS-51的中断系统,CPU对中断的 响应及中断扩展。要求理解MCS-51中断系统及响应过程,理解中断 触发的相应条件,以及中断的触发方式。掌握中断系统的控制,学握 C51中断函数的编写和中断扩展的方法。 重点:MCS-51的中断系统,中断函数的编写和中断扩展的方法 难点:C51中断函数的编写和中断扩展的方法 学时:2 5.1概述 一、中断的概念: 例:当你正在看书时,电话铃响了,你会在书上作个记号,而后 去接电话,在通话期间,门铃又响了,你会告诉对方暂停一下,去开 门,而后回去接电话,通话结束后,在回去从作记号的地方开始看书。 (这当中不但有中断,而且有中断嵌套)。 即:中断是当CPU正在处理某件事情时,外部发生了另一事件, 请求CPU迅速处理,于是CPU暂时中断当前的工作,转去处理所发 生的事件:中断服务处理完成后,再回到原来被中断的地方,继续原 来的工作(如同篮球比赛的暂停)。中断过程如下图所示。 王序
二、中断的功能 中短的功能主要有: 1、实现CPU与外设的速度配合 CPU速度非常快,而外设(如打印机)的速度一般都不快,这 样CPU可以分时为外设服务,外设有请求,服务外设,无情求,执 行主程序。 2、实现实时控制 一旦有请求,CPU转向中断请求程序,实现实时控制。 3、实现故障的及时处理 旦有故障,转向故障中断请求,实现故障的及时处理 4、实现人机联系 通过外设(如键盘)请求中断。 5.2、MCS-51中断系统 8051中断系统的结构如下图: Tn0-0 n i- 特件查询 从上图可以看出,8051有5个中断源(N70,NT1,T0,T1,串口), 四个用于中断控制的特殊功能寄存器(TCON、SCON、E、IP)
一、中断源 5个中断源为: T0外部中断源0:由P3.2端口线引入,低电平或下降沿引起。 T外部中断源1:由P3.3端口线引入,低电平或下降沿引起 定时器/计数器T0溢出中断源:由T0溢出引起。 定时器/计数器T1溢出中断源:由T1溢出引起 T/R一串行VO中断:串行口的发送/接收中断源,串行端口完 成一帧字符发送/接收后引起。 二、中断控制 单片机内部有四个用于中断控制的特殊功能寄存器(TCON、 SCON、IE、IP) 中断请求标志 TC0N的中断标志位(P84:表4一1) TCON(88H) TF1 TRI TFO TRO IE1 ITI IEO ITO 各bit的工能如下: TF1:定时器/计数器T1溢出标志。当T1溢出时,由硬件自动置 1,并向CPU发出中断请求:当CPU执行完中断响应程序后,由硬 件清0。 TR1:定时器/计数器T1运行控制标志位。由软件设置或清除。 TR1=1时,启动T1:TR1=0停止T1。 TFO:定时器/计数器T0溢出标志,功能同TF1 TRO:T0运行控制标志位,作用同TR1
正1:外部中断1请求标志位。当检测到外部中断引脚(P3.3引 脚)上有中断请求信号时,由硬件置1:待CPU响应中断后,由硬 件清0。 T1:外部中断1方式控制标志。T1=0,当P3.3引脚为低电平 时触发外部中断1:T1=1,当P3.3引脚检测到下降沿信号时,触发 外部中断1。 正0:外部中断0请求标志位。当检测到P3.2引脚上有中断请求 信号时,由硬件置1;待CPU响应后,由硬件清0。 1T0:外部中断0方式控制标志。IT0-0,当P3.2引脚为低电平 时触发外部中断0;T0=1,当P3.2引脚检测到下降沿信号时,触发 外部中断0。 2)串口控制寄存器SC0N(P85:表4-2) SCON (98H)D7 D6 D5 D4 D3 D2 DI DO TIRI SCON的低两位控制串口的接受中断和发送中断,其含义如下: T:串口内部发送中断请求标志位。当串口发送完一个字符后, 由内部硬件使TI=1。产生中断请求标志。 I:串口内部接收中断请求标志位。当串口接收到一个字符后, 由内部硬件使RI=1。产生中断请求标志。 注意:CPU响应串口发送或接受中断时并不使TI或RI清O, RI和RI的清0必须由用户在中断服务程序中完成(用CLR TI等清0 指令),其原因是串行口的发送中断TI和接收中断RI,共用一个内 部中断源
3)中断允许控制寄存器E(P86:表4一3) EA ET2 ES ETI EXI ETO EXO IE (A8H) 各bit的工能如下: EA:中断允许/禁止总控制标志。EA=1,允许开中断:EA=O, 禁止中断。 ET2:定时器/计数器T2中断允许/禁止位。ET2=1允许中断, ET2-0禁止中断(52类型单片机才有)。 ES:串口中断允许/禁止位。ES=1允许串口中断,ES0时禁止。 ET1:定时器/计数器T1中断允许/禁止位。ET1=1,允许T1中 断:ET1=O,中断禁止。 EX1:外部中断1(P3.3)允许/禁止位。EX1=1允许外部中断1: EX1=0时禁止。 ETO:定时器/计数器T0中断允许/禁止位,ET0=1,允许T0中 断:ET0-0,中断禁止。 EX0:外部中断0(P3.2)中断允许位,EX0=1允许外部中断0: EX0=0时禁止。 4)中断优先控制寄存器IP(P86:表4一4) MCS一51单片机的中断请求优先级分为两级(高、低),由用户 通过P来设定。 XX PT2 PS PTI PXI PTO PXO 各bit的工能如下: PT2:设定定时器T2中断优先级,PT2=1时为高,PT2=0位低: