四川工程职业技术学院 单片机应用技术课程电子教案 第13讲 中断的概念及51单片机的中断系统 Copyright Http:llmcu. scetc. net
四川工程职业技术学院 单片机应用技术课程电子教案 Copyright © Http://mcu.scetc.net 第 13 讲 中断的概念及51单片机的中断系统
本讲主要内容: 13-1.演示范例_声控小车 13-2.中断的概念 13-3.P89V51RD2单片中断系统的构成 SiChuan Engineering Technical Colledge-1959 Copyright c Http: // mcu.scete. net
SiChuan Engineering Technical Colledge-1959 2 Copyright © Http:// mcu.scetc.net 本讲主要内容: 13-1. 演示范例——声控小车 13-2. 中断的概念 13-3. P89V51RD2单片中断系统的构成
13-1.演示范例——声控小车 ◇利用声音控制小车运动状态。 ◇要求:编程使小车按照顺时针方向旋转,通过拍手使小车逆时针旋 转3秒后又恢复为顺时针旋转状态。 SiChuan Engineering Technical Colledge-1959 Copyright c Http: // mcu.scete. net
SiChuan Engineering Technical Colledge-1959 3 Copyright © Http:// mcu.scetc.net 13-1. 演示范例——声控小车 利用声音控制小车运动状态。 要求:编程使小车按照顺时针方向旋转,通过拍手使小车逆时针旋 转3秒后又恢复为顺时针旋转状态
13-1.演示范例——声控小车 ◇范例分析: ◇设计中的主要任务: ◇正常状态下的顺时针运动方式; ◇根据拍手及时地更改运动状态; ◇拍手动作响应后恢复为原有运动状态。 ◇程序设计中需要解决的主要问题: ◇如何及时响应拍手的动作? SiChuan Engineering Technical Colledge-1959 Copyright c Http: // mcu.scete. net
SiChuan Engineering Technical Colledge-1959 4 Copyright © Http:// mcu.scetc.net 13-1. 演示范例——声控小车 范例分析: 设计中的主要任务: 正常状态下的顺时针运动方式; 根据拍手及时地更改运动状态; 拍手动作响应后恢复为原有运动状态。 程序设计中需要解决的主要问题: 如何及时响应拍手的动作?
13-1.演示范例——声控小车 ◇拍手动作的响应—硬件接口 ◇声音检测电路的工作原理 R20 100k GND POT JPI U9A DIl U9B R25 2K VCC CAP CoN3 LM358 0uR9N414810u LM358 2K eK ◇主电路板上的声音检测电路在没有检测到声音时其输出端为高电平,当麦克风接 收到一定强度的声音时其输出端变为低电平。用跳线帽短接JP17的2、3脚就可以 把声音检测电路的输出接到单片机的INT0(P3,2)端。 SiChuan Engineering Technical Colledge-1959 Copyright c Http: // mcu.scete. net
SiChuan Engineering Technical Colledge-1959 5 Copyright © Http:// mcu.scetc.net 13-1. 演示范例——声控小车 拍手动作的响应——硬件接口 声音检测电路的工作原理 主电路板上的声音检测电路在没有检测到声音时其输出端为高电平,当麦克风接 收到一定强度的声音时其输出端变为低电平。用跳线帽短接JP17的2、3脚就可以 把声音检测电路的输出接到单片机的INT0(P3.2)端。 5 6 7 4 8 U9B LM358 4 8 2 3 1 U9A LM358 R25 2K R23 2K R20 100k C29 10u R24 2K D11 1N4148 C28 10u VCC R21 5K R18 10k GND R19 10k R22 5k R15 RES2 GND VCC C10 CAP MK1 MICROPHONE2 DI4 1 2 3 JP17 CON3 RP1 POT2 VCC
13-1.演示范例——声控小车 ◇拍手动作的响应—硬件接口 ◇声音检测电路的工作原理—灵敏度调节 R20 100k GND U9A U9B R25 5K 2K CAP CON3 10uR191N414810 LM358 K MICROPHONEZ ◇调节RP1电位器可以调节声音检测电路的灵敏度,环境噪声比较大时,应降低灵 敏度,在环境噪声较小时可以提高灵敏度。 SiChuan Engineering Technical Colledge-1959 Copyright c Http: // mcu.scete. net
SiChuan Engineering Technical Colledge-1959 6 Copyright © Http:// mcu.scetc.net 13-1. 演示范例——声控小车 拍手动作的响应——硬件接口 声音检测电路的工作原理——灵敏度调节 调节RP1电位器可以调节声音检测电路的灵敏度,环境噪声比较大时,应降低灵 敏度,在环境噪声较小时可以提高灵敏度。 5 6 7 4 8 U9B LM358 4 8 2 3 1 U9A LM358 R25 2K R23 2K R20 100k C29 10u R24 2K D11 1N4148 C28 10u VCC R21 5K R18 10k GND R19 10k R22 5k R15 RES2 GND VCC C10 CAP MK1 MICROPHONE2 DI4 1 2 3 JP17 CON3 RP1 POT2 VCC
13-1.演示范例——声控小车 ◇拍手动作的响应一程序设计 ◇方案一:根据硬件特点,当有声音时,单片机的P3出现 故可在程 序中通过查询P32的状态得知是否拍手。可在顺 无法对外部事件 变询 P32的状态,查询部分程序如下: 实现实时响应。 JBP3.2EXT;若无拍手则返回执行 ◇方案一存在的问题 由于查询是在每个动作结束后进行,可能会存在如下问题: ◇在小车每种运动的5秒钟内,无法查询到拍手的动作; 当5秒钟运动结束后可能拍手的动作已过去了,查不到了,没能响应 ◇反复查询和判断,使PU利用率降低; 没有提高资源 利用率,实现 资源共享。 SiChuan Engineering Technical Colledge-1959 Copyright c Http: // mcu.scete. net
SiChuan Engineering Technical Colledge-1959 7 Copyright © Http:// mcu.scetc.net 13-1. 演示范例——声控小车 拍手动作的响应——程序设计 方案一:根据硬件特点,当有声音时,单片机的P3.2出现低电平,故可在程 序中通过查询P3.2的状态得知是否拍手。可在顺时针运动一段时间后查询 P3.2的状态,查询部分程序如下: JB P3.2 EXIT ;若无拍手则返回执行原来运动状态 方案一存在的问题: 由于查询是在每个动作结束后进行,可能会存在如下问题: 在小车每种运动的5秒钟内,无法查询到拍手的动作; 当5秒钟运动结束后可能拍手的动作已过去了,查不到了,没能响应; 反复查询和判断,使CPU利用率降低; 没有提高资源 利用率,实现 资源共享。 无法对外部事件 实现实时响应
13-1.演示范例——声控小车 ◇拍手动作的响应一程序设计 ◇方案二:只有当拍手时才中断小车当前运动,转去处理拍手动作, 没有拍手动作时保持原有运动状~3 ◇方案二基本思路: ◇无拍手动作时,程序正常执行原有功能; ◇当拍手时,“通知”0PU法去处理; 这样可以提高cPU 令暂停目前的工作,根据拍手次数执行相应的操作的利用率,并对拍 ◇动作处理完毕后,回到暂停前的状态继续执行原 手动作作出及时响 SiChuan Engineering Technical Colledge-1959 Copyright c Http: // mcu.scete. net
SiChuan Engineering Technical Colledge-1959 8 Copyright © Http:// mcu.scetc.net 13-1. 演示范例——声控小车 拍手动作的响应——程序设计 方案二:只有当拍手时才中断小车当前运动,转去处理拍手动作, 没有拍手动作时保持原有运动状态。 方案二基本思路: 无拍手动作时,程序正常执行原有功能; 当拍手时, “通知”CPU去处理; CPU暂停目前的工作,根据拍手次数执行相应的操作; 动作处理完毕后,回到暂停前的状态继续执行原有功能。 这样可以提高CPU 的利用率,并对拍 手动作作出及时响 应
13-2.中断的概念 ◇CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处 理(中断发生或中断请求); CPU暂时中断当前的工作,转去处理事件B(中断响应和中断 服务); ◇待CPU将事件B处理完毕后,再回到原来事件A被中断的地方继 续处理事件A(中断返回)。 事件A 中断是 中断 什么? 事件B 事件B的 中断请求→中断响应→中断服务→中断返回 处理过程 SiChuan Engineering Technical Colledge-1959 Copyright c Http: // mcu.scete. net
SiChuan Engineering Technical Colledge-1959 9 Copyright © Http:// mcu.scetc.net 13-2. 中断的概念 CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处 理(中断发生或中断请求); CPU暂时中断当前的工作,转去处理事件B(中断响应和中断 服务); 待CPU将事件B处理完毕后,再回到原来事件A被中断的地方继 续处理事件A(中断返回)。 中断是 什么? 中断请求→中断响应→中断服务→中断返回 中 断 事件B的 处理过程 事件A 事件B
13-3.P89V51RD2中断系统的构成 ◇中断源—中断的申请方 ◇中断控制寄存羅—中断的控制“工具” ◇中断响应—中断的“内容” ◇中断返回—中断结束 SiChuan Engineering Technical Colledge-1959 Copyright c Http: // mcu.scete. net
SiChuan Engineering Technical Colledge-1959 10 Copyright © Http:// mcu.scetc.net 13-3. P89V51RD2中断系统的构成 中断源——中断的申请方 中断控制寄存器——中断的控制“工具” 中断响应——中断的“内容” 中断返回——中断结束