单片机原理及应用课件(陈林林)第6章 mcs-51单片机中断系统1rev

  • 格式:ppt
  • 大小:1.38 MB
  • 文档页数:65

下载文档原格式

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

① TI —— 串行口发送中断请求标志 ② RI —— 串行口接收中断请求标志
各标志位的功能: (1)TI—发送中断请求标志位。串口每发送完一帧串 行数据后,硬件自动置“1”TI。必须在中断服务程序 中用软件对TI标志清“0”。 (2)RI—接收中断请求标志位。串口接收完一个数据 帧,硬件自动置“1”RI标志。必须在中断服务程序中 用软件对RI标志清“0”。
⑤ IT1 —— 外中断触发方式控制位 IT1=1,边沿触发方式,即P3.3出现下跳边
脉冲有效;
IT1=0,电平触发方式,低电平有效。 ⑥ IT0 —— 外中断触发方式控制位 其意义和功能与IT1相似。 IT0/IT1:外部中断请求的触发方式选择位:
=0:在INT0/INT1端申请中断的信号低电平有效;
6.2
MCS-51单片机的中断源
中断源是指能发出中断请求,引起中断的装置或 事件。

MCS-51单片机中断系统有5个中断源(其中2个为 外部中断源,3个为内部中断源),2个优先级,可 实现二级中断嵌套; 51子系列允许5个(52子系列6个)中断源: 2个外部中断请求:INT0,INT1 2个片内定时器/计数器T0和T1中断请求: TF0,TF1,(TF2——52子系列有T2) 1个串行口中断请求:TI/RI
AAH
A9H
T0
A8H
— — 串行 口
注意:当MCS-51复位后,IE被清0,则CPU关中断,所有中 断请求被禁止。
2.中断优先级控制寄存器IP
MCS-51单片机有5个中断源,划分为2个中断优先级:高优 先级和低优先级。可以进行中断嵌套。 当CPU正在执行某个中断 服务程序时,如果发生更高一 级的中断源请求中断,CPU可 以“中断”正在执行的低优先 级中断,转而响应更高一级的中 断,这就是中断嵌套。 中断嵌套只能高优先级“ 中断”低优先级,低优先级不 能“中断”高优先级,同一优 先级也不能相互“中断”。
2. 串行控制寄存器SCON
字节地址为98H。串行口的发送中断和接收中断的中 断请求标志TI和RI,
TCON 位名称 位地址
功能
D7 D6 D5 D4 D3 D2 — — — — — — — — — — — —
— — — — — —
D1 TI 99H 串行发送 中断标志
D0 RI 98H 串行接收 中断标志



优先级状态触发器解决了不同优先级中断请求的响 应顺序问题,而且保证高优先级请求可以中断已开 始的低优先级服务。
硬件查询顺序
• 多个同级中断源同时提出请求时,通过“硬件查询顺序”确 定先响应哪个请求 查询顺序
断源的中断请求。编写设置IE的相应程序段
(1)用位操作指令来编写如下程序段: CLR CLR CLR SETB SETB SETB ES EX1 EX0 ET0 ET1 EA ;禁止串行口中断 ;禁止外部中断1中断 ;禁止外部中断0中断 ;允许定时器/计数器T0中断 ;允许定时器/计数器T1中断 ;CPU开中断
=1:在INT0/INT1端申请中断的信号负跳变有效.

注意:
低电平触发 引脚上的低电平须持续到中断发 生。若中断返回前仍未及时撤除低电平,将再 次中断。
下降沿触发 CPU在前一机器周期采到INT0/INT1 引脚为高,后一机器周期采到为低才认为是一次 中断请求。CPU 可记忆申请、可自动撤除中断 申请。
触发 方式
D1 IE0 89H
中断 标志
D0 IT0 88H
触发 方式
功能
TCON位功能: ① TF1 —— T1溢出中断请求标志 T1计数溢出后,TF1=1 ② TF0 —— T0溢出中断请求标志 T0计数溢出后,TF0=1 TF0/TF1:定时器溢出中断申请标志位: =0:定时器未溢出; =1:定时器溢出申请中断,进中断后自动清零。 ③ IE1 —— 外中断中断请求标志 当P3.3引脚信号有效时,IE1=1 ④ IE0 —— 外中断中断请求标志 当P3.2引脚信号有效时,IE0=1 IE0/IE1:外部中断申请标志位: =0:没有外部中断申请; =1:有外部中断申请,CPU响应后自动清零???。
3. 正在进行的低优先级中断服务,能被高优先
级中断请求所中断 ,反之则不能。
优先级状态触发器
• •
由软件可改变各中断源的中断优先级。
MCS- 51的中断系统有两个不可寻址的“优先级状 态触发器”:

