欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    【大学课件】单片机中断系统.ppt

    • 资源ID:6096241       资源大小:1.37MB        全文页数:34页
    • 资源格式: PPT        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    【大学课件】单片机中断系统.ppt

    ,第四章 单片机 中断系统,http:/,http:/,MCS-51中断系统,概述,与上对比,单片机中也有同样的问题。CPU正在执行原程序,突然,被意外事情打断,转去执行新程序。CPU执行新程序结束后,又回到原程序中继续执行。这样的过程就叫。,什么叫中断?举例:某同学正在教室写作业,忽然闹钟响了,完成设定任务,回来继续写作业。这就是生活中中断的例子。,http:/,中断处理过程,概述,http:/,对突发事故,做出紧急处理。根据现场随时变化的各种参数、信息,做出实时监控。CPU与外部设备并行工作,以中断方式相联系,提高工作效率。解决快速CPU与慢速外设之间的矛盾。在多项外部设备同时提出中断请求情况下,CPU能根据轻重缓急响应外设的中断请求。,中断的作用:,概述,http:/,单片机中断系统,http:/,一、中断源,中断源外部中断定时/计数器溢出中断串行发送结束请求中断串行接收有效请求中断,http:/,中断源:入口地址外部中断0(/INT0)0003HT0溢出中断 000BH外部中断1(/INT1)0013HT1溢出中断 001BH串口中断 0023H T2溢出中断 002BH,中断请求源(“五源中断”),http:/,二、中断控制,单片机设有四个特殊功能寄存器:定时控制寄存器TCON串行控制寄存器SCON中断屏蔽寄存器IE中断优先级寄存器IP,http:/,MCS-51中断控制系统,http:/,TCON,TR0/TR1:定时/计数器运行控制位。,IT0/IT1:外部中断0/1请求触发方式控制位。1为脉冲触发,下降沿有效。0为电平触发,低电平有效。,TCON的字节地址为88H,位地址为88H8FH。,IE0/IE1:外中断/请求标志位。当CPU采样到()端出现有效中断请求时,IE0(IE1)位由硬件置“1”。当中断响应,转向中断服务程序后,由硬件把IE0(或IE1)清零。,1.定时控制寄存器TCON,TF0/TF1:定时/计数溢出标志位。用于定时/计数器控制。,http:/,2.串行中断控制寄存器SCON,串行控制寄存器SCON的字节地址为98HTI:串行口发送中断请求标志位。当发送完一帧串行数据后,由硬件置“1”;在中断响应,转向中断服务程序后,接口硬件不能自动将TI或RI清零,需用户用软件清零,来撤消中断。中断撤消必须在下一个中断到来之前完成。RI:串行口接收中断请求标志位。当接收完一帧串行数据后,由硬件置“1”;在中断响应,转向中断服务程序后,需用软件清“0”。串行中断请求由TI和RI的逻辑或得到。,TCON,http:/,在中断源与CPU之间有二级中断允许控制逻辑电路,类似开关,其中第一级为一个总开关,第二级为六个分开关,由IE控制。,3、中断屏蔽寄存器IE,若为“1”,开关接通,允许例如 EA1;若为“0”,开关断开,不允许例如 IE.70;,http:/,4、中断优先级寄存器IP,CPU同一时间只能响应一个中断请求。若同时来了两个或两个以上中断请求,就必须有先有后。!,为此将6个中断源分成0,1两个个级别,0低、1为高优先级,PT2 定时/计数器T2的中断优先级别PS 串口的中断优先级别PT1 定时/计数器T1的中断优先级别PX1 外部中断1 的中断优先级别PT0 定时/计数器T0的中断优先级别PX0 外部中断0 的中断优先级别,“1”,1优先级“0”,0优先级,最低,优先级控制可以通过修改中断优先级控制寄存器IP的内容实现。IP的字节地址为0B8H,http:/,同一级中的5个中断源的优先顺序是:,中断优先原则:(概括为四句话)1、低级不打断高级2、高级不睬低级3、同级不能打断4、同级、同时中断,事先约定。,http:/,中断汇编程序初始化 SETB IT0 SETB EX0 SETB EA SETB PT0,中断C程序初始化EX0=1;IT0=1;EA=1;PX0=1;,http:/,三、MCS-51中断的响应过程,CPU每个机器周期都需要顺序检查每个中断源,当检测到有中断请求时,能否响应,还要看下述情况是否存在:,(1)CPU正处理相同级别或更高级别的中断;(2)正在执行指令,还未到最后一个机器周期;(3)正在执行的指令是RETI或访问IP、IPH、IE指令,则执 行完上述指令后,再执行一条指令后,才会响应新中断。,http:/,http:/,1、中断请求 中断请求就是中断源向CPU申请中断的过程,即建立中断请求标志位IE0、IE1、TF0、TF1、TI/RI的过程外部中断请求:经由引脚P3.2、P3.3向CPU申请中断的过程。外部中断请求有两种方式:低电平触发和下降沿触发。通过设置触发方式控制位IT0、IT1进行选择。IT0=0,表示为低电平触发方式;IT0=1,表示为下降沿触发方式。IT1的情况类似。内部中断请求:当T0计数产生溢出时,由硬件置位TF0。当CPU响应中断后,再由硬件将TF0清0。T1的情况类似。当串行口发送结束时,使TI=1;当串行口接收结束时,使RI=1。CPU响应中断后,由软件将TI/RI位清0。,http:/,2、中断响应,CPU对中断请求进行判断,形成中断矢量,转入相应的中断服务程序的过程叫中断响应。1)CPU响应中断的基本条件有中断源提出中断请求;中断总允许位EA1,即CPU中断开放;申请中断的中断源的中断允许位为1,即中断源开放;CPU没有响应同级或更高优先级的中断;当前指令执行结束;如果正在执行的指令是RETI或是访问IE、IP指令。,http:/,2)中断响应过程 单片机在每个机器周期的S5P2期间,顺序采样每个中断源,建立中断请求标志。在下一个机器周期按优先级查询中断标志,如查询到有中断标志为1,则按优先级进行中断响应。硬件将程序计数器PC的当前内容压入堆栈保护,然后将对应的中断矢量装入程序计数器PC,使程序转向相应的中断入口。这相当于执行一条长调用指令。,http:/,中断源 入口地址外中断 0003H定时/计数器T0溢出中断 000BH外中断 0013H定时/计数器T1溢出中断 001BH串行口中断 0023H定时/计数器T2溢出中断 002BH,http:/,3、中断处理(中断服务),CPU响应中断后,根据不同的中断源,形成不同的中断矢量,执行相应的中断服务应用程序。CPU执行中断服务应用程序的过程,就是中断处理过程。中断处理一般包括保护现场、中断服务、恢复现场三部分。,http:/,4、中断返回,1)中断返回的过程 在中断服务程序的最后,遇到C语言中断服务程序的“”:将相应的优先级状态触发器清零;恢复断点地址,即从堆栈中弹出栈顶的两个字节到PC,从而返回到断点处;,http:/,2)中断请求的撤销 在中断返回(执行RETI)前,必须撤除中断请求,即将中断标志位清除,否则当CPU返回到主程序后会错误地再一次引起中断响应。(1)T0/T1和边沿触发的INT0/INT1:自动撤销(2)电平触发的INT0/INT1:CPU无法直接控制,需要在引脚处加硬件撤销中断请求。(3)串行口中断:CPU响应中断后不能用硬件清除中断标志位,必须由用户在中断服务程序中用指令来清除相应的中断标志。3)中断响应时间 MCS-51单片机响应中断的最短时间为3个机器周期,最长为8个机器周期。,http:/,事件1,事件2,子程序2,子程序1,中断嵌套的概念:,主程序,中断,中断,http:/,编写中断服务子程序之框架,ORG 0000H LJMP START ORG 0003H LJMP INT0_FUNC ORG 0050HSTART:SETB IT0 MOV A,IPH ORL A,#01H MOV IPH,A,ORG 0200HINT0_FUNC:PUSH PSW PUSH Acc SETB RS0 CLR RS1.POP Acc POP PSW RETI END,SETB PX0 SETB EX0 SETB EA LCALL MYFUNC.SJMP$ORG 0100HMYFUNC:.RET,http:/,例:每次按键都会触发INT0中断,中断发生时将LED状态取反,产生LED状态由按键控制的效果。,void EX_INT0()interrupt 0 using 1LED=LED;/控制LED亮灭,void main()LED=1;EA=1;EX0=1;IT0=1;while(1);,#include#define uchar unsigned char#define uint unsigned intsbit LED=P00;,void main()LED=1;EA=1;EX0=1;IT0=1;while(1);,void main()LED=1;EA=1;EX0=1;IT0=1;while(1);,http:/,例:试编程,外部中断0采用下降沿触发,当外部中断0到来时,P1的8个端口输出为00H;外部中断1采用低电平沿触发,当外部中断1到来时,P1的8个端口输出为0FFH;分析外部中断0会否打断外部中断1?,http:/,练习:试编程,目前单片机的P1在数55H和0AAH之间进行跳变,外部中断0采用下降沿触发,当外部中断0到来时,P1的8个端口均在0和1之间进行跳变,跳变10秒后退出中断。,http:/,四、外部中断源扩展,MCS-51单片机只提供了两个外部中断请求输入端,在实际应用中,如果需要使用多于两个的外部中断源,就必须进行外部中断源的扩展。常用的几种外部中断源扩展方法是:利用单片机中的定时器/计数器T0、T1来扩展;外接硬件电路并配合查询程序扩展;外接中断控制芯片(如8259)进行扩展。,http:/,实践,利用单片机中断,扩展成8路抢答器的按键,在P0端口输出按键值。,http:/,实践:全自动洗衣机“启动/暂停”控制Ptoteus仿真,全自动洗衣机工作过程中,当遇到意外事件发生,如衣物缠绕,或需要干预洗衣进程时,如需要添加消毒液,就需要暂停当前洗衣进程,处理这些事件。假设全自动洗衣机有8个流程,用8个指示灯表示;用8个按键进行选择控制。当某个流程工作时,对应的指示灯点亮。当按下按键K时,中断正在进行的流程,对应的流程指示灯闪烁,洗衣机进入等待状态;再次按下K时,指示灯停止闪烁,变成点亮状态,表示洗衣机恢复原来被中断的洗衣流程。,http:/,http:/,#include/包含头文件void delayMs(unsigned int i)/定义延时程序 unsigned int j;/定义延时变量 while(i-)/延时外循环 for(j=0;j 125;j+);/延时外循环 main()/主程序P2=0;/关闭LED IT0=1;/设置中断0边沿触发 EX0=1;/打开中断0允许EA=1;/打开CPU中断允许while(1)/设置主循环P2=P1;/读取按键状态送LED显示delayMs(20);/延时exint0()interrupt 0/外中断0服务程序do/中断循环EA=0;/关中断P2=0;/关闭LEDdelayMs(20);/延时P2=P1;/读取按键状态送LED显示delayMs(20);/延时while(P32=1);/循环闪烁EA=1;/开中断,

    注意事项

    本文(【大学课件】单片机中断系统.ppt)为本站会员(sccc)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开