ImageVerifierCode 换一换
格式:PPT , 页数:27 ,大小:842KB ,
资源ID:10025765      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-10025765.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(w五、中断系统.ppt)为本站会员(scg750829)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

w五、中断系统.ppt

1、五、MCS-51单片机中断系统,5.1、中断概念,中断:在执行程序的过程中,由于某种外界的原因,必须尽快终止当前的程序执行,而转去执行相应的处理程序,待处理结束后,再回来继续执行被终止的程序,这个过程叫中断。,中断类型 1可屏蔽中断:可程控中断,软件设置允许/禁止CPU响应中断。 2非屏蔽中断:非程控中断,若有中断请求,CPU必响应 中断优先权 1.当同时有多个中断请求信号,先响应优先级别高的中断请求。 2.高优先级中断请求信号可中断低优先级中断服务。 中断源能发出中断请求信号的各种事件。如I/O设备、定时时钟、系统故障、软件设定等。 中断向量:提供中断服务程序入口地址信息的地址。每个中断都有

2、自己的处理程序,各种微处理器形成中断服务程序入口地址的方法也不相同。,中断技术的优点:提高CPU的效率。提高实时数据的处理时效。故障处理 中断系统的功能:中断优先权排队实现中断嵌套 自动响应中断实现中断返回。,5.2、MCS-51的中断系统 5.2.1、MCS-51的中断源,MCS-51单片机具有多中断源,共有三种类型、五个中断源INT0:外部中断0中断请求INT1:外部中断1中断请求T0:定时/计数器0溢出中断请求T1:定时/计数器1溢出中断请求TX/RX:串行口中断请求具有二个中断优先级,可实现二级中断服务程序的嵌套。每个中断源均可由软件编程为高优先级或低优先级中断、允许或禁止向CPU请求

3、中断。,各中断源:1、外中断由外部原因引起的中断,包括外部中断0、1分别由外部引脚INT0、INT1引入。外部中断请求对引脚信号有两种规定,电平方式和脉冲方式: 电平方式的中断请求是低电平有效 脉冲方式的中断请求是脉冲的后沿(负跳变)有效2、定时器中断为了满足单片机内部的定时/计数需要而设置的中断。当计数器发生溢出时,就表明定时时间到了或者计数值已经计满了,由计数溢出信号向CPU发出中断请求,它是单片机的内部中断3、串行中断为单片机的串行口接收和发送数据而设置的中断。每当串行口接收或发送一组数据完以后,就可以产生一个中断请求,要单片机发送或接收一个新的数据,它是单片机的内部中断,中断系统结构图

4、,与中断有关的特殊功能寄存器(SFR)共4个: 中断允许寄存器IE 中断优先级控制寄存器IP 中断源寄存器(TCON、SCON中的有关位) 注:均可位寻址。,5.2.2、MCS-51的中断控制,定时器控制寄存器(TCON),用于保存外部中断请求以及定时器的计数溢出的中断标志,地址是88H(有位地址可以进行位操作),(1) IE0、IE1:外中断请求标志位IEx1,INTx端出现有效中断请求信号;x0或1(2) IT0、IT1:外中断请求触发方式控制位ITx1,脉冲触发方式,后沿负跳有效;ITx0,电平触发方式,低电平有效;x0或1 例:要求INT0引脚的中断请求信号为低电平有效,INT1引脚的

5、中断请求信号为脉冲后沿有效,请设置TCON的有关位。答: CLR IT0 ; INT0电平触发方式SETB IT1 ; INT1脉冲触发方式,(3)TF0、TF1:定时/计数溢出标志位TF01 表示定时/计数器0产生了溢出(它可以向单片机申请中断)TF11 表示定时/计数器1产生了溢出,串行口控制寄存器(SCON),(1) TI:串行口发送中断请求标志位TI1,表明送入到单片机内部的发送缓冲器SBUF中的一帧数据已经发送完毕了。如果是在连续发送数据过程中,已判断到TI1,则就可以继续发下一个数据 (2) RI:串行口接受中断请求标志位RI1,表明单片机已经接受完毕外部的一帧数据,单片机内部可以

