1 / 20

外部中断应用程序设计范例

14. 外部中断应用程序设计范例. 本讲主要内容:. 14-1. 设计范例 —— 声控小车 14-2. 智能小车运动控制方式 14-3. 声控的实现方法. 14-1. 设计范例 —— 声控小车. 利用声音控制小车运动状态 要求:编程使小车原地旋转(顺时针转 5 秒逆时针转 5 秒,重复进行),通过声音检测电路产生中断使小车停止。. 14-1. 设计范例 —— 声控小车. 范例分析: 设计中首先要求控制小车按要求运动,这包含以下内容 小车电机的驱动方式 —— 硬件电路 1 小车运动方式控制方法 其次要求采用声音控制小车的运动,这一过程包含以下内容

bryce
Download Presentation

外部中断应用程序设计范例

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. 14 外部中断应用程序设计范例

  2. 本讲主要内容: 14-1. 设计范例——声控小车 14-2. 智能小车运动控制方式 14-3. 声控的实现方法 SiChuan Engineering Technical College-1959

  3. 14-1. 设计范例——声控小车 • 利用声音控制小车运动状态 • 要求:编程使小车原地旋转(顺时针转5秒逆时针转5秒,重复进行),通过声音检测电路产生中断使小车停止。 SiChuan Engineering Technical College-1959

  4. 14-1. 设计范例——声控小车 • 范例分析: • 设计中首先要求控制小车按要求运动,这包含以下内容 • 小车电机的驱动方式——硬件电路1 • 小车运动方式控制方法 • 其次要求采用声音控制小车的运动,这一过程包含以下内容 • 声音检测电路的工作原理——硬件电路2 • 如何实现对小车的控制——程序设计思路 SiChuan Engineering Technical College-1959

  5. 14-2. 智能小车运动控制方式 导通 1 0 导通 导通 1 0 • 小车电机驱动电路 (以左侧电机为例) • 若使左电机正转,应如何控制电路呢? SiChuan Engineering Technical College-1959

  6. 14-2. 智能小车运动控制方式 0 1 由于Q5、Q6基极均为高电平,Q1~Q4均导通,会造成短路。 导通 导通 0 1 • 小车电机驱动电路 思考:若同侧电机的两个输入端都为低电平,会怎样呢? SiChuan Engineering Technical College-1959

  7. 14-2. 智能小车运动控制方式 根据电路特点,相应端为低电平有效。 • 小车运动控制方式 • 小车由两个电机分别驱动左右两侧的车轮转动; • 小车电机的正反转由P1.4~P1.7控制,控制对象分配如下: • 右侧电机:P1.4—反转 P1.5—正转 • 左侧电机:P1.6—反转 P1.7—正转 SiChuan Engineering Technical College-1959

  8. 14-2. 智能小车运动控制方式 由于电机是电感性负载,并且有机械惯性,因此在电机运转方向变化时需要过渡时间,程序中延时0.5秒就是电机方向转换的过渡时间。 左轮正转 右轮反转 • 小车运动控制方式 • 小车的运动方式与电机状态之间的关系: • 前进:左、右电机均正转 • 后退;左、右电机均反转 • 顺时针转动:左电机正转、右电机反转 • 逆时针转动:左电机反转、右电机正转 • 例1:实现左边电机正转和右电机反转(顺时针) SETB P1.5 SETB P1.6 LCALL DELAY1 ;延时0.5秒 CLR P1.4 CLR P1.7 SiChuan Engineering Technical College-1959

  9. 14-3. 声控的实现 • 声音检测电路 • 主电路板上的声音检测电路在没有检测到声音时其输出端为高电平,当麦克风接收到一定强度的声音时其输出端变为低电平。用跳线帽短接JP17的2、3脚就可以把声音检测电路的输出接到单片机的INT0(P3.2)端。 SiChuan Engineering Technical College-1959

  10. 14-3. 声控的实现 • 声音检测电路原理 • 调节RP1电位器可以调节声音检测电路的灵敏度,环境噪声比较大时,应降低灵敏度,在环境噪声较小时可以提高灵敏度。 SiChuan Engineering Technical College-1959

  11. 14-1. 设计范例——声控小车 • 程序设计思路 • 小车原地旋转(顺时针转5秒逆时针转5秒,重复进行) —— 主程序 • 通过声音使小车停止 —— 中断服务程序 SiChuan Engineering Technical College-1959

  12. 14-1. 设计范例——声控小车 开始 中断初始化 小车顺时针旋转 延时5秒 小车逆时针旋转 延时5秒 • 主程序流程图 SiChuan Engineering Technical College-1959

  13. 14-1. 设计范例——声控小车 • 主程序——中断初始化 在使用中断时,要对所用到的中断进行必要的设置,这一过程称之为中断初始化。 此设计中用到的是外部中断/INT0,其中断初始化工作包含以下内容: • 外部中断触发方式设置; • 设置中断优先级(此设计中由于只开一个中断,故可略去。); • 允许/INT0中断(开中断)。 SiChuan Engineering Technical College-1959

  14. 14-1. 设计范例——声控小车 • 设置外部中断的触发方式: 外部中断源/INT0和/INT1各自都有两种触发方式: ①下降沿触发(建议最好采用该方式) ②低电平触发 设置方法:定时器控制寄存器TCON IT0(TCON.0),外部中断0触发方式控制位。 当IT0=0时,为电平触发方式。 当IT0=1时,为下降沿触发方式。 IE0(TCON.1),外部中断0中断请求标志位。 IT1(TCON.2),外部中断1触发方式控制位。 IE1(TCON.3),外部中断1中断请求标志位。 SiChuan Engineering Technical College-1959

  15. 14-1. 设计范例——声控小车 • 本设计中设置外部中断0为脉冲方式触发: • 方法一:MOV TCON,#01H • 方法二:SETB IT0 SiChuan Engineering Technical College-1959

  16. 14-1. 设计范例——声控小车 右轮反转 左轮正转 • 主程序清单 ORG 0000H SJMP MAIN ORG 0003H ;INT0中断入口地址 LJMP SER ORG 0030H ;主程序起始地址 MAIN:MOV IEN0 ,#81H ;中断设置 SETB IT0 ;脉冲方式触发 LOOP:SETB P1.5 ;小车顺时针转动 SETB P1.6 LCALL DELAY1 ;延时0.5秒 CLR P1.4 CLR P1.7 LCALL DELAY ;延时5秒 SiChuan Engineering Technical College-1959

  17. 14-1. 设计范例——声控小车 右轮正转 左轮反转 • 主程序清单——续 SETB P1.4 ;小车逆时针转动 SETB P1.7 LCALL DELAY1 ;延时0.5秒 CLR P1.5 CLR P1.6 LCALL DELAY ;延时5秒 SJMP LOOP DELAY: (略)     ;延时5秒子程序 DELAY1:(略) ;延时0.5秒子程序 SiChuan Engineering Technical College-1959

  18. 14-1. 设计范例——声控小车 中断入口 小车停止 原地等待 中断返回 • 中断服务程序流程图 SiChuan Engineering Technical College-1959

  19. 14-1. 设计范例——声控小车 现场的保护和恢复在这个程序中是必要的吗? • 中断服务程序清单 SER: PUSH ACC ;现场保护 MOV P1,#0FFH ;小车停止运动。 SJMP $ EXIT:POP ACC ;现场恢复 RETI ;中断返回 现场的保护和恢复在这个程序中是必须的吗? SiChuan Engineering Technical College-1959

  20. 14-1. 设计范例——声控小车 后退 顺时针转动 逆时针转动 前进 • 课后思考: 如何设计程序对小车实现如下控制: • 初始小车前进 • 通过拍手使小车呈以下几种状态循环 SiChuan Engineering Technical College-1959

More Related