网站大量收购独家精品文档,联系QQ:2885784924

第五章单片机的中断系统教材.ppt

  1. 1、本文档共45页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 单片机的中断系统;5.1 中断的概念 5.2 中断控制系统 5.3 中断处理过程 5.4 中断的编程及应用;1、主程序(死循环)中并没有调用INT0_srv()函数,它是如何自动执行的? 2、主程序中那几个变量赋值语句的作用是什么? 3、这种程序结构的意义是什么?;1、INT0_srv() 是一个中断服务程序,是系统在感受到某种特定信息后自动启动的; 2、那几个变量赋值语句是针对中断系统的管理命令; 3、可使系统实现多任务操作功能。;中断是指在突发事件到来时先中止当前正在进行的工作,转而去处理突发事件。待处理完成后,再返回到原先被中止的工作处,继续进行随后的工作。;1、可实现分时操作(CPU与多个外设并行工作);5.1 中断的概念 5.2 中断控制系统 5.2.1 中断系统的结构 5.2.2 中断管理寄存器 5.3 中断处理过程 5.4 中断的编程及应用;引脚P3.2的电平/脉冲变化——外部中断0,INT0 引脚P3.3的电平/脉冲变化——外部中断1,INT1 定时/计数器0产生溢出——定时器0中断,T0 定时/计数器1产生溢出——定时器1中断,T1 串口一帧数据发送/接收完成——串口中断,TI/RI;五个中断源可以引导五个中断服务程序,中断服务程序的入口地址——向(矢)量地址(ROM地址单元) 。;IT1和IT0:INT1和INT0的触发方式选择位 0→电平,1→脉冲;TI:串口发送中断标志位,一帧内部数据被送入发送缓冲器后由硬件自动置1→发送中断请求 中断响应后,标志位需要用软件方式撤销;EA:中断总允许位,1→开放全部中断,0→禁止全部中断 ES:串口中断允许位,1→允许,0→禁止 ET1和ET0:定时器中断允许位,1→允许,0→禁止 EX1和EX0:外部中断允许位,1→允许, 0→禁止;中断源、中断入口、标志位、使能位;PS:串口优先级设定位,1→高优先级,0→低优先级 PT1和PT0:T1和T0的优先级设定位,1→高优先级, 0→低优先级 PX1和PX0:INT1和INT0的优先级设定位,1→高优先级,0→ 低优先级;中断源、中断入口、标志位、使能位、优先级设置位;1)高级中断请求可以打断正在执行的低级中断; 2)同级或低级中断请求不能打断正在执行的中断; 3)同级中断源同时提出请求时按自然优先级响应: INT0→ T0 → INT1→T1→TI/RI 4)单片机复位时,IP各位都被置0, 所有中断源为低级中断;;5.1 中断的概念 5.2 中断控制系统 5.3 中断处理过程 5.3.1 中断响应条件 5.3.2 中断响应过程 5.3.3 中断的撤消 5.4 中断的编程及应用;有中断请求(标志位置1) 中断总允许位EA=1,即CPU要开中断 中断源允许位为1,即没有被屏蔽 无同级或者更高级中断正在被服务;机器周期的S6期间,CPU对中断标志位采样 阻断同级或低级中断 将程序断点存入栈区 中断矢量地址装入PC,转入对应的入口地址 中断响应时间为3~8个机器周期;;关中断(防止高级中断对现场保护的干扰) 保护现场(将PSW,Rn,A等内容压入堆栈) 开中断(允许高级中断请求) 中断服务(处理中断事件) 关中断(防止高级中断对现场恢复的干扰) 恢复现场(将PSW,Rn,A等内容弹出堆栈) 开中断(允许高级中断请求) 中断返回(断点弹出→”优先级激活“触发器复位);5.4 中断的编程及应用;C51中断服务程序是一种特殊的函数,它的说明形式为:;using m 指定该中断服务程序要使用的工作寄存器组号,m为0~3。 若缺省using项,则编译系统默认为是当前工作寄存器组。;在不查询按键时,如何得知按键有动作动作?;①增加一个或非门,利用按键压下时的电平产生INT0中断请求信号;②改用P2口输出键值送LED数码管显示。;#includereg51.h char led_mod[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c,0x58,0x5e,0x79,0x71}; //led字模 char key_buf[] = {0x11,0x21,0x41,0x81,0x12,0x22,0x42,0x82, 0x14,0x24,0x44,0x84,0x18,0x28,0x48,0x88}; //扫描码 bit key_flag=0;//定义按键动作标志 //----------------------延时函数

文档评论(0)

youngyu0329 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档