6、把它取进出,进行处理。,中断允许控制寄存器(IE),(1) EA:中断允许总控制位 EA0:中断总禁止,禁止所有中断 EA1:中断总允许,置1后,各中断源的中断允许由各个控制位进行设置 (2)EX0、EX1:外部中断允许控制位 EX0(EX1)0,表示禁止外中断INT0(INT1)的中断申请; EX0(EX1)1,表示允许外中断INT0(INT1)的中断申请; (3)ET0、ET1:定时/计数中断允许控制位 ET0(ET1)0,表示禁止定时/计数器0(1)的中断申请; ET0(ET1)1,表示允许定时/计数器0(1)的中断申请; (4)ES:串行口中断允许控制位 ES0,禁止串口中断;ES1,

7、允许串口中断 结论:MCS-51单片机各个中断源均为可屏蔽中断,例:假设允许片内定时器/计数器中断,禁止其他中断。试根据条件设置IE的相应位答:方法一,字节操作指令MOV IE, #8AH ;(1000 1010B)或MOV A8H, #8AH ;方法二,用位操作指令SETB ET0 ;定时器/计数器0允许中断SETB ET1 ;定时器/计数器1允许中断SETB EA ;CPU开中断,中断优先级控制寄存器(IP),PX0:外部中断0优先级设定位 PT0:定时/计数器0中断优先级设定位 PX1:外部中断1优先级设定位 PT1:定时/计数器1中断优先级设定位 PS:串行口中断优先级设定位对应位设置

8、为“0”的位,为低优先级;对应位设置为“1”的位,为高优先级; 因此,MCS-51单片机是一个两级中断系统,同一优先级的中断次序中断源 同级内中断优先级 外部中断0 定时/计数器0溢出 外部中断1 定时/计数器1溢出 串行口,高,低,例:设8031的片外中断为高优先级,片内中断为低优先级,设置IP相应值答: 方法一,字节操作指令MOV IP, #05H ;(0000 0101B)或MOV B8H, #05H ;方法二,用位操作指令SETB PX0 ;SETB PX1 ;CLR PT0 ; CLR PT1 ; CLR PS ;,5.3、响应中断的条件和过程,5.3.1、中断响应条件,CPU响应中

9、断的条件有: (1)有中断源发出中断请求 (2)中断总允许位EA1,即CPU开中断 (3)申请中断的中断源的中断允许位为1,即中断没有被屏蔽 (4)无同级或更高级中断正在被服务 (5)当前的指令周期已经结束 (6)若现执行的指令是RETI或对IE、IP的写操作指令时,该指令以及紧接着的另一条指令已经执行完。,5.3.2、中断响应过程,MCS-51单片机的中断处理过程可分为三个阶段: 中断响应:(满足中断响应条件)接受中断申请-断点地址保护-中断向量地址装入PC 中断处理:根据不同中断源断的申请完成各中断申请要求的事情 中断返回:从中断服务程序回到原断点处,中断源及其对应的中断向量地址: 中断向

10、量地址 中断源 0003H000AH 外部中断0中断地址区 000BH0012H 定时/计数器0中断地址区 0013H001AH 外部中断1中断地址区 001BH0022H 定时/计数器1中断地址区 0023H002AH 串行口中断地址区,例1:外中断0申请-CPU保存当前PC(断点)-0003H装入PC-执行INT0中断服务程序,此时在0003H装入一个长转移指令,就可跳到中断服务程序。ORG 0003HLJMP INT0-PROORG 6000HINT0-PRO:RETI,例2:某单片机系统使用了全部5个中断源,其中INT0、和串行口中断为高级中断,其他3个中断为低级中断,INT0为低电平

