中断源和中断控制寄存器

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

D3 IE1 8BH
中断 标志
D2 IT1 8AH
触发 方式
D1 IE0 89H
中断 标志
D0 IT0 88H
触发 方式
功能
IE0(IE1)——外中断请求标志位
硬件置位——当CPU采样到 INT0 (INT1 ) 出现有效中断请求时。 中断响应完成,转向中断服务程序时,硬件自动清零。 IT0(IT1)——外中断请求信号方式控制位 IT0(IT1)=1 IT0(IT1)=0 脉冲方式(负跳变有效); 电平方式(低电平有效)。
④将相应中断的入口地址送入PC。
8051五个中断入口地址: INT0:0003H; T0:000BH; INT1:0013H; T1:001BH; 串行口:0023H
3.执行中断服务程序 中断服务程序应包含以下几部分: ⑴ 保护现场 ⑵ 执行中断服务程序主体,完成相应操作 ⑶ 恢复现场 4.中断返回 在中断服务程序最后,必须安排一条中断返 回指令RETI,当CPU执行RETI指令后,自动完成 下列操作: ① 恢复断点地址。 ② 开放同级中断,以便允许同级中断源请求中断。
四 中断响应等待时间 若排除CPU正在响应同级或更高级的中断情况,中 断响应等待时间为: 3~8个机器周期 五 中断请求的撤除 中断源发出中断请求,相应中断请求标志置“1”。 CPU响应中断后,必须清除中断请求“1”标志。否则中 断响应返回后,将再次进入该中断,引起死循环出错。 ⑴ 对定时/计数器T0、T1中断,外中断边沿触发方式, CPU响应中断时就用硬件自动清除相应的中断请求标志。 ⑵ 对外中断电平触发方式,需要采取软硬结合的方 法消除后果。 ⑶ 对串行口中断,用户应在串行中断服务程序中用 软件清除TI或RI。
0:优先级低 1:优先级高
中断优先级控制原则:
1)低优先级中断请求不能打断高优先级中断请求;高优先 级中断请求可以打断低优先级中断请求(中断嵌套)。 2)如果一个中断请求已被响应,则同级的其他中断响应将
被禁止。
3)如果同级的多个中断请求同时出现,则按CPU查询次序 确定哪个中断请求被响应。 内部查询次序: 外部中断0定时中断0外部中断1定 时中断1串行中断。
IE D7 D6 D5 D4 D3 D2 D1 D0
位名称
位地址
EA
— —
ES
ACH
ET1
ABH
EX1
AAH
ET0
A9H
EX0
A8H
AFH — —
中断源
CPU — — 串行口
T1
T0
EA——中断允许总控制位 EA=0
EA=1
说明: 8051对中断实行两级 控制,总控制位是EA,每 中断总禁止; 一中断源还有各自的控制 中断总允许 位。首先要EA=1,其次还 要自身的控制位置“1”。
IE 0 ( IE 1 )
INT0 (INT 1)
内部中断请求:(定时/计数器中断,串行中断) 中断请求发生在单片机芯片内部,不存在中断请求 采样问题,直接置位相应的中断请求标志位。
定时/计数器0 定时/计数器1 串行发送
TF0 ( TF1 )
TI

