1 / 26

中断的概念及 51 单片机的中断系统

13. 中断的概念及 51 单片机的中断系统. 本讲主要内容:. 13-1. 演示 范例 —— 声控小车 13-2. 中断的概念 13-3. P89V51RD2 单片中断系统的构成. 13-1. 演示范例 —— 声控小车. 利用声音控制小车运动状态。 要求:编程使小车按照顺时针方向旋转,通过拍手使小车逆时针旋转 3 秒后又恢复为顺时针旋转状态。. 13-1. 演示范例 —— 声控小车. 范例分析: 设计中的主要任务: 正常状态下的顺时针运动方式; 根据拍手及时地更改运动状态; 拍手动作响应后恢复为原有运动状态。 程序设计中需要解决的主要问题 :

dolph
Download Presentation

中断的概念及 51 单片机的中断系统

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 13 中断的概念及51单片机的中断系统

  2. 本讲主要内容: 13-1. 演示范例——声控小车 13-2. 中断的概念 13-3. P89V51RD2单片中断系统的构成 SiChuan Engineering Technical Colledge-1959

  3. 13-1. 演示范例——声控小车 • 利用声音控制小车运动状态。 • 要求:编程使小车按照顺时针方向旋转,通过拍手使小车逆时针旋转3秒后又恢复为顺时针旋转状态。 SiChuan Engineering Technical Colledge-1959

  4. 13-1. 演示范例——声控小车 • 范例分析: • 设计中的主要任务: • 正常状态下的顺时针运动方式; • 根据拍手及时地更改运动状态; • 拍手动作响应后恢复为原有运动状态。 • 程序设计中需要解决的主要问题: • 如何及时响应拍手的动作? SiChuan Engineering Technical Colledge-1959

  5. 13-1. 演示范例——声控小车 • 拍手动作的响应——硬件接口 • 声音检测电路的工作原理 • 主电路板上的声音检测电路在没有检测到声音时其输出端为高电平,当麦克风接收到一定强度的声音时其输出端变为低电平。用跳线帽短接JP17的2、3脚就可以把声音检测电路的输出接到单片机的INT0(P3.2)端。 SiChuan Engineering Technical Colledge-1959

  6. 13-1. 演示范例——声控小车 • 拍手动作的响应——硬件接口 • 声音检测电路的工作原理——灵敏度调节 • 调节RP1电位器可以调节声音检测电路的灵敏度,环境噪声比较大时,应降低灵敏度,在环境噪声较小时可以提高灵敏度。 SiChuan Engineering Technical Colledge-1959

  7. 13-1. 演示范例——声控小车 无法对外部事件实现实时响应。 没有提高资源利用率,实现资源共享。 • 拍手动作的响应——程序设计 • 方案一:根据硬件特点,当有声音时,单片机的P3.2出现低电平,故可在程序中通过查询P3.2的状态得知是否拍手。可在顺时针运动一段时间后查询P3.2的状态,查询部分程序如下: JB P3.2 EXIT ;若无拍手则返回执行原来运动状态 • 方案一存在的问题: 由于查询是在每个动作结束后进行,可能会存在如下问题: • 在小车每种运动的5秒钟内,无法查询到拍手的动作; • 当5秒钟运动结束后可能拍手的动作已过去了,查不到了,没能响应; • 反复查询和判断,使CPU利用率降低; SiChuan Engineering Technical Colledge-1959

  8. 13-1. 演示范例——声控小车 这样可以提高CPU的利用率,并对拍手动作作出及时响应。 • 拍手动作的响应——程序设计 • 方案二:只有当拍手时才中断小车当前运动,转去处理拍手动作,没有拍手动作时保持原有运动状态。 • 方案二基本思路: • 无拍手动作时,程序正常执行原有功能; • 当拍手时,“通知”CPU去处理; • CPU暂停目前的工作,根据拍手次数执行相应的操作; • 动作处理完毕后,回到暂停前的状态继续执行原有功能。 SiChuan Engineering Technical Colledge-1959

  9. 13-2. 中断的概念 事件A 事件B的处理过程 事件B 中断是 什么? 中 断 中断请求→中断响应→中断服务→中断返回 • CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处理(中断发生或中断请求); • CPU暂时中断当前的工作,转去处理事件B(中断响应和中断服务); • 待CPU将事件B处理完毕后,再回到原来事件A被中断的地方继续处理事件A(中断返回)。 SiChuan Engineering Technical Colledge-1959

  10. 13-3. P89V51RD2中断系统的构成 • 中断源——中断的申请方 • 中断控制寄存器——中断的控制“工具” • 中断响应——中断的“内容” • 中断返回——中断结束 SiChuan Engineering Technical Colledge-1959

  11. 13-3. P89V51RD2中断系统的构成 那些部件可以向CPU发出中断申请呢? • 中断源 • 51单片机P89V51RD2有8个中断源 • 外部中断0——/INT0 • 外部中断1——/INT1 • 定时器/计数器T0中断 • 定时器/计数器T1中断 • 串行通信口中断 • PCA(可编程计数器阵列)中断 • 定时器/计数器T2中断 • 掉电中断 SiChuan Engineering Technical Colledge-1959

  12. 13-3. P89V51RD2中断系统的构成 允许哪些中断? 不允许哪些中断? • 中断控制寄存器——中断允许控制寄存器 • 中断允许控制(1)——特殊功能寄存器IEN0 • EX0:允许/禁止外部中断0申请中断 • EX1:允许/禁止外部中断1申请中断 • ET0:允许/禁止定时器T0申请中断 • ET1:允许/禁止定时器T1申请中断 • ES :允许/禁止串口申请中断 • ET2 :允许/禁止定时器T2申请中断 • EC :允许/禁止PCA申请中断 • EA :中断总控位 =1,允许中断 =0,禁止任何中断 1:允许 0:禁止 SiChuan Engineering Technical Colledge-1959

  13. 13-3. P89V51RD2中断系统的构成 • 中断控制寄存器——中断允许控制寄存器 • 中断允许控制(2)——特殊功能存器IEN1 • EBO:允许/禁止掉电申请中断 1:允许 0:禁止 SiChuan Engineering Technical Colledge-1959

  14. 13-3. P89V51RD2中断系统的构成 • 中断控制寄存器——中断允许控制寄存器 例1:假如允许两个外部中断源INT0和INT1申请中断,如何设置? 方法二 SETB EA ;开中断总控位 SETB EX0;允许INT0中断 SETB EX1;允许INT1中断 方法一 MOV IEN0,#85H 或 MOV 0A8H,#85H SiChuan Engineering Technical Colledge-1959

  15. 13-3. P89V51RD2中断系统的构成 先响应那些中断? 后响应那些哪些中断? • 中断优先级控制(硬件优先+软件优先) • 硬件优先——单片机内部有一个默认的中断优先级顺序(8个优先级) 外部中断0 优先级最高 掉电 定时器T0 外部中断1 定时器T1 PCA 串口/SPI 定时器T2 优先级最低 SiChuan Engineering Technical Colledge-1959

  16. 13-3. P89V51RD2中断系统的构成 可以人为改 变优先级吗? • 中断控制寄存器——优先级控制寄存器 • 中断优先级0低字节控制寄存器 IP0 • PX0(IP0.0):外部中断0优先级低位设定位 • PT0(IP0.1):定时/计数器T0优先级低位设定位 • PX1(IP0.2):外部中断1优先级低位设定位 • PT1(IP0.3):定时/计数器T1优先级低位设定位 • PS(IP0.4):串行口优先级低位设定位 • PT2(IP0.5):定时/计数器T2优先级低位设定位 • PPC(IP0.6):PCA中断优先级低位设定位 1:优先 0:滞后 SiChuan Engineering Technical Colledge-1959

  17. 13-3. P89V51RD2中断系统的构成 • 中断控制寄存器——优先级控制寄存器 • 中断优先级0高字节控制寄存器 IP0H • PX0H(IP0H.0):外部中断0优先级高位设定位 • PT0H(IP0H.1):定时/计数器T0优先级高位设定位 • PX1H(IP0H.2):外部中断1优先级高位设定位 • PT1H(IP0H.3):定时/计数器T1优先级高位设定位 • PSH (IP0H.4):串行口优先级高位设定位 • PT2H(IP0H.5):定时/计数器T2优先级高位设定位 • PPCH(IP0H.6):PCA中断优先级高位设定位 1:优先 0:滞后 SiChuan Engineering Technical Colledge-1959

  18. 13-3. P89V51RD2中断系统的构成 • 中断控制寄存器——优先级控制寄存器 • 中断优先级1低字节控制寄存器 IP1 • PBO(IP1.3):掉电中断优先级低位设定位 • 中断优先级1高字节控制寄存器 IP1H • PBO(IP1H.3):掉电中断优先级高位设定位 1:优先 0:滞后 1:优先 0:滞后 SiChuan Engineering Technical Colledge-1959

  19. 13-3. P89V51RD2中断系统的构成 • 优先级对中断响应的影响: • CPU同时接收到几个中断时,首先响应优先级别最高的中断请求。 • 正在进行的中断过程不能被新的同级或低优先级的中断请求所中断。 • 正在进行的低优先级中断服务,能被高优先级中断请求所中断。这称之为“中断嵌套”。 SiChuan Engineering Technical Colledge-1959

  20. 13-3. P89V51RD2中断系统的构成 还不能肯定吗? • 中断响应 CPU响应中断的条件是: • 中断源有中断请求 • 此中断源的中断允许位为1 • CPU开中断(即EA=1) • 同时满足时,CPU才有可能响应中断。 SiChuan Engineering Technical Colledge-1959

  21. 13-3. P89V51RD2中断系统的构成 • 中断响应 遇到以下任一情况,中断响应将受阻: • CPU正在处理同级或高优先级中断; • 当前查询的机器周期不是所执行指令的最后一个机器周期。即在完成所执行指令前,不会响应中断,从而保证指令在执行过程中不被打断; • 正在执行的指令为RET、RETI或任何访问IE或IP寄存器的指令。即只有在这些指令后面至少再执行一条指令时才能接受中断请求。 • 若由于上述条件的阻碍中断未能得到响应,当条件消失时该中断标志却已不再有效,那么该中断将不被响应。就是说,中断标志曾经有效,但未获响应,查询过程在下个机器周期将重新进行。 SiChuan Engineering Technical Colledge-1959

  22. 13-3. P89V51RD2中断系统的构成 主程序 中断服务程序的入口地址 断点 应 中断申请 响 断 中断服务子程序 中 • 中断响应 一旦CPU决定响应中断,则CPU会去执行相应的中断服务程序。 中断响应的过程包括: • 保护断点地址 • 程序转至中断服务程序的入口地址 • 执行中断服务子程序 • 保护和恢复现场 • 处理中断源请求 系统自动放入堆栈保护! 放到哪里去呢? SiChuan Engineering Technical Colledge-1959

  23. 13-3. P89V51RD2中断系统的构成 怎样才能找到正确的中断程序呢? • 中断响应 一旦CPU决定响应中断,则CPU会去执行相应的中断服务程序。 CPU是根据每个中断的入口来进行响应的。 SiChuan Engineering Technical Colledge-1959

  24. 13-3. P89V51RD2中断系统的构成 主程序 断点 应 中断申请 响 断 中断服务子程序 中 • 中断响应 一旦CPU决定响应中断,则CPU会去执行相应的中断服务程序。 中断响应的过程包括: • 保护断点地址 • 程序转至中断服务程序的入口地址 • 执行中断服务子程序 • 保护和恢复现场 • 处理中断源请求 中断服务程序的入口地址 SiChuan Engineering Technical Colledge-1959

  25. 13-3. P89V51RD2中断系统的构成 保护现场 应 响 断 中 中断源处理 回 返 恢复现场 断 中 • 中断响应——中断服务 • 保护现场 • 处理中断源要求 • 恢复现场 主程序 中断申请 SiChuan Engineering Technical Colledge-1959

  26. 13-3. P89V51RD2中断系统的构成 主程序 中断服务程序的入口地址 断点 应 中断申请 响 断 中断服务子程序 中 回 返 断 中 • 中断返回 CPU完成中断服务后,返回到原来暂停的位置(即断点),继续执行原来的程序。 • 返回方式:使用RETI指令返回 • RETI指令的任务: • 取出保存的断点地址给PC; SiChuan Engineering Technical Colledge-1959

More Related