一个用来指示某高优先级的中断正在执行,所有 后来的中断均被阻止。 另一个用来指示某低优先级的中断正在执行,所 有同级中断都被阻止,但不阻断高优先级的中断 请求。 在同时收到几个同一优先级的中断请求时,优先 响应哪一个中断,取决于内部的硬件查询顺序。
IP 位名称 位地址 中断源
D7 — — —
D6 — — —
D5 — — —
D4 PS BCH 串行口
D3 D2 D1 D0 PT1 PX1 PT0 PX0 BBH BAH B9H B8H T1 INT1 T0 INT0
① PX0 :INT0中断优先级控制位。PX0=1,为高 优先级;PX0=0,为低优先级; ② PX1 :INT1中断优先级控制位。控制方法同上。 ③ PT0 :T0中断优先级控制位。控制方法同上。 ④ PT1 :T1中断优先级控制位。控制方法同上。 ⑤ PS :串行口中断优先级控制位。控制方法同上。
• 系统复位时,IP清零,即所有中断源为低优先级
IP的结构、位名称和位地址如下:
IP D7 D6 D5 D4 D3 D2 D1 D0
位名称 — — — 位地址 — — — 中断源 — — —
PS BCH 串行口
PT1 PX1 PT0 PX0 BBH BAH B9H B8H T1 INT1 T0 INT0
MCS-51单片机中断系统结构
6.3 中断允许和中断优先级
1.中断允许控制寄存器IE
• 中断源是否允许向CPU发出请求,由中断允许寄存 器IE控制
• IE可位寻址,字节地址A8H,位地址为A8H~AFH
IE D7 D6 D5 D4 D3 D2 D1 D0
位名称
EA
— —
ES
ACH 串行 口
ET1
中断与子程序的最主要区别:子程序是预 先安排好的,中断是随机发生的。 中断涉及的几个环节:中断源、 中断申请、 开放中断、保护现场、中断服务、恢复现 场、中断返回。
中断过程示意图
中断请求
• 引起CPU中断正在执行的程序而转向相应 的处理程序的根源,称为中断源; • CPU响应中断请求并进行相应处理的过程 叫中断服务;
(2)用字节操作指令来编写: MOV IE,#8AH ;100010010 或者用: MOV 0A8H,#8AH ;A8H为IE寄存器字节地址
IE 位名称 D7 EA D6 D5 — — D4 ES D3 ET1 D2 EX1 D1 ET0 D0 EX0
位地址
中断源
AFH
CPU
— —
ACH
ABH
T1
位地址 — — — 中断源 — — —
BCH 串行口
BBH BAH B9H B8H T1 INT1 T0 INT0
中断优先级控制寄存器IP
中断系统针对中断优先级的三条原则
1. CPU同时接收到几个中断时,首先响应优先
级别最高的中断请求。
2. 正在进行的中断过程不能被新的同级或低优
先级的中断请求所中断。