串行接收
RI
2.中断响应 CPU查询(检测)到某中断标志为“1”,在满足
中断系统应用举例
【例】通过外部中断1,在中断服务中将B寄存器里的内 容左循环移一位。已知: B=01H,要求采用边沿触 发,高优先级。
此例的实际意义:在INT1引脚接一个按钮开关到地,每 按一下按钮就申请一次中断,中断服务则是:依次点亮 八盏灯中的一盏。
P1.0
P1.7
INT1
300
ORG 0000H LJMP MAIN ORG 0013H LJMP INT MAIN:SETB EA SETB EX1 SETB PX1 SETB IT1 MOV B,#01H HERE:SJMP HERE INT:MOV A,B RL A MOV B,A MOV P1,A RETI
TI——串行口发送中断请求标志位 当发送完一帧串行数据后,硬件置位;在转向中断服务程序 后,用软件清零。 RI——串行口接收中断请求标志位 当接收完一帧串行数据后,硬件置位;在转向中断服务程序 后,用软件清零。
2.中断允许控制寄存器IE
8051对中断源的开放或关闭由中断允许控制 寄存器IE控制。 字节地址A8H
外部中断请求信号来自引脚 INT0 (P3.2)和INT1 (P3.3)
请求方式有两种:电平方式;脉冲方式。
通过TCON的IT0、IT1选择, 电平方式(IT0(IT1)=0):低电平有效
脉冲方式(IT0(IT1)=1):脉冲负跳变有效
二 中断控制寄存器
8051单片机中涉及中断控制的有3个方面4个 特殊功能寄存器: 中断请求:定时/计数器和外部中断控制寄存器TCON; 串行口控制寄存器SCON; 中断允许控制寄存器IE; 中断优先级控制寄存器IP。
1.中断请求控制寄存器
INT0、INT1、T0、T1中断请求标志放在TCON中 串行中断请求标志放在SCON中。 TCON的结构、位名称、位地址和功能如下:
字节地址88H TCON 位名称 位地址 D7 TF1 8FH T1
中断 标志
D6 — 8EH —
D5 TF0 8DH T0
中断 标志
D4 — 8CH —
TF0(TF1)——定时/计数溢出标志
硬件置位——当定时/计数器产生溢出时。 转向中断服务程序时,硬件自动清零。
5
串行控制寄存器SCON
TCON 位名称 位地址 功能 D7 D6 D5 D4 D3 D2 — — — — — — — — — — — — — — — — — —
字节地址98H D1 TI 99H 串行发送 中断标志 D0 RI 98H 串行接收 中断标志
三 中断处理过程
中断处理过程大致可分为四步: 中断请求、中断响应、中断服务、中断返回
1.中断请求 中断源发出中断请求信号,相应的中断请求标志 位置“1”。
外部中断请求采样:(S5P2对中断请求引脚采样)
采样 INT0 ( P 3.2), INT1 ( P 3.3) 引脚
电平方式:采样到低电平,中断请求有效,IE0(IE1)置1 脉冲方式:在两个相邻机器周期采样到先高电平后低电平, 则中断请求有效,IE0(IE1)置1。
中断响应条件下,响应中断。
中断响应条件:
① 该中断已经“开中”;
② CPU此时没有响应同级或更高级的中断; ③ 当前正处于所执行指令的最后一个机器周期; ④ 正在执行的指令不是RETI或者是访向IE、IP的 指令,否则必须再另外执行一条指令后才能响应。
中断响应操作
CPU响应中断后,进行下列操作: ①由硬件自动生成一条LCALL长调用指令。 LCALL addr16(指向相应中断入口地址) ②保护断点地址; ③撤除该中断源的中断请求标志;
;中断矢量 ;开总中断允许“开关” ;开分中断允许“开关” ;高优先级 ;边沿触发 ;给 B 寄存器赋初值 ;原地等待中断申请 ;自B寄存器中取数 ;左环移一次 中断服 ;存回B,备下次取用 务程序 ;输出到P1口 ;中断返回
ຫໍສະໝຸດ Baidu
6.2 中断源和中断控制寄存器
一 中断源
中断源是指能发出中断请求,引起中断的 装置或事件。 8051单片机的中断源共有5个,其中2个为 外部中断源,3个为内部中断源:
1.INT0:外部中断0,中断请求信号由P3.2输入。 2.INT1:外部中断1,中断请求信号由P3.3输入。 3.T0:定时/计数器0溢出中断。 4.T1:定时/计数器1溢出中断。 5.串行中断:包括串行接收中断RI和串行发送中断TI。
6.3 中断系统的应用
⒈ 中断初始化
(1)定义中断优先级 (2)定义外中断触发方式 (3)开放中断 (4)安排好等待中断或中断发生前主程序应完成的操作内容。
⒉ 中断服务程序
(1)在中断服务入口地址设置一条跳转指令,转移到中断服 务程序的实际入口处。 (2)根据需要保护现场。 (3)中断源请求中断服务要求的操作。 (4)恢复现场。与保护现场相对应,注意先进后出、后进先 出操作原则。 (5)中断返回,最后一条指令必须是RETI。
3.中断优先级控制寄存器IP
80C51有5个中断源,划分为2个中断优先级: 高优先级和低优先级。
字节地址B8H IE D7 D6 D5 位名称 — — — 位地址 — — — 中断源 — — — D4 PS BCH 串行口 D3 PT1 D2 PX1 D1 PT0 D0 PX0
BBH BAH B9H B8H T1 INT1 T0 INT0
相关文档
最新文档