单片机原理第五章

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MOV MOV MOV TMOD,#06H TH0,#0FFH TL0,#0FFH
SETB
SETB SETB
TR0
ET0 EA

T0引脚每输入一个负跳变,TF0都会置1,向CPU请求中断 T0脚相当于边沿触发的外部中断源输入线。
2.中断和查询相结合
EXINT0 EXINT1 P3.3 ≥1 EXINT2 EXINT3 MCS-51 P1.0 P1.1 P1.2 P1.3
图: 一个外中断扩展成多个外中断的原理图
ORG 0000H Ex1Svr: push PSW
+5V
P1.7
ajmp Main ORG 0003H
P1.4
P1.3 P1.0
ljmp Ex1Svr
ORG 0100H Main: setb IT0
R
8031
/INT0
Q S
setb EX0 setb EA
定时器0或1溢出:CPU在响应中断后,硬件清除了有关的中
断请求标志TFO或TF1,即中断请求是自动撤除的。
边沿激活的外部中断:CPU在响应中断后,也是用硬件自动
清除有关的中断请求标志IE0或IE1。
串行口中断:CPU响应中断后,没有用硬件清除T1、R1,
故这些中断不能自动撤除,而要靠软件来清除相应的标志。
IE=0 否则 IE=1申请中断 • IT0=1 若第一个机器周期/INT0=1,第二个机器周 期/INT0=0,则IE=1否则IE=0
• 转向中断服务时 IE由硬件清零
2、T0、T1溢出中断
TCON
D7 D0
TF1
TF0
IE1 IT1 IE0 IT0
• TF0:51片内定时/计数器0溢出中断请求标志。
应 响 断 中 中 断 返 回
PC中去。另外,它还通知中
断系统已完成中断处理,将 清除优先级状态触发器。
特别注意:不能用RET
指令代替RETI指令!
中断处理过程示意图
中断源发中断请求 中断响应条件 是否满足?
N
Y Y
中断是否受阻?
由硬件 自动完成
N
把PC断点地址压入堆栈 相应中断源的中断入口地址 送入PC,转向中断服务程序
中断源服务 POP POP PSW DPL 恢复现场
POP
POP RETI
DPH
ACC
中断返回
中断返回是指中断服务完
应 响 断 中 中 断 返 回
后,计算机返回到原来暂停
的位置(即断点),继续执行 原来的程序。
中断返回由专门的中断返
回指令RETI来实现。
中断返回
RETI指令功能:把断点地 址取出,送回到程序计数器
或 或
INT0
T0
INT1
T1
串行口
1、外部中断请求0、1
TCON
D7 D0
TF1
TF0
IE1 IT1 IE0 IT0
• IT0:外部中断请求0的触发方式选择
• IT0=0 电平触发方式;IT0=1 边沿触发方式 • IE0:外部中断请求0的中断申请标志 • IT0=0 CPU每个机器周期采样/INT0,若/INT0=0 则
断点 地址
中断响应
中断服务子程序入口地址又称 为中断矢量或中断向量。 单片机中5个中断源的矢量地 址是固定的,不能改动。
应 响 断 中
中断服务 子程序的 入口地址
断点 地址
程序存储器ROM
002AH
使用时,通常在这些入口地址 处存放一条跳转指令,使程序 跳转到用户安排的中断服务程 序起始地址上去!
五、外部中断源的扩展
• 单片机仅有两个外部中断输入端. • 可用两种方法扩展: 1. 定时器T0,T1。(工作在计数方式下) 2. 中断和查询结合。
1.用定时器作外部中断源
例 将定时器T0扩展为外部中断源。
解:将定时器T0设定为方式2(自动恢复计数初值),TH0和TF0的初值均 设置为FFH,允许T0中断,CPU开放中断,源程序如下:
0000H:复位后,程序的入口地址(PC=0000H)
Leabharlann Baidu 中断处理
入口地址
中断服务程序从入口地址开始 执行,直到返回指令RETI为止,
应 响 断 中
这个过程称为中断处理(或中断
服务)。 中断服务子程序一般包括两部 分内容,一是保护和恢复现场, 二是处理中断源的请求。
RETI
中断处理
INTT0: PUSH ACC PUSH PUSH PUSH DPH DPL PSW 保护现场
电平激活的外部中断源中断标志的撤除 电平触发外部中断撤除方法较复杂。
因为在电平触发方式中,CPU响应中断时不会自动清 除IE1或IE0标志,所以在响应中断后应立即撤除INT0或 INT1引脚上的低电平。
在硬件上,CPU对INT0和INT1引脚的信号不能控制,所
以这个问题要通过硬件,再配合软件来解决。
0023H:串行口中断入口

001BH:定时器1溢出中断入口

0013H:外部中断1入口

000BH:定时器0溢出中断入口

0003H:外部中断0入口
0000H:复位后,程序的入口地址(PC=0000H)
包含T0中断服务子程序的 程序结构: 程序存储器ROM ORG 0000H AJMP MAIN 002AH ORG 000BH 0023H:串行口中断入口 AJMP INTT0 ORG 0100H 001BH:定时器1溢出中断入口 MAIN: . . 0013H:外部中断1入口 . AJMP INTT0 INTT0:. 000BH:定时器0溢出中断入口 . . 0003H:外部中断0入口 RETI AJMP MAIN END
• 定时/计数器0溢出时,TF0由硬件置1
• CPU 响应中断时 自动清零 TF0 • TF0 也可软件清零
3、串行口中断
SCON
D7 D0
TI
RI
• RI:串行口接收中断标志
• RI=1串行口接收中断
• TI:串行口发送中断标志
• TI=1串行口发送中断
• RI、TI 只能由软件清零
三、中断系统的中断控制
四、中断处理过程




中 断 返 回
中断响应
中断响应:在满足CPU的中断 响应条件之后,CPU对中断源 中断请求予以处理。 中断响应过程: 保护断点地址; 把程序转向中断服务程序的
应 响 断 中
中断服务 子程序的 入口地址
入口地址(通常称矢量地址)。 特别注意:这些工作是硬件 自动完成的!
关中断
中 断 服 务 程 序
保护现场 开中断 中断服务 关中断 恢复现场 开中断 中断返回
保护现场和 恢复现场的 过程中不允 许中断,以 免现场遭到 破坏。
保护和恢复现场之后 的开中断是为了允许 有更高级中断打断此 中断服务程序。
断点地址由堆栈弹入PC
硬件自 动完成
中断请求的撤除
CPU响应某中断请求后,在中断返回前,应该撤除该中断 请求,否则会引起另一次中断。
sjmp $
push ACC mov A,#0FFh mov P1,A mov A,P1 swap A mov P1,A pop ACC pop PSW reti END
第五章
中断系统
一、中断系统的结构
TCON
IT0=0 INT0 IT0=1
IE
EX0
IP
PX0 PT0
IE0 TF0
T0
IT1=0 INT1 IT1=1
自 然 优 先 级 矢量 地址 自 然 优 先 级
ET0 PX1 EX1 PT1 ET1 PS ES EA
高 级 中 断 请 求
IE1 TF1 TI RI
SCON
T1
TXD RXD
中断标 志位
中断源 允许
总允许
中断优 矢量 先级 地址
低 级 中 断 请 求
二、中断源
8051单片机有5个中断请求源:
单片机
外部输入中断源INT0(P3.2) 外部输入中断源INT1(P3.3) 片内定时器T0的溢出 片内定时器T1的溢出 片内串行口发送或接收中断源
相关文档
最新文档