已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机课程设计单片机课程设计 设计报告说明书设计报告说明书 设计题目 汽车距离自动测定系统设计题目 汽车距离自动测定系统 课程名称 课程名称 单片机课程设计 所在院系 所在院系 机电学院 姓姓 名 名 路小娃 班班 级 级 13机电师 学学 号 号 26 指导教师 指导教师 杨 永 小组成员小组成员 林韩 路小娃 黎桂雄 日日 期 期 2015年12月23日 广东技术师范学院 1 目录目录 第1章 系统总体设计方案 11 一 设计目的及意义 11 二 设计报告 11 1 设计题目 11 2 主要功能 作用 11 3 主要技术性能指标 11 4 设计方案 11 5 设计方案选择 12 第第2章章 硬件系统硬件系统 13 2 1 硬件系统的基本结构和原理图 13 2 2红外收发模块 14 2 3 语音报警模块 14 2 4 LCD显示模块 15 2 5AT89C52单片机概述 16 2 6 按键模块 17 第3章 软件设计 18 3 1 程序流程图 18 第第4章章 系统软硬件调试系统软硬件调试 20 4 1 硬件调试 20 4 2软件调试 20 4 3测试结果绘图 20 4 5 调试中遇到的问题 21 结结 论论 22 参考文献 23 附录附录 24 附录一 程序 24 附录二 使用元器件一览表 33 附录三 心得 34 广东技术师范学院 2 第第1章章 系统总体设计方案系统总体设计方案 一 设计目的及意义一 设计目的及意义 1 在学习了 单片机原理与开发 这门课程之后 通过理论与实践结合的方式 加深对理论知识的理解 启发思维 2 通过一个简单 完整的设计 让大家熟悉设计步骤 将理论应用于实际 增 强应用能力 锻炼动手能力 3 加深同学之间的了解 促进大家团结互助的精神 二 设计二 设计报告报告 1 设计题目 设计题目 汽车距离自动测定系统 2 主要功能 作用 主要功能 作用 1 设计一传感器系统 要求可以测定车辆前 后方距离 2 当车辆前 后方的距离达到一定值时 自动用语音报告距离的变化 3 随着距离的缩短 报告的声音要有一定的节奏变化 3 主要技术性能指标 主要技术性能指标 1 驱动电路的运行状况 2 测距系统的测量准确度 3 显示和语音播报的准确度 4 设计方案设计方案 方案一 1 设计红外传感收发模块测距 STC12C5A60S2单片机作为主控模块 2 设定报警阈值 设定50CM 可用键盘调整阈值 随着距离的缩短 改 变蜂鸣器响的频率实现节奏变化 3 利用AT89C52的P1口AD转换功能 ISD1820语音播放距离 并用LCD160 2显示其距离值 3 方案二 1 超声波测距器的系统设计 STC12C5A60S2单片机作为主控模块 2 用动态扫描法实现LED数字显示 超声波驱动信号用单片机的定时器完 成 3 单片机使用P1 0端口输出超声波转化器所需的40KHz方波信号ISD1820语 音播放距离 并用LED数字显示显示其距离值 方案三 1 激光测距系统设计 STC12C5A60S2单片机作为主控模块 2 过单片机控制CPLD计时部分开始计时与停止计时 并通过软件计算控制 LED显示所测得的被测物的实际距离 3 CPLD计时部分采 40MHZ的脉冲信号 单个周期为2 5ns 通过P0口调 取到单片机的方便 并用LED数字显示显示其距离值 5 设计方案选择设计方案选择 我们小组考虑到 红外测距的优点是便宜 易制 安全 激光测距存在诸多缺点 例如需要注意人体安全 且 制做的难度较大 成本较高 而且光学系统需要保持干净 否则将影响测量 超声波测距缺点是精度较低 且成本较高 三者经过相互比较 从经济和我们所学的知识考虑 红外测距对我们初学者的锻炼是大于其 他两者的 并且红外测距的电路相对于其他两者比较容易焊接 容易检查和修改 4 第第2章章 硬件系统硬件系统 2 1 硬件系统的基本结构硬件系统的基本结构和原理图和原理图 该系统主要由AT89C52芯片 红外测距传感器 ISD语音模块 LCD显示 电源模 块及键盘接口电路等组成 其主要组成构图如下 图2 1 电路结构图 图2 2 电路原理图 5 2 2红外收发模块红外收发模块 红外发送管是用于发送信号 经过障碍物将信号反射 红外接收管接收到反射回来 的信号 然后根据信号强弱将对应的电压值显示在显示模块上 并将此时的距离记录下 来 然后整改程序 用红外收发模块进行测距 就可在显示模块上显示出红外接收管 接收的信号强度对应的距离值 GP2Y0A02YK0F 红外测距传感器红外测距传感器 20 150cm 图2 3 红外传感器结构图 图2 4 protel中红外传感器 如图2 4所示GP2Y0A02YK0F有3个端口 其中VCC接信号输入 VO接P1口 GND接地 线 GP2Y0A02YK0F测量范围在20cm 150cm之间 测量误差小于0 5cm 是一个距离测量传感器单元 PSD的集成组合构成 位置敏感探测器 IRED 红外发光二极管 和信号原理电路 2 3 语音报警模块语音报警模块 2 3 12 3 1 ISD1820ISD1820可以播报实时距离可以播报实时距离 图2 5 ISD1802电路图 6 2 3 22 3 2 蜂鸣器及蜂鸣器及LEDLED警示灯警报警示灯警报 蜂鸣器 发声元件 当距离达阈值的时候 蜂鸣器响同时用 LED警示灯进行闪烁报警提示 2 6 蜂鸣器报警 2 4 LCD显示模块显示模块 图2 7 LCD显示模块 LCD与单片机的接口电路如图2 7所示 单片机P0分别接D1 D7 同时接上排阻 而在排阻另一端接上vcc 单片机上的P3 4接E P3 5接RS 单片机通过P0口向LCD输送数据 显示测得的距离 值得注意的是 P0口 要接上拉电阻来保证对LCD的成功驱动 7 2 5AT89C52单片机概述单片机概述 本次课程设计采用的是增强型8051单片机 型号STC12C5A60S2 STC12C5A60S2 A D PWM系列单片机指令代码完全 兼容传统8051 但速度快8 12倍 内部集成MAX810专用复位电路 2路PWM 8路高速10位A D转换 250K S 即25万 次 秒 针对电机控制 强干扰场合 图2 8 STC12C5A60S2 单片机 单片机的时钟信号用来提供单片机片内各种微操作的时间基准 时钟信号通常用 两种电路形式得到 内部振荡和外部振荡 本次设计选择在单片机外接晶体振荡器构 成内部振荡方式 片内高增益反向放大器与作为反馈元件的片外石英晶体或陶瓷谐振 器一起可构成一个自激振荡器并产生振荡时钟脉冲 外接晶体以及电容C2和C1构成并 联谐振电路 它们起稳定振荡频率 快速起振的作用 其值均为30P左右 晶振频率 选11 0592MHz 8 图2 9 ST89C52单片机最小系统 2 6 按键模块按键模块 此模块采用4个独立按键来改变报警阈值 按键1 加10CM 接P1 4 按键2 减1 0CM 接P1 5 按键3 RESET 接P1 6 按键4 RESET 接P1 7 图2 10 按键模块 9 第第3章章 软件设计软件设计 3 1 程序流程图程序流程图 在整个系统运行过程中 当红外系统被启动后 首先 对AT89C52单片机进行初 始化 然后 当AT89C52单片机接收到红外接收电路传输的电压信号后 经A D转换 程序 将片外的模拟信号转换为单片机可识别的数字信号 并经电压 距离转换子程序 将变化的电压转换为距离 最后 在动态扫描LCD显示器上显示出 来 主程序流程图如图3 1所示 图3 1 程序流程图 红外测距系统软件设计主要由主程序 延时函数 显示程序函数组成 程序开始 红外测距主程序第一步将显示屏1602初始化 并显示测量开始 第二步导入延时程序 并显示程序 显示电压和距离 其次子函数调用 读A D并转换函数得出电压值 再调用距离计算函数 得出距离值 此时主函数中显示 函数会将电压和距离显示出来 程序就此结束 10 此程序中多次使用调用子函数 读A D 距离计算函数 算术平均滤波程序构成 AD值的采集和计算 LCD忙标志判断函数 写数据子函数 写命令子函数 显示数 据调整函数 字符串显示函数 显示子函数构成显示函数 1602初始化函数 LCD清 屏函数则构成清屏函数 不过完成程序并不是一次就能成功的 首先要先将AD采集程序写入单片机中 进 行实验 将固定距离所采集到的信号强度记录下来 然后将对应的数据加入程序中 最 后通过红外模块进行测量 便可显示出对应的距离值 主程序是整个程序的基础 也 是核心 此时距离计算函数才算完成 距离计算函数实际就是测量时得出距离电压关 系 我们反过来先拿出距离再得出电压 举例来说 用卷尺量50CM距离 再用红外 测距系统来量50CM距离 这时对应50CM距离的电压记下来 根据这个方法把其它 各个距离的电压记下来 把这个对应关系变成计算距离的函数 再测距时就可以根据 这个函数来得出距离了 图3 2单片机实物图 11 第第4章章 系统软硬件调试系统软硬件调试 4 1 硬件调试硬件调试 红外测距仪的制作为了使信号稳定 最好给输入电源加上一个滤波电路 否则显 示屏上有闪烁 不稳定 会增加误差 但总体来说不影响结果 在本次设计中 主控 模块是非常重要的部分 它不仅是本次设计的核心 在本次硬件调试中也遇到了问题 接上电源的时候 显示屏不亮 没有任何显示 于是我做了如下的工作 1 检查电源是否通电 发现指示灯亮着 2 编程使P1为低电平 检查到P1输出为低 3 检查P0口未接上拉电阻 接上显示屏发亮了 在本次硬件调试中还遇到了显示屏出显示 但显示有很大问题 调节距离后 显 示还是不变 检查后发现LCD与vcc没接好 或RS RW E与单片机接触不良 4 2软件调试软件调试 硬件电路制作完成并调试好后 便可将程序编译好下载到单片机试运行 根据所 设计的电路参数和程序 测距仪能测的范围为20cm 150cm 测距仪最大误差不超过0 5cm 系统调试完后对各个距离进行多次测量 与预定值进行比较 对测量误差进行 多次实验分析 不断调节器件和修改程序使其达到实际使用的测量要求 为了更方便了解电压与距离之间的关系 我将程序做了些许修改 在显示距离的 基础上再把电压也显示出来了 这样结果一目了然 因为电压与距离之间的关系不是 线性关系 所用用函数来表示会有误差 于是我将此函数修改 重新测量 每个距离 对应的电压记录下来输入程序 如此一来 测试更加准确 误差更小了 4 3测试结果绘图测试结果绘图 图4 1是红外距离传感器GP2Y0A02YK0F电压距离关系图 图中所测电压对应的不同距 离值 图中横坐标代表距离 纵坐标是距离电压值 单位是cm 从图中可以看出 电压与距离并不是线性关系 而是一条相对平滑的曲线 因此结果不一定十分准确 接近此图即可 最终的红外测距系统可以实现20 150cm的近距离测量 测量误差为0 5cm 可以计算出被测物体的距离 在测量距离精 度方面 还有待于改进 12 表4 1 电压距离关系 4 5 调试中遇到的问题调试中遇到的问题 在焊接过程中一些地方出现虚焊等接触不良的问题 导致显示不稳定有闪烁 接 线过程中用插针接线容易导致接线松动 没接到或者接触不良 环境问题环境问题 红外线在空气介质的传播过程中会有很大的衰减 其衰减遵循指数规律 一般情 况下能测150cm 但是空气介质发生改变 如尘埃过多 导致红外线强度降低 测量 发生误差 且测量距离变小 周围有其他辐射源 并且强度很大时会影响测量结果 结结 论论 电压电压v v 2 892 891 941 941 471 471 181 180 980 98 测距测距cmcm 19193030414151516262 实距实距cmcm 20203030404050506060 13 对所设计的电路进行测量 校准发现其测量范围在20cm 150cm内的平面物体做了多次测量发现 其最大误差为0 5cm 且重复性好 该测距仪 稳定性比较高 灵敏度比较高 测量时在红外线测距仪周围没有其它物体 但是在检 测过程中会有一些不便的地方 1 测量时在红外线测距仪和目标物体之间周没有其它可阻挡的物体 由于是根据反射 能量法 且发射功率有限 反射回来的红外线能量容易过低而无法采集 测距仪无法 测量150cm外的物体 2 必须在干净清新的空气环境下测量 空气中一旦尘埃过多 会对反射红外线强度有 极大的干扰 最终影响计算距离的值 3 不能够实现不同温度下的测距功能 4 因为超声波是将空气作为媒介所以受电磁干扰比较大 红外线测距仪的原理有两种 一种是红外线传播的时间来计算出传播距离 一种 是根据发射光的强弱可以判断所测的距离 由于接收管接收的光强是随与发光管的距 离变化而变化的 因而 距离近则接收光强 距离远则接收光弱 由上述的分析知 如果能够干净清新的空气环境 稳定的温度下 无其它电磁干 扰 阻挡的物体 能够获得较高的测量精度 参考文献参考文献 14 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 附录附录 15 附录一附录一 程序程序 include define uchar unsigned char define uint unsigned int define ADC POWER 0 x80 define ADC FLAG 0 x10 define ADC START 0 x08 define ADC SPEEDLL 0 x00 define ADC SPEEDL 0 x20 define ADC SPEEDH 0 x40 define ADC SPEEDHH 0 x60 uchar code table uchar code table1 L1 uchar code table3 L2 uchar code table2 SET sbit deng P3 3 sbit lcden P3 4 sbit lcdrs P3 5 sbit yin P2 4 sbit dula P2 7 sbit key1 P2 0 sbit key2 P2 1 sbit key3 P2 2 sbit key4 P2 3 sfr ADC CONTR 0 xBC sfr ADC RES 0 xBD sfr ADC LOW2 0 xBE sfr PLASF 0 x9D int distance danger 30 int a int c int e 16 int bai shi ge int AD result 0 int AD result2 0 int count 0 int beep count 0 int distance 0 distance2 0 void delay uint z uint x y for x z x 0 x for y 110 y 0 y void write com uchar com lcdrs 0 P0 com delay 5 lcden 1 delay 5 lcden 0 void write data uchar date lcdrs 1 P0 date delay 5 lcden 1 delay 5 lcden 0 void init lcden 0 17 write com 0 x38 write com 0 x0c write com 0 x06 write com 0 x01 void xianshi int number int adress write com 0 x80 adress 84 if number 999 number99 bai number 100 shi number 100 10 ge number 100 10 write data table bai delay 5 write data table shi delay 5 write data table ge delay 5 else if number 9 18 bai 0 shi number 10 ge number 10 write data table bai delay 5 write data table shi delay 5 write data table ge delay 5 else bai 0 shi 0 ge number write data table bai delay 5 write data table shi delay 5 write data table ge delay 5 write com 0 x80 0 x42 void keyone if key1 0 a 1 else if key1 1 19 a 0 void keytwo if key2 0 c 1 else if key2 1 c 0 void keythree if key3 0 e 1 else if key3 1 e 0 void InitADC PLASF 0 xff ADC RES 0 ADC CONTR ADC POWER ADC SPEEDLL ADC START ch 20 delay 2 int AD caculate char ch int result 0 ADC CONTR result ADC RES ch 0 ADC CONTR ADC POWER ADC SPEEDLL ADC START ch return result int pinjun char ch int i float sum1 0 int he 30 for i 0 ix beep count 0 dula dula 21 yin yin int AD cal int AD float y if AD 98 return y void beep warning int xg int yg if yg distance danger beep time yg 3 deng 1 else if xg distance danger beep time xg 3 22 yin yin deng 1 else dula 0 yin 1 deng 0 void main int aa 0 init InitADC IE 0 xa0 delay 5 write com 0 x80 0 x40 显示 L1 for aa 0 aa 3 aa write data table1 aa delay 5 delay 5 write com 0 x80 0 x48 显示 L2 for aa 0 aa 3 aa write data table3 aa delay 5 write com 0 x80 显示 SET for aa 0 aa150 delay 5 xianshi distance danger 0 x04 delay 5 xianshi distance 0 x43 delay 5 xianshi distance2 0 x4b count 0 附录二附录二 使用元器件一览表使用元器件一览表 序号序号名称名称型号型号规格规格数量数量备注备注 24 1 单片机芯片STC型 STC12C5A60S2 1个主控单元 2 红外收发模块夏普 GP2Y0A02YK0F 4个红外测距 3 稳压芯片LM型 LM2940 4个稳压 4 液晶
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030中国小木屋市场前景动态与投资运作模式分析报告
- 串串香店质量管理方案
- 临床医学综合能力(西医)模拟445
- 肝硬化腹水中西医结合诊疗专家共识
- 瓶花寄情:传统中式插花的艺术与意境营造
- 建筑公司施工现场管理制度
- 铝土矿买卖合同
- 电气绘图cad教学资料 第7章 autocad vba开发技术
- 设备智能化运维检修维护保养管理制度
- 2025 年中考数学押题预测卷解析版 02(浙江卷)
- 职业卫生档案范本
- YC/Z 575-2018打叶复烤初烤烟选叶指南
- JJG 52-2013弹性元件式一般压力表、压力真空表和真空表
- GB/T 1981.2-2003电气绝缘用漆第2部分:试验方法
- GB/T 13235.3-1995石油和液体石油产品立式圆筒形金属油罐容积标定法(光电内测距法)
- 南瑞继保后台监控使用厂家培训版本电子版本
- 松下panasonic-经销商传感器培训
- 言语治疗技术医学课件
- 川大论文封面
- 各岗位劳保用品标准及安全注意事项
- 复旦大学留学生入学考试模拟卷
评论
0/150
提交评论