11、有效,INT1为下跳沿有效。,答: ORG 0000H LJMP MAIN ORG 0003HLJMP INT0-PRO ORG 000BHLJMP T0-PROORG 0013HLJMP INT1-PROORG 0001BHLJMP T1-PROORG 0023HLJMP SP-PRO,MAIN: MOV SP,#40H ;设置栈低MOV IP, #0001 0001B ;CLR IT0SETB IT1MOV IE, #1001 1111B ;,各中断程序: ORG 100HINT0-PRO:RETIINT1-PRO:RETIT0-PRO:RETIT1-PRO:RETISP-PRO:RETI

12、,例3:处理外部中断举例,要求每次按动按键,使外接发光二极管LED改变一次亮灭状态。 解:INT0输入按键信号,P1.0输出改变LED状态。 1跳变触发:每次跳变引起一次中断请求。,ORG 0000H ;复位入口 AJMP MAINORG 0003H ;中断入口 AJMP PINT0ORG 0100H ;主程序 MAIN:MOV SP,#40H;设栈底SETB EA ;开总允许开关SETB EX0 ;开INT0中断SETB IT0 ;负跳变触发中断H: SJMP H ;执行其它任务ORG 0200H ;中断服务程序 PINT0:CPL P1.0 ;改变LEDRETI ;返回主程序,软件等待按键

13、释放,2. 电平触发:避免一次按键引起多次中断响应。,ORG 0000H ;复位入口AJMP MAINORG 0003H ;中断入口 AJMP PINT0ORG 0100H ;主程序 MAIN:MOV SP,#40H ;设栈底SETB EA ;开总允许开关SETB EX0 ;开INT0中断CLR IT0 ;低电平触发中断H: SJMP H ;执行其它任务ORG 0200H ;中断服务程序 PINT0:CPL P1.0 ;改变LED WAIT:JNB P3.2,WAIT;等按键释放RETI ;返回主程序,中断程序编制中要注意的是: 1、根据需要保护现场 2、及时清除不能被硬件自动清除的中断请求标

14、志 3、中断服务程序中的压栈和出栈指令必须成对使用,以避免堆栈数据出错,例4:串口中断的编制ORG 1000H SP-PRO: PUSH PSW ;保护现场PUSH A CLR RS0SETB RS1 ;选择第一组的R0R7JB RI , RI-PRO ;判断引起的中断原因CLR TI ;是串行发送引起的中断 ;发送处理LJMP SP-ET RI-PRO: CLR RI ;是串行接受引起的中断 ;接受处理SP-ET :POP A ;恢复现场POP PSW RETI 说明:中断的很多标志都是在进入中断是由硬件清掉的,但是RI和TI硬件清不了,所以需用户进行处理。,例5:如下图所示,此中断电路可实

15、现系统的故障显示。当系统正常工作时,四个故障源的输入都是低电平,显示灯不亮。当有某个部分出现故障时,则相应的输入线由低电平变成高电平,相应的发光二极管亮。,ORG 0000H AJMP MAIN ;上电,转向主程序ORG 0003H ;外部中断0入口地址AJMP INSER ;转向中断0服务程序ORG 0100HMAIN: MOV SP, #40H ; 设置栈低ANL P1, #55H ;P1.0/2/4/6为输入;P1.1/3/5/7为输出SETB EX0 ; 允许外部中断0中断SETB IT0 ; 选择边沿触发方式SETB EA ; CPU开中断HEAR:SJMP HEAR ;等中断INSER :JNB P1.0 , L1 ;查询中断源,( P1.0)0转L1SETB P1.1 ; 是 P1.0引起的中断,相应的二极管亮L1: JNB P1.2 , L2 ; 继续查询SETB P1.3L2: JNB P1.4 , L3SETB P1.5L3: JNB P1.6 , L4SETB P1.7L4: RETI,源程序如下:,

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报