欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    单片机原理与实验指导 第6章 中断系统.ppt

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

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

    单片机原理与实验指导 第6章 中断系统.ppt

    6 MCS-51系列单片机的中断系统系列单片机的中断系统 中断技术是单片机在实时处理和实时中断技术是单片机在实时处理和实时控制中不可缺少的重要环节。由于来自多控制中不可缺少的重要环节。由于来自多方的中断请求都是随机发出的,如果采用方的中断请求都是随机发出的,如果采用查询方式来处理这些中断请求,则单片机查询方式来处理这些中断请求,则单片机的工作效率就会变的非常很低,实时性将的工作效率就会变的非常很低,实时性将得不到有效保证。得不到有效保证。6.1 中断的概念中断的概念 所谓中断,是指在所谓中断,是指在CPU执行程序的过程执行程序的过程中,当出现某种情况,由服务对象向中,当出现某种情况,由服务对象向CPU发出发出中断请求信号,要求中断请求信号,要求CPU暂时中断当前程序的暂时中断当前程序的执行,而转去执行相应的处理程序,待处理程执行,而转去执行相应的处理程序,待处理程序执行完毕后,再返回来继续执行原来被打断序执行完毕后,再返回来继续执行原来被打断的程序。也就是说,中断是通过硬件来改变的程序。也就是说,中断是通过硬件来改变CPU程序运行方向的一种技术,它既和硬件有程序运行方向的一种技术,它既和硬件有关,也和软件有关。关,也和软件有关。6.1.1 中断的过程中断的过程 调用中断过程调用中断过程 中断嵌套过程中断嵌套过程 6.1.2 中断源中断源 一、一、I/O设备设备 通常要求它在输入或输出一个数据时能自动产生一个通常要求它在输入或输出一个数据时能自动产生一个“中断请求中断请求”信号(信号(TTL高电平或高电平或TTL低电平)送到低电平)送到CPU的中断请求输入线,以供的中断请求输入线,以供CPU检测和响应。(如,检测和响应。(如,打印机、键盘等)打印机、键盘等)二、控制对象二、控制对象 在单片机用作实时控制时,被控对象常常用作中断在单片机用作实时控制时,被控对象常常用作中断源,用于产生中断请求信号,要求源,用于产生中断请求信号,要求CPUCPU及时采集系统的及时采集系统的控制参量、越限参数以及要求发送和接收数据等。控制参量、越限参数以及要求发送和接收数据等。(如,如,电流、电压等)电流、电压等)三、故障检查三、故障检查 当设备或系统发生故障时以中断的方式通知当设备或系统发生故障时以中断的方式通知CPU对故障进行对故障进行分析处理。分析处理。四、实时时钟 在工业控制中,经常需要进行定时检测和控制,单片机内部在工业控制中,经常需要进行定时检测和控制,单片机内部一般都有专门的定时器,当需要定时时,由一般都有专门的定时器,当需要定时时,由CPUCPU发出命令,启动发出命令,启动定时器开始计时,待定时时间到,定时器向定时器开始计时,待定时时间到,定时器向CPUCPU发出中断申请,发出中断申请,CPUCPU响应处理。响应处理。五、人为设置 为了检查中间结果是否正确或者在查找错误,往往都要设置为了检查中间结果是否正确或者在查找错误,往往都要设置断点或单步执行,这些都是人为设置的中断断点或单步执行,这些都是人为设置的中断。6.1.3 中断的好处中断的好处(1)实行分时操作,提高了)实行分时操作,提高了CPU的效率的效率;(2)实现实时处理)实现实时处理;(3)进行故障处理)进行故障处理;62 MCS-51中断系统中断系统 6.2.1 6.2.1 中断系统的结构与控制中断系统的结构与控制 一、中断系统的结构一、中断系统的结构 8051CPU8051CPU有有5 5个可屏蔽中断源(个可屏蔽中断源(80528052有有6 6个)见表个)见表6-16-1。分。分2 2个中断个中断优先等级,允许实现二级中断嵌套。(优先等级,允许实现二级中断嵌套。(80518051标准型)标准型)(1)2(1)2个外部中断源和(从个外部中断源和(从P3.2P3.2和和P3.3P3.3引脚输入,中断标志为引脚输入,中断标志为IE0IE0 、IE1IE1,触发方式控制为,触发方式控制为 IT0IT0、IT1IT1)););(2 2)2 2个内部定时个内部定时/计数器计数器T0T0、T1T1(P3.4P3.4、P3.5P3.5计数输入,中断标计数输入,中断标 志为志为TF0TF0、TF1TF1););(3 3)一个全双工的串口发送或接收中断()一个全双工的串口发送或接收中断(P3.0P3.0、P3.1P3.1引脚输入,引脚输入,中断标志中断标志TITI、RIRI)。)。二、中断的控制二、中断的控制 申请中断的所有标志位均分别设在特殊功能寄存器申请中断的所有标志位均分别设在特殊功能寄存器TCONTCON和和SCONSCON中(关于中(关于TCONTCON和和SCONSCON的其它用法将在第的其它用法将在第7 7、8 8章中章中叙述)。叙述)。【这这些些标标志志位位都都可可以以用用软软件件控控制制(与与硬硬件件控控制制的的效效果果相相同同)。即即用用软软件件对对某某位位置置1 1,就就相相当当于于提提出出了了对对该该种种中中断断的的申申请请,否否则则就就撤撤销了这种中断申请。销了这种中断申请。】(一)中断标志(一)中断标志(1)TCON中的标志位(计数中的标志位(计数/定时)定时)(2)SCON中的中断标志位(串口)中的中断标志位(串口)注意:在注意:在CPU响应串行口的中断后,硬件并不把响应串行口的中断后,硬件并不把 TI或或RI中断标志清中断标志清0,在使用时,在使用时TI和和RI必须由软件清必须由软件清0。(二)中断允许寄存器(二)中断允许寄存器IE8051系统复位后,系统复位后,IE中各位均被清中各位均被清0,即禁止所有中断。,即禁止所有中断。例如,如果要打开定时例如,如果要打开定时/计数器计数器0和串口的中断,程序可以写成:和串口的中断,程序可以写成:SETB ET0 ;使;使ET0=1,允许,允许T0中断中断 SETB ES ;使;使ES=1,允许串口中断允许串口中断 SETB EA ;使;使EA=1,总允许中断必须打开,总允许中断必须打开(三)中断源优先级设定寄存器(三)中断源优先级设定寄存器IP80518051单片机具有两个中断优先级,每个中断源可变成为单片机具有两个中断优先级,每个中断源可变成为高优先级中断或低优先级中断,并可实现二级中断嵌高优先级中断或低优先级中断,并可实现二级中断嵌套,即,高优先级中断源可中断正在执行的低优先级中套,即,高优先级中断源可中断正在执行的低优先级中断服务程序;同级或低优先级的中断源不能中断正在执断服务程序;同级或低优先级的中断源不能中断正在执行的中断程序。行的中断程序。8051复位后,复位后,IP低低5位全部清位全部清0,将所有中断源设置为低优先级中断。,将所有中断源设置为低优先级中断。MCS-51对同级中断源的优先权有规定对同级中断源的优先权有规定 (见表(见表6-6)例如:例如:一个应用系统设置了三种中断,串行口中断、定时一个应用系统设置了三种中断,串行口中断、定时/计数计数器器1 1中断和外部中断和外部0 0中断,并使优先权顺序为中断,并使优先权顺序为TF1TF1最高,最高,IE0IE0之,之,RI+TIRI+TI的中断优先权最低。对这样的系统,只要把中的中断优先权最低。对这样的系统,只要把中断中断优先级控制寄存器断中断优先级控制寄存器IPIP的的PT1PT1位置位置“1 1”就可以实现就可以实现该系统对优先权顺序的要求了。程序可以写成:该系统对优先权顺序的要求了。程序可以写成:MOV IPMOV IP,#08H#08H;00001000B00001000B,即,即PT1=1PT1=1在这种设置中,在这种设置中,PT1=1PT1=1,使定时,使定时/计数器计数器1 1处在高级优先中,其它中处在高级优先中,其它中断源都处于低级优先权中,且因在同一级中外部中断断源都处于低级优先权中,且因在同一级中外部中断0 0最高。所以最高。所以足:足:PX1PX1(定时(定时/计数器计数器1 1)PX0(PX0(外部中断外部中断0)PS(0)PS(串行口串行口)的优先的优先顺序。顺序。6.2.2 MCS-51中断源的入口地址与过程中断源的入口地址与过程一、中断响应(保存用来地址一、中断响应(保存用来地址-PC压栈)压栈)二、中断返回(与到二、中断返回(与到RETI返回)返回)三、中断响应时间三、中断响应时间 (至少要经过三个完整的机器周期(至少要经过三个完整的机器周期)6.3 6.3 中断程序的设计与应用中断程序的设计与应用6.3.1 6.3.1 中断服务程序的设计结构中断服务程序的设计结构一、硬件电路一、硬件电路二、整个程序的设计功能二、整个程序的设计功能三、中断程序的任务三、中断程序的任务 设计中断服务程序往往要考虑:设计中断服务程序往往要考虑:(1 1)设置中断允许控制寄存器)设置中断允许控制寄存器IEIE的相应标志位;的相应标志位;(2 2)设置中断优先级寄存器)设置中断优先级寄存器IPIP的相应位,确定并分配所使用的的相应位,确定并分配所使用的 中断源优先级;中断源优先级;(3 3)若是外部中断源,还要设置中断请求的触发方式)若是外部中断源,还要设置中断请求的触发方式IT0IT0或或 IT1IT1,以满足硬件电路提供的中断方式;,以满足硬件电路提供的中断方式;(4 4)编写中断服务程序,处理中断要求。)编写中断服务程序,处理中断要求。如,下列程序:ORG 0000H ORG 0000H ;上电或复位入口地址;上电或复位入口地址 LJMP TO_MAIN LJMP TO_MAIN ;无条件转移到主程序;无条件转移到主程序 ORG 0003H ORG 0003H ;外部中断;外部中断0 0入口地址入口地址 LJMP TO_INT0 LJMP TO_INT0 ;跳到外部中断;跳到外部中断0 0中断服务程序处中断服务程序处 ORG 001BH ORG 001BH ;定时;定时/计数器计数器1 1入口地址入口地址 LJMP TO_T1 LJMP TO_T1 ;跳到定时;跳到定时/计数器计数器1 1的中断服务程的中断服务程 ;序处;序处 ORG 0023H ORG 0023H ;串口中断入口地址;串口中断入口地址 LJMP TO_SBUF LJMP TO_SBUF ;跳到串口中断服务程序处;跳到串口中断服务程序处 ORG 0100H ORG 0100H ;程序区;程序区 ;外部中断;外部中断0 0中断服务程序中断服务程序 TO_INT0TO_INT0:PUSH PSW PUSH PSW ;压栈保护;压栈保护PSWPSW PUSH ACC PUSH ACC ;压栈保护;压栈保护ACCACC ;处理中断;处理中断 POP ACC POP ACC ;从栈区弹出;从栈区弹出ACCACC POP PSW POP PSW ;弹出;弹出PSWPSW RETI RETI ;返回主程序;返回主程序 ;定时;定时/计数器计数器1 1的中断服务程序的中断服务程序 TO_T0TO_T0:PUSH PSW PUSH PSW ;压栈保护;压栈保护PSWPSW PUSH ACC PUSH ACC ;压栈保护;压栈保护ACCACC ;处理中断;处理中断 POP ACC POP ACC ;从栈区弹出;从栈区弹出ACCACC POP PSW POP PSW ;弹出;弹出PSWPSW RETI RETI ;返回主程序;返回主程序 ;串口中断服务程序;串口中断服务程序 TO_SBUFTO_SBUF:PUSH PSW PUSH PSW ;压栈保护;压栈保护PSWPSW PUSH ACC PUSH ACC ;压栈保护;压栈保护ACCACC JB TI JB TI,TO_WIRETO_WIRE CLR RI CLR RI ;清除;清除RIRI标志标志 ;读串口数据;读串口数据 SJMP TO_SBUFEND SJMP TO_SBUFEND TO_WIRE TO_WIRE:CLR TI CLR TI ;清除;清除TITI标志标志 ;写串口数据;写串口数据 TO_SBUFEND TO_SBUFEND:POP ACC POP ACC ;从栈区弹出;从栈区弹出ACCACC POP PSW POP PSW ;弹出;弹出PSWPSW RETI RETI ;返回主程序;返回主程序 ;主程序部分;主程序部分 TO_MAINTO_MAIN:MOV SPMOV SP,#70H#70H ;设堆栈区首址;设堆栈区首址 SETB ET1 SETB ET1 ;打开定时;打开定时/计数器计数器1 1中断中断 SETB EX0 SETB EX0 ;打开外部中断;打开外部中断0 0中断中断 SETB ES SETB ES ;打开串口中断;打开串口中断 SETB IT0 SETB IT0 ;设外部中断;设外部中断0 0为下降沿触发为下降沿触发 SETB PT1 SETB PT1 ;设;设T1T1为最高优先权为最高优先权 SETB PS SETB PS ;设串口为较高优先权;设串口为较高优先权 SETB EA SETB EA ;打开总的中断开关;打开总的中断开关 ;主程序;主程序 END TO_MAIN END TO_MAIN 6.3.2 C516.3.2 C51中断服务程序的设计结构中断服务程序的设计结构 【见见5.5.3节节 C51中断函数中断函数】C51编译器仅仅需要关心中断号和寄存器组的选择就可以了。编编译器仅仅需要关心中断号和寄存器组的选择就可以了。编译器会自动产生中断向量和程序的入栈及出栈代码。在函数声明时译器会自动产生中断向量和程序的入栈及出栈代码。在函数声明时包括包括interrupt,将把所声明的函数定义为一个中断服务程序。另,将把所声明的函数定义为一个中断服务程序。另外,可以使用外,可以使用using定义此中断服务程序所使用的寄存器组。中断定义此中断服务程序所使用的寄存器组。中断函数的定义格式为:函数的定义格式为:void 函数名(函数名(void)interrupt n using m其中:其中:关键字关键字interrupt后面的后面的n是中断号,是中断号,n的取值范围为的取值范围为031;关键字关键字using 后面的后面的m是所选择的寄存器组,取值范围是所选择的寄存器组,取值范围03,该,该 项可以省略。项可以省略。对于对于interrupt后面后面n的取值,编译器从的取值,编译器从8n+3处产生中断向量。具体处产生中断向量。具体的中断号的中断号n和中断向量取决于和中断向量取决于8051系列单片机型号,常用的中断源系列单片机型号,常用的中断源和中断向量如表和中断向量如表5-10所示。所示。使用使用关键字关键字关键字关键字usingusing在函数中确定一个工作寄存器组时必须十分小在函数中确定一个工作寄存器组时必须十分小在函数中确定一个工作寄存器组时必须十分小在函数中确定一个工作寄存器组时必须十分小心,要保证任何寄存器组的切换都只在仔细控制的区域内发生,如心,要保证任何寄存器组的切换都只在仔细控制的区域内发生,如心,要保证任何寄存器组的切换都只在仔细控制的区域内发生,如心,要保证任何寄存器组的切换都只在仔细控制的区域内发生,如果做不到这一点,将产生不正确的函数结果。果做不到这一点,将产生不正确的函数结果。果做不到这一点,将产生不正确的函数结果。果做不到这一点,将产生不正确的函数结果。(建议不要轻易设置)(建议不要轻易设置)例如,例如,当外部中断当外部中断0有信号输入时,使有信号输入时,使P1.7引脚电平翻转。程序引脚电平翻转。程序 如下:如下:#include /包含包含C51的头文件的头文件sbit P17=P17;/定义定义P1.7引脚引脚 void main(void)/主函数部分主函数部分 P17=0;/使使P1.7输出低电平输出低电平 EX0=1;/允许外部中断允许外部中断0中断中断 EA=1;/开中断开中断 while(1);/等待等待 void int0_func(void)interrupt 0 /外部中断外部中断0处理函数处理函数 P17=P17;/使使P1.7引脚电平翻转引脚电平翻转 在这个例子中,在这个例子中,using 缺省,寄存器组由编译器给定。缺省,寄存器组由编译器给定。在编写在编写8051单片机中断函数时应遵循以下规则:单片机中断函数时应遵循以下规则:(1)中断函数不能进行参数传递,如果中断函数中包)中断函数不能进行参数传递,如果中断函数中包 含任何参数声明,都将导致编译出错;含任何参数声明,都将导致编译出错;(2)中断函数没有返回值,如果企图定义一个返回)中断函数没有返回值,如果企图定义一个返回 值,将得到不正确的结果。因此建议在定义中断值,将得到不正确的结果。因此建议在定义中断 函数时将其定义为函数时将其定义为void类型,以明确没有返回值;类型,以明确没有返回值;(3)在任何情况下,都不能直接调用中断函数,否则会)在任何情况下,都不能直接调用中断函数,否则会 产生编译出错;产生编译出错;(4)如果在中断函数中调用了其它函数,则被调用函数)如果在中断函数中调用了其它函数,则被调用函数 所用的寄存器组必须与中断函数相同。所用的寄存器组必须与中断函数相同。【练习:练习:6-3、6-5、6-11】6.3.3 中断的应用举例中断的应用举例 实际演示显示实际演示显示【中断例子中断例子】(1)用实验电路板()用实验电路板(XD2008)(2)观看)观看T0的中断情况的中断情况

    注意事项

    本文(单片机原理与实验指导 第6章 中断系统.ppt)为本站会员(s****8)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开