基于单片机的红外测距系统设计_第1页
基于单片机的红外测距系统设计_第2页
基于单片机的红外测距系统设计_第3页
基于单片机的红外测距系统设计_第4页
基于单片机的红外测距系统设计_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

保密类别 编号 武汉大学珞珈学院武汉大学珞珈学院 毕毕 业业 论论 文文 基于单片机的红外测距系统设计基于单片机的红外测距系统设计 系系 别别 电子信息科学系电子信息科学系 专专 业业 通信工程通信工程 年年 级级 10 级级 02 班班 学学 号号 姓姓 名名 钱源钱源 指导教师指导教师 崔黎崔黎 武汉大学珞珈学院武汉大学珞珈学院 2014 年年 5 月月 22 日日 摘摘 要要 现代科学技术的发展 进入了很多新领域 而在测距方面先后出现了激光测距 微波雷达测距 超声波测距及红外光测距 为了实现物体近距离 高精度的无线测量 而采用了红外发射接收模块作为距离传感器 单片机作为处理器 编写 A D 转换和显 示程序 完成了一套便推式的红外距离测量系统 系统可以高精度的实时显示所测的 距离 本系统结构简单可靠 体积小 测量精度高 方便使用 红外测距的探测距离较短 一般在几十厘米之内 本文介绍的一种基于 AT89C52 单片机设计的红外测距仪 可以测量距离 首先 在绪论中 介绍了红外线及红外传感器的分类和应用 AT89C52 单片机的 应用与说明以及 MCP3001 芯片的简介 其次 阐述了与红外测距的工作原理基本结构 对红外测距传感器也做了详细说明 再次 介绍了红外测距的硬件设计和软件设计 在硬件设计中 介绍了红外测距实现的构想 给出红外测距硬件电路原理图 并 说明了红外测距传感器 键盘 A D 转换电路 LCD 显示电路工作原理及 AT89C52 单 片机的管脚分配 在软件设计中 说明了整个程序流程及各程序设计的函数 最后 是对整个设计的结论 说明了红外测距实现的可行性 关键词 关键词 红外测距红外测距 A DA D 转换转换 实时显示实时显示 红外线红外线 单片机单片机 目目 录录 第 1 章 绪论 1 1 1 课题研究的背景和意义 1 1 2 本课题研究的热点及发展现状 2 1 3 本课题研究的目的 2 1 4 本课题研究的内容 3 第 2 章 红外测距的工作原理与基本结构 4 2 1 方案及设计思想 4 2 2 红外测距系统的基本结构 5 第 3 章 红外测距的硬件设计 6 3 1 红外收发模块 6 3 2 A D 转换模块 7 3 3 LCD 显示模块 11 3 4 AT89C52 单片机概述 12 3 5 整个红外测距系统显示 16 第 4 章 红外测距的软件设计 18 4 1 程序流程图 18 第 5 章 系统软硬件调试 20 5 1 硬件调试 20 5 2 软件调试 20 5 3 测试结果绘图 20 5 4 调试中遇到的问题 22 结 论 23 参考文献 24 附录 25 后 记 32 武汉大学珞珈学院本科毕业论文 第第 1 章章 绪论绪论 红外线 Infrared 是波长介乎微波与可见光之间的电磁波 其波长在 760 纳米 nm 至 1 毫米 mm 之间 是波长比红光长的非可见光 所有高于绝对零度 273 15 的物质都可以产生红外线 现代物理学称之为热射线 医用红外线可分为 两类 近红外线与远红外线 含热能 太阳的热量主要通过红外线传到地球 它的波 长介于可见光和微波之间 范围大致在 0 75M 1000M 的频谱范围之内 相对应 的频率在 4 3HZ 之间 红外线可分为三部分 即近红外线 近红外线波 14 10 11 10 长范围为 0 77M 3M 中红外线波长范围为 3M 30M 远红外线波长范围为 30 M 1000M 红外光具有反射 折射 散射 干涉 吸收等特性 它能全部吸收投射到它表面 的红外辐射的物体称为黑体 能全部反射的物体称为镜体 能部分反射 部分吸收的 物体称为灰体 严格地来讲 在自然界中 不存在黑体镜体和透明体 1 1 课题研究的背景和意义课题研究的背景和意义 红外线是不可见的光 是电磁波的一种形式 可以用来进行距离的测量 其应用 历史可以追溯到上世纪 60 年代 现代科学技术的发展进入了许多新领域 而在测距 方面先后出现了激光测距 微波雷达测距 超声波测距及红外线测距 其中激光测距 是靠激光束照射在物体上反射回来的激光束探测物体的距离 由于受恶劣的天气 污 染等因素影响 使反射的激光束在一定功率上探测距离比可能探测的最大距离减少一 半左右 损失很大 影响探测的精确度 微波雷达测距技术为军事和某些工业开发采 用的装备和振荡器等电路部分价格昂贵 现在还没有开拓民用市场 超声波测距在国 内外已有很多人做过研究 由于采用特殊专用组件使其价格高 难以推广 红外线作 为一种特殊光波 具有光波的基本物理传输特性 反射 折射 散射等 且由于其技 术难度相对不太大 构成的测距系统的成本低廉 性能优良 便于民用推广 另外红 外测距的应用越来越普遍 在很多领域都可以用到红外测距仪 红外测距一般具有精 确度和分辨率高 抗干扰能力强 体积小 重量轻等优点 因而应用领域广 行业需 求众多 市场需求空间大 红外测距的研究就非常有意义 红外线测距仪指的就是激光红外线测距仪 红外 测距仪 用调制的红外光进行精密测距的仪器 测程一般为 1 5 公里 在 100 米以 内则超声波测距更有优势 但是超声波测距的距离一般无法测量 1 米以内 而红外测距 则可以测出这一段距离 而且有着不错的精度 在本课题中研究的就是这一类情况的红 外线测距 武汉大学珞珈学院本科毕业论文 1 2 本课题研究的热点及发展现状本课题研究的热点及发展现状 常见的红外传感器可分为热传感器和光子传感器 根据 国内近年来红外光电测 距仪的发展情况 由于国家对外开放政策的实施和测量工作的需要 近年来国内一些 光学仪器厂和电子仪器厂分别从瑞典 瑞士和日本等国引进几种红外测距仪组装线 组装测距仪 我国有关工厂和院校近年来也研制出一些产品 由于微处理机在国产测 距仪上的应用 大大缩小仪器的体积 同时也减少出故障的几率 使得国产测距仪的性 能和质量都较过去有很大的提高 在国家 六 五 计划攻关中 常州第二电子仪器 厂研制的 DCHZ 型多功能红外测距仪就是一个很好的例证 该产品经国家测绘局测绘 科学研究所光电测距仪检测巾心进行全面质量鉴定后认为 该仪器的外型美观 体积 小 重量轻 操作方便 精度高和性能稳定 并通过国家有关部门组织的鉴定 目前 已经开始小批量试生产 在进行侧距仪研制同时 国家有关部门也组织大量力量对红 外光电测距仪的检测方法进行研究 一 热传感器 热传感器是利用入射红外辐射引起的传感器的温度变化 进而使有关物理参数发 生相应的变化 通过测量有关物理参数的变化来确定红外传感器所吸收的红外辐射 热探测器的主要优点是相应波段宽 可以在室温条件下工作 使用简单 但是 热传感器相应时间较长 灵敏度较低 一般用于低频调制的场合 热传感器主要类型有 热敏传感器型 热电偶型 高莱气动型和热释放电型四种 类型 二 光子传感器 光子传感器是利用某些半导体材料在入射光照射下 产生光子效应 使材料电学 性质发生变化 通过测量电学性质的变化 可以知道红外辐射的强弱 利用光子效应 所制成的红外传感器 统称光子传感器 光子传感器的主要特点是灵敏度高 响应速 度快 具有较高的响应频率 但由于其一般要在低温下工作 导致探测波段较窄 按照光子传感器的工作原理 一般分为内光电和外光电传感器两种 后者又可分 为光电导传感器 光生伏特传感器和光磁电传感器等三种 1 3 本课题研究的目的本课题研究的目的 我们所进行的课题便是做一个简易的 精确的 近距离的距离检测仪 这也是 对我们所学知识的一种考验方法 从中我们可以更系统的认识单片机 了解 AD 转换 和红外收发模块 武汉大学珞珈学院本科毕业论文 1 4 本课题研究的内容本课题研究的内容 红外传感器的测距基本原理为 红外发射电路的红外发光管发出红外光 红外接 收电路的光敏接收管接收发射光 根据发射光的强弱判断出所测的距离 由于接收管 接收的光强度是随着发光管与测量物的距离变化而变化的 因而 与测量物的距离近 则接收光强 距离远则接收光弱 具体方法如图 1 所示 红外模块发出并接收到红外线信号 AD 转换模块将接收 到的模拟信号转换成数字信号再交给单片机 启动单片机中断程序 此时单片机得到 数字信号也就是电压值 再由软件进行判别 计算 得出距离数并送给 LED LCD 显示 单片机 红外模块 AD 模块 电压距离公式 显示模块 图 1 1 反射能量法原理 武汉大学珞珈学院本科毕业论文 第第 2 章章 红外测距的工作原理与基本结构红外测距的工作原理与基本结构 2 1 方案及设计思想 方案及设计思想 方案一 方案一 时间差测距法 此方案是将红外发射管发送信号与接收管接收信号时间 差写入单片机中 在单片机中用光传播距离公式算法将距离计算出来 原理图如图 2 1 所示 AT89S52 红外模块 时间差距离 S c t 显示距离 图 2 1 时间差测距法原理 方案二 方案二 反射能量法 此方案是用红外发射管发射信号 然后用红外接收管接收 信号 将接收的信号强度经过 AD 转换 录入单片机中显示出来 并将对应的距离记 录下来 完成一段范围内的测量 将所记录下的数据写入单片机中 然后便可进行测 量距离了 原理图如图 2 2 所示 显示距离 AT89S52 红外模块 实验资料 武汉大学珞珈学院本科毕业论文 图 2 2 反射能量法原理 光的衰减是呈线性关系的 公式是 I Ie d 其中 I 是光强度 是光在 介质中线性衰减系数 d 是光走过的路程 e 是自然对数底数 是光子能量 I 就是光束的能量 要求得耗损的能量 E 则可通过计算 E I I I I 1 e d E 1 e d 其中 E 是激光能量 不过 10cm 的衰减是很弱的 可以忽略 方案比较 方案比较 通过以上两种方案分析 我们可以看到方案一的误差很大 由于红外 装置测的距离比较近 而光速很快 因此回馈到单片机中的时间很短 单片机很难测 出准确的时间并准确处理 而在一般情况下的光速不太准确 因此误差较大 而且根 据距离 光速 时间 要想测 10 米时间至少要精确到 0 s 显然用单片机是很难做到 的 方案二是先将实验数据录入单片机中 因此在测量时存在的误差就会相对较小 综合考虑 选择方案二可行 2 2 红外测距系统的基本结构红外测距系统的基本结构 该系统主要由红外测距传感器 A D 转换电路 AT89C52 芯片 键盘接口电路及 LCD 显示电路等组成 其组成框图如图 2 3 所示 图 2 3 红外测距系统的基本结构 武汉大学珞珈学院本科毕业论文 第第 3 章章 红外测距的硬件设计红外测距的硬件设计 3 1 红外收发模块红外收发模块 红外发送管是用于发送信号 经过障碍物将信号反射 红外接收管接收到反射回来 的信号 然后根据信号强弱将对应的电压值显示在显示模块上 并将此时的距离记录下 来 然后整改程序 用红外收发模块进行测距 就可在显示模块上显示出红外接收管 接收的信号强度对应的距离值 GP2Y0A02YK0F 红外测距传感器红外测距传感器 20 150cm 图 3 1 红外传感器结构图 图 3 2 protues 中红外传感器 如图3 2所示 GP2Y0A02YK0F 有3个端口 其中 VCC 接信号输入 VO 接 MCP3001的 IN GND 接地线 GP2Y0A02YK0F 测量范围在20cm 150cm 之间 测量误差小于 0 5cm 是一个距离测量传感器单元 PSD 的集成组合构成 位置敏感探测器 IRED 红外发光二极管 和信号原理电路 由于采用三角测量方法 各种物体的反射 率 对环境温度和工作时间距离检测不容易产生影响 推荐工作条件 推荐工作条件 表 3 1 红外传感器参数 参数符号条件等级单位 电源电压 Vcc4 5 5 5V 武汉大学珞珈学院本科毕业论文 绝对最大额定值 绝对最大额定值 表3 2 红外传感器参数 参数符号等级单位 电源电压 Vcc 0 3 7 V 输出端电 压 Vo 0 3 0 3 V 工作温度 OPR 10到 60 储存温度 STG 40到 70 3 2 A D 转换模块转换模块 A D 转换器按照转换的原理可分为直接 A D 转换器和间接 A D 转换器两种类型 直接 A D 转换器 就是把模拟信号直接转换成数字信号 比如逐次逼近型 间接 A D 转换器是先把模拟量转换成中间量 然后再转换成数字量 如电压 时间转换型 电 压 频率转换型 电压 脉宽转换型等 其中积分型 A D 转换器的电路简单 抗干扰 的能力强 而且能做到高分辨率 但是转换速度较慢 有些转换器还将多路开关 基准电压源 时钟电路 译码器和转换电路集成在一个芯片内 已经远超出了单纯 A D 转换功能 使用十分方便 A D 转换器转换原理转换器转换原理 一个完整的 A D 转换过程中 必须包括取样 保持 量化与编码等路 取样与保持取样与保持 由于取样的时间极短 取样输出为一串断断续续的窄脉冲 要把每个取样的窄脉 冲信号数字化 需要一定的时间 因此在两次取样之间 应将取样的模拟信号暂时储 存直到下个取样脉冲到来 我们把这个动作称之为保持 在模拟电路设计中 需要增加一个取样 保持电路 为了保证正确转换 模拟电路要 保留着还未转换的数据 武汉大学珞珈学院本科毕业论文 量化与编码量化与编码 量化与编码电路是 A D 转换器的核心组成部分 量化方法 先取最小量化单位 U 2n 当输入模拟电压 U 在 0 之间时 则归入 0 当 U 在 2 之间时 则归入 1 如果量化单位 2U 2 n 1 1 当输入电压 U 在 0 2 之间时 归入 0 当 U 在 2 3 2 之间时 就要归入 1 分辨率分辨率 分辨率 Resolution 指数字量变化一个最小量时模拟信号的变化量 定义为满刻 度与 2n 的比值 分辨率又称精度 通常以数字信号的位数来表示 位数越高 分辨率 就越高 若小于最小变化量的输入模拟电压的任何变化 将不会引起输出数字值的变 化 不需要分辨率高的场合 所得到到的就大多是噪声 分辨率太低 就会有无法取样到所需的信号 转换速率转换速率 转换速率 Conversion Rate 是指完成一次从模拟转换到数字的 AD 转换所需的时 间的倒数 为了保证转换的正确完成 采样速率 Sample Rate 必须小于或等于转换速 率 转换时间转换时间 转换时间是指 A D 转换器完成一次 A D 转换所需的时间 从启动信号开始到转换结束并得到稳定的数字输出值为止的时间间隔 转换时间 越短 转换速度就越快 精准度精准度 对于 A D 转换器来说 精准度指的是在输出端产生所设定的数字数值 相对精准 度指的是满刻度值校准以后 任意数字输出所对应的实际模拟输入值与理论值之差 对于线性 A D 转换器 其相对精准度就是它的线性程度 由于电路制作上的影响 会 产生像是非线性误差 或是量化误差等减低相对精准度的因素 MCP3001MCP3001 特性 特性 10位分辨率 1 LSB DNL 最大值 1 LSB INL 最大值 片上采样和保持电路 SPI 串行接口 单电源供电的电压范围 2 7V 至5 5V 武汉大学珞珈学院本科毕业论文 5V 时的采样速率为200 ksps 2 7V 时的采样速率为75 ksps 低功耗 CMOS 技术 一5 nA 典型待机电流 2 A 最大值 一5V 时 工作电流的最大值为500 A 8引脚 PDIP SOIL MSOP 和 TSSOP 封装 说明 说明 Microchip 的 MCP3001 是一款具有片上采样和保持电路的10位逐次逼近型 A D 转换器 ADC 该器件提供一个伪差分输入通道 指定差分非线性 DNL 和积分非 线性 INL 的最大值为1 LSB 它使用符合 SPI 协议的简单串行接口与器件通信 当 时钟速率为2 8 MHz 时 该器件的采样速率最大数值可为200 ksps MCP3001器件的 工作电压范围很宽 为2 7V 一5 5V 低电流设计允许器件在典型待机电流为5 nA 和 典型工作电流为400A 条件下工作 该器件以8引脚 PDIP MSOP TSSOP 和150 mil SOIL 封装形式提供 图3 3 MCP3001引脚图 图3 4 protues 中 MCP3001接线图 表3 3 MCP3001引脚 名称功能 DO V 2 7 至 5 5V 电源 SS V 地线 IN 正模拟输入 IN 负模拟输入 CLK 串行时钟 OUT D 串行数据输入 CS SHDN 片选输入 关闭 REF V基准电压输入 如图 3 4 所示 mcp3001 的 VREF 接 vcc IN 接 GP2Y0A02YK0F 红外测距传感器的 武汉大学珞珈学院本科毕业论文 Vo CLK 接单片机上的 P2 2 DO 接单片机上的 P2 1 CS 接单片机上的 P2 0 MCP3001具有片上采样和保持电路的10位逐次逼近型 A D 转换器 ADC 逐次逼 近型 A D 转换器的工作原理是将待换的模拟输入信号与一个推测信号进行比较 根据 二者大小决定增大还是减小输入信号 以便向模拟输入信号逼近 推测信号由 D A 转 换器输入的数字信号就对应的时模拟输入量的数字量 这种 A D 转换器一般速度很快 但精度不高 A D 转换器的主要性能指标中以分辨率和转换速率最为重要 分辨率越 高 就能把满量程里的电平分出更多份数 得到的转换结果就越精确 得到的数字信 号再用 DAC 转换回去就越接近原输入的模拟值 10位 ADC 能分辨2的10次方 MCP3001分辨率 10位 ADC 能分辨出满刻度的1 1024 MCP3001转换速率 速度很快 由上可知 MCP3001的性能相比其他 ADC 要好很多 3 3 LCD 显示模块显示模块 图 3 5 protues 中 LCD 显示模块 LCD 与单片机的接口电路如图 3 5 所示 单片机 P0 分别接 D1 D7 同时接上排阻 而在排阻另一端接上 vcc 单片机上的 P2 5 接 E P2 6 接 RW P2 7 接 RS 单片机通 武汉大学珞珈学院本科毕业论文 过 P0 口向 LCD 输送数据 显示测得的距离 值得注意的是 P0 口要接上拉电阻来保 证对 LCD 的成功驱动 LCD1602 已很普遍了 可以很方便地应用于市面上大部分的字符型液晶 字符型 LCD 通常有 14 条引脚线或 l6 条引脚线的 LCD 多出来的 2 条线是背光电源线 Vcc 15 脚 和地线 GND 16 脚 其控制原理与 14 脚的 LCD 完全一样 定义如下 表所示 表 3 4 LED 引脚功能 引脚 号 引脚 名 电 平 输入 输 出 作用 1vss 电源地 2Vcc 电源 5v 3Vee 对比电压调整 4RS0 1 输入0 输入指令 1 输入指令 5R W0 1 输入0 向 LED 写入指令或数据 1 从 LED 读取信息 6E1 1 0 输入使能信号 1 时读取信息 1 0 下降沿 执行指令 3 4 AT89C52 单片机概述单片机概述 单片机是在集成电路芯片上集成各种组件的微型计算机 这些组件包括中央处理 器 CPU 数据存储器 RAM 程序内存 ROM 定时 计数器 中断系统 时钟部件的集成 和 I O 接口等电路 由于单片机具有体积小 价格低 可靠性高 开发应用方便等特 点 因此在现代电子技术和工业领域中应用较为广泛 在智能仪表中单片机是应用最 多 最活跃的领域之一 在控制领域中 现如今人们更注意计算机的底成本 小体积 运行的可靠性和控制的灵活性 在各类仪器 仪表中引入单片机 使仪器仪表智能化 提高测试的自动化程度和精度 提高计算机的运算速度 简化仪器仪表的硬件结构 提高其性能价格比 AT89C52 单片机的时钟信号通常是由两种方式产生 一是内部时钟方式 二是外 部时钟方式 在 AT89C52 单片机内部有一振荡电路 只要在单片机的 XTAL1 和 XTAL2 武汉大学珞珈学院本科毕业论文 引脚外接晶振 就构成了自激振荡器并在单片机内部产生时钟脉冲信号 电容的作用 是稳定频率和快速起振 电容值在 5 30pF 之间 典型值为 30pF 晶振 CYS 的振荡频 率范围在 1 2 12MHz 间选择 典型值为 12MHz 和 11 0592MHz 当在 AT89C21 单片机的 RST 引脚引入高电平并保持 2 个机器周期的时候 单片机 内部就执行复位操作 若该引脚持续保持高电平 单片机就会处于循环复位状态 复位电路通常采用上电自动复位和按钮复位两种方式 最简单的上电自动复位电路中 的上电自动复位是通过外部复位电路的电容充电来实现的 只要 VCC 的上升时间不超 过 1ms 就可实现自动上电复位 时钟频率用 6MHZ 时 C 取 22uF R 取 1K 除了上电 复位外 有时候还需要按键手动复位 本设计就是用的按键手动复位 按键手动复位 有电平方式和脉冲方式两种 其中电平复位是通过 RST 端经过电阻与电源 VCC 接通来 实现的 最小系统如图 3 6 所示 图 3 6 AT89C52 单片机最小系统 AT89C52 单片机的标准功能单片机的标准功能 AT89C52 是美国 Atmel 公司生产的低电压 高性能 CMOS 的 8 位单片机 片内含 8KB 的可反复擦写的程序内存和 12B 的随机存取数据存储器 RAM 器件采用 Atmel 公司的高密度 非易失性的存储技术生产 兼容标准 MCS 51 指令系统 片内配置通 武汉大学珞珈学院本科毕业论文 用 8 位元中央处理器 CPU 和 Flash 存储单元 功能强大的 AT89C52 单片机可灵活 应用于各种控制领域中 AT89C52 的各引脚功能 的各引脚功能 1 VCC 电源 2 GND 地 3 P0 口 P0 口是一个 8 位漏极开路的双向 I O 口 作为输出口 每位能驱动 8 个 TTL 逻辑电平 对 P0 端口写 1 时 引脚用作高阻抗输入 4 P1 口 P1 口是一个具有内部上拉电阻的 8 位双向 I O 口 P1 输出缓冲器 能驱动 4 个 TTL 逻辑电平 表 4 1 P1 口第二功能 引脚号第二功能 P1 0 T2 定时器 计数器 T2 的外部计数输入 时钟输 出 P1 1 T2EX 定时器 计数器 T2 的捕捉 重载触发信号和方 向控制 P1 5 MOSI 在系统编程用 P1 6 MISO 在系统编程用 P1 7 SCK 在系统编程用 5 P2 口 P2 口是一个具有内部上拉电阻的 8 位双向 I O 口 P2 输出缓冲 器能驱动 4 个 TTL 逻辑电平 6 P3 口 P3 口是一个具有内部上拉电阻 8 位双向 I O 口 对 P3 端口写 1 时 可以作为输入口使用 P3 口可作为 AT89C51 第二功能使用 如表 3 5 所 示 表 3 5 P3 口第二功能 引脚号第二功能 P3 0 RXD 串行输入 武汉大学珞珈学院本科毕业论文 P3 1 TXD 串行输出 P3 2INT0 外部中断 0 P3 3INT0 外部中断 0 P3 4 T0 定时器 0 外部输入 P3 5 T1 定时器 1 外部输入 P3 6WR 外部数据存储器写选通 P3 7RD 外部数据存储器写选通 7 RST 复位输入 当输入连续两个机器周期以上高电平时为有效 用来完成 单片机单片机的复位初始化操作 8 ALE PROG 地址锁存控制信号 ALE 是访问外部程序存储器时 锁存低 8 位地址的输出脉冲 在 flash 编程时 此引脚 PROG 也用作编程输入脉冲 9 PSEN 外部程序存储器选通信号 PSEN 是外部程序存储器选通信号 10 EA VPP 访问外部程序存储器控制信号 11 XTAL1 振荡器反相放大器和内部时钟发生电路输入端 12 XTAL2 振荡器反相放大器输出端 3 5 整个红外测距系统整个红外测距系统显示显示 整个红外测距系统由 AT89C52 芯片 红外距离传感器 复位电路 时钟电路 A D 转换电路与 LCD 显示器构成 硬件结构电路图如图 3 7 所示 武汉大学珞珈学院本科毕业论文 图 3 7 protues 中整体系统 单片机 AT89C52 左端分别接了时钟电路和复位电路 这是单片机最小的系统 XTAL1 和 XTAL2 串连一个晶振 并且分别接上一个 20p 的电容 两个电容另一端都接 地 构成时钟电路 RST 同时接上 100p 电容 4 脚按键 1k 电阻 4 脚按键另一端接 上一个 1k 电阻再与 100p 电容并联接 VCC 1k 电阻另一端则接地 构成复位电路 单片机 AT89C52 右端 P0 端同时接 LED 的 D1 D7 端口和排阻 P2 0 接 CLK P2 1 接 DO P2 2 接 CS P2 5 接 E P2 6 接 RW P2 7 接 RS MCP3001 的 VREF 接 vcc IN 接红外距离传感器的 Vo 武汉大学珞珈学院本科毕业论文 第第 4 章章 红外测距的软件设计红外测距的软件设计 4 1 程序流程图程序流程图 在整个系统运行过程中 当红外系统被启动后 首先 对AT89C52单片机进行初 始化 然后 当AT89C52单片机接收到红外接收电路传输的电压信号后 经A D转换 程序 将片外的模拟信号转换为单片机可识别的数字信号 并经电压 距离转换子程 序 将变化的电压转换为距离 最后 在动态扫描LCD显示器上显示出来 主程序流 程图如图4 1所示 图 4 1 程序流程图 红外测距系统软件设计主要由主程序 延时函数 显示程序函数组成 程序开始 红外测距主程序第一步将显示屏 1602 初始化 并显示测量开始 第二 步导入延时程序 并显示程序 显示电压和距离 其次子函数调用 读 MCP3001 函数 并转换函数得出电压值 再调用距离计算函数 得出距离值 此时主函数中显示函数会 将电压和距离显示出来 程序就此结束 此程序中多次使用调用子函数 读 MCP3001 函数 距离计算函数 算术平均滤 波程序构成 AD 值的采集和计算 LCD 忙标志判断函数 写数据子函数 写命令子 武汉大学珞珈学院本科毕业论文 函数 显示数据调整函数 字符串显示函数 显示子函数构成显示函数 1602 初始 化函数 LCD 清屏函数则构成清屏函数 不过完成程序并不是一次就能成功的 首先要先将 AD 采集程序写入单片机中 进 行实验 将固定距离所采集到的信号强度记录下来 然后将对应的数据加入程序中 最 后通过红外模块进行测量 便可显示出对应的距离值 主程序是整个程序的基础 也 是核心 此时距离计算函数才算完成 距离计算函数实际就是测量时得出距离电压关 系 我们反过来先拿出距离再得出电压 举例来说 用卷尺量 1 米距离 再用红外测 距系统来量 1 米距离 这时对应 1 米距离的电压记下来 根据这个方法把其它各个距 离的电压记下来 把这个对应关系变成计算距离的函数 再测距时就可以根据这个函 数来得出距离了 武汉大学珞珈学院本科毕业论文 第第 5 章章 系统软硬件调试系统软硬件调试 5 1 硬件调试硬件调试 红外测距仪的制作为了使信号稳定 最好给输入电源加上一个滤波电路 否则显 示屏上有闪烁 不稳定 会增加误差 但总体来说不影响结果 在本次设计中 主控 模块是非常重要的部分 它不仅是本次设计的核心 在本次硬件调试中也遇到了问题 接上电源的时候 显示屏不亮 没有任何显示 于是我做了如下的工作 1 检查电源是否通电 发现指示灯亮着 2 编程使 P1 为低电平 检查到 P1 输出为低 3 检查 P0 口未接上拉电阻 接上显示屏发亮了 在本次硬件调试中还遇到了显示屏出显示 但显示有很大问题 调节距离后 显 示还是不变 检查后发现 mcp3001 与 vcc 没接好 或 CS DO CLK 与单片机接触不良 5 2 软件调试软件调试 硬件电路制作完成并调试好后 便可将程序编译好下载到单片机试运行 根据所 设计的电路参数和程序 测距仪能测的范围为 20cm 150cm 测距仪最大误差不超过 0 5cm 系统调试完后对各个距离进行多次测量 与预定值进行比较 对测量误差进 行多次实验分析 不断调节器件和修改程序使其达到实际使用的测量要求 为了更方便了解电压与距离之间的关系 我将程序做了些许修改 在显示距离的 基础上再把电压也显示出来了 这样结果一目了然 因为电压与距离之间的关系不是 线性关系 所用用函数来表示会有误差 于是我将此函数修改 重新测量 每个距离 对应的电压记录下来输入程序 如此一来 测试更加准确 误差更小了 5 3 测试结果绘图测试结果绘图 图 5 2 是红外距离传感器 GP2Y0A02YK0F 电压距离关系图 图中所测电压对应的不同 距离值 图中横坐标代表距离 纵坐标是距离电压值 单位是 cm 从图中可以看出 电压与距离并不是线性关系 而是一条相对平滑的曲线 因此结果不一定十分准确 接近此图即可 最终的红外测距系统可以实现 20 150cm 的近距离测量 测量误差为 0 5cm 可以计算出被测物体的距离 在测量距离精度方面 还有待于改进 武汉大学珞珈学院本科毕业论文 图 5 1 GP2Y0A02YK0F 电压距离关系图 表 5 1 电压距离关系 电 压 v 2 89 v 1 94 v 1 47 v 1 18 v 0 98 0 85 0 74 0 66 0 60 0 54 0 50 0 46 0 43 0 40 测 量 距 离 cm 1 9 3 0 4 1 5 1 6 2 7 2 8 2 9 2 1 02 1 12 1 22 1 31 1 41 1 51 实 际 距 离 cm 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 0 1 00 1 10 1 20 1 30 1 40 1 50 武汉大学珞珈学院本科毕业论文 5 4 调试中遇到的问题调试中遇到的问题 在焊接过程中一些地方出现虚焊等接触不良的问题 导致显示不稳定有闪烁 接线过 程中用插针接线容易导致接线松动 没接到或者接触不良 环境问题 红外线在空气介质的传播过程中会有很大的衰减 其衰减遵循指数规律 一般情况下 能测 150cm 但是空气介质发生改变 如尘埃过多 导致红外线强度降低 测量发生 误差 且测量距离变小 周围有其他辐射源 并且强度很大时会影响测量结果 武汉大学珞珈学院本科毕业论文 结结 论论 对所设计的电路进行测量 校准发现其测量范围在 20cm 150cm 内的平面物体做 了多次测量发现 其最大误差为 0 5cm 且重复性好 该测距仪稳定性比较高 灵敏 度比较高 测量时在红外线测距仪周围没有其它物体 但是在检测过程中会有一些不 便的地方 1 测量时在红外线测距仪和目标物体之间周没有其它可阻挡的物体 由于是根据 反射能量法 且发射功率有限 反射回来的红外线能量容易过低而无法采集 测距仪 无法测量 150cm 外的物体 2 必须在干净清新的空气环境下测量 空气中一旦尘埃过多 会对反射红外线强度有 极大的干扰 最终影响计算距离的值 3 不能够实现不同温度下的测距功能 4 因为超声波是将空气作为媒介所以受电磁干扰比较大 红外线测距仪的原理有两种 一种是红外线传播的时间来计算出传播距离 一种 是根据发射光的强弱可以判断所测的距离 由于接收管接收的光强是随与发光管的距 离变化而变化的 因而 距离近则接收光强 距离远则接收光弱 由上述的分析知 如果能够干净清新的空气环境 稳定的温度下 无其它电磁干 扰 阻挡的物体 能够获得较高的测量精度 本电路设计由于元器件及其成板误差 测量最大距离未能达到设计初衷要求 但 对测量距离结果的误差影响不大 能满足日常生活 工业生产的测量要求 因此此设 计有着很大的意义 同时通过这个设计能够提高我对单片机的认识 编程能力和电路 设计能力 武汉大学珞珈学院本科毕业论文 参考文献参考文献 1 张明峰 PIC 单片机入门与实战 北京航空航天大学出版社 2 窦振中 PIC 单片机应用设计与实例 北京航空航天大学出版社 3 谢自美 电子线路综合设计 华中科技大学出版社 2006 6 4 康华光 电子技术基础 模拟部分 第五版 高等教育出版社 2006 5 潘永雄 沙河 电子线路 CAD 实用教程 M 西安 西安电子科技大学出版 社 2007 6 51 单片机 C 程序设计 100 例 7 康华光主编 电子技术 基础 M 第四版 北京 高等教育出版社 1999 8 单片机原理与应用 实验 武汉大学珞珈学院 9 一种红外线测距技术的探讨 10 红外测距传感器的原理与设计最终版 11 刘坤 51 单片机典型应用开发范例大全 中国铁道出版社 12 彭伟 单片机 C 语言程序设计实训 基于 8051 Proteus 仿真 电子工业 出版社 13 薛小玲 刘志群 贾俊荣编著 单片机接口模块应用于开发实例详解 北京航 空航天大学出版社 2010 14 谭浩强 著 C 程序设计 第三版 清华大学出版社 2005 15 何桥 段清明 邱春玲编著 单片机原理及应用 中国铁道出版社 2004 16 曲波 肖圣兵 吕建平编著 工业常用传感器选型指南 清华大学出版社 2002 17 陈鸿茂编著 常用电子器件简明手册 中南矿业大学出版社 2001 武汉大学珞珈学院本科毕业论文 附录附录 include include define uchar unsigned char define uint unsigned int define ulong unsigned long sbit RS P2 0 LCD 命令 数据端 sbit RW P2 1 LCD 读 写端 sbit LCDE P2 2 LCD 使能端 sbit MCP CS P2 3 MCP3001 与 AT89S52 的管脚接线定义 sbit MCP DO P2 4 sbit MCP CLK P2 5 uint measure uchar flag Busy 标志 uchar code dis Measure Start 显示 uchar code dis1 V V L CM uchar code dis2 显示代码 uchar code dis3 Out Measure 显示 uchar dis buf 8 显示缓冲区 void L delay void 短延时 void delay ms uint n 延时函数 uint read MCP void 读 MCP3001 void init 1602 void 1602 初始化函数 void busy void LCD 忙标志判断函数 void dat wrt uchar dat 写数据子函数 void cmd wrt uchar cmd 写命令子函数 uint distance void 距离计算函数 void lcd start uchar start 设定显示位置函数 void LCD Clear void LCD 清屏函数 uchar dat adj uint dat1 显示数据调整函数 void print uchar str 字符串显示函数 void disp uint dat 显示子函数 uint average void 算术平均滤波程序 武汉大学珞珈学院本科毕业论文 主函数 main init 1602 print dis 显示测量开始 delay ms 1000 while 1 measure distance disp measure 显示高度 delay ms 100 延时函数 void delay ms uint n uint j while n for j 0 j 125 j 短延时 void L delay void uchar i for i 0 i 5 i nop 读 MCP3001 函数 uint read MCP void read MCP 采集的数据并转换后的值 uchar i 武汉大学珞珈学院本科毕业论文 uint temp 0 MCP CS 1 L delay MCP CS 0 CS 置低 开始采样数据 for i 0 i 13 i 读转换的 10 位数据 MCP CLK 0 L delay MCP CLK 1 temp 60 转换测量数据 else temp1 0 x00ff 超出测量范围 返回错误标志 return temp1 武汉大学珞珈学院本科毕业论文 算术平均滤波程序 uint average void uchar i uint av dat av dat 平均数据 ulong ave 0 for i 0 i 10 i 连续读

温馨提示

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

最新文档

评论

0/150

提交评论