CPU识别中断申请的依据:
CPU在每个机器周期的S5P2期间,会自动查询各 个中断申请标志位,若查到某标志位被置位,将 启动中断机制。 Tc=1/fosc Ts=6Tc Tm=12Tc=6Ts
Tc
Ts
S2 S3 S4 S5 Tm
S6 S1 S2 S3 S4 S5 Tm
S6
1. 中断请求控制寄存器 字节地址为88H
具体来说:
⑴INT0:外部中断0,中断请求信号由P3.2输入。
⑵INT1:外部中断1,中断请求信号由P3.3输入。
⑶T0:定时/计数器0溢出中断,对外部脉冲计数由 P3.4输入。 ⑷T1:定时/计数器1溢出中断,对外部脉冲计数由 P3.5输入。 ⑸串行中断:包括串行接收中断RI和串行发送中断TI。
• 处理完中断事件后,再回到原来被中断的 地方(即断点),称为中断返回; • 实现从产生中断请求、进行中断服务并返 回断点等一系列功能的部件称为中断系统。
中断系统功能
• 对于一个中断源,需要:
–响应请求 –进行中断服务(保护现场) –实现中断返回
• 对于有多个中断源的系统,还需要:
–对中断请求进行屏蔽或允许 –对同时产生的多个中断请求进行排序,按优先 级别顺序服务 –中断服务再被其它中断请求中断而进行中断嵌 套等管理功能
INT0、INT1、T0、T1中断请求标志放在TCON中。 TCON的结构、位名称、位地址和功能如下:
TCON 位名称 位地址 D6 D5 D4 D3 — TF0 — IE1 8EH 8DH 8CH 8BH T0 中断 — 中断 — 中断
标志 标志 标志
D7 TF1 8FH T1
D2 IT1 8AH
中断嵌套结构类似与调 用子程序嵌套,不同的 是: ① 子程序嵌套是在程序 中事先按排好的;中断 嵌套是随机发生的。 ② 子程序嵌套无次序限 制,中断嵌套只允许高 优先级“中断”低优先 级。
• 5个中断源可通过设置中断优先级控制寄存器IP中 的相关位,程控为高或低优先级
• 中断优先级控制寄存器IP字节地址为B8H,可位寻 址,位地址为B8H~BFH,只有低6位有效
第 6 章 MCS-51单片机中断系统
6.1 中断的概念
• 计算机在执行既定程序时,被其它事件打断而 停止原程序的执行,转而去执行相应的处理程
序,待处理完成后,再返回去继续执行被暂时
中止的原程序,这一过程称为中断。
作用:采用中断技术可以提高CPU效率、解 决速度矛盾、实现并行工作、分时操作、 实时处理、故障处理、应付突发事件,可 使多项任务共享一个资源(CPU)。
例如:若要将INT1、串行口设置为高优先级,其余中 断源设置为低优先级,可执行下列指令: MOV IP,#00010100B; 需要指出的是,若置5个中断源全部为高优先级,就 等于不分优先级。
IE D7 D6 D5 位名称 — — — D4 PS D3 PT1 D2 PX1 D1 PT0 D0 PX0
• MCS-51单片机系统中,中断系统的功能是
通过设置和访问与中断系统有关的特殊功能寄
存器完成的。
• 与中断系统有关的特殊功能寄存器有:IE、IP
以及TCON和SCON的有关位。
中断控制寄存器:
80C51单片机中涉及中断控制的有3个方面 4个特殊功能寄存器:
① 中断请求: 定时和外中断控制寄存器TCON; 串行控制寄存器SCON; ② 中断允许控制寄存器IE; ③ 中断优先级控制寄存器IP。


D4 ES D3 ET1 D2 EX1 D1 ET0 D0 EX0
位地址 AFH
中断源 CPU
— —
ACH
ABH
T1
AAH
A9H
T0
A8H
— — 串行 口
中断允许控制寄存器IE
注意:改变IE的内容,可由位操作指令来实现,即: SETB bit ;对某一位置1 CLR bit ;对某一位清0 例6-1 若允许片内 2个定时器/计数器中断,禁止其它中
ABH T1
EX1
AAH
ET0
A9H T0
EX0
A8H
位地址 AFH — — 中断源 CPU — —
Baidu Nhomakorabea
① EA
② EX0 ③ EX1 ④ ET0 ⑤ ET1 ⑥ ES
—— CPU中断允许控制位(总开关) EA=1,CPU开中; EA=0,CPU关中,且屏蔽所有5个中断源。 —— 外中断INT0中断允许控制位 EX0=1,INT0开中;EX0=0,INT0关中。 —— 外中断INT1中断允许控制位 EX1=1,INT1开中;EX1=0,INT1关中。 —— 定时/计数器T0中断允许控制位 ET0=1,T0开中;ET0=0,T0关中。 —— 定时/计数器T1中断允许控制位 ET1=1,T1开中;ET1=0,T1关中。 —— 串行口中断(包括串发、串收)允许控制位 ES=1,串行口开中;ES=0,串行口关中。
说明: 80C51对中断实行两级控制,总控制位是EA,每 一中断源还有各自的控制位。首先要EA=1,其次还要 自身的控制位置“1”。
例如:要使INT0开中(其余关中),可执行下列指令: MOV IE,#1000000lB ;
或者: SETB EA
SETB EX0
IE 位名称 D7 EA D6 D5 — —