毕业设计(论文)-脉冲反射式超声波测距系统设计.doc_第1页
毕业设计(论文)-脉冲反射式超声波测距系统设计.doc_第2页
毕业设计(论文)-脉冲反射式超声波测距系统设计.doc_第3页
毕业设计(论文)-脉冲反射式超声波测距系统设计.doc_第4页
毕业设计(论文)-脉冲反射式超声波测距系统设计.doc_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本科毕业论文 设计 本科毕业论文 设计 2014 2014 届届 脉冲反射式超声波测距系统设计 院 系 电子信息工程学院 专 业 电气工程及其自动化 姓 名 指导教师 助教 学号 2015 届本科毕业设计 论文 I 摘 要 本次设计的主要内容是介绍一种基于超声波自身的特点对实际生活中一些距离测量 的设计 本系统利用超声波传感器作为检测器件 其中主要是利用超声波反射特点和声 波在空气中传播的速度对一些特殊的场合进行短距离的测量 本次系统硬件功能主要是 用 STC89C52 单片机控制各个电路实现的 主要电路有超声波测距电路 声音报警电路 数码管显示电路 在软件设计中绘制出各电路的原理图 仿真图 以及 PCB 图 并且说 明各个部分的工作原理和设计过程 最后进行 Proteus 仿真和实物的焊接并且测试其功 能 关键词 单片机控制 超声波测距 数码管显示 2015 届本科毕业设计 论文 II Abstract The main content of this design is to introduce a kind of based on ultrasonic characteristic of real life some of the design of the distance measurement This system USES ultrasonic sensors as detecting device mainly using the ultrasonic reflection characteristics and the speed of sound waves in air for some special occasions for short distance measurement The function of the system hardware is mainly implemented using all circuit STC89C52 single chip microcomputer control main circuit of ultrasonic distance measurement circuit voice alarm circuit digital tube display circuit Draw in the software design principle of the circuit diagram simulation diagram and PCB diagram and illustrate the working principle and design process of all parts finally Proteus simulation and real welding and test its functionality Keywords Single chip microcomputer control Ultrasonic ranging Digital tube display 2015 届本科毕业设计 论文 III 目 录 摘摘 要要 I ABSTRACTABSTRACT II 目目 录录 III 1 1 绪论绪论 1 1 1 研究背景 1 1 2 国内外研究现状 1 1 3 研究目的与意义 2 2 2 系统总体设计系统总体设计 3 2 1 设计要求 3 2 2 系统设计方案 3 3 3 系统系统硬硬件设计件设计 4 3 1 主控制模块 4 3 1 1 STC89C52 单片机的简介 4 3 1 2 STC89C52 管脚说明 4 3 1 3 STC89C52 单片机主要特性 5 3 2 超声波传感器检测 模块 5 3 2 1 超声波传感器的介绍 5 3 2 2 超声波传感器的工作原理 5 3 2 3 超声波传感器的应用 6 3 3 单片机的最小系统 7 2015 届本科毕业设计 论文 IV 3 4 超声测距显示电路 7 3 5 超声测距报警电路 8 3 6 本章小结 9 4 4 系统软件设计系统软件设计 10 4 1 主程序流程 10 4 2 子程序的设计 11 4 2 1 超声发射和接收设计 11 4 2 2 显示子程序设计 11 4 2 3 报警子程序 12 4 3 本章小结 13 5 5 联调与调试联调与调试 13 5 1 软件调试 13 5 2 硬件调试 15 5 3 系统 PCB 图 17 5 4 本章小结 18 结论与展望结论与展望 18 致致谢谢 19 参考文献参考文献 20 附附 录录 21 附录附录 A A 原理图 原理图 21 附录附录 B B 源程序 源程序 22 2015 届本科毕业设计 论文 1 1 1 绪论绪论 1 11 1 研究背景研究背景 自然界中人们听到的声音是通过物体产生机械振动来产生 但是超声的频率大约在 20000Hz 不在人的听觉范围 但它和声音在本质上是相同的 超声波和其他的一些声波一 样都具有一些性质如 折射 反射 衍射 干涉等 另外 它还具有束射特性 能量传 递特性 吸收特性等 超声波在面对不一样的介质时 它发出的能量会相应被反射出一 大部分 超声波 无线电波 光线等其他一些波相比 超声波传播的速度要小很多 所 以它的时间更容易获得 故测量的精度和准确度也远远大于其他的声波系统 与其他声 波测量距离相比超声波系统的电路更容易实现一些 结构比较简单所以造价成本相对也 比较低 最重要的是利用声速传播 仪器更容易获取一些数据和图像 在传统的距离测量方法中 尺子用于短距离测量 激光用于远距离测量等 随着科 技不断的进步 生活中使用仪器测量距离的领域也越来越多 传统的测距方式已经不能 满足日益发展的社会对于距离测量的进一步的要求 在军事方面运用的比较多的就要数 利用激光进行测距 超声波测距是更加适合在空气中进行测距 由于在空气中波传播的 速度相对是比较慢的 遇到测量物体它反射回来的信号波中在传播方向结构信息检测出 来还是比较容易的 而且分辨力很高 因而测距的精准度与其它方法相比较高 超声波 以其具有的独特优点 在测距系统中有了更为广阔的发展前景 目前人们掌握的技术水平还是有限的 人们利用的测距技术在实际应用中还是有很 大的局限性 毋庸置疑 这一局限性影响了超声测距的精准度给测量带来了误差 如 测量范围的不同时所产生的误差原因也不同 当测量较近的物体时 测量的准确性会大 大降低 这是因为超声波接收的过程中间回波的脉冲展宽 当测量较远的物体时 超声 波在传播的过程会衰减 距离越长衰减的越多越厉害 对于精度要求比较高的一些场合 如医学检测 工业质检中物体的探伤等场合 环境温度 风速等因素会对测量造成一定 的影响 因此提高超声测距技术 具有很重要的意义 相信 超声测距在不同领域会有无 限的发展前景和空间 1 21 2 国内外研究现状国内外研究现状 在科学研究史上 关于声波的研究有着一定的历史地位 同时关于超声波的研究也 一直备受各国研究人员青睐 伴随着工业化的到来 超声波检测技术也在不断的向前发 展 其中在无损检测诊断 医学检测方面的讨论研究的最为激烈 2015 届本科毕业设计 论文 2 五十年代初期 国内开始引进了关于超声波的电子管仪器 这是我国关于超声波研 究的始端 这些仪器的体积比较大而且重不宜移动 在五十年代末时 我国从波兰等地 引进了一批在部分的科研单位进行研究其原理构造 并通过对它们的研究自己动手制作 出类似的仪器 随着半导体时代的到来 电子管器件被逐渐的淡出研究人员的视线 半 导体的运用推动了无损检测技术的研究与普及领域 1978 年 中国建筑科学院经过不断 的研究探索研究出了 JC 2 超声波检测器 它采用的是数码显示 总重约 5 千克 从此以 后 国内拥有了第一批自己制造生产的检测超声波仪器 随后超声波仪器不断的换代更 新 其中 Z000A 超声检测分析仪是煤炭科学研究院研究出的一种带有微处理器的测量仪 器 所有的状态信息 处理数据都可以通过显像管显示 其数字 测量值稳定清晰 与 其他相同的产品相比较 功能齐全 设计合理新颖 与传统的相比有较大的突破 已经 可以于世界国际先进的水平相比 近几年来 在工业生产 医疗检测和医疗诊断中超声 全息影像技术有了一定的发展 国外关于超声波检测技术的研究有很多 而且已经非常的成熟 例如 利用超声波 进行分析频谱和超声波显像的应用 超高频率的超声检测法以及对新型声源的深入研究 例如研究激光接收超声和多种检测仪器等 都是比较集中和典型研究的方向 就目前而言 对超声波测距的研究 国内的超声波检测技术在测量的精度方面不如 国外的超声波检测技术 研究发现 造成在测量精准度方面的差异的原因是因为制造结 构和工艺的不同 还有就是不同的模块之间时间序列彼此相互之间的不协调 随着人们 对测量精度的要求不断的提高 智能控制以及电子技术的发展 需要超声测距系统对时 序和时钟频率的控制能力 1 31 3 研究目的与意义研究目的与意义 超声波测量距离的技术是一种利用仪器发出超声波并利用它具有的特性在空气中或 者其他介质中进行非接触式的检测技术 不受一些外部环境的影响 例如光线 适于黑 暗 被测对象固有的颜色 外部存在的电磁场等 耐高温 粉尘 潮湿 腐蚀气体等比 较特殊环境也能适用 这些是有别于其他测距仪 在工业上用于造纸业 化工厂 煤矿 食品方面 饮料 奶制品 添加剂 等污水 处理液位的测定 在农业上防汛时进行的水位的测定 空间的定位 道路的车辆限高等 在军事上超声波的应用也是无处不在的 例如声纳在军事方面的应用 被动测距声纳具 有更精准的定位 使水中武器能够完全隐蔽进行攻击 研制利用低频率线谱检测的潜艇 声纳 进一步改善潜艇声纳所处的工作环境 另外超声在恶劣环境测距下可以发挥自身的优点因此也有较广泛的应用 使用超声 波检测物体往往速度相比较其他方式快 计算简单 方便于在不同场合的实时监控 更 为重要的是在把握精准度的方面能够实现工业实用的预期指标的结果 例如在制造机器 人时 测量距离的系统是必不可少的 这样有助于机器人在移动时不受外界障碍物的影 2015 届本科毕业设计 论文 3 响 准确定位的方向距离角度等具体的信息 使机器人有效的完成 无法否认的是 在 未来使用超声波测量距离将会有更为广阔的发展空间 如 研制出具有许多种功能的超 声波测距仪 使测距仪朝着智能化和自动化方向发展 更好的服务与人类 在新的科学技术发展下发展创新的测距仪将会在更广泛的领域发挥其更大的作用 2 2 系统总体设计系统总体设计 2 12 1 设计要求设计要求 1 了解 STC89C52 单片机 在对各个管脚的功能掌握的基础上 进行系统电路的搭 建 2 熟悉其工作的原理 并在此基础上绘制出每一部分的硬件电路图 3 要求测量范围在 1cm 500cm 测量精度 1cm 4 使用四位数码管进行测量数据的显示 根据与设定的距离进行报警提醒 5 使用软件对电路图进行软件的仿真 在电路图的基础上对系统进行实物的制作 6 对设计的电路进行分析 2 22 2 系统设计方案系统设计方案 对于本次系统电路的总体设计可以分为硬件设计和软件设计两个部分 硬件电路根 据模块来进行划分可以分为超声波电路模块 四位数码管显示 按键的控制 蜂鸣器报 警等模块 单片机是本次设计的核心和主要的控制芯片 本次设计把 STC89C52 单片机作 为主要的控制单元 通过单片机程序的设计得出测量距离的数值并通过四位数码管的显示 电路显示具体的数值 同时与设定报警值之间进行比较处理 来控制蜂鸣器的工作状态 也即是否进行报警处理 软件部分的设计就是根据系统所要实现的功能如 超声波模块 的运行 数码管显示功能 蜂鸣器报警等 C 语言程序的编写和运用仿真软件对编写的程 序进行测试仿真 本次系统设计总体方框图如图 2 1 所示 ST89C52 最小系统 显示电路 按键电路 超声波电路 报警电路 2015 届本科毕业设计 论文 4 图 2 1 系统设计框图 3 3 系统硬件设计系统硬件设计 3 13 1 主控制模块主控制模块 3 1 1 STC89C52 单片机的简介 STC89C52 是一种小型单片机由宏晶公司生产推出 兼容 MCS 51 是一些电子工程师 常用的原器件 其主要特点为存贮器是采用 Flash 技术 且采用制造技术为高密度非易 失存储器 将闪烁存储器和 8 位多功能 CPU 组合在一起构成一个芯片 可以很快被中国 广大用户接受 其程序具有的特性为电可擦写 这样会使得试验和开发相比较而言会容 易一些 另外它的制造成本很低 灵活性很高 成为很多嵌入式控制系统首选的原件 X TA L1 19 X TA L2 18 RST 9 PSEN 29 A LE PRO G 30 EA 31 P1 0 T2 1 P1 1 T2EX 2 P1 2 3 P1 3 4 P1 4 5 P1 5 6 P1 6 7 P1 7 8 P0 0 AD 0 39 P0 1 AD 1 38 P0 2 AD 2 37 P0 3 AD 3 36 P0 4 AD 4 35 P0 5 AD 5 34 P0 6 AD 6 33 P0 7 AD 7 32 P2 0 A8 21 P2 1 A9 22 P2 2 A10 23 P2 3 A11 24 P2 4 A12 25 P2 5 A13 26 P2 6 A14 27 P2 7 A15 28 P3 0 RX D 10 P3 1 TX D 11 P3 2 IN T0 12 P3 3 IN T1 13 P3 4 T0 14 P3 5 T1 15 P3 6 WR 16 P3 7 RD 17 V CC 40 G ND 20 STC89C52RC 图 3 1 STC89C52 单片机 3 1 2 STC89C52 管脚说明 STC89C52 单片机的管脚包括电源 时钟 I O 口 控制线 其中电源包括接 5V 的 VCC 和接地端 GND 接时钟电路的管脚 XTAL1 XTAL2 为输入和输出端 I O 口包括 P0 P1 P2 P3 共四个八位口 其中 P0 口是三态双向口 P1 P2 口是准双向口 其中 P1 是专供用户的 P2 可以供用户使用的 I O 口 当拓展时当高 8 位地址线使用 P3 口是双 功能口 该口的每一位均可独立地定义为第一 I O 功能或第二 I O 功能 作为第一功能 使用时和 P1 口相同 控制线共有 4 根分别为 RST VPD ALE PROG PSEN EA Vpp 其中 每个功能分别为复位信号端和在掉电时的备用电源 P0 低 8 位地址锁存和片内 EPROM 编 2015 届本科毕业设计 论文 5 程脉冲 ROM 读选通信号 内外 ROM 选择端和内部 EPROM 编程时的电源 3 1 3 STC89C52 单片机主要特性 以下是介绍的是 STC89C52 单片机的特性 STC89C52 和 MCS 51 系列的单片机系统在引 脚和指令上都兼容 全静态工作 工作范围 0Hz 24MHz 片内有 4k 字节在线可重复编程 快擦写程序存储器 十六位定时器 计数器两个 内部 RAM8 128 位 32 位双向输入输出 线 五个中断源 两级中断优先级 一个全双工的异步串行口 超强抗干扰 宽电压 不 怕电源抖动 宽温度范围 40 85 禁止 ALE 输出 具有超低功耗 正常工作模式 功耗 4mA 7mA 掉电模式可由外部中断唤醒 适用于电池供电系统 3 23 2 超声波传感器检测 模块超声波传感器检测 模块 3 2 1 超声波传感器的介绍 超声波传感器又称为超声探头或者超声波换能器 当前市场上能买到主要的超声波 传感器类型大致分为有磁致伸缩式 压电式 电磁式三大类 其中最为常见的是压电式 它的工作是利用压电材料产生压电效应 分别将机械的振动波转换成为电信号 高频的 电振动转换成机械振动 分别为正和逆压电效应 3 2 2 超声波传感器的工作原理 超声波传感器是利用声波在空气中传播的这一阶段时间和声波传递的速度就可以计 算出与被测物体之间的距离 在实际应用中使用超声波测距主要的方式两种 一种是接 收器接受的是超声波遇到被测物反射回来的声波 此时所测得的时间是超声波在与被测 物体的往返时间也即计算出的距离是原来实际的两倍 另一种就是接收器和发射器不是 在一端而是分别固定在被测距离的两端 其中一端发射一端接收 这样测得的距离就是 实际中要测量的距离而不是距离的两倍 本次的设计则是采用反射接收回波的方式 本次的设计超声波传感器部分采用的是 模块 其中该模块是由三个 部分集成而来的 其中包含有接收器 发射器以及集成的控制电路 它具有非接触式距 离检测的特点 并且它的最小测量精度为 3mm 测量的距离一般在 2cm 400cm 范围之间 如图 3 2 是 模块 2015 届本科毕业设计 论文 6 图 3 2 模块 模块的工作原理 该模块有四个引脚 这四个引脚分别为 TRIG 触发控制信号输入 ECHO 返回信号输 出 GND 为接地线 VCC 提供 5V 电源 采用的是单片机 I O 口触发 使用程序给 TRIG 口不少于 10us 的高电平触发 然后模块开始进行测量 与此同时模块也将会自主的发送 40Khz 8 个方波 并且会自动检测是否有方波信号返回 若接收器接收到返回的信号 单 片机则通过 I O 口 ECHO 输出一个高电平 过一段时间后电平将会由高电平变成低电平 其中这段高电平持续时间也即是超声波从发射到遇到障碍物被反射回来接收器接收的这 段时间 由于测量的时间是超声波在被测量距离往返的时间 故测量距离的时间只是高 电平持续时间的一半也即测量时间的二分之一 因此测量的距离可以用如下的公式进行 计算 单位 m 需要测量的距离 高电平持续的时间 340 2 340m s 是空气中超声波传播的速度 在编写程序中测试功能主要由函数完成 本次设计使用了两个函数进行实现 采用 定时器 T0 进行时间的定时测量 8 分频 0XCE 设为 TCNTT0 的预设值 当 timer0 中断发 生 2500 次时为 125ms 下面是计算时间的主要公式 单位 ms T 定时器 T0 溢出次数 0XFF 0XCE 1000 3 2 3 超声波传感器的应用 由于超声波自身的一些固有性质如 折射 反射等性质 在遇到阻碍超声波传播的 物体时会产生明显的反射回波 遇到正在移动中的物体时会出现多普勒效应 就目前来 说 超声测距主要应用于农业生产 工业现场 建筑工地 医疗设备等不同领域的距离 测量 虽然现在在测量距离的量程上已经能够达到百米的测量范围 但是测量的精准度 方面还有待进一步的提高 2015 届本科毕业设计 论文 7 在农业方面 超声波可以应用在农作物种子的发芽和农作物的增产 还可以对农作 物有机细胞进行杀菌消毒 在工业方面 利用超声波传感器制成的探伤仪进行检测金属 工件内部的质量 超声波探伤仪还主要应用于如检测金属材料焊接中是否有焊接的缺陷 是否存在气泡 对气体 固体硬度 厚度 液体的单位流量 高度测量测量 在机器人 防撞 防盗报警制作中超声波传感器也有着不可替代的作用 在医学方面 超声波可以 帮助医生诊断病情如 肿瘤 结石 B 超等 这样能够比较快速准确的判断 减少不必要 的错误 同时超声波在大气除尘 水处理 燃油乳化等环境问题上进行处理 这对于环 境的保护有着一定的贡献 3 3 单片机的最小系统单片机的最小系统 本次设计采用的单片机为 STC89C52 它的最小系统如图 3 3 其中包括了时钟电路 与复位电路 复位 就是不论单片机在运行程序 我们强制使它回到最开始的状态 并且也能从 最开始的状态下进行工作 我们一般常见的复位方法主要有上电自动复位和按键手动复 位两种方式 其中 STC89C52 复位是对单片机的外部引脚 RESET 进行操作 就能实现复位 即给它 2 个机器周期的高电平 由于自动复位简单 所以本次采用的是自动复位电路 时钟电路的设计使反向放大器的输入端 XTAL1 和输出端 XTAL2 与晶振的两端相接 本次 设计所使用晶振的大小为 12MHz X TA L1 19 X TA L2 18 RST 9 PSEN 29 A LE PRO G 30 EA 31 P1 0 T2 1 P1 1 T2EX 2 P1 2 3 P1 3 4 P1 4 5 P1 5 6 P1 6 7 P1 7 8 P0 0 AD 0 39 P0 1 AD 1 38 P0 2 AD 2 37 P0 3 AD 3 36 P0 4 AD 4 35 P0 5 AD 5 34 P0 6 AD 6 33 P0 7 AD 7 32 P2 0 A8 21 P2 1 A9 22 P2 2 A10 23 P2 3 A11 24 P2 4 A12 25 P2 5 A13 26 P2 6 A14 27 P2 7 A15 28 P3 0 RX D 10 P3 1 TX D 11 P3 2 IN T0 12 P3 3 IN T1 13 P3 4 T0 14 P3 5 T1 15 P3 6 WR 16 P3 7 RD 17 V CC 40 G ND 20 STC89C52RC V CC 图 3 3 单片机的最小系统 2015 届本科毕业设计 论文 8 3 43 4 超声测距显示电路超声测距显示电路 超声波测距显示电路的设计是由四位数码管组成的动态扫描电路 STC89C52 的 P0 口 接上拉电阻构成 单片机控制进行动态扫描时 由三极管对四个数码管进行驱动控制 确定数码管是否选通并进行不同的数据的显示 进行测量距离结束并调用显示程序时 四位数码管就会显示距离大小和测量距离数值的两位有效的小数 XTAL1 19 XTAL2 18 RST 9 PSEN 29 ALE PROG 30 EA 31 P1 0 T2 1 P1 1 T2EX 2 P1 2 3 P1 3 4 P1 4 5 P1 5 6 P1 6 7 P1 7 8 P0 0 AD0 39 P0 1 AD1 38 P0 2 AD2 37 P0 3 AD3 36 P0 4 AD4 35 P0 5 AD5 34 P0 6 AD6 33 P0 7 AD7 32 P2 0 A8 21 P2 1 A9 22 P2 2 A10 23 P2 3 A11 24 P2 4 A12 25 P2 5 A13 26 P2 6 A14 27 P2 7 A15 28 P3 0 RXD 10 P3 1 TXD 11 P3 2 INT0 12 P3 3 INT1 13 P3 4 T0 14 P3 5 T1 15 P3 6 WR 16 P3 7 RD 17 VCC 40 GND 20 U1 E 1 C 4 D 2 DP 3 G 5 4H 6 B 7 1H 12 A 11 F 10 2H 9 3H 8 U3 SMG04 1 Q5 PNP Q4 PNP Q3 PNP Q2 PNP R2 2K R3 2K R1 2K R4 2K VCC 1 2 3 4 5 6 7 8 9 J1 VCC 图 3 4 显示电路 3 53 5 超声测距报警电路超声测距报警电路 超声波测距报警电路设计是由一个 Buzzer 和一个 PNP 三极管 通过电阻连接到单片 机 P2 3 的引脚上构成的声音报警电路 如图就是所设计的声音报警电路 当单片机通过 计算测得距离数值不在事先设定的范围内时 单片机会控制电路产生报警 2015 届本科毕业设计 论文 9 X TA L1 19 X TA L2 18 RST 9 PSEN 29 A LE PRO G 30 EA 31 P1 0 T2 1 P1 1 T2EX 2 P1 2 3 P1 3 4 P1 4 5 P1 5 6 P1 6 7 P1 7 8 P0 0 AD 0 39 P0 1 AD 1 38 P0 2 AD 2 37 P0 3 AD 3 36 P0 4 AD 4 35 P0 5 AD 5 34 P0 6 AD 6 33 P0 7 AD 7 32 P2 0 A8 21 P2 1 A9 22 P2 2 A10 23 P2 3 A11 24 P2 4 A12 25 P2 5 A13 26 P2 6 A14 27 P2 7 A15 28 P3 0 RX D 10 P3 1 TX D 11 P3 2 IN T0 12 P3 3 IN T1 13 P3 4 T0 14 P3 5 T1 15 P3 6 WR 16 P3 7 RD 17 V CC 40 G ND 20 STC89C52RC Q 1 PN P BUZZER V CC 图 3 5 报警电路 3 63 6 超声波测距按键电路超声波测距按键电路 如图所示 是本次设计的按键电路 共有三个按键 分别是设置键 数值加减键 X TA L1 19 X TA L2 18 RST 9 PSEN 29 A LE PRO G 30 EA 31 P1 0 T2 1 P1 1 T2EX 2 P1 2 3 P1 3 4 P1 4 5 P1 5 6 P1 6 7 P1 7 8 P0 0 AD 0 39 P0 1 AD 1 38 P0 2 AD 2 37 P0 3 AD 3 36 P0 4 AD 4 35 P0 5 AD 5 34 P0 6 AD 6 33 P0 7 AD 7 32 P2 0 A8 21 P2 1 A9 22 P2 2 A10 23 P2 3 A11 24 P2 4 A12 25 P2 5 A13 26 P2 6 A14 27 P2 7 A15 28 P3 0 RX D 10 P3 1 TX D 11 P3 2 IN T0 12 P3 3 IN T1 13 P3 4 T0 14 P3 5 T1 15 P3 6 WR 16 P3 7 RD 17 V CC 40 G ND 20 STC89C52RC 图 3 6 按键电路 3 73 7 本章小结本章小结 本章主要介绍了电路中各个部分的设计 如单片机的最小系统 报警电路 显示电 路以及按键电路等的设计 通过对软件 protus 的学习 画出各个部分的电路图 根据查 2015 届本科毕业设计 论文 10 找的资料和经验 选择每个元件的大小 及按照各个元器件实际的尺寸进行封装 4 4 系统软件设计系统软件设计 超声波测距系统的软件设计由主程序 数码管显示子程序 超声波测距子程序及蜂 鸣器报警子程序等构成 程序的编译采用 keilc51 4 14 1 主程序流程主程序流程 首先要对系统整体进行初始化设置 本次系统设置的定时器 T0 工作模式是 8 位的定 时计数模式 调用超声波程序 对距离进行检测 测得距离与事先设定的距离相比较 若小于设定距离 蜂鸣器会进行报警 否则将会进入显示子程序由数码管显示出当前的 距离也就是要测量的距离 等待下一次距离的检测 主程序的流程图如下所示 开始 系统初始化 测得距离与设定值比较 小于 启动报警电路开始报警 距离比较 报警是否持 续 报警结束 再次检测等待下次报警 结束 Y N Y N Y N 图 4 1 主程序结构框图 2015 届本科毕业设计 论文 11 4 24 2 子程序的设计子程序的设计 4 2 1 超声发射和接收设计 在测量距离中 超声波发射和接收的时间由定时器来计算 通过接收端口的高电平 持续的时间来计算距离 以下是定时器的流程框图 图 4 2 1 定时器结构框图 4 2 2 显示子程序设计 根据测量距离的子程序计算 得到的距离通过四位数码管来显示 具体的显示方法 是将测量数据分别求得百位 十位 个位 通过选段各个数码管显示出来 具体的程序 如下 2015 届本科毕业设计 论文 12 开始 结束 距离超出超声波测量范 围 程序计算出的距离 Y N 距离 10 10 距离 100 10 距离 10 显示十位 显示个位 显示百位 显示888 图 4 2 2 显示结构流程图 4 2 3 报警子程序 为了更为准确的测量避免错误的产生 进行了两次的距离的测量 同时进行测定的 数据与设定数据之间的比较 这样能有效的减少错误 报警程序的流程图如下 2015 届本科毕业设计 论文 13 开始 结束 测量与设定距离比较 大于 蜂鸣器报警蜂鸣器不报警 N N Y Y N N Y Y 测量与设定距离比较 大于 图 4 2 3 报警结构流程图 4 34 3 本章小结本章小结 本章通过介绍主程序 各个部分的子程序的设计流程图 其中子程序包含了超声波 测距的子程序 显示子程序 报警子程序几个部分 通过结构框图进行超声波测距离算 法的设计和各个部分子程序的设计 通过超声波发射到接收到的时间进行距离的计算 通过数码管显示 并在设定的距离内进行报警提醒 5 5 联调与调试联调与调试 5 15 1 软件调试软件调试 首先根据原理图在 Protus 中绘制电路的仿真图 由于这个软件中没有超声波的模块 因此只能对除了超声波电路模块以外的部分的程序功能进行仿真 在仿真中用 AT89C51 代替 STC89C52 芯片 由于没有超声波 HC SR04 模块 我使用了 555 定时器的延时功能 模仿超声波发出信号到接收信号的时间 用滑动变阻器的阻值大小模仿距离障碍物的远 近 虽然和实物有一定的差距 但基本的原理还是相同的 所以有一部分的功能还是可 2015 届本科毕业设计 论文 14 以实现的 程序的编辑环境是在 keilc51 下 该软件适用于 51 系列单片机的程序编译 对程序的 不断调试来完善超声波测距的功能 将事先编写好的 C 语言程序生成 HEX 文件 并将其 导入单片机的仿真图中进行仿真 实现部分的功能 下面图 5 1 实现的是设定报警值为 50cm 功能 图 5 2 通过移动滑动变阻器改变阻值大小测得距离为 343cm 图 5 1 设定报警值 图 5 2 测量距离 2015 届本科毕业设计 论文 15 5 2 硬件调试硬件调试 在硬件调试的过程中 主要的是电路的焊接 将原件的大致位置排列好 然后把主 要的原件进行固定住 按照原理图和 PCB 图进行布线 在焊接的过程中由于实际情况 焊接的实物位置与原理图和 PCB 图有一定的差距 但是所有的接线都严格的根据原理图 所以这并不影响调试 焊接好以后 就是对单片机烧写程序 通过使用学习板和下载软 件 将程序烧写进去 下面是调试过程中的相关的图片 图 5 3 设定报警值为 50cm 图 5 4 超出量值显示 888 图 5 5 和图 5 6 是根据障碍物测量值 2015 届本科毕业设计 论文 16 图 5 3 设定值 图 5 4 超出量值显示 图 5 5 测量值 图 5 6 测量值 2015 届本科毕业设计 论文 17 由于焊接的过程中焊接不熟练 操作不得当和自己对元器件的引脚不熟悉 都会导 致焊接出来的实物不能实现测距的功能 这就需要我们对实物进行调试 下面是在焊接 过程中需要注意的几点问题 1 使用万用表对面包板上的各点进行逐个检查 判断各个节点没有断路 短路 虚焊等各种问题的出现 另外 应该仔细的检查电源和地线是否都准确无误的接上减少 不必要的错误 2 检查焊好的实物中的按键是否正常工作 各芯片管脚是否按电路原理图的走线 避免漏焊 焊错引脚 3 借助示波器进行波形 观察单片机晶振是否起振 测试结果的波形和正常情况 下的工作波形进行比较 看是否一致 5 35 3 系统系统 PCBPCB 图图 在原理图的绘制基础上绘制 PCB 板 在元器件的布线上采用的是手动布线 使得整 体的布局空间合理 一目了然 图 5 5 是 PCB 图 2015 届本科毕业设计 论文 18 图 5 5 PCB 图 5 45 4 本章小结本章小结 本章通过对硬件和软件进行了调试 制作出超声波测距器 实现超声波对距离的测 量 最终将编译好的程序烧写到焊接好实物中进行多次的调试最终实现测距功能 2015 届本科毕业设计 论文 19 结论与展望结论与展望 本次设计是对我大学四年学习所有课程的一次综合实践的应用 主要运用了单片机 原理与设计 C 语言编程 以及运用 Protel 和 Protus 软件绘制原理图 PCB 图 仿真图 Keil 软件进行编译处理 在绘制原理图时 有些无法找到的器件 必须自己绘制 例如绘制的四个数码管 在自己动手的过程中 学习了很多的快捷键绘图的方法和知识 对 Protel 绘图软件有了 更深一层的了解 在绘制 PCB 图时对原件的封装尺寸的问题时 为了封装准确 进行了 实际的测量在封装库里找到了它的封装 在布线时 采用的是手动布线 是原件整体结 构更清晰明了 由于学校实验设备的有限本次设计采用的是在面包板进行焊接 没有制 作印刷版 在焊接的过程中增强了动手能力 培养了耐心细心以及不怕失败的精神 在程序的编写过程中也有了很大的收获 为了了解本次设计的相关知识 阅读了大 量的相关书籍 对于编程的算法 语言有了深刻的认识 认识到了程序语言的严谨 在 程序设计时程序设计的总体的思路编写流程图使思路更加清晰化 在编程的过程中尽量 做到使问题简单化 每个部分分别进行编写 边调试边发现问题 然后进行解决 在程 序进行调试和软件仿真时 元器件的焊接时 老师和身边的同学都给予我很大的帮助 遇到困难时都会在一起讨论研究进行解决 本次设计的脉冲反射式超声波测距能对一定的距离进行测量 在特定的距离进行报 警处理 但还是有很多的局限性 在本次的设计中没有考虑到周围环境的影响 如温度 湿度等因素 这些会导致测量不准确 在本次的设计中 虽然用时比较短 但还是有了很大的收获 不仅对单片机的应用 设计上有了一定的了解而且在编程上也有了进一步的认识 还有体会到了设计中使用的 各种绘图软件重要性和它们功能的强大 这次的设计学习对以后也会有着很深的影响 对自己学习的知识进行运用 在学习中进行不断的总结经验与教训 在一次次的失败中 找寻解决的方法 在设计中注重在实践中解决问题 遇到问题时要有耐心并且要有越挫 越勇的精神 改正以前自身的不足 争取在以后处理问题中做得更好 2015 届本科毕业设计 论文 20 致谢致谢 本次的毕业设计经历几个月的时间 从开题报告到论文的编写都在积极的准备着 虽然经过大学四年的专业学习 但是从课本上所学到的知识还是非常的有限 对于专业 的好多知识也是一知半解 应用在实践上更是不知如何下手 在本次的课程设计听从老 师的建议 重新翻阅以前和课题相关的资料进行更深层次的理解 在网上查阅大量的有 关课题资料 对课题不断深入的了解 在设计的过程中遇到的很多的问题 如软件设计 中对程序的编写 还有就是实物的焊接 由于之前很少接触实物焊接 所以没有一点头 绪 无从下手 经过对这一方面的学习 对整体的认识有所了解 通过动手学习 不断 的实践 和同学的帮助 最后设计出了超声波测距器 在本次设计的这一段期间 王老师作为我本次毕业设计的指导老师 在这里非常感 谢他这一段时间对我的指导督促和帮助 在遇到困惑的问题时 他总是不厌其烦的帮助 我们解惑 直到我对这一问题完全弄懂 更重要的是他在教会我们知识的同时也教给了 我们解决问题的方法 其次 感谢学校给予我们这次动手实践的机会 让我们在毕业之 前能够运用我们所学到的知识进行单独的设计制作 这对我们以后面向社会 面向自己 的工作有着非常深远的影响 再次感谢在大学期间所有给予我帮助的同学以及任课老师 作者 刘影 2015 年 4 月 日 2015 届本科毕业设计 论文 21 参考文献参考文献 1 彭伟 单片机 C 语言程序设计实训 100 例 电子工业出版社 2009 年 2 吴运昌 模拟电子线路基础 广州 华南理工大学出版社 2004 年 3 阎石 数字电子技术基础 北京 高等教育出版社 1997 年 4 张晓丽等 数据结构与算法 北京 机械工业出版社 2002 年 5 马忠梅 ARM 超声波测距误差分析 J 传感器技术 2004 年 06 期 13 牛余朋 成曙 基于单片机的超声波测距系统 J 兵工自动化 2005 年 04 期 82 84 14 张健 李钢 超声波测距系统的研究与设计 J 合肥工业大学学报 自然科学 版 2004 年 06 期 58 61 15 沈俊霞 杨德 单片机在超声测距系统中的一种应用 J 电子科技 2005 年 05 期 43 45 16 rtorS ZHANG G X Geometric Error Measurement and Compensation of Machines Annals of the CIRP 1995 599 609 17 olton W Instrumentation 断码 数码管位选定义 uchar code smg we 0 xe0 0 xd0 0 xb0 0 x70 uchar dis smg 8 0 xc0 0 xf9 0 xa4 0 xb0 0 x99 0 x92 0 x82 0 xf8 sbit smg we1 P3 4 数码管位 选定义 sbit smg we2 P3 5 sbit smg we3 P3 6 sbit smg we4 P3 7 sbit c send P3 2 超声波 发射 sbit c recive P3 3 超声波 接收 uchar flag hc value 超声 波中间变量 sbit beep P2 3 蜂鸣器 IO 口 定义 bit flag key b en flag key set en 按键蜂鸣器使能 uchar smg i 3 显示数码管的 个位数 bit flag 300ms bit key 500ms long distance 距离 uint set d 距离 bit flag csb juli 超声波 超出量程 uint flag time0 用来保存定 时器 0 的时候的 按键的 IO 变量的定义 uchar key can 按键值的变量 uchar zd break en zd break value 自动退出设置界面 uchar menu shudu 10 用来控制 连加的速度 bit flag lj en 按键连加 使能 bit flag lj 3 en 按键连 3 次连 加后使能 加的数就越大了 uchar key time flag value 用做连加的中间变量 uchar menu 1 菜单设计的 变量 uchar a a 1ms 延时函 数 void delay 1ms uint q uint i j for i 0 i q i for j 0 j 120 j 处理距离函 2015 届本科毕业设计 论文 2 数 void smg display dis smg 0 smg du distance 10 dis smg 1 smg du distance 10 10 dis smg 2 smg du distance 100 10 把数据保存到单 片机内部 eepom 中 void write eepom SectorErase 0 x2000 byte write 0 x2000 set d 256 byte write 0 x2001 set d 256 byte write 0 x2058 a a 把数据从单片机 内部 eepom 中读出来 void read eepom set d byte read 0 x2001 set d 5 key value 0 key new 1 flag lj en 0 关 闭连加使能 flag lj 3 en 0 关闭 3 秒后使能 flag value 0 清 零 key time 0 write eepom else if P2 按键按下 的时候 else key value 0 if key value 5 key value 0 key new 0 flag lj en 1 连加使 能 zd break en 1 自动退 出设置界使能 zd break value 0 自动 退出设置界变量清零 flag key b en 1 按键 2015 届本科毕业设计 论文 3 蜂鸣器使能 key can 20 if key 500ms 1 连加 key 500ms 0 key new 0 key old 1 zd break value 0 if key new 0 break 得到 k2 键值 case 0 x05 key can 2 break 得到 k3 键值 case 0 x03 key can 1 break 得到 k4 键值 dis smg 3 smg du key can 10 key old key new void smg we switch uchar i switch i case 0 smg we1 0 smg we2 1 smg we3 1 smg we4 1 break case 1 smg we1 1 smg we2 0 smg we3 1 smg we4 1 break case 2 smg we1 1 smg we2 1 smg we3 0 smg we4 1 break case 3 smg we1 1 smg we2 1 smg we3 1 smg we4 0 break 数码显示函 数 void display static uchar i i if i smg i i 0 P1 0 xff 段选 P3 0 xf0 P3 位 选 P3 smg we i P3 位选 smg we switch i P1 dis smg i 段选 void delay nop 执行一 条 nop 指令就是 1us nop nop nop nop nop nop 超声波测距程 序 void send wave c send 1 10us 的高电平触发 delay c send 0 TH0 0 给定时 器 0 清零 TL0 0 2015 届本科毕业设计 论文 4 TR0 0 关定时器 0 定时 flag hc value 0 while c recive 当 c recive 为零时等待 TR0 1 while c recive 当 c recive 为 1 计数并等待 flag time0 TH0 256 TL0 if flag hc value 1 flag time0 65000 当超声波 超过测量范围时 显示 3 个 888 TR0 0 flag csb juli 2 distance 888 flag hc value 0 break else flag csb juli 1 if flag csb juli 1 TR0 0 关定时

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论