51单片机学习第八章Word文档格式.docx
- 文档编号:17888337
- 上传时间:2022-12-11
- 格式:DOCX
- 页数:11
- 大小:127.28KB
51单片机学习第八章Word文档格式.docx
《51单片机学习第八章Word文档格式.docx》由会员分享,可在线阅读,更多相关《51单片机学习第八章Word文档格式.docx(11页珍藏版)》请在冰豆网上搜索。
8.1MCS-51系列单片机的中断系统概述
1.什么叫中断?
例如:
同学正在教室写作业,忽然被人叫出去,回来后,继续写作业。
中断:
CPU中止正在运行的程序,转向为外部设备服务的过程称为中断。
当完成中断后,CPU再回到原来的“断点”继续原来的程序。
2.中断技术的特点:
1)提高CPU的工作效率;
2)可以及时处理外界的突发事件;
3)可以高效率地对多个外部设备进行管理。
3.中断应用举例:
打印机操作
4.中断的作用:
处理断电保存,解决快速CPU与慢速外设之间的矛盾等。
8.2中断请求源
MCS-51单片机共有5个中断源:
外部中断(2个)、定时器中断(2个)和串行口中断。
1.中断系统结构
2.五个中断源及入口地址
五个中断源
入口地址
外部中断0(/INT0)
0003H
T0溢出中断
000BH
外部中断1(/INT1)
0013H
T1溢出中断
001BH
串口中断
0023H
3.中断标志寄存器
1)控制寄存器TCON(SFR地址:
88H)
TF1
TR1
TF0
TR0
IE1
IT1
IE0
IT0
TF1、TF0为定时器T1、T0的溢出中断申请标志;
IE1、IE0为外部中断INT1、INT0的请求标志;
IT1、IT0选择外部中断触发方式:
IT=1时,外中断信号的下降沿触发;
IT=0时,外中断信号的低电平触发。
2、串行口控制寄存器SCON(SFR地址:
98H)
SM0
SM1
SM2
REN
TB8
RB8
TI
RI
RI:
串行口接收中断标志;
TI:
串行口发送中断标志
第二次课:
中断控制、中断查询及响应协议
1.掌握中断允许寄存器和中断优先级寄存器
2.熟练应用中断控制寄存器
中断控制寄存器
难点:
中断响应
1.中断控制寄存器
2.中断查询及响应协议
中断控制寄存器
8.3中断控制
1.中断的开放和关闭控制
由中断允许寄存器IE实现两级控制(SFR地址:
0A8H)
EA
X
ES
ET1
EX1
ET0
EX0
EA:
总允许位(一级控制)
EA=0时:
禁止一切中断;
EA=1时:
中断开放。
ES:
串行口中断允许位(二级控制)
ES=1:
允许RI、TI引发中断,否则禁止串口中断。
ET1、ET0:
定时器T1、T0允许位(二级控制)
ET=1允许TF0、TF1引发中断,否则禁止相应的定时器中断。
EX1、EX0:
外中断/int1、/int0允许位(二级控制)
EX=1允许相应的外部中断,否则禁止相应的外部中断。
2.中断的优先级控制
由中断优先级寄存器IP实现两级控制(SFR地址:
0B8H
PS
PT1
PX1
PT0
PX0
PS:
串行口中断优先级设定位;
PT1、PT0:
定时器T1、T0中断优先级设定位;
PX1、PX0:
外中断int1、0中断优先级设定位;
=1:
高优先级,=0:
为低优先级。
3.中断的优先级排队
由于IP寄存器的设定,将5个中断源分为两个级别。
对同时发生多个中断申请时,中断优先级的处理将遵循下面基本原则:
不同优先级的中断同时申请(很难遇到)
——先高后低
相同优先级的中断同时申请(很难遇到)
——按序执行
正处理低优先级中断又接到高级别中断
——高打断低
正处理高优先级中断又接到低级别中断
——高不理低
3.4中断查询与响应协议
在每个机器周期中,所有的中断源都要按照其顺序检查一遍。
到S6状态时,就查找到所有被激活的中断申请并排好优先权。
在下一个机器周期的S1状态,只要不受阻断,就开始响应高级中断。
如果发生下列情况,中断将被阻止:
1、同级或高级中断正在执行时;
2、当前的机器周期不是指令的最后一个机器周期;
3、CPU正在执行的指令是RETI或访问IE、IP寄存器时,CPU是不会响应中断,而且要等到该指令的下一条指令执行完后中断才能响应。
中断的响应过程:
CPU查询到某一中断源后,使相应的“优先级激活触发器”置位用以阻断同级或低级中断。
在硬件控制下,自动将当时程序计数器PC的内容(断点地址)进栈,以备返回;
将相应的中断矢量装入PC,使CPU转向对应的中断服务程序。
中断服务程序最后一条指令是RETI,它将清除“优先级激活触发器”,从堆栈中弹出断点地址并装入PC中,使CPU回到原来主程序断点处继续运行。
矢量入口的指令通常是转移指令。
第三次课:
外部中断
8.5外部中断
在MCS-51引脚上有/INT0、/INT1两个外部的中断输入。
作为外部事件的触发信号,其信号必须满足一定的要求,否则将不能正确地引发中断。
CPU在每个机器周期的S5P2期间对它们进行一次检测。
系统设定了两种触发方式:
边沿触发(下降沿);
电平触发(低电平)。
具体由TCON中的IT0、IT1来确定。
MCS51对外部中断触发信号的要求
1.在边沿触发方式中,在相邻的两个机器周期,如果第一次采集是高电平,第二次采集是低电平时,则TCON中的标志IE0或IE1置位。
所以,在边沿触发方式时:
外部设备发出的边沿信号(高电平和低电平)的时间应大于一个机器周期,否则信号将可能漏检。
2.“电平”触发方式:
CPU采集到INT0或INT1的引脚为低电平时将激活标志IE0或IE1。
所以在这种触发方式中,外部的低电平至少应保留一个机器周期。
外部设备发出的中断信号,其低电平有效时间T要大于一个机器周期(应当远远大于一个机器周期),否则漏检。
如晶振为6M的单片机,其INT信号周期应大于12*1/6=2μs
如果外电路的信号不能满足要求,可使用触发器解决。
3.6中断请求的撤除
以外中断电平触发为例:
当CPU响应该中断进入到服务程序后,在执行RETI指令返回主程序前,必须将外部的低电平撤掉,否则当CPU返回主程序后,会因为外部过长的低电平信号而使其再次进入中断,这样不仅造成一次多余的错误操作,而且使主程序无法正常运行。
同理,其它中断源也存在类似的问题。
所以在使用中断时必须清楚在返回主程序前时,其中断请求(标志)是否要撤除、如何撤除等问题。
MCS-51的中断请求的撤除方法
中断源
中断标志
说明
撤除方法
INT0、INT1
IE0、IE1
外部边沿触发
无影响
外部电平触发
电路、软件撤除
T0、T1
TF0、TF1
定时计数器中断
自动清除标志
RI、TI
串行口中断
软件清除标志
3.7中断响应时间
中断响应时间:
从外部中断请求有效(外部中断请求标志置1)到转向中断入口地址所需要的响应时间。
每个机器周期的S5P2时刻,INTx引脚的电平被锁存到内部寄存器中,待下一个周期查询。
1.最短时间:
中断请求有效,查询后在下一个周期便开始执行一条硬件的子程序的调用(时间是两个周期),然后开始执行服务程序的第一条指令。
这样从锁存电平的周期到执行中断服务程序,中间相隔3个机器周期。
2.最长时间:
如果中断信号发生在前面所说的3种情况时,响应时间就要变长:
(1)响应时间取决于正在执行的同级或高级中断的执行时间;
(2)指当前CPU执行的指令是多周期指令,如乘除法指令(4个周期),最坏情况,还要等3个周期。
这样响应周期变为3+3=6个周期;
(3)CPU当前执行的指令是RETI或访问IE、IP寄存器时,本指令(1个周期)没有响应,且下一条指令执行完后才能响应,这样附加的等待时间最长不会超过5个周期(1+4)。
整个响应为5+3=8个周期。
这样,如果不考虑第1种情况,整个中断响应的时间范围应当是:
3~8个机器周期。
例:
电路如图。
要求编程实现:
主程序将P1口的8个LED从上到下循环显示(间隔时间约1S),中断时(INT0)使8个LED同时闪烁5次(间隔时间约1S,设单片机晶振为6M)。
(1)主程序
ORG0000H
LJMPSTART
START:
MOVIE,#10000001B;
允许INT0中断
MOVIP,#00000001B;
INT0中断优先
MOVTCON,#01H;
INT0边沿触发方式
MOVSP,#70H
MOVA,#80H;
左移初值
LOOP1:
RLA
MOVP1,A
CALLDELAY;
延时1s
AJMPLOOP1
(2)中断服务程序
ORG0003H
LJMPEXT0
EXT0:
PUSHACC
PUSHPSW
SETBRS0
CLRRS1
MOVA,#0FFH;
为使P1全亮
MOVR2,#;
闪烁5次
LOOP3:
MOVP1,A
CPLA
DJNZR2,LOOP3
POPPSW
POPACC
RETI
(3)延时子程序(约1s)
DELAY:
MOVR5,#5
D1:
MOVR6,#200
D2:
MOVR7,#250
D3:
DJNZR7,D3;
1ms
DJNZR6,D2;
约0.2s
DJNZR5,D1;
约1s
RET
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 51 单片机 学习 第八