一、中断系统
(一)概述
中断技术主要用于实时监测与控制,要求单片机能及时地响应中断请求源提出的服务请求,并快速响应与及时处理。 当中断请求源发出中断请求时,如中断请求被允许,单片机暂时中止当前正在执行的主程序,转到中断服务处理程序处理中断服务请求,处理完中断服务请求后,再回到原来被中止的程序之处(断点),继续执行被中断的主程序。
编辑
图1 单片机对外设中断服务请求整个中断响应和处理过程
(二)51单片机中断原理
中断系统有5个中断请求源(简称中断源),2个中断优先级,可实现2级中断服务程序嵌套。每一中断源可用软件独立控制为允许中断或关闭中断状态;每一个中断源的优先级均可用软件设置。
编辑图2
1、中断请求源
由图2,中断系统共有5个中断请求源,它们是:
(1)INT0—外部中断请求0,外部中断请求信号(低电平或负跳变有效)由INT0引脚输入,中断请求标志为IE0。
(2)INT1—外部中断请求1,外部中断请求信号(低电平或负跳变有效)由INT1引脚输入,中断请求标志为IE1。
(3)定时器/计数器T0计数溢出的中断请求,标志为TF0。
(4)定时器/计数器T1计数溢出的中断请求,标志为TF1。
(5)串行口中断请求,标志为发送中断TI或接收中断RI。
2、中断请求标志寄存器
[1]TCON寄存器
为定时器/计数器的控制寄存器,字节地址为88H,可位寻址。既包括定时器/计数器T0、T1溢出中断请求标志位TF0和TF1,也包括两个外部中断请求的标志位IE1与IE0,还包括两个外部中断请求源的中断触发方式选择位。TCON格式见图3。
编辑
图3 特殊功能寄存器TCON的格式
TCON寄存器中与中断系统有关各标志位功能如下:
(1)TF1—定时器/计数器T1的溢出中断请求标志位。 当启动T1计数后,T1从初值开始加1计数,当最高位产生溢出时,硬件 置TF1为“1”,向CPU申请中断,响应TF1中断时,TF1标志硬件自动清“0”,TF1也可由软件清“0”。
(2)TF0—定时器/计数器T0溢出中断请求标志位,与TF1类似。
(3)IE1—外部中断请求1中断请求标志位。
(4)IE0—外部中断请求0中断请求标志位,与IE1类似。
(5)IT1—选择外中断请求1为跳沿触发还是电平触发方式。 0--电平触发方式,加到INT0脚上的外中断请求输入信号为低电平有效,并把IE1置“1”。转向中断服务程序时,则由硬件自动把IE1清“0”。 1--跳沿触发方式,加到INT1脚上的外中断请求输入信号从高到低的负跳变有效,并把IE1置“1”。转向中断服务程序时,则由硬件自动把IE1清“0”。
(6)IT0—选择外中断请求0为跳沿触发方式还是电平触发方式,与IT1类似。 当AT89S51复位后,TCON被清“0”,5个中断源的中断请