什么是MCS 51单片机的中断系统
扫描二维码
随时随地手机看文章
中断的概述
中断是计算机中一个很重要的概念,中断技术的引入使计算机的发展和应用大大地推进了一步。因此,中断功能的强弱已成为衡量一台计算机功能完善与否的重要指标之一。
1. 中断
中断是指计算机在执行某一程序的过程中,由于计算机系统内、外的某种原因,而必须中止原程序的执行,转去执行相应的处理程序,待处理结束之后,再回来继续执行被中止的原程序的过程。
采用了中断技术后的计算机,可以解决 CPU 与外设之间速度匹配的问题,使计算机可以及时处理系统中许多随机的参数和信息,同时,它也提高了计算机处理故障与应变的能力。
2. 中断源
中断源是指在计算机系统中向 CPU 发出 断请求的来源 ,中断可以人为设定 ,也可以是为响应突发性随机事件而设置 。通常有 I/O 设备 、实时控制系统中的随机参数和信息、故障源等。
3. 中断优先级
由于在实际的系统中,往往有多个中断源,且中断申请是随机 的,故有时可能会有多个中断源同时提出中断申请 ,但 CPU 一次只能响应一个中断源发出的中断请求,这时 CPU 应响应哪个中断请求?这就需要用软件或硬件按中断源工作性质的轻重缓急,给它们安排一个优先顺序,即所谓的优先级排队。中断优先级越高 ,则响应优先权就越高 。当 CPU 正在执行中断服务程序时,又有中断优先级更高的中断申请产生,这时 CPU 就会暂停当前的中断服务转而处理高级中断申请,待高级中断处理程序完毕再返回原中断程序断点处继续执行,这一过程称为中断嵌套。
4. 中断响应的过程
(1) 在每条指令结束后,系统都自动检测中断请求信号,如果有中断请求,且 CPU 处于开中断状态下,则响应中断。
(2) 保护现场,在保护现场前,一般要关中断,以防止现场被破坏。保护现场一般是用堆栈指令将原程序中用到的寄存器推入堆栈。在保护现场之后要开中断 ,以响应更高优先级的中断申请。
(3) 中断服务,即为相应的中断源服务。
(4) 恢复现场,用堆栈指令将保护在堆栈中的数据弹出来,在恢复现场前要关中断,以防止现场被破坏。在恢复现场后应及时开中断。
(5) 返回,此时 CPU 将推入到堆栈的断点地址弹回到程序计数器,从而使 CPU 继续执行刚才被中断的程序。
MCS 51 中断系统
MCS 51 单片机的中断系统由与中断有关的特殊功能寄存器、中断入口、顺序查询逻 辑电路组成,其结构如图 5.1 所示。
图 5.1 MCS 51 中断系统结构框图
中断源
MCS 51 单片机的中断系统,是 8 位单片机中功能最强的一种 。由图 5.1 可知,8051 提供了 5 个中断源(8052 提供了 6 个), 其作用如表 5.1 所示。
8051 的中断请求分别由特殊功能寄存器 TCON 和 SCON 的相应位锁存。
1.特殊功能寄存器 TCON 中的标志
TCON 为内部定时器/计数器 T0 、T1 的控制寄存器,其字节地址为 88H ,位地址为 88H~8FH ,图 5.2 示出了 TCON 各位的定义。
图 5.2 中各位的作用如下:
TF1 :内部定时器 1 溢出标志 。当定时器/计数器溢出时,由硬件置位 ,申请中断,进入中断服务后被硬件自动清除。
TR1 :内部定时器 1 运行控制位。靠软件置位或清除,置位时,定时器/计数器接通工作,清除时停止工作。
TF0 :内部定时器 0 溢出标志。其作用类同于 TF1 。
TR0 :内部定时器 1 运行控制位。其作用类同于 TR1 。
IE1 :外部中断 1 请求标志。检测到在 INT1引脚上出现的外部中断信号有效时,由硬件置位,请求中断。进入中断服务后被硬件自动清除。
IT1 :外部中断 1 类型控制位。靠软件来设置或清除,以控制外部中断的触发类型。 IT1=1 时是下降沿触发,IT1=0 时是低电平触发。
IE0:外部中断 0 请求标志。其作用类同于 IE1 。
IT0:外部中断 0 类型控制位。其作用类同于 IT1 。
2.特殊功能寄存器 SCON
SCON 用于控制和监视串行口的工作状态 。其字节地址为 98H ,位地址为 98H ~ 9FH ,各位定义见图 5.3 。
图 5.3 中各位的作用如下:
SM0 和 SM1 :串行口操作模式选择位;
SM2 :多机通信使能位;
REN:允许接收位;
TB8:发送数据位 8 ;
RB8:接收数据位 8 ;
以上 6 位定义将在串行接口中说明。
TI :串行口发送中断标志。串行口每发送完一帧数据后,硬件就置位 TI 。CPU 响应中 断后不会自动清零 TI,需由软件来完成。
RI :串行口接收中断标志 。串行口每接收完一帧数据后,硬件就置位 RI 。CPU 响应中 断后不会自动清零 RI,需由软件来完成。