




已阅读5页,还剩23页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
超声波传感器及应用超声波传感器及应用 超声波测距超声波测距 摘要 摘要 介绍了一种基于 AT89C52 单片机的超声波测距系统 由 555 和运放及比较 器配合超声波传感器有效组成了超声波的发射电路和接收电路 同时在数据处理 盲区消隐方面提出了有效解决方法 从而提高了检测的精度及灵敏度 以及用 LCD 液晶显示器配合美妙的音乐进行显示 本文主要阐述了超声测距系统的硬件电路 构成 工作原理及软件设计方法 该系统硬件结构简单 工作可靠 有良好的测量 精度和灵敏度 关键字关键字 超声波 测距 LCD 液晶 前言前言 随着科技的迅猛发展越来越多科技成果被广泛的运用到人们的日常生活当中 给我们的生活带来了诸多方便 这一设计就是本着这个宗旨出发 利用超声波的特 性来为我们服务 人们能听到声音是由于物体振动产生的 它的频率在 20HZ 20KHZ 范围内 超 过 20KHZ 称为超声波 低于 20HZ 的称为次声波 常用的超声波频率为几十 KHZ 几十 MHZ 由于超声波指向性强 因而常于距离的测量 利用超声波检测往往比较 迅速 方便 计算简单 易于做到实时控制 并且在测量精度方面能达到工业实用 的要求 因此在移动机器人 汽车安全 海洋测量等上得到了广泛的应用 本设计提 供一种液晶显示测距装置 该装置利用了发射接收一体化的超声波传感器和微处理 器 采用超声波传感器分时工作于发射和接收 利用声波在空气中的传播速度和发 射脉冲到接收反射脉冲的时间间隔计算出障碍物到超声波测距器之间的距离 距离是在不同的场合和控制中需要检测的一个参数 所以 测距就成为数据采 集中要解决的一个问题 尽管测距有多种方式 比如 激光测距 微波测距 红外线 测距和超声波测距等 但是 超声波测距不失为一种简单可行的方法 虽然超声波 测距电路多种多样 甚至已有专用超声波测距集成电路 但是 有的电路复杂 技术 难度大 有的调试困难 有的元件不易购买 本文介绍的电路 成本低廉 性能可靠 所用元件易购 并且利用测距原理 结合单片机的数据处理 使测量精度提高 电路 实现容易 无须调试 工作稳定可靠 目目 录录 前言 I 第一章 绪论 1 1 1 选题背景及研究意义 1 第二章 方案论证 2 2 1 超声波测距原理 2 2 2 系统的工作原理 2 第三章 系统硬件电路的设计 4 3 1AT89C52 单片机 4 3 2 超声波发射电路 5 3 3 超声波接收电路 8 3 4 LCD 液晶显示部分结构 10 3 5 音乐播放模块 15 第四章 系统软件设计 16 4 1 超声波接收发射软件设计 16 4 2 音频脉冲的产生 19 4 3 LCD 液晶显示部分软件设计 19 结论 22 参考文献 23 致谢 24 附录 25 第一章第一章 绪论绪论 1 11 1 选题背景及研究意义选题背景及研究意义 1 1 11 1 1 选题背景选题背景 在日常生活中 有各种各样的测距仪 与激光测距 红外线测距相比 超声波 对外界光线 色彩和电磁场不敏感 更适于黑暗 电磁干扰强 有毒 灰尘或烟雾 的恶劣环境 在识别透明及漫反射性差的物体上也更有优势 而且超声波还有其指 向性强 能量消耗缓慢 传播距离较远等优点 超声波测距是一种非接触式测量 广泛应用于倒车防撞雷达 机器人接近觉 海洋测量 物体识别等领域 距离是 在不同的场合和控制中需要检测的一个参数 所以 测距就成为数据采集中要解决 的一个问题 1 1 21 1 2 研究意义研究意义 本设计是超声波测距仪装置 该装置利用了发射接收一体化的超声波传感器和 微处理器 采用超声波传感器分时工作于发射和接收 利用声波在空气中的传播速 度和发射脉冲到接收反射脉冲的时间间隔计算出障碍物到超声波测距器之间的距 离 因此经常用于距离的测量 如测距仪和物位测量仪等都可以通过超声波来实 现 在日常生活中起了广泛的作用 第二章第二章 方案论证方案论证 2 12 1 超声波测距原理超声波测距原理 为了研究和利用超声波 人们已经设计和制成了许多超声波发生器 总体上 讲 超声波发生器可以分为两大类 一类是用电气方式产生超声波 一类是用机 械方式产生超声波 电气方式包括压电型 磁致伸缩型和电动型等 机械方式有 加尔统笛 液哨和气流旋笛等 它们所产生的超声波的频率 功率和声波特性各 不相同 因而用途也各不相同 目前较为常用的是压电式超声波发生器 超声波测距通常采用度越时间法 即利用 s vt 2 计算被测物体的距离 式中 s 为收发头与被测物体之间的距离 v 为超声波在介质中的传播速度 v 331 41 T 273m s t 为超声波的往返时间间隔 工作原理为 发射头发出的超声波以 速度 v 在空气中传播 在到达被测物体时被其表面反射返回 由接收头接收 其往返 时间为 t 由 s 算出被测物体的距离 T 为环境温度 在量精度要求高的场合必须考 虑此影响 但在一般情况下 可舍去此法 由软件进行调整补偿 由于超声波也是一种声波 其声速 c 与温度有关 附表 1 列出了几种不同温 度下的声速 在使用时 如果温度变化不大 则可认为声速是基本不变的 如果 测距精度要求很高 则应通过温度补偿的方法加以校正 声速确定后 只要测得 超声波往返的时间 就可以求出距离 这就是超声波测距原理 表 1 温度与声速的关系 温度 30 20 100102030100 声速 m s 313319325333338344349386 2 22 2 系统的工作原理系统的工作原理 系统的工作是由软件和硬件的配合过程 先由微机使 555 使能端置 1 继而 555 送出 40kHz 频率的方波信号经过压电换能器 超声波发射头 将信号发射出 去及发射超声波 同时该时刻启动定时器开时计时 该信号遇到障碍物反射回来在 此称为回波 同时 压电换能器 超声波接收头 将接收的回波及接收超声波 通 过信号处理的检波放大 及通过三级放大后再送到比较器进行比较输出比较电压 输出电压经过三极管以后 使之电压与 AT89C52 的 I O 口相匹配最后送至微机处 理 最后进行 LCD 液晶显示同时配上美妙的音乐 超声波测距系统设计框图如图 2 1 所示 微处理器 AT89C52 LCD 液晶显示 温度采集 超声波发射 超声波接收 音乐播放 5V 电源 图 2 1 超声波测距系统组成框图 第三章第三章 系统硬件电路的设计系统硬件电路的设计 硬件电路主要分为单片机系统及显示电路 超声波发射电路 超声波接收电 路和电路音乐回放电路等部分组成 3 1AT89C523 1AT89C52 单片机单片机 AT89C52 是美国 ATMEL 公司生产的低电压 高性能 CMOS 8 位单片机 片内含 8KB 的可反复檫写的程序存储器和 12B 的随机存取数据存储器 RAM 器件采用 Atmel 公司的高密度 非易失性存储技术生产 兼容标准 MCS 51 指令系统 片内 配置通用 8 位中央处理器 CPU 和 Flash 存储单元 功能强大的 AT89C52 单片机 可灵活应用于各种控制领域 单片机正常工作时 都需要有一个时钟电路 和一个复位电路 本设计中选 择了内部时钟方式和按键电平复位电路 来构成单片机的最小电路 如图 3 1 所 示 AT89C52 Vcc GND GND C3 22U F R2 1K R1 200 RESET 晶 振 C2 30P F C1 30P F Vcc XTAL1 RST XTLL2 Vss 图 3 1 单片机的最小电路 3 1 13 1 1 时钟电路时钟电路 计算机工作时 是在统一的时钟脉冲控制下一拍一拍的进行的 这个脉冲 是由单片机控制器中的时序电路发出的 单片机的时序就是 CPU 在执行指令时所 需控制信号的时间顺序 为了保证各部件间的同步工作 单片机内部电路就在惟 一的时钟信号控制下严格的按时序进行工作 要给单片机提供时序要有相 关的硬件电路 即振荡器和时钟电路 因此选择了内部时钟方式 利用蕊片内部 的振荡器 然后在引脚 XTAL1 和 XTAL 两端跨接晶体或陶瓷谐振器 就构成了稳定 的自激振荡器 其发出的脉冲直接送入内部时钟电路如图 1 所示 外接晶振时 C1 和 C2 值通常选择为 30PF 左右 C1 C2 对频率有微调作用 晶体的频率范围可 在 1 2 12MHZ 之间选择 在实际连接中 为了减少寄生电容 更好地保证振荡器 稳定 可靠地工作 振荡器和电容应尽可能安装得与单片机蕊片靠近 3 1 23 1 2 复位电路复位电路 有图可以看出 是按键电平复位电路 相当于按复位键后复位端通过电阻与 Vcc 电源接通 复位是单片机的初始化操作 单片机在启动运行时 都需要先复 位 其作用是使 CPU 和系统中其他部件都处于一个确定的初始状态 并从这个状 态开始工作 因而 复位是一个很重要的操作方式 但单片机本身是不能自动进 行复位的 必须配合相应的外部电路来实现 3 23 2 超声波发射电路超声波发射电路 发射电路由 555 构成的多谐振荡器和超声波发射头组成 3 2 13 2 1 多谐振荡器多谐振荡器 采用 555 构成多谐振荡器可以实现宽范围占空比的调节 并且电路设计简单 占用面积小 如图 3 2 所示 由单片机 AT89C52 的 P2 3 口发出同步脉冲信号 该同步脉冲启动多谐振荡器 使其输出 40KHZ 的高频电压信号 经过整形直接加至 超声波换能器探头 根据逆压电效应 产生振动频率为 40KHZ 的超声波 TRIG 2 Q 3 R 4 CVolt 5 THR 6 DIS 7 VCC 8 GND 1 U1 NE555 R1 10K R2 10K 5V C1 0 1UF C2 0 01U F P2 3 VC 图 3 2 超声波发射电路 接通电源后 电容 C 被充电 VC 上升 当 VC 上升到 2 3VCC 时 触发器被复 位 同时放电 BJT T 导通 此时 Vo 为低电平 电容 C 通过 R2 和 T 放电 使 VC 下 降 当 VC 下降到 1 3VCC 时 触发器又被置位 Vo 翻转为高电平 电容器 C 放电 所需的时间为 CRCR tpl 27 0ln2 2 当 C 放电结束时 T 截止 VCC 将能过 R1 R2 向电容器充电 VC 由 1 3VCC 上升到 2 3VCC 所需的时间为 CRRCRRtPH217 0ln21 2 当 VC 上升到 2 3VCC 时 触发器又发生翻转 如此周而复始 在输出端就得 到一个周期性的方波 其频率为 CRRtt f PLPH 221 43 1 1 由于 555 内部的比较器的灵敏度较高 而且采用差分电路形式 它的振荡频 率受电源电压的温度变化的影响很小 Vc PH t PL t V o 2 3vcc 1 3vcc 图 3 3 555 的工作波形图 从 555 的工作波形图 可看出占空比是固定不变的 为了调解的方便 我把 R1 和 R2 都换成了电位器 就形成了占空比可调的电位器 使的超声波的发射电 路更加具有高效性 也能满足波尽可能的减小失真 从面达到测距更长的效果 3 2 23 2 2 超声波传感器超声波传感器 从图 3 2 超声波的发射电路上看还有一个超声波传感器 它具有把电信号转 化为机械信号 同时又能把机械信号转化为电信号的功能 在设计中选择了压电 式超声波发声器 压电式超声波发生器实际上是利用压电晶体的谐振来工作的 超声波发生器内部结构如图 3 4 所示 它有两个压电晶片和一个共振板 压电晶 体组成的超声波传感器是一种可逆传感器 它可以将电能转变成机械振荡而产生 超声波 同时它接收到超声波时 也能转变成电能 所以它可以分成发送器或接 收器 当它的两极外加脉冲信号 其频率等于压电晶片的固有振荡频率时 压电 晶片将会发生共振 并带动共振板振动 便产生超声波 反之 如果两电极间未 外加电压 当共振板接收到超声波时 将压迫压电晶片作振动 将机械能转换为 电信号 这时它就成为超声波接收器了 本文所采用的超声波传感器是 T R 40 16 其中 T 表示发送 R 表示接收 40 表示频率为 40KHZ 16 表示其外径尺寸 以毫米计 压电晶片 电极 共振板 图 3 4 超声波传感器结构 3 33 3 超声波接收电路超声波接收电路 超声波接收电路包括由 MC3403 构成的三级回波放大电路以及 LM358 电压比较 整形电路两部分 与超声波接收传感器 T 40 16 配合使用 实现超声波的接收功能 3 2 1 411 U3A MC3403 5 6 7 U3B MC3403 10 9 8 U3C MC3403 C8 1000P C9 1000P C12 1000P C13 0 1UF R1 10K R2 10K R3 10K R4 10K R5 10K R6 1M R7 1M 5V R POT2 R POT2 R POT2 R POT2 R1 10K 5V 5V C13 0 1UF C13 0 1UF 3 2 1 84 U A LM358 R POT2 R RES2 5V Q1 NPN R10 5 1K 5V P2 5 图 3 5 超声波接收电路 3 3 13 3 1 放大电路及其参数的设计放大电路及其参数的设计 当测量距离较大时 超声波的回波较弱 这时候就需要将信号放大 否则其转换 成电信号的幅值也会比较小 如图 3 5 所示 设计中 采用三级放大电路 将信号最 大能放大 50 万倍 其中运算放大器 IC3A IC3B 放大倍数为 100 倍 IC3C 放大倍 数为可调的 根据公式 Au R6 R4 以第一级放大电路为例 可以求得各放大电路 的参数 计算后 取值如下 R3 10K R4 10K R6 1M R7 1M 第三给放大是可调 的 Au Rx R2 其中 R2 10K Rx 为 500K 可调的滑动变阻器 所以放大倍数是在 0 50 之间 从图 3 5 中 可以看到各个运放的基准电压都是可调的 这样更 有利于达到自己想要的理想结果 超声波接收头接收到的 40 kHz 反射波交流信号 电容 C5 C9 C12 的作用为滤掉直流信号 对电容的大小无特别要求 所以一律选 为 1000PF 其中的放大电路是由 MC3403 构成的 MC3403 是四低功耗运算放大器 它的引脚结构如图 3 6 所示 图 3 6 MC3403 的引脚结构 3 3 23 3 2 电压比较电路及其参数的设计电压比较电路及其参数的设计 电压比较器的功能是比较两个电压值的大小 例如 将一个信号电压 U1 和另一 个参考电压 UR 进行比较 在 U1 UR 和 U1 UR 时 电压比较器输出两个不同的电平 即高电平和低电平 比较器的输出通常只有高电平和低电平两个稳定状态 因此它 相当于一个受输入信号控制的开关 当输入电压经过阈值时开关动作 使输出从一 个电平跳转到另一个电平 系统中 比较器的作用是将信号电压与设定的基准电压 相比较 当信号电压大于基准电压时 比较器输出正脉冲 Q1 导通 P2 5 接收负脉冲 信号 单片机 CPU 发出中断 记录发射信号与接受信号之间的时间 并计算距离 在 比较器的设计中要考虑两点因素 第一 要使 Q1 导通 第二 要使经过三极管以后的 电压与 AT89C52 的 P2 5 口相匹配 为了 在实际应用时能得到合适的参数 将 R10 设计为最大阻值为 5 1 k 的电阻 这样 R10 的阻值便可得到满足上述条件的电压信号 用做电压比较器的的 LM358 从图 3 5 可以看出比较器的的基准电压是可调的 因为从超声波接收的信号 要求有 很高的灵敏度和精度 从放大电路出来的电压变化是非常微妙的 必须配和可调 的基准电压采能满足进行比较达到达到设计中的需要 LM358 内部包括有两个独 立的 高增益 内部频率补偿的双运算放大器 适合于电源电压范围很宽的单电 源使用 也适用于双电源工作模式 在推荐的工作条件下 电源电流与电源电压 无关 它的使用范围包括传感放大器 直流增益模块和其他所有可用单电源供电 的使用运算放大器的场合 图 3 7 为 LM358 的引脚结构图 图 3 7 LM358 的引脚结 3 43 4 LCDLCD 液晶显示部分液晶显示部分结构结构 在显示模块中 选择了 JM12864J 型图形点阵液晶显示模块进行显示 通过硬 件电路和软件结合使得在液晶中显示如图 3 8 所示 JM12864J 一共有有 20 个引 脚 包括数据引脚 控制引脚和电源引脚 硬件电路非常简单 强大的功能主要 是通过软件实现 LCD JM12864J 超声波测距仪 黄益展 距离 00 0000 米 当前温度 00 图 3 8 LCD 显示屏 3 4 13 4 1 LCDLCD 的参数和性能及引脚介绍的参数和性能及引脚介绍 JM12864J 是一种图形点阵液晶显示器 它主要由行驱动器 列驱动器及 128 64 全点阵液晶显示器组成 可完成图形显示 也可以显示 8 4 个 16 16 点 阵 汉字 LCD 显示器是把 LCD 显示屏和控制模块结合在一起组成一个的整体 主要技术参数和性能 电源 VDD 5V LCD 外接驱动电压为 3 0 8 0V 显示内容 128 列 64 行 点 全屏幕点阵 七种指令 与 CPU 接口采用 8 位数据总线并行输入输出和 8 条控制线 占空比 1 64 工作温度 10 60 存储温度 20 70 显示器模块的外部接口是通过它的外接引脚 由外部对其进行读写操作共同 形成的 外部引脚提供了接口的通道 而外部单片机对模块的读写操作则执行了 单片机的模块之间的信息交流 也就是显示内容的交流 JM12864J 一共有 20 个引 脚 外部引脚编号为 1 20 外接引脚编号 符号及其含义如表 2 所示 表 2 外部引脚及含义 管脚号 管脚名称电平管脚功能描述 1VSS0V 电源地 2VDD5 0V 电源电压 3V0 液晶显示器驱动电压 0 5V 4RSH L RS H 表示 DB7 DB0 为显示数据 RS L 表示 DB7 DB0 为显示指令数据 5R WH L R W H E H 数据被读到 DB7 DB0 R W L E H L DB7 DB0 的数据被写到 IR 或 DR 6EH L 使能信号 R W L E 信号下降沿锁存 DB7 DB0 R W H E H DDRAM 数据读到 DB7 DB0 7 14DB0 DB7 H L 数据总线 15CS1H L H 选择芯片 右半屏 信号 16CS2H L H 选择芯片 左半屏 信号 17RESETH L 复位信号 低电平复位 18VOUT 10V LCD 驱动负电压 19LED DC 5V LED 背光板电源 20LED DC0V LED 背光板电源 3 4 23 4 2 AT89C52AT89C52 和和 LCDLCD 显示器模块的接口显示器模块的接口 AT89C52 和 LCD 显示器模块的接口包括硬件接口和软件接口两个部分 硬件 接口是指 AT89C52 和 LCD 显示器模块的信息逻辑接线方法 软件接口是指 AT89C52 对 LCD 显示器模块的显示控制方法及程序 下面分别介绍这两种接口 方法 3 4 2 13 4 2 1 AT89C52AT89C52 和和 LCDLCD 显示器模块的硬件接口显示器模块的硬件接口 AT89C52 和 JM12864J 的硬件接口连线如图 3 9 所示 在图中看出 LCD 显示 器模块的能动信号 E 是由 AT89C52 的 P3 2 控制 当 P3 2 电平由高到低产生一个 下降沿脉冲 就产生能动信号 E AT89C52 的 P3 端口的 P3 0 P3 5 用于产生控制信号 用于控制 LCD 显示模 块的工作 其中 P3 0 用于产生数据指令标志信号 RS P3 1 用于产生读写信号 R W P3 3 P3 4 用于产生选择信号 CS1 CS2 P3 5 用于产生复位信号 RST AT89C52 的 P1 端口用于传送数据或指令 故 P1 0 P1 7 和 LCD 显示器模块 的 DB0 DB7 相连 为使显示屏能具有满意的亮度 在 5V 和 5V 之间接一个电位器 用于调节 VEE 的电压 VEE 的电压一般取 0 5V EA VP 31 X1 19 X2 18 RESET 9 RD 17 WR 16 INT0 12 INT1 13 T0 14 T1 15 P10 1 P11 2 P12 3 P13 4 P14 5 P15 6 P16 7 P17 8 P00 39 P01 38 P02 37 P03 36 P04 35 P05 34 P06 33 P07 32 P20 21 P21 22 P22 23 P23 24 P24 25 P25 26 P26 27 P27 28 PSEN 29 ALE P 30 TXD 11 RXD 10 AT89C52 GND 1 VDD 2 V0 3 RS 4 RW 5 E 6 DB0 7 DB1 8 DB2 9 DB3 10 DB4 11 DB5 12 DB6 13 DB7 14 CSA 15 CSB 16 RST 17 VEE 18 BLA 19 BLK 20 JM12864J LCD RX 100K 5V 入5V 图 3 9 AT89C52 和 LCD 显示器模块接口 3 4 2 23 4 2 2 AT89C52AT89C52 和和 LCDLCD 显示器模块的软件接口显示器模块的软件接口 在 JM12864J 型 LCD 显示器模块就用中 有 7 种指令格式 这些指令用于 对模块执行专门的控制功能 为些指令及其功能分别说明如下 1 显示开关控制 DISPLAY ON OFF 代码 R WRSDB7DB6DB5DB4DB3DB2DB1DB0 形式 0 0 0 0 1 1 1 1 1 D D 1 开显示 DISPLAY ON 意即显示器可以进行各种显示操作 D 0 关显示 DISPLAY OFF 意即不能对显示器进行各种显示操作 2 设置显示起始行 DISPLAY START LINE 代码 R WRSDB7DB6DB5DB4DB3DB2DB1DB0 形式 0 0 1 1 A5 A4 A3 A2 A1 A0 Z 地址计数器是一个 6 位计数器 此计数器具备循环计数功能 是用于显示 行扫描同步的 当一行扫描完成 此地址计数器自动加 1 指向下一行扫描 RST 复位后 Z 地址计数器为 0 显示起始行是由 Z 地址计数器控制的 A5 A0 6 位地 址自动送入 Z 地址计数器 起始行的地址可以是 0 63 的任意一行 例如 选择 A5 A0 是 62 则起始行与 DDRAM 行的对应关系如下 DDRAM 行 62 63 0 1 2 3 28 29 屏幕显示行 1 2 3 4 5 6 31 32 3 设置页地址 SET PAGE X ADDRESS 代码 R WRSDB7DB6DB5DB4DB3DB2DB1DB0 形式 0 0 1 0 1 1 1 A2 A1 A0 所谓页地址就是 DDRAM 的行地址 8 行为一页 模块共 64 行即 8 页 A2 A0 表 示 0 7 页 读写数据对地址没有影响 页地址由本指令或 RST 信号改变复位后页地 址为 0 页地址与 DDRAM 的对应关系见 DDRAM 地址表 4 设置 Y 地址 SET Y ADDRESS 代码 R WRSDB7DB6DB5DB4DB3DB2DB1DB0 形式 0 0 0 1 A5 A4 A3 A2 A1 A0 此指令的作用是将 A5 A0 送入 Y 地址计数器 作为 DDRAM 的 Y 地址指针 在 对 DDRAM 进行读写操作后 Y 地址指针自动加 1 指向下一个 DDRAM 单元 DDRAM 地址表如表 3 所示 表 3 DDRAM 地址表 CS1 1CS2 1 Y 01 626301 6263 行号 X 0 DB0 DB7 DB0 DB7 DB0 DB7 DB0 DB7 DB0 DB7 DB0 DB7 DB0 DB7 DB0 DB7 DB0 DB7 DB0 DB7 0 7 DB0 DB7 DB0 DB7 DB0 DB7 DB0 DB7 DB0 DB7 DB0 DB7 DB0 DB7 DB0 DB7 DB0 DB7 DB0 DB7 8 55 X 7 DB0 DB7 DB0 DB7 DB0 DB7 DB0 DB7 DB0 DB7 DB0 DB7 DB0 DB7 DB0 DB7 DB0 DB7 DB0 DB7 56 63 5 读状态 STATUS READ 代码 R W RSDB7DB6DB5DB4DB3DB2DB1DB0 形式 0 1 BUSY 0ON OFFRET 0 0 0 0 当 R W 1 RS 0 时 在 E 信号为 H 的作用下 状态分别输出到数据总线 DB7 DB0 的相应位 BF BF 标志组件内部的工作情况 BF 1 表示组件在进行内部操作 此时组 件不接受外总指令和数据 BF 0 时 组件为准备状态 随时可接受外总指令和数 据 ON OFF 表示 DFF 触发器的状态 用于控制屏幕显示的开和关 RST RST 1 表示内部正在初始化 此时组件不接受任何指令和数据 6 写显示数据 WRITE DISPLAY DATE 代码 R W RSDB7DB6DB5DB4DB3DB2DB1DB0 形式 0 1 D7 D6 D5 D4 D3 D2 D1 D0 D7 D0 为显示数据 此指令把 D7 D0 写入相应的 DDRAM 单元 Y 地址指针自动 加 1 7 读显示数据 READ DISPLAY DATE 代码 R WRSDB7DB6DB5DB4DB3DB2DB1DB0 形式 1 1 D7 D6 D5 D4 D3 D2 D1 D0 此指令把 DDRAM 的内容 D7 D0 读到数据总线 DB7 DB0 Y 地址指针自动加 1 3 53 5 音乐播放模块音乐播放模块 在音乐播放模块中 硬件电路主要是由功率放大器 LM386 和杨声器构成 和 单片机的硬件接线图如图 3 9 所示 从图中可以看出 AT89C52 单片机的 P2 7 口来 控制扬声器来播放的 图中 3 10 所示 LM386 构成的是增益为 50 的放大电路 一些滤波电容配合 尽量减小失真 使得声间能达到清晰宏亮的效果 电路简单 只要配合软件使得 I O 中输出不同的音频脉冲 就能放出美妙的音乐 LM386 是美国国家半导体公司生产的音频功率放大器 主要应用于低电压消 费类产品 为使外围元件最少 电压增益内置为 20 当 1 脚和 8 脚之间开路时 电压增益为 26DB 若在 1 脚和 8 脚之间增加一只外接电阻和电容 3 2 5 1 8 64 A LM386 R 10K C1 10UF C2 220UF 5V MICROPHONE 1 P2 7 图 3 10 LM386 的硬件接线图 便可将电压增益调为任意值 则增益可达 46DB 改变阻容值则增益可在 26DB 46DB 之间任意选取 电阻值越小增益越大 输入端以地位参考 同时输出端被自 动偏置到电源电压的一半 在 6V 电源电压下 它的静态功耗仅为 24mW 使得 LM386 特别适用于低电压供电的场合 因而在便携式无线电设备 收音机 录音 机 小型放大设备中得到广泛应用 LM386 的引脚结构如图 3 11 所示 1 入入 2 入入入入 3 入入入入 4 入入 5 入入 6 VCC 7 入入 8 入入 入 入 LM386 图 3 11 LM386 的引脚结构 第四章第四章 系统软件设计系统软件设计 系统软件部分包括主程序 中断子程序和其他子程序 主程序完成系统初始 化后调用 LCD 液晶显示程序 再调用测距在内的各个子程序完成距离测量并显示 输出 各子程序主要有 延时子程序 距离计算子程序及 BCD 码转换子程序 压缩 BCD 码乘法子程序 压缩 BCD 码加子法程序等 主程序流程图如图 4 1 所示 4 14 1 超声波接收发射软件设计超声波接收发射软件设计 4 1 14 1 1 距离计算问题距离计算问题 超声波发射接收所测距离的软件设计中 让单片机省去了繁杂的除法计算 以 170 乘上超声波从发射到接收的时间 即有压缩 BCD 码乘法进行计算 当然我 们知道 定时器计数的最大值是 65535us 如果以这个时间乘以 170m 距离能达到 11 140950m 因此在设计中 考虑到用上了定时器 0 溢出标志 TF0 当超声波从 发射到接收的时间超过了 65535us 就把 TF0 置 1 然后软件将 TF0 清 0 接着开 始计数 最后是把后来的计数时间乘以 170 所得的结果加上 11 140950N N 为 TF1 置 1 次数 即调用压缩 BCD 码加法 最后就进行解压缩进行显示 把所得的 结果的每一位分配到不同的地址上 最后就根据地址确定位数了 超声波接收发 射软件流程图如图 4 2 所示 4 1 24 1 2 串扰问题串扰问题 设计中 超声波发射极和接收极距离较近 这样 当发射极发射超声波后 有部 分超声波没经过障碍物反射就直接绕射到接收极上 这部分信号是无用的 会引起 系统误测 设计中采用延时技术来解决这个问题 并设定延时时间为 1 ms 即在发 射极发射超声波 1 ms 内 没有启动定时器 接收电路对此期间接收到的任何信号 不予理睬 1 ms 后立即启动 T0 这时接收到的信号才有效 并在接收到回波信号的 同时 T0 停 此时 T0 所记录的 CPU 发送脉冲信号的前沿到回波脉冲信号之间的时 间才是需要的 Y N 初始化 LCD 刷新 LCD 调用 DS18B20 调用 LCD 显 示 按键等待 返回测距初始化 超声小波发射接收 距离计算 LCD 显示 图 4 1 主程序流程图 4 1 34 1 3 二二 十进制数十进制数 BCD BCD 码码 的转换问题的转换问题 为了简化硬件电路和节省转换时间 首先用二进制对每 1 位十进制数字编码 即 BCD 码 这种编码方式的特点是保留十进制的权 而数字用二进制表示 这时获 得的是压缩的 BCD 码 要想获得要显示的十进制数 还必须执行一个分 离 BCD 码的子程序 分别屏蔽每一字节高低 4 位 然后将所获得的高低 4 位分别存放在 1 个字节中 TF0 0 Y N Y N TF0 1 发射超声波脉冲 查询定时溢出 有回波吗 计算距离 调用液晶显示 初始化 按键等待 计时开始 停止计时 图 4 2 超声波接收发射软件流程图 4 24 2 音频脉冲的产生音频脉冲的产生 要产生音频脉冲 只要算出某一音频的周期 1 频率 然后将此周期除以 2 即为半周期的时间 利用定时器计时这半个周期时间 每当计时到后就将输出 脉冲的 I O 反相 就可以在 I O 端上得到此脉冲 利用 AT89C52 的内部定时器使期工作在计数器模式 MODE1 下 改变计数器值 TH1 及 TL1 以产生不同频率的方法 例如 频率为 523HZ 其周期 T 1 523 1912us 因此 只要令计数器计时 956us 1us 956 在每计数 956 次时将 I O 反相 就可得到中间 DO 523HZ 计数 脉冲值与频率的关系如下 N Fi 2 Fr 式中 N 计数值 Fi 内部计时一次为 us 故其频率为 1MHZ Fr 要产生的频率 其计数的方法如下 T 65536 N 65536 Fi 2 Fr 每个音符使用一个字节 字节的高 4 位代表音符的高低 低 4 位代表音符的 节拍 如果 1 拍为 0 4S 1 4 拍是 0 1s 只要设定延迟时间就可求得节拍时间 假设 1 4 拍为 1DELAY 则 1 拍应为 4DELAY 依次类推 所以 只要求得 1 4 拍的 DELAY 时间 其余的节拍就是它的倍数 4 34 3 LCDLCD 液晶显示部分软件设计液晶显示部分软件设计 JM12864J 有 128 64 的点的显示阵列 可显示汉字 4 8 个 16 16 点阵汉 字 也可显示数字 4 16 个 16 8 点阵数字 在软件编程必须要严格遵守点 阵的坐标位置 否则就容易汉字数字的重叠 达不到理想的效果 出现一批乱码 在软件设计中 首先要写入全部字符 查要寻址的的二进制编码的坐标位置 定 位好后 就写进二进制字符 紧接着就是内部写数据代码指针定位 再写入数据 每一次写字符时 都是写字符的上半部 接着再写字符的下半部 同时必须配合 刷新程序 才能在屏幕上显示清晰的效果 不会出现乱码 4 3 14 3 1 读读 写时序写时序 利用单片机可以实现对 LCD 显示器模块的读写操作 也就是把显示信息取出 或写入到模块中的显示数据存储器 DDRAM 中读写有一定的时序要求 这时分别介 绍其读时序和写时序 4 3 1 1JM12864J4 3 1 1JM12864J 型型 LCDLCD 显示模块的读时序显示模块的读时序 LCD 显示器模块的读时序由信号 E R W CS RS 和 DB0 DB7 组成 E 是能动 信号 R W 是读写信号 RS 是显示 指令标志位 CS 是选择信号 DB0 DB7 是数 据信号 JM12864J 的读时序如图 4 3 所示 从图中可以看出 R W 1 时 执行读操作 在 E 信号的上升沿开始执行读出 把 JM12864J 内的 DDRAM 内容读出到数据总线 DB0 DB7 上 这时如果 RS 1 则读出的是显示数据 如果 RS 0 则读出的是指 令数据 CS2 1 CS1 0 读右半屏的内容 CS2 0 CS1 1 读左半屏的内容 图 4 3 JM12864J 的读时序 4 3 1 2JM12864J4 3 1 2JM12864J 型型 LCDLCD 显示器模块的写时序显示器模块的写时序 JM12864J 的写时序如图 4 4 所示 写时序和读时序的区别在于 R W 信号为低 电平 即 R W 0 这时 必须先把写入的数据由外部单片机送入数据总线 DB0 DB7 然后在能动信号 E 的下降沿时 把数据从 DB0 DB7 写入到模块的显示 数据存储器 DDRAM 中 同样 在 RS 1 时 写入的是数据 RS 0 时 写入的是指 令 在 CS2 1 CS1 0 时 把数据写入右半屏 在 CS2 0 CS1 1 时 把数据写入 左半屏 图 4 4 JM12864J 的写时序 结论结论 系统测量范围较大 最大限定 2 5 m 测量误差小 所用都是常规部件 具有较 强的实用价值 另外 由于其结构简单 体积小 抗干扰性能好 所以比较适用于 行走机器人 当然 要满足更高的精度要求 还须进行适当改进 例如可增加温度补 偿单元 在某些特殊场合的应用中 还要考虑超声波的入射角 反射角以及超声波 传播介质的密度 表面光滑度等因素 在设计中感觉在硬件方面还存在的诸多问 题 在超声波发射电路中 曾经试用过晶体管来加大功率 但是无法达到预想的 效果 在超声波接收接收电路中 波形失真太大 而且杂波信号也非常的强 有 时候甚至超过接收到的信号 结果是肯定达不到灵敏度和精度要求 也尝试过在 放大电路后出来加上整流电路 把交流信号转化直流信号送到比较器进行比较结 果也无法达到预想的效果 而且整个系统相当的不稳定 必须要时不时地进行调 试 才能使系统正常的工作 如果要进一步展开研究 在超声波发射电路中 加 上达林顿管 进行两级功率放大 可能能过使超声波发射的更长 达到距离更远 的效果 在超声波接收电路中 可以当超声波接收到信号 将机械信号转化为电 信号时 就进行整流 把交流信号转化为直流电压信号 然后进行三级放大 可 能能达到比较好的果 也可以在超声波接收电路加上高阻滤波电路和低阻滤波电 路 滤除杂波 只让 40KHZ 的信号能过 这样就可以消除外界的干扰 或者还可 以 将比较器换在音频译码集成块 LM567 把它调成只让 40KHX 的信号通过 当 接收到 40KHZ 的信号时 输出端就变成低电平 可以触发单片机 这样就可以使 系统更稳定 参考文献参考文献 1 LM567 PDF MAXIM INTEGRATED PRODUCTS 1997 2 MAX232 PDF TEXAS INSTRUMENTS INCORPORATED 1998 3 MC3403 PDF STMICROELECTRONICS 1998 4 ISD1400 PDF ISD COMPANY 1998 5 C8550 PDF USHA INDIA LTD 1998 6 LM318N PDF NATIONAL SEMICONDUCTOR
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年事业单位工勤技能-海南-海南家禽饲养员一级(高级技师)历年参考题库含答案解析
- 资源型城市绿色转型2025:绿色建筑与智慧城市建设实践报告
- 2025年事业单位工勤技能-河北-河北汽车驾驶与维修员一级(高级技师)历年参考题库含答案解析
- 2025年事业单位工勤技能-河北-河北广播电视天线工三级(高级工)历年参考题库含答案解析
- 2025年事业单位工勤技能-江西-江西热处理工五级(初级工)历年参考题库含答案解析(5套)
- 2025年事业单位工勤技能-广西-广西水利机械运行维护工一级(高级技师)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-广西-广西家禽饲养员四级(中级工)历年参考题库含答案解析
- 2025年事业单位工勤技能-广东-广东计算机信息处理员二级技师历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-广东-广东不动产测绘员三级(高级工)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-安徽-安徽园林绿化工五级(初级工)历年参考题库典型考点含答案解析
- 华文版二年级上册-写字-书法
- 学堂在线 数据结构(上) 章节测试答案
- 安全文明生产的保证措施
- 车辆运输安全培训
- 工贸企业安全培训课件
- 长沙市太平街、西文庙坪历史文化街区保护提升项目可行性研究报告
- 业绩分红方案(3篇)
- 中国金属材料检测服务行业市场占有率及投资前景预测分析报告
- 华润置地住宅项目实测实量操作指引
- 封阳台外包协议书
- 更年期保健专科建设和管理指南
评论
0/150
提交评论