版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
⒈实现CPU与外部设备的速度配合⒉实现实时控制⒊实现故障的及时发现及处理⒋实现人机联系6中断系统一、中断的主要功能1.什么是中断2.什么是中断源3.什么是中断优先级4.什么是中断嵌套5.MCS-51单片机中断系统概述二、中断的概念日常中断的例子你正在专心看书,突然电话铃响,于是你记下正在看的书的页数,去接电话,接完电话后再回来接着看书。中断响应的过程中断响应流程图MCS-51单片机的中断系统能处理5种事件,外部中断0、外部中断1、定时器T0溢出中断、定时器T1溢出中断、串口中断。中断方式优点:大大地提高了CPU的工作效率。6.1.1中断请求源6.1中断请求源和中断请求标志中断源就是中断请求信号产生的源头。
MCS-51单片机中断系统有5个中断源,其中3个在片内,2个在片外。
(1)外部中断源
1)/INT0:外部中断0中断请求,由P3.2端口线引入,低电平或下降沿引起。
2)/INT1:外部中断1中断请求,由P3.3端口线引入,低电平或下降沿引起。
(2)内部中断源
1)T0:定时/计数器0中断,由T0计数溢出引起。
2)T1:定时/计数器1中断,由T1计数溢出引起。
3)TI/RI:串行I/O中断,完成一帧字符发送/接收引起6.1.2中断标志及结构每一个中断源都对应一个中断请求标志位,用于指示中断的状态。由特殊功能寄存器TCON和SCON来锁存管理。
1、定时器控制寄存器TCON(88H)图1.23定时器控制寄存器TCON定时器控制寄存器除了具有定时器运行/停止控制功能外,同时也锁存定时器0、1,外部中断0、1的中断标志。各标志位的功能:(1)IT0—外部中断0触发方式选择位。IT0=0,为电平触发方式。IT0=1,为跳沿触发方式。可由软件置“1”或清“0”。(2)IE0—外部中断0的中断请求标志位。IE0=0,无中断请求。IE0=1,外部中断0有中断请求。当CPU响应该中断,转向中断服务程序时,由硬件清“0”IE0。(3)IT1—外部中断1触发方式选择位。意义与IT0类似。(4)IE1—外部中断1的中断请求标志位,意义与IE0类似。(5)TF0—T0溢出中断请求标志位。T0计数后,当最高位产生溢出时,由硬件置“1”TF0,向CPU申请中断,CPU响应TF0中断时,清“0”TF0,TF0也可由软件清0。(6)TF1—T1的溢出中断请求标志位,功能和TF0类似。TR1、TR02个位与中断无关。当MCS-51复位后,TCON被清0,则CPU关中断,所有中断请求被禁止。
2、串行口控制寄存器SCON(98H)串行口控制寄存器除了具有串口控制功能外,同时也锁存了串口发送和接收中断标志位,其格式如图1.24所示。图1.24串行口控制寄存器SCON各标志位的功能:(1)TI—发送中断请求标志位。串口每发送完一帧串行数据后,硬件自动置“1”TI。必须在中断服务程序中用软件对TI标志清“0”。(2)RI—接收中断请求标志位。串口接收完一个数据帧,硬件自动置“1”RI标志。必须在中断服务程序中用软件对RI标志清“0”。
6.2中断控制与管理
1、中断允许寄存器IE(A8H)图1.21中断允许寄存器IE
IE字节地址A8H,位地址分别是A8H~AFH。IE控制各中断源的开放或禁止。MCS51单片机对中断的开放和关闭实行两级控制。所谓两级控制是指有一个中断允许总控制位EA,配合各中断源的中断允许控制位共同实现对中断请求的控制。其格式如图1.21所示。利用位操作指令SETB和CLR设置IE寄存器状态,从而控制各中断源的开发和禁止。举例开放和关闭中断。IE中各位的功能如下:(1)EA:中断允许总控制位。
0:CPU屏蔽所有的中断请求(CPU关中断);
1:CPU开放所有中断(CPU开中断)。(2)ES:串行口中断允许位
0:禁止串行口中断;
1:允许串行口中断。(3)ET1:定时器/计数器T1的溢出中断允许位
0:禁止T1溢出中断;
1:允许T1溢出中断。(4)EX1:外部中断1中断允许位
0:禁止外部中断1中断;
1:允许外部中断1中断。(5)ET0:定时器/计数器T0的溢出中断允许位
0:禁止T0溢出中断;
1:允许T0溢出中断。(6)EX0:外部中断0中断允许位。
0:禁止外部中断0中断;
1:允许外部中断0中断。注意:MCS-51复位后,IE清0,所有中断请求被禁止。若使某一个中断源被允许中断,除了IE相应的位的被置“1”,还必须使EA位=1。改变IE的内容,可由位操作指令来实现,即:
SETBbit;CLRbit。例若允许片内2个定时器/计数器中断,禁止其它中断源的中断请求。编写设置IE的相应程序段(1)用位操作指令来编写如下程序段: CLRES ;禁止串行口中断 CLREX1 ;禁止外部中断1中断 CLREX0 ;禁止外部中断0中断SETBET0;允许定时器/计数器T0中断SETBET1;允许定时器/计数器T1中断SETBEA;CPU开中断(2)用字节操作指令来编写:MOVIE,#8AH
2、中断优先级寄存器IP(B8H)图1.22中断优先寄存器IP
IP字节地址为B8H,位地址分别是B8H~BFH,IP用来锁存各中断源优先级的控制位,其格式如图1.22所示。利用位操作指令SETB和CLR设置IP寄存器状态,从而控制各中断源的优先级。
MCS-51中断响应的原则:
1)相同优先级的中断,一旦得到响应,不能被其它同级中断源中断。多个同级中断源同时向CPU申请中断时,按自然优先级顺序确定首先响应哪个中断请求。
2)不同优先级的中断允许嵌套调用,即当CPU在执行用户程序的时候,响应了某一低优先级中断源的中断请求,正在执行低优先级中断源的中断服务程序过程中,可以响应另一个高优先级中断源的中断请求,去执行它的高优先级中断服务程序。即高优先级中断可以中断低优先级中断,反之不可例
设置IP寄存器的初始值,使2个外中断请求为高优先级,其它中断请求为低优先级。(1)用位操作指令
SETBPX0;2个外中断为高优先级 SETBPX1 CLRPS;串行口、2个定时器为低优先级中断CLRPT0 CLRPT1(2)用字节操作指令
MOVIP,#05H复位时各寄存器有定义的位为01)T0、串行口关中断,其余开中断;2)T0、串行口开中断,其余保持不变;3)全部禁中断;4)全部开中断;MOVIE,#10001101BORLIE,#10010010BCLREA或MOVIE,#data1MOVIE,#data2习题
下列中断优先顺序排列,有可能实现的有()。A.T1、T0、INT0、INT1、串行口B.INT0、T1、T0、INT1、串行口C.INT0、INT1、串行口、T1、T0D.INT1、串行口、T0、INT0、T1从哪几方面考虑?B中断系统的结构中断源中断选择中断标志中断允许优先级选择
6.3中断处理过程
中断处理过程可分为中断请求、中断响应、中断服务和中断返回。
(1)中断请求:中断源满足中断条件后,置1相应的中断请求标志位,CPU如查询到某个中断标志为1,则认为该中断发出请求,准备响应。
(2)中断响应:中断响应过程包括保护断点和将程序转向中断服务程序的入口地址。中断得到响应后自动清除中断标志,由硬件将程序计数器PC内容压入堆栈保护,然后将对应的中断矢量装入程序计数器PC,使程序转向中断矢量地址单元中去执行相应的中断服务程序。
中断响应是有条件的,遇到下列三种情况之一时,中断响应被封锁:(1)CPU正在处理同级的或更高优先级的中断。(2)所查询的机器周期不是所当前正在执行指令的最后一个机器周期。只有在当前指令执行完毕后,才能进行中断响应。(3)正在执行的指令是RETI或是访问IE或IP的指令。需要再去执行完一条指令,才能响应新的中断请求。如果存在上述三种情况之一,CPU将丢弃中断查询结果,不能对中断进行响应。
(3)中断服务:中断服务程序从中断入口地址开始执行,直到返回指令RETI为止,一般包括四部分内容:一是保护现场,二是完成中断源请求的服务,三是恢复现场,四是中断返回。右图为外部中断0的中断服务程序架构。
(4)中断返回:通常是指中断服务完成以后,计算机返回断点,继续执行原来的程序。中断返回由中断返回指令RETI来实现。该指令的功能是把断点地址从堆栈中弹出,送回到程序计数器PC,此外还通知中断系统已完成中断处理。
中断响应时间:正常中断响应时间为3~8个机器周期。中断的最短的响应时间为3个机器周期:(1)中断请求标志位查询占1个机器周期。(2)子程序调用指令LCALL转到相应的中断服务程序入口,需2个机器周期。3T:中断请求标志查询:1T
产生、执行LCALL:2T
中断响应的最长时间为8个机器周期:发生在CPU进行中断标志查询时,刚好是开始执行RETI或是访问IE或IP的指令,则需把当前指令执行完再继续执行一条指令后,才能响应中断,最长需2个机器周期。接着再执行一条指令,按最长指令(乘法指令MUL和除法指令DIV)来算,也只有4个机器周期。加上硬件子程序调用指令LCALL的执行,需要2个机器周期。所以,外部中断响应最长时间为8个机器周期。
8T:执行RET/RETI(访问IP/IE):2T
主程序中MUL/DIV指令:4T
执行LCALL指令:2T6.4外部中断触发方式1、两种触发方式:电平触发方式和负边沿触发方式。2、设置方法:IT0、IT1清0或置1。3、触发信号的特点:对于电平触发方式,低电平信号至少要保持12个振荡周期,以保证信号被采样;且在中断服务程序返回之前,外部中断请求输入必须无效(即变为高电平),否则CPU返回主程序后会再次响应中断。对于负边沿触发方式,连续两次采样,一个机器周期采样到外部中断输入为高,下一个机器周期采样为低,则置“1”中断请求标志,直到CPU响应此中断时,该标志才清0。这样不会丢失中断,但输入的负脉冲宽度至少保持1个机器周期。以保证检测到引脚上的电平跳变。6.5多个外部中断源系统设计1、定时器中断作为外部中断使用(负边沿触发)定时器设置为方式2,即自动装载常数,外部计数方式,且时间常数为0FFH;中断请求信号从T0或T1引脚引入,当发生负跳变时,定时器加1,溢出,触发中断。2、中断和查询结合方式(电平触发)中断源用线或的方法连接到外部中断输入引脚;同时连接到IO引脚,以供查询。6.6中断请求的撤消1.中断请求撤消的概念和原因。中断响应后,TCON或SCON中的中断请求标志应及时清除。否则就意味着中断请求仍然存在。2.定时器/计数器中断请求的撤消中断请求被响应后。硬件会自动清TF0或TF1。3.外部中断请求的撤消(1)负边沿方式外部中断请求的撤消是自动撤消的。(2)电平方式的外部中断请求信号的撤消,是通过软硬件相结合的方法来实现的。除了标志位清“0”之外,还需在中断响应后把中断请求信号引脚从低电平强制改变为高电平,如下图所示。只要P1.0端输出一个负脉冲就可以使D触发器置“1”,从而撤消了低电平的中断请求信号。所需的负脉冲可增加如下两条指令得到:
ORLP1,#01H ;P1.0为“1” ANLP1,#0FEH ;P1.0为“0”
ORLP1,#01H ;P1.0为“1”
4.串行口中断请求的撤消响应串行口的中断后,CPU无法知道是接收中断还是发送中断,还需测试这两个中断标志位的状态,以判定是接收操作还是发送操作,然后才能清除。所以串行口中断请求的撤消只能使用软件的方法 CLRTI;清TI标志位 CLRRI;清RI标志位
6.7中断程序的编程方法
(1)中断初始化中断初始化通常在产生中断请求前完成,放在主程序中,与主程序其他初始化内容一起完成设置。
1)设置堆栈指针SP:SP=60H或50H,对应的堆栈深度为32字节和48字节,用于保护断点现场数据。
2)定义中断优先级:使用“MOVIP,#xxH”或“SETBxx”指令即可设置。
3)定义外部中断触发方式:边沿触发或电平触发。
4)开放中断:使用“MOVIE,#xxH”或“SETBEA”和“SETBxx”指令即可设置。
(2)中断服务子程序
1)在中断服务入口地址设置一条跳转指令,转移到中断服务程序的实际入口地址。通常用LJMP指令。
2)根据需要保护现场。
3)中断服务程序主体。
4)中断源恢复现场。与保护现场相对应,注意先进后出、后进先出的操作顺序。
5)中断返回,最后一条指令必须是RETI。采用中断时的主程序结构如下: ORG0000H LJMPMAIN ORG中断入口地址 LJMPINT ⋮
ORGXXXXHMAIN:主程序
INT:中断服务程序要求每次按动按键,使外接发光二极管LED改变一次亮灭状态。解:INT0输入按键信号,P1.0输出改变LED状态。
ORG 0000H;复位入口
AJMPMAIN ORG 0003H;中断入口
AJMP PINT0 ORG 0100H ;主程序MAIN:MOVSP,#40H;设栈底
SETB EA ;开总允许开关
SETB EX0 ;开INT0中断
SETB IT0
;负跳变触发中断
H:
SJMP H ;执行其它任务
ORG 0200H;中断服务程序PINT0:CPLP1.0 ;改变LED
RETI ;返回主程序单片机INT0P1.01+5V
中断服务程序的设计【例】出租车计价器计程方法是车轮每运转一圈产生一个负脉冲,从外中断(P3.2)引脚输入,行驶里程为轮胎周长×运转圈数,设轮胎周长为2m,试实时计算出租车行驶里程(单位米),数据存32H、31H、30H。解:编程:ORG 0000H ;复位地址
LJMPSTAT ;转初始化
ORG 0003H ;中断入口地址
LJMPINT ;转中断服务程序
ORG0100H;初始化程序首地址
STAT:MOVSP,#60H ;置堆栈指针
SETBITO;置边沿触发方式
MOVIP,#01H ;置高优先级
MOVIE,#81H
;开中断
MOV30H,#0 ;里程计数器清0MOV31H,#0 MOV32H,#0 LJMPMAIN;转主程序,并等待中断ORG0200H ;中断服务子程序首地址CLREA
PUSHAcc ;保护现场
PUSHPSW
SETBEA MOVA,30H ;读低8位计数器
ADDA,#2 ;低8位计数器加2m MOV30H,A ;回存
CLRA ; ADDCA,31H ;中8位计数器加进位
MOV31H,A ;回存
CLRA ; ADDCA,32H ;高8位计数器加进位
MOV32H,A ;回存
CLREA
POPPSW ;恢复现场
POPAcc SETBEA RETI ;中断返回INT:
6、中断应用实例图1.25中断方式处理按键电路图(1)电路组成:按键接口电路和单片机最小系统。(2)电路功能:利用LED指示按键状态,即S1闭合,LED1点亮,S1断开,LED1熄灭;S2~S8以此类
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024版有关运输合同模板集合
- 二零二五版办公设备耗材行业规范制定与执行合同3篇
- 2025年度企业信息化建设与网络安全合同3篇
- 2024版智慧城市系统集成合同
- 2025年度集装箱货运代理业务合作伙伴管理协议3篇
- 2025不锈钢室内门定制及安装服务合同3篇
- 2025年度出纳岗位竞聘及考核聘用合同书3篇
- 2025年度汽车零部件生产商质量标准执行协议3篇
- 二零二五年度科技公司兼职软件开发人员聘用合同3篇
- 二零二五版股权分红权转让补充协议3篇
- 【传媒大学】2024年新营销
- 乳腺癌的综合治疗及进展
- 【大学课件】基于BGP协议的IP黑名单分发系统
- 2025届广东省佛山市高三上学期普通高中教学质量检测(一模)英语试卷(无答案)
- 自身免疫性脑炎课件
- 人力资源管理各岗位工作职责
- 信阳农林学院《新媒体传播学》2023-2024学年第一学期期末试卷
- 2024建筑公司年终工作总结(32篇)
- 信息安全意识培训课件
- 公路工程标准施工招标文件(2018年版)
- (正式版)SH∕T 3548-2024 石油化工涂料防腐蚀工程施工及验收规范
评论
0/150
提交评论