超声波测距课程设计.doc_第1页
超声波测距课程设计.doc_第2页
超声波测距课程设计.doc_第3页
超声波测距课程设计.doc_第4页
超声波测距课程设计.doc_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

沈阳理工大学学生综合课程设计论文 目录 前言前言 1 课题设计目的及意义 1 1 1 设计的目的 1 1 2 设计的意义 1 1 3 课题设计的任务和要求 1 正文正文 1 课程的方案设计 2 1 1 系统整体方案 2 1 2 系统整体方案的论证 2 2 2 系统的硬件结构设计 2 2 1 51 系列单片机的功能特点及测距原理 3 2 1 1 51 系列单片机的功能特点 3 2 1 2 单片机实现测距原理 3 2 2 超声波电路结构 4 2 3 超声波测距系统的硬件电路设计 4 2 4 PCB 版图设计 5 3 系统软件的设计 6 3 1 超声波测距仪的算法设计 7 3 2 主程序流程图 7 3 3 单片机部分 C 语言程序 8 3 4 超声波测距部分 C 语言程序 11 4 实物制作 17 4 1 电路板焊接及连线图 17 4 2 实物调试效果图 18 4 3 焊接电路板时所遇问题 19 5 总 结 20 6 致谢 20 附录 20 沈阳理工大学学生综合课程设计论文 1 前言 1 课题设计目的及意义 1 1 设计的目的 随着科学技术的快速发展 超声波将在测距仪中的应用越来越广 但就目 前技术水平来说 人们可以具体利用的测距技术还十分有限 因此 这是一个正在 蓬勃发展而又有无限前景的技术及产业领域 展望未来 超声波测距仪作为一种新 型的非常重要有用的工具在各方面都将有很大的发展空间 它将朝着更加高定位高 精度的方向发展 以满足日益发展的社会需求 如声纳的发展趋势基本为 研制具 有更高定位精度的被动测距声纳 以满足水中武器实施全隐蔽攻击的需要 继续发 展采用低频线谱检测的潜艇拖曳线列阵声纳 实现超远程的被动探测和识别 研制 更适合于浅海工作的潜艇声纳 特别是解决浅海水中目标识别问题 大力降低潜艇 自噪声 改善潜艇声纳的工作环境 无庸置疑 未来的超声波测距仪将与自动化智 能化接轨 与其他的测距仪集成和融合 形成多测距仪 随着测距仪的技术进步 测距仪将从具有单纯判断功能发展到具有学习功能 最终发展到具有创造力 在新 的世纪里 面貌一新的测距仪将发挥更大的作用 1 2 设计的意义 查找与超声波测距有关的资料 通过对资料的理解开发设计一种简单的单片机 超声波测距装置 设计完成后 制作 PCB 版图 最后完成实物的连线 通过设计巩 固对单片机知识的运用 并加强自我动手的能力 1 3 课题设计的任务和要求 了解和掌握超声波传感器的原理 结构 特性和使用方法 超声波探测系统相 关产品及及其国内外研究进展情况 利用单片机 Proteus 和 Keil C51 工具设计出 一种相应的探测识别系统 制作实物并进行测试 1 了解和掌握该系统相关传感器 3 5 种 的技术资料 包括其技术指标 原 理图 封装形式 价格等 2 查找系统相关产品 3 5 种 的技术资料 包括其技术指标 原理图 封装 形式 价格等 沈阳理工大学学生综合课程设计论文 2 3 查找与本系统相关论文 最近几年 3 5 篇 4 选择一种传感器 利用单片机 Proteus 和 Keil C51 工具设计出一种相应 的探测识别系统 制作实物并进行测试 5 完成论文 1 课程的方案设计 1 1 系统整体方案 由于超声波指向性强 能量消耗缓慢 在介质中传播的距离较远 因而超声波 经常用于距离的测量 利用超声波检测距离 设计比较方便 计算处理也较简单 并且在测量精度方面也能达到农业生产等自动化的使用要求 超声波发生器可以分为两大类 一类是用电气方式产生超声波 一类是用机械 方式产生超声波 电气方式包括压电型 电动型等 机械方式有加尔统笛 液哨和 气流旋笛等 它们所产生的超声波的频率 功率 和声波特性各不相同 因而用途 也各不相同 目前在近距离测量方面常用的是压电式超声波换能器 根据设计要求 并综合各方面因素 本文采用 AT89C51 单片机作为控制器 用动态扫描法实现 LED 数字显示 超声波驱动信号用单片机的定时器 1 2 系统整体方案的论证 超声波测距的原理是利用超声波的发射和接受 根据超声波传播的时间来计算 出传播距离 实用的测距方法有两种 一种是在被测距离的两端 一端发射 另一 端接收的直接波方式 适用于身高计 一种是发射波被物体反射回来后接收的反射 波方式 适用于测距仪 此次设计采用反射波方式 测距仪的分辨率取决于对超声波传感器的选择 超声波传感器是一种采用压 电效应的传感器 常用的材料是压电陶瓷 由于超声波在空气中传播时会有相当的 衰减 衰减的程度与频率的高低成正比 而频率高分辨率也高 故短距离测量时应 选择频率高的传感器 而长距离的测量时应用低频率的传感器 2 2 系统的硬件结构设计 硬件电路的设计主要包括单片机系统及显示电路 超声波发射电路和超声波检 沈阳理工大学学生综合课程设计论文 3 测接收电路三部分 单片机采用 AT89C51 或其兼容系列 采用 11MHz 高精度的晶 振 以获得较稳定时钟频率 减小测量误差 单片机用 P3 0 端口输出超声波换能器 所需的 40kHz 的方波信号 利用外中断 0 口监测超声波接收电路输出的返回信号 显示电路采用简单实用的 3 位共阴 LED 数码管 段码用 74LS244 驱动 位码用 PNP 三极管 8550 驱动 2 1 51 系列单片机的功能特点及测距原理 2 1 1 51 系列单片机的功能特点 5l 系列单片机中典型芯片 AT89C51 采用 40 引脚双列直插封装 DIP 形式 内部由 CPU 4kB 的 ROM 256 B 的 RAM 2 个 16b 的定时 计数器 TO 和 T1 4 个 8 b 的工 O 端 I IP0 P1 P2 P3 一个全双功串行通信口等组成 特别是该系列 单片机片内的 Flash 可编程 可擦除只读存储器 E PROM 使其在实际中有着十分 广泛的用途 在便携式 省电及特殊信息保存的仪器和系统中更为有用 5l 系列单片机提供以下功能 4 kB 存储器 256 BRAM 32 条工 O 线 2 个 16b 定时 计数器 5 个 2 级中断源 1 个全双向的串行口以及时钟电路 空闲方式 CPU 停止工作 而让 RAM 定时 计数器 串行口和中断系统继 续工作 掉电方式 保存 RAM 的内容 振荡器停振 禁止芯片所有的其他功能直到下 一次硬件复位 5l 系列单片机为许多控制提供了高度灵活和低成本的解决办法 充分利用他 的片内资源 即可在较少外围电路的情况下构成功能完善的超声波测距系统 2 1 2 单片机实现测距原理 单片机发出超声波测距是通过不断检测超声波发射后遇到障碍物所反射的回 波 从而测出发射和接收回波的时间差 tr 然后求出距离 S Ct 2 式中的 C 为 超声波波速 沈阳理工大学学生综合课程设计论文 4 限制该系统的最大可测距离存在 4 个因素 超声波的幅度 反射的质地 反 射和入射声波之间的夹角以及接收换能器的灵敏度 接收换能器对声波脉冲的直接 接收能力将决定最小的可测距离 为了增加所测量的覆盖范围 减小测量误差 可 采用多个超声波换能器分别作为多路超声波发射 接收的设计方法 由于超声波属 于声波范围 其波速 C 与温度有关 2 2 超声波电路结构 超声波接收电路 2 3 超声波测距系统的硬件电路设计 本系统的特点是利用单片机控制超声波的发射和对超声波自发射至接收往返时 间的计时 单片机选用 AT89C51 经济易用 且片内有 4K 的 ROM 便于编程 单片机发出 40kHZ 的信号 经放大后通过超声波发射器输出 超声波接收器将 接收到的超声波信号经放大器放大 用锁相环电路进行检波处理后 启动单片机中 断程序 测得时间为 t 再由软件进行判别 计算 得出距离数并送 LED 显示 超声波发射器 放大电路超声波接收器 放大电路 锁相环 检波电路 定时器 单片机 控制 显示器 沈阳理工大学学生综合课程设计论文 5 单片机硬件原理图单片机硬件原理图 2 4 PCB 版图设计 PCBPCB 版图 版图 a a 沈阳理工大学学生综合课程设计论文 6 PCBPCB 版图 版图 b b 3 系统软件的设计 超声波测距仪的软件设计主要由主程序 超声波发生子程序 超声波接收中断 程序及显示子程序组成 我们知道 C 语言程序有利于实现较复杂的算法 汇编语言 程序则具有较高的效率且容易精细计算程序运行的时间 而超声波测距仪的程序既 有较复杂的计算 计算距离时 又要求精细计算程序运行时间 超声波测距时 所以控制程序可采用 C 语言编程 3 1 超声波测距仪的算法设计 超声波测距的原理为超声波发生器 T 在某一时刻发出一个超声波信号 当这个 超声波遇到被测物体后反射回来 就被超声波接收器 R 所接收到 这样只要计算出 从发出超声波信号到接收到返回信号所用的时间 就可算出超声波发生器与反射物 体的距离 距离的计算公式为 d s 2 c t 2 1 其中 d 为被测物与测距仪的距离 s 为声波的来回的路程 c 为声速 t 为声波来 回所用的时间 在启动发射电路的同时启动单片机内部的定时器 T0 利用定时器 的计数功能记录超声波发射的时间和收到反射波的时间 当收到超声波反射波时 接收电路输出端产生一个负跳变 在 INT0 或 INT1 端产生一个中断请求信号 单片 沈阳理工大学学生综合课程设计论文 7 机响应外部中断请求 执行外部中断服务子程序 读取时间差 计算距离 3 2 主程序流程图 3 3 单片机部分 C 语言程序 include include define uchar unsigned char define uint unsigned int sbit trig P3 7 sbit echo P3 2 uint t 0 s 0 bit flag 0 uchar timeh 0 timel 0 i 0 uchar buffer 4 0 0 0 0 uchar code table 10 0 x3f 0 x06 0 x5b 0 x4f 0 x66 0 x6d 0 x7d 0 x07 0 x7f 0 x6f 数码 管 0 9 void delay us 20us 延迟 沈阳理工大学学生综合课程设计论文 8 uchar x for x 0 x0 j for y 110 y 0 y void main trig 0 echo 0 TMOD 0 x11 定时器 0 1 为 16 位计数模式 TH0 65536 5000 256 TL0 65536 5000 256 TR0 1 启动定时器 0 IT0 1 下降沿触发 ET0 1 打开定时器 0 中断 ET1 1 打开定时器 1 中断 EX0 0 关闭外部中断 0 EA 1 开总中断 while 1 EA 0 关总中断 trig 1 超声波输入端 沈阳理工大学学生综合课程设计论文 9 delay us 延迟 20us trig 0 产生一个 20us 的脉冲 while echo 0 等待 echo 回波变成高电平 flag 0 清测量成功标志 EA 1 EX0 1 打开外部中断 TH1 0 TL1 0 定时器 1 清零 TF1 0 TR1 1 启动定时器 1 delay 20 等待测量结果 TR1 0 关闭定时器 1 EX0 0 关闭外部中断 0 if flag t timeh 256 timel 计算时间 s t 58 计算距离 厘米 buffer 0 s 100 百位 buffer 1 s 100 10 十位 buffer 2 s 10 个位 else s 0 没有 则清零 外部中断 0 用做判断回波电平 沈阳理工大学学生综合课程设计论文 10 void exter interrupt 0 timeh TH1 timel TL1 flag 1 EX0 0 用定时器 0 做显示 void timer0 interrupt 1 TH0 65536 5000 256 TL0 65536 5000 256 switch i case 0 P1 table buffer 0 P2 0 xfe i 1 break case 1 P1 table buffer 1 P2 0 xfd i 2 break case 2 P1 table buffer 2 P2 0 xfb i 0 break default break 定时器 1 中断 用做超声波测距计时 void timer1 interrupt 3 TH1 0 TL1 0 3 4 超声波测距部分 C 语言程序 晶振 8M 沈阳理工大学学生综合课程设计论文 11 MCU STC10F04XE P0 0 P0 6 共阳数码管引脚 Trig P1 0 Echo P3 2 include 包括一个 52 标准内核的头文件 define uchar unsigned char 定义一下方便使用 define uint unsigned int define ulong unsigned long sfr CLK DIV 0 x97 为 STC 单片机定义 系统时钟分频 为 STC 单片机的 IO 口设置地址定义 sfr P0M1 0X93 sfr P0M0 0X94 sfr P1M1 0X91 sfr P1M0 0X92 sfr P2M1 0X95 sfr P2M0 0X96 sbit Trig P1 0 产生脉冲引脚 sbit Echo P3 2 回波引脚 sbit test P1 1 测试用引脚 uchar code SEG7 10 0 xC0 0 xF9 0 xA4 0 xB0 0 x99 0 x92 0 x82 0 xF8 0 x80 0 x90 数码 管 0 9 uint distance 4 测距接收缓冲区 uchar ge shi bai temp flag outcomeH outcomeL i 自定义寄存器 bit succeed flag 测量成功标志 函数声明 沈阳理工大学学生综合课程设计论文 12 void conversion uint temp data void delay 20us void pai xu void main void 主程序 uint distance data a b uchar CONT 1 CLK DIV 0X03 系统时钟为 1 8 晶振 pdf 45 页 P0M1 0 将 io 口设置为推挽输出 P1M1 0 P2M1 0 P0M0 0XFF P1M0 0XFF P2M0 0XFF i 0 flag 0 test 0 Trig 0 首先拉低脉冲输入引脚 TMOD 0 x11 定时器 0 定时器 1 16 位工作方式 TR0 1 启动定时器 0 IT0 0 由高电平变低电平 触发外部中断 ET0 1 打开定时器 0 中断 ET1 1 打开定时器 1 中断 EX0 0 关闭外部中断 EA 1 打开总中断 0 while 1 程序循环 沈阳理工大学学生综合课程设计论文 13 EA 0 Trig 1 delay 20us Trig 0 产生一个 20us 的脉冲 在 Trig 引脚 while Echo 0 等待 Echo 回波引脚变高电平 succeed flag 0 清测量成功标志 外部中断 0 用做判断回波电平 INTO interrupt 0 外部中断是 0 号 outcomeH TH1 取出定时器的值 outcomeL TL1 取出定时器的值 succeed flag 1 至成功测量的标志 EX0 0 关闭外部中断 定时器 0 中断 用做显示 timer0 interrupt 1 定时器 0 中断是 1 号 TH0 0 xfd 写入定时器 0 初始值 TL0 0 x77 switch flag case 0 x00 P0 ge P2 0 xfd flag break case 0 x01 P0 shi P2 0 xfe flag break case 0 x02 P0 bai P2 0 xfb flag 0 break 沈阳理工大学学生综合课程设计论文 14 定时器 1 中断 用做超声波测距计时 timer1 interrupt 3 定时器 0 中断是 1 号 TH1 0 TL1 0 显示数据转换程序 void conversion uint temp data uchar ge data shi data bai data bai data temp data 100 temp data temp data 100 取余运算 shi data temp data 10 temp data temp data 10 取余运算 ge data temp data bai data SEG7 bai data shi data SEG7 shi data ge data SEG7 ge data EA 0 bai bai data shi shi data ge ge data 沈阳理工大学学生综合课程设计论文 15 EA 1 void delay 20us uchar bt for bt 0 btdistance 1 t distance 0 distance 0 distance 1 distance 1 t 交换值 if distance 0 distance 2 t distance 2 distance 2 distance 0 distance 0 t 交换值 if distance 1 distance 2 t distance 1 distance 1 distance 2 distance 2 t 交换值 4 实物制作 4 1 电路板焊接及连线图 电路板正面元件摆放图 沈阳理工大学学生综合课程设计论文 16 电路板背面连线图 4 2 实物调试效果图 沈阳理工大学学生综合课程设计论文 17 4 3 焊接电路板时所遇问题 1 对于焊枪的应用不是特别娴熟 2 连线时特别不舒服 可能是超声波测距设计比较复杂的连线问题导致的 有的 线焊起来空间特别小 在连线的长短方面没有选择好 3 元件摆设方面存在很大问题 直接导致焊接时特别吃力 实物测试时问题 1 没有仔细检查连线正确与否 2 没有进一步了解所作设计

温馨提示

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

评论

0/150

提交评论