AT89C51单片机中断系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第 5 章 AT89C51单片机中断系统
难点
•中断优先级控制原则
•中断响应过程
要求
掌握:
•中断控制的专用寄存器
•中断响应过程
了解:
•中断的概念
•单片机的单步执行方式
5.1 中断的基本概念
5.2 MCS-51 单片机的中断系统
5.3 中断系统的应用举例
5.1 中断的基本概念
在CPU 与外设交换信息时,存在着一个快速的CPU 与慢速的外设之间的矛盾。为解决这个问题,发展了中断的概念。
单片机在某一时刻只能处理一个任务,当多个任务同时要求单片机处理时,这一要求应该怎么实现呢?通过中断可以实现多个任务的资源共享。
中断现象在现实生活中也会经常遇到,例如,你在看书——手机响了——你在书上作个记号——你接通电话和对方聊天——谈话结束——从书上的记号处继续看书。这就是一个中断过程。通过中断,你一个人在一特定的时刻,同时完成了看书和打电话两件事情。用计算机语言来描述,所谓的中断就是,当CPU 正在处理某项事务的时候,如果外界或者内部发生了紧急事件,要求CPU 暂停正在处理工作而去处理这个紧急事件,待处理完后,再回到原来中断的地方,继续执行原来被中断的程序,这个过程称作中断。
从中断的定义我们可以看到中断应具备中断源、中断响应、中断返回这样三个要素。中断源发出中断请求,单片机对中断请求进行响应,当中断响应完成后应进行中断返回,返回被中断的地方继续执行原来被中断的程序。
5.2 MCS-51单片机的中断系统
5.2.1 MCS-51单片机的中断源
MCS-51单片机的中断源共有两类,它们分别是:外部中断和内部中断
1. 外部中断源
●外部中断0():来自P3.2引脚,采集到低电平或者下降沿时,产生中断请求。
●外部中断1():来自P3.3引脚,采集到低电平或者下降沿时,产生中断请求。
2. 内部中断源
●定时器∕计数器0(T
):定时功能时,计数脉冲来自片内;计数功能时,计数脉冲来自片外P3.4引
脚。发生溢出时,产生中断请求。
●定时器∕计数器1(T
):定时功能时,计数脉冲来自片内;计数功能时,计数脉冲来自片外P3.5引
1
脚。发生溢出时,产生中断请求。
●串行口:为完成串行数据传送而设置。单片机完成接受或发送一组数据时,产生中断请求。
5.2.2 中断控制的专用寄存器
MCS-51单片机为用户提供了四个专用寄存器,来控制单片机的中断系统。
1.定时器控制寄存器(TCON)
该寄存器用于保存外部中断请求以及定时器的计数溢出。进行字节操作时,寄存器地址为88H。按位操作时,各位的地址为88H~8FH。寄存器的内容及位地址表示如下:
位地址8F
H
8EH 8DH
8C
H
8B
H
8AH
89
H
88
H
位符号TF1 TR1 TF0
TR
IE1IT1IE0IT0
●IT0 和IT1——外部中断请求触发方式控制位
IT0(IT1)=1 脉冲触发方式,下降沿有效
IT0(IT1)=0 电平触发方式,低电平有效
●IE0和IE1——外中断请求标志位
当CPU采样到(或)端出现有效中断请求时,IE0(IE1)位由硬件置“1”。当中断响应完成转向中断服务程序时,由硬件把IE(或IE)清零。
●TR0和TR1——定时器运行控制位
TR0(TR1)=0 定时器/计数器不工作
TR0(TR1)=1 定时器/计数器开始工作
●TF0和TF1——计数溢出标志位
当计数器产生计数溢出时,相应的溢出标志位由硬件置“1”。当转向中断服务时,再由硬件自动清“0”。计数溢出标志位的使用有两种情况:采用中断方式时,作中断请求标志位来使用;采用查询方式时,作查询状态位来使用。
2. 串行口控制寄存器(SCON)
进行字节操作时,寄存器地址为98H。按位操作时,各位的地址为98H~9FH。寄存器的内容及位地址表示如下:
位地址9F
H
9EH 9DH 9CH 9BH 9AH 99H 98H
位符号
S
M0
SM1SM2R EN TB8RB8TI RI
其中与中断有关的控制位共2位:
●TI——串行口发送中断请求标志位
当发送完一帧串行数据后,由硬件置“1”;在转向中断服务程序后,用软件清“0”。
●RI——串行口接收中断请求标志位
当接收完一帧串行数据后,由硬件置“1”;在转向中断服务程序后,用软件清“0”。串行中断请求由TI和RI 的逻辑或得到。就是说,无论是发送标志还是接收标志,都会产生串行中断请求。
3. 中断允许控制寄存器(IE)
进行字节操作时,寄存器地址为0A8H。按位操作时,各位的地址为0A8H~0AFH。寄存器的内容及位地址表示如下:
位地址0AFH 0AE
H
0ADH 0ACH 0ABH 0AAH 0A9H 0A8H
位符号EA / / ES ET1EX1ET0EX0其中与中断有关的控制位共6位:
●EA——中断允许总控制位
EA=0 中断总禁止,禁止所有中断
EA=1 中断总允许,总允许后中断的禁止或允许由各中断源的中断允许控制位进行设置。
●EX0和EX1——外部中断允许控制位
EX0(EX1)=0 禁止外部中断
EX0(EX1)=1 允许外部中断
●ET0和ET1——定时器/计数器中断允许控制位
ET0(ET1)=0 禁止定时器/计数器中断