当前位置:
文档之家› 单片机第五章1单片机的中断系统
单片机第五章1单片机的中断系统
单片机第五章1单片机的中断系 统
2、 中断源(可由硬件或软件引起):引起中断的事件 MSC-51具有多个中断源,51子系列有5个中断源,2个外部中断,2个定时中断 和1个串行中断。
(A). 外中断:外部信号引起,共2个。 即: 外部中断“0”,中断请求信号由引脚INT0(P3.2)引入; 外部中断“1”,中断请求信号由引脚INT1(P3.3)引入。
(b)低优先级中断请求不能打断高优先级的中断服务;但高优先级中断请求可以打断低优 先级的中断服务,从而实现中断嵌套。
(c)如果1个中断请求已被响应,则同级的其它中断响应将被禁止。
中断优先级:当多个中断源请求中断服务,那么CPU响应这 些中断就有一个先后顺序,称之为中断优先级。
主
应 响
程 序
断
中
低
级
(2) EX0(EXl):外部中断允许控制位(INT0、INT1) EX0(EXl)=0 禁止外中断 EX0(EXl)=l 允许外中断
(3) ET0(ETl):定时/计数中断允许控制位(T0、T1) ET0(ETl)=0 禁止定时(或计数)中断 ET0(ETl)=1 允许定时(或计数)中断
(4) ES:串行中断允许控制位 ES=0 禁止串行中断 ES=1 允许串行中断
有效后,用户软件清零。
SJMP LOOP
b.中断方式时,作为中断请求标志位,为“1”时,自动转向中断
服
务程序,再由硬件自动清零。
(4)TR0、TR1: 下一章讲定时器/计数器时再讲
3. 串行口控制寄存器SCON(其中只有两位与中断有关)寄存器地址为98H
9FH
9EH
9DH
9CH
9BH
9AH
99H
98H
(2)IT0、IT1:外中断请求触发方式控制位。用户软件设置 ITX=0 低电平触发方式 ITX=1 负跳脉冲触发方式
至少2个机器周期 至少1个机器周期
(3)TF0、TF1:定时器溢出中断请求标志位,相应溢出标志位TFX由硬件置“1”。
两种使用方式:a.软件查询时,作为溢出标志位,查询
LOOP:JBC TF0,NEXT
2.定时器控制寄存器TCON 寄存器地址为88H
8FH TCON TF1
8EH 8DH 8CH 8BH 8AH 89H 88H
TR1
TF0
TR0
IE1
IT1
IE0
IT0
(1)IE0、IE1:外部中断请求标志。硬件自动设置 CPU采样到INTX端有效的中断请求后,IEX位由硬件自动置 “1”。在中断响 应期间(要转向中断服务程序时),由硬件自动清零。
中
断
继 续
返
回
程 序
回
应 响 断 中
高
级
中
断
返
程
序
执
行
Hale Waihona Puke RETIRETI主
程
序
•优先级高,则CPU先响应
主
应 响
程 序
断
中
高
级
(平级)中
断
继 续
返
回
程 序
回
应 响 断 中
低
级 (平级) 中
断
返
程
序
执
行
RETI
RETI
主
程
序
优先级低,则CPU不影响高级中断
中断嵌套流程图
•IT0=0 •INT0
•IT0=1 •T0
4. 中断优先级控制寄存器IP 用户软件设置寄存器地址为B8H
0BFH 0BEH 0BDH 0BCH 0BBH 0BAH 0B9H
IP
/
/
/
PS
PT1
PX1
PT0
0B8H PX0
PX0:外部中断0优先级设定位 PXl: 外部中断l优先级设定位 PT0:定时中断0优先级设定位 PTl: 定时中断l优先级设定位 PS : 串行中断优先级设定位
SCON SM0
SM1
SM2
REN
TB8
RB8
TI
RI
(1)TI:串行口发送中断标志位。当CPU将一个数据写入发送缓冲器时,就启动发送 当最后一个数据位发送完后,TI由硬件自动置位,并向CPU发中断申请。进行中 断服务程序时, TI要由软件清0。软件查询时, TI可作为状态位使用。
(2)RI:串行口接收中断标志位。当CPU接收数据时,当接收到最后一个数据位后, RI由硬件自动置位,并向CPU发中断申请。进行中断服务程序时, RI要由软件清0。 软件查询时, RI可作为状态位使用。
(B). 定时器/计数器中断:内部计数器计数溢出,溢出标志位TFX作为单片机接受中断 请求标志。 信号来源:内部(定时)和外部(计数)。
(C). 串行中断:串行数据传送(发送和接收)的需要而设置。
第二节 MCS-51单片机的中断系统
与中断控制有关的控制寄存器有四个:
IE------中断允许控制寄存器, TCON----定时控制寄存器, SCON----串行口控制寄存器。 IP------中断优先级控制寄存器,
•IT1=0 •INT1
•IT1=1
•T1
•TX •RX
•TCON •IE0
结论: • MCS—51通过中断允许控制寄存器对中断的允许实行两级控制。以EA位作为总控
制位,以各中断源的中断允许位作为分控制位。 • MCS—51单片机复位后(1E)=00H,因此中断系统处于禁止状态。 • 单片机在中断响应后不会自动关闭中断。因此在转中断服务程序后,应使用有关指
令禁止中断,即以软件方式关闭中断。
对应位置1,优先级为高;置0,优先级为低; 注意: (一)中断优先级控制原则(参看教材103页)
(二)控制逻辑:
(a)系统复位后,各位均为 0,或如果同级的多个中断请求同时出现,则按CPU查 询次序确定那个中断请求被响应。其查询次序为:外部中断0->定时中断0->外 部中断l->定时中断1->串行中断。
一、中断控制寄存器
通过设置相关寄存器,达到控制中断工作的目的
1. 中断允许控制寄存器IE 用户软件设置 寄存器地址为A8H
0AFH
0AEH 0ADH 0ACH 0ABH 0AAH 0A9H
IE
EA
/
/
ES
ET1
EX1
ET0
0A8H EX0
(1)EA:中断允许总控制位。 EA=0 中断总禁止,禁止所有中断,即不响应任何中断请求。 EA=1 中断总允许,总允许后中断的禁止或允许由各中断源的中断允许 控制位进行设置。
外部中断请求有两种信号形式:低电平触发方式和负跳脉冲触发方式:
低电平触发方式:低电平有效,只要CPU在每机器周期S5P2期间从引入端INTX采 样到低电平,就进入外中断。
负跳脉冲触发方式:负跳信号有效,即CPU在连续两个周期对引入端INTX 采样,如果 前周期为高电平,后一周期为低电平,则为有效的负跳脉冲触发方式的外中断申请。