当前位置:文档之家› AT89C51单片机的中断系统

AT89C51单片机的中断系统


(3)IE1—外部中断请求1的中断请求标志位。 IE1=0,无中断请求。 IE1=1,外部中断1有中断请求。当CPU响应该中断,转向中 断服务程序时,由硬件清“0”IE1。
• 程序如下: L0: MOV DX,PST

IN AL,DX
D0

TEST AL,01H; 00000001 判D0

JZ L0 ;D0为1下走,为0→L0

MOV AL,BL;

MOV DX,PDATA

OUT DX,AL;DX←数据
5.2 AT89C51单片机中断系统的结构
有5个中断请求源,两个中断优先级,可两级嵌套。
图5-1所示。对事件的整个处理过程,称为中断处 理(或中断服务)。
图5-1 中断响应和处理过程
能够实现中断处理功能的部件称为中断系统;产生中断的 请求源称为中断请求源。 中断源向CPU提出的处理请求,称为中断请求(或中断申请)。 进入中断→保护现场→中断处理恢复现场→中断返回 优点:大大地提高了CPU的工作效率。
第5章 AT89C51单片机的中断系统
实时测控,单片机能及时地响应和处理单片机外部事件或 内部事件所提出的中断请求。
5.1 中断的概念
CPU正在执行程序时,单片机外部或内部发生的某一事件, 请求CPU迅速去处理。
CPU暂时中止当前的工作,转到中断服务处理程序处理所 发生的事件。处理完该事件后,再回到原来被中止的地方, 继续原来的工作,这称为中断。 CPU处理事件的过程,称为CPU的中断响应过程。
D7~D0
DB
AB M/IO CPU
WR
RD
端口 译码器
输出 锁存器
74LS373
往输出 设备
(LED显示器)
输入 缓冲器
74LS240
来自输 入设备
(开关状态)
无条件传送方式的工作原理
二、查询工作方式
适用场合: • 外设并不总是准备好 • 对传送速率和效率要求不高 对外设及接口的要求: • 外设应提供设备状态信息 • 接口应具备状态端口
• 低,轮流查各个外设,实时性差。
I/O 数据
数据端口
外设
状态端口
状态
信号
端口选择 及控制
DB M
AB P
CB U
图5-5 查询式接口的硬件结构
查询工作方式 • 优点:软件比较简单 • 缺点:CPU效率低,数据传送的实时性
差,速度较慢
单一外设时 的工作流程
防止死循环
超时?
N
读入并测试外设状态
N
当CPU与外设同步时,采用无条件传送方式较为方便实用。 当两者不同步时,采用无条件传送方式会出错,应 采用条件传送方式。
• 所有I/O操作处在正在执行程序的控制之下,外设设备
• 处在被动地位。

a CPU从状态口读状态字

b CPU检测状态字对应位,判是否准备好

c 准备好,传送数据
• 该方式比无条件传送可靠,应用场合多,但CPU效率极











中断嵌套流程
介绍几种传送方式
一、无条件传送
• 适用于总是处于准备好状态的外设
• 优点:软件及接口硬件简单
• 缺点:只适用于简单外设,适应范围较窄
• 无条件传送方式不用测试外设的状态,直接执行IN/OUT • 指令,主要用于外设各种动作为已知或固定的场合。
(如开关、LED、显示器、继电器等)程序设计简单, 该方式用的较少。
IOW
A9
|
&
A3
A15
|
≥1
A10
A2 A1 A0
IOR
74LS374
74LS138
G
Y0
G2A G2B
C
Y3
B
A
D5
≥1 3F8H
D7-D0 Q7 Q6 Q5 Q4 Q3 Q2 Q1
CP Q0
OE
3FBH
≥1 状态端口
D7 D6 D5 D4 D3 D2 D1 D0
外 设
BUSY
程序段?
• 例1.设数据输入口PORT1,状态口地址为PORT2,传送
• MOV [SI],AL ;存数据
• INC SI ;修改地址指针
• LOOP START ;未完,继续传送,已完,继续后

续程序
• 例2.如果一个输出设备接口的状态端口(8位)的地址 为PST,状态端口的D0位为1,表明准备好。数据端口
• (8位)的地址为PDATA,采用条件传送方式传送1字节 数据(数据在BL中)
• 的数据字节数为N,则查询式数据输入的程序如下:
• MOV SI,0 ;地址指针初始化为0
• MOV CX,N ;传送的字节数送CX
• START: IN AL,PORT2 ;读状态位
D1
• TEST AL,02H ;检测数据是否准备好00000010
• JZ START ;未就绪,循环等待
• IN AL,PORT1 ;已准备好,读数据口数据
复位计时器
READY?
Y
与外设进 行数据交换
Y
超时错
N
传送完?
Y
查询工作方式实例
外设状态端口地址为03FBH,第5位(bit5) 为状态标志(=1忙,=0准备好)
外设数据端口地址为03F8H,写入数据会使 状态标志置1 ;外设把数据读走后又把 它置0。
试画出其电路图,并将DATA下100B数输出
D7-D0
5.2.1 中断请求源
中断系统结构示意图如图5-2所示。
图5-2 AT89C51单片机的中断系统结构示意图
五个中断请求源 : (1)INT0*—外部中断请求0,由引脚INT0*输入,中断请求标
志为IE0。 (2)INT1*—外部中断请求1,由1。 (3)定时器/计数器T0溢出中断请求,中断请求标志为TF0。 (4)定时器/计数器T1溢出中断请求,中断请求标志为TF1。 (5)串行口中断请求,中断请求标志为TI或RI。
当CPU正在处理一个优先级的中断请求的时候,如果发生另一 个优先级比它高的中断请求,CPU暂停正在处理的中断源的处理 程序,转而处理优先级高的中断请求,待处理完之后,再回到原来 正在处理的低级中断请求,这种高级中断源能中断低级中断源的 中断处理称为中断嵌套。具有中断嵌套的系统称为多级中断系 统,没有中断嵌套的系统称为单级中断系统。
5.2.2 中断请求标志寄存器
特殊功能寄存器TCON和SCON的相应位锁存5个中断请求源 的中断请求标志。
1. TCON寄存器 TCON为定时器/计数器的控制寄存器,字节地址为88H。
各标志位的功能: 图5-3 TCON中的中断请求标志位 (1)TF1—T1溢出中断请求标志位。
T1计数后,溢出时,由硬件置“1”TF1,向CPU申请中断, CPU响应TF1中断时,硬件自动清“0”TF1,TF1也可由软件清 0。 (2)TF0—T0的溢出中断请求标志位,功能和TF1类似。
相关主题