单片机的中断系统和外部中断ppt课件

上传人:钟*** 文档编号:5884321 上传时间:2020-02-10 格式:PPT 页数:16 大小:637.47KB
返回 下载 相关 举报
单片机的中断系统和外部中断ppt课件_第1页
第1页 / 共16页
单片机的中断系统和外部中断ppt课件_第2页
第2页 / 共16页
单片机的中断系统和外部中断ppt课件_第3页
第3页 / 共16页
点击查看更多>>
资源描述
第六章51单片机的中断系统和外部中断 6 151单片机的中断系统6 251单片机的中断处理过程6 351单片机的中断服务子程序设计6 451单片机的外部中断6 551单片机外部中断应用实例 1 点击添加文本 点击添加文本 点击添加文本 点击添加文本 6 151单片机的中断系统 51单片机的中断体系由相关控制寄存器和外部的中断引脚组成 这些外部中断引脚包括定时 计数器引脚T0 T1 T2 T2EX 外部中断引脚INT0 INT1以及串口发送和接收引脚RXD TXD 中断控制寄存器IE内部结构这个寄存器可以位寻址 可以对该寄存器相应位进行置 1 或清 0 来对相应的中断进行操作 中断优先级控制寄存器IP来提高某个中断的优先级别 从而达到在多个中断同时发生时先处理该中断的目的 中断优先级控制寄存器内部结构 该寄存器可以位寻址 如果中断源对应的控制位被置位为1 则该中断源被置位为高优先级 否则则为低优先级 高优先级的中断事件总是被优先处理 2 点击添加文本 点击添加文本 点击添加文本 点击添加文本 6 251单片机的中断处理过程 6 2 151单片机中断系统的初始化步骤 初始化堆栈指针SP 设置中断源的触发方式 设置中断源的优先级别 使能相应中断源 注 在C语言编写的代码中 第一步会由编译器自动完成 3 点击添加文本 点击添加文本 点击添加文本 点击添加文本 6 251单片机的中断处理过程 6 2 251单片机的中断服务子程序处理流程 在中断向量入口放置一条跳转指令 让程序从中断向量入口跳转到其实际代码的起始位置 保存当前寄存器的内容 清除中断标志位 处理中断事件 恢复寄存器内容 返回到原来主程序的执行处 没有能够及时响应的中断请求标志位51单片机的中断处理流程 屏蔽同级和低级别的中断 把当前程序指针PC的内容保存到堆栈中 根据中断标志位 把相应的中断源对应的中断向量入口地址装入到PC中 从中断向量入口地址跳转到对应的中断服务程序中 执行中断服务 中断服务执行完成之后打开被屏蔽的中断 然后从堆栈中取出原先保存的PC内容 使得程序可以从原先的PC地址继续运行 4 点击添加文本 点击添加文本 点击添加文本 点击添加文本 6 351单片机的中断服务子程序设计 中断服务函数需要使用关键字interrupt来进行定义 interrupt后面的参数0 4表明了中断源 在实际使用中常常使用using来定义在中断服务函数中使用的寄存器组 其参数可以为0 3 分别对应通用工作寄存器组0 组3 可以减少压入堆栈的变量内容 从而简化中断服务函数的内容 以加快程序执行的速度 标准结构 void函数名 void interrupt中断标号using寄存器编号 中断函数代码 51单片机中断源对应的中断标号按照内部优先级从高到低的顺序分配为0 5 外部中断0对应的中断号是0 定时 计数器T2对应的中断号是5 5 点击添加文本 点击添加文本 点击添加文本 点击添加文本 6 451单片机的外部中断 由中断系统和外部引脚组成 其使用P3端口的P3 2 INT0 和P3 3 INT1 引脚来作为外部信号的输入引脚 外部中断INT0和INT1在使能后有两种触发方式 一种是下降沿触发 一种是低电平触发 这两种方式可以选择 通过对定时计数器控制寄存器TCON Timer CounterControlRegister 的相关位的设置来切换 当IT0 IT1被置 1 时 INT0 INT1被引脚上的下降沿触发 否则由引脚上的低电平触发 6 点击添加文本 点击添加文本 点击添加文本 点击添加文本 6 551单片机外部中断应用实例 6 5 1中断计数 三极管 1 三极管基础 三极管是一种用电流来控制电流的半导体器件其作用是把微弱信号放大成辐值较大的电信号 也常常用作无触点开关有三个引脚 分布为发射极 emitter E 基极 base B 和集电极 collector C 2 Proteus中的三极管 位于Transistors库中包括Bipolar IGBT JEET等 7 点击添加文本 点击添加文本 点击添加文本 点击添加文本 6 551单片机外部中断应用实例 6 5 1中断计数 三极管 3 实例的设计思路 内部设置一个软件计数器 当检测到外部中断的时候将该软件计数器增加 然后将计数器拆分之后的值对应的字符编码通过I O口送出驱动数码管显示 4 实例的Proteus电路 在51单片机的INT0引脚上连接了一个按键 按键的一端连接到地 另一端通过上拉电阻连接到INT0 对该按键被按下的事件计数 并且在三位8段数码管上显示出来 另外在普通I O引脚上连接一个按键用于清零计数 当计数达到999或者清零按键被按下的的时候 数码管被归零 重新开始计数 8 点击添加文本 点击添加文本 点击添加文本 点击添加文本 6 551单片机外部中断应用实例 6 5 1中断计数 三极管 4 实例的Proteus电路 9 点击添加文本 点击添加文本 点击添加文本 点击添加文本 6 551单片机外部中断应用实例 6 5 1中断计数 三极管 5 实例的应用代码 使用IE 0 x81和IT0 1使能了外部中断并且将中断触发事件设置为脉冲方式 在中断服务函数EX INT0中对计数器Counter加1 并且拆分为对应的数字后在主循环中显示 10 点击添加文本 点击添加文本 点击添加文本 点击添加文本 6 551单片机外部中断应用实例 6 5 1中断计数 三极管 6 实例的仿真结果和说明 点击运行 按下K1 可以看到显示的数据随着按键值的改变而发生改变 按下K2可以看到显示数据被清除 11 点击添加文本 点击添加文本 点击添加文本 点击添加文本 6 551单片机外部中断应用实例 6 5 2低电平中断的应用 1 实例的设计思路 INT0和INT1引脚上分别两连接到开关S1和S2 P1 0和P1 7引脚使用灌电流方式驱动了两个LED 单片机配置为外部中断0 外部中断1均为电平触发方式 中断优先级为默认 当SW1和SW2单独闭合时 对应的LED1和LED2闪烁 如果SW1闭合后SW2闭合 只有LED1闪烁 如果SW2闭合后SW1闭合 开始LED2闪烁 当SW1闭合后LED2不闪烁 LED1闪烁 如果SW1和SW2同时闭合 LED1闪烁 当SW1断开后LED1停止闪烁 LED2开始闪烁 2 实例的Proteus电路 12 点击添加文本 点击添加文本 点击添加文本 点击添加文本 6 551单片机外部中断应用实例 6 5 2低电平中断的应用 3 实例的应用代码 51单片机使用两个外部中断服务子程序来对外部中断0和外部中断1的进行处理 在中断服务子程序中只做一件事情 就是控制对应的LED翻转 4 实例的仿真结果和说明 13 点击添加文本 点击添加文本 点击添加文本 点击添加文本 6 551单片机外部中断应用实例 6 5 3多个信号共用一个外部中断 1 实例的设计思路 将多个信号通过输入与门的输出信号连接到单片机的外部中断引脚上 然后同时将4个信号分别连接到51单片机的一个外部引脚上 当检测到外部中断信号的时候去检测这些外部引脚上的信号 然后判断到底是哪个信号触发了外部中断事件 2 实例的Proteus电路 4个由按键 K1 K4 和上拉电阻构造的低电平事件信号通过74LS21四输入与门连接到单片机的外部中断引脚INT0 P3 2 上 然后4个信号分别连接到单片机的P1 0 P1 3引脚上 14 点击添加文本 点击添加文本 点击添加文本 点击添加文本 6 551单片机外部中断应用实例 6 5 3多个信号共用一个外部中断 3 实例的应用代码 当4个外部中断事件中有一个变为低电平的之后 四输入与门的输出为低电平 触发外部中断0中断事件 程序进入EX Int0函数 然后对P1 4 P1 7的引脚电平进行判断 从而确定是哪一个外部中断事件触发了中断事件 15 点击添加文本 点击添加文本 点击添加文本 点击添加文本 6 551单片机外部中断应用实例 6 5 3多个信号共用一个外部中断 4 实例的仿真结果和说明 点击运行 分别按下不同的按键 可以看到对应的发光二极管发生变化 16
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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