




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2016通信电子实验设计报告超声波模块学习与应用 2016/5/31目录(1) 背景.3(2) 基本目标及拓展目标.3(3) 方案.3(4) 基本理论及原理.4(5) 程序流程图.8(6) 实验器材及硬件原理图.8(7) 完整代码及分析.10(8) 测试图片.21(9) 出现问题及分析.24(10)后记.24一.背景倒车雷达是汽车驻车或者倒车时的安全辅助装置,能以声音或者更为直观的显示告知驾驶员周围障碍物的情况,解除了驾驶员驻车、倒车和起动车辆时前后左右探视所引起的困扰,并帮助驾驶员扫除了视野死角和视线模糊的缺陷二.基本目标及拓展目标运用超声波模块,测出单方向距离,根据距离实现两个不同的功能。(1) 基础功能:倒车雷达。距离近于100mm时,判定为距离过近,使蜂鸣器鸣响,并且1602屏幕上显示”stop”字样, 8*8点阵模块全屏连续闪烁作为警示。(2) 拓展功能:根据测试距离用点阵显示距离根据超声波所测的距离,用点阵led亮灯个数表示出距离的远近程度,具体将在之后程序分析中写出。三.方案测距模块采用集成的超声波模块,目前市面上的传感器模块做工已十分优良,测距精度可达3mm,测量响应速度理论上可以做到实时反馈。蜂鸣器部分采用常见型号的蜂鸣器,性能稳定,质量好。考虑到单片机无法直接带动蜂鸣器工作,辅以三极管开关电路。点阵部分采用开发板上集成的8*8点阵,为了控制精度,响应时间等,辅以存储器,减少单片机占用时间。距离显示部分采用1602液晶屏显示,可显示内容丰富,甚至可以显示英文字符等。最后,最重要的是选择一款好的MCU处理任务。51单片机系统作为比较成熟的片上系统,被广泛应用。其具有低功耗,可编程性强,处理速度较快等诸多优点,因此采用集成的51单片机开发板完成此项实验。四.基本理论及原理 基本理论分为三个板块,超声波模块,51单片机,蜂鸣器,8*8点阵及1602模块。本节将分块解释各模块基本原理。(1) 超声波模块常用的是压电式超声波发生器,是利用压电晶体的谐振来工作的。超声波传感器探头内部有两个压电晶片和一个共振板。当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动,便产生超声波。反之,如果两电极间未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收器了。 超声波传感器就是利用压电效应的原理将电能和超声波相互转化,即在发射超声波的时候,将电能转换成超声波发射出去;而在接收时,则将超声振动转换成电信号。超声波时序图:以上时序图表示要发出一个10uS以上的脉冲信号,该模块内部将发出40KHz周期点评并检测回波。一旦检测到回波信号则输出回响信号。回响信号的脉冲宽度与测距的距离成正比,由此测的距离。(2)51单片机51单片机为整个系统的中枢,承担着接收信号,发送信号,响应等重要功能。对于超声波模块,主要功能为发出信号使超声波模块工作并完成测距任务,接着接收信号,转换为数字信号并加以处理,好控制1602液晶,点阵,蜂鸣器等其他外设。其负担着接收数据,处理数据,发送数据等重要功能,因此对51单片机的操作为本实验的核心。本实验选择TX-1C开发板,其集成度高,性能稳定,便于操作。(3)蜂鸣器如图,P23口连接三极管基极,负责传送信号。三极管其他部分与蜂鸣器共同组成开关电路,驱动蜂鸣器工作。当输出高电平是打开开关电路,蜂鸣器鸣响。(4)8*8点阵8*8点阵其实是由64组发光二极管组成,点阵发光原理与发光二极管完全相同。但此处为了提升效率,采用两片存储器来操作点阵。点阵根据输入信号的不同,点亮不同位置的发光二极管。(5)1602液晶屏1602字符型液晶显示模块是专门用于显示字母、数字、符号等的点阵型液晶显示模块,可显示2行,每行16个字符。支持4位和8位数据传输方式。提供57点阵光标的显示模式。提供显示数据缓冲区DDRAM、字符发生器CGROM和字符发生器CGRAM,可以使用CGRAM来存储自己定义的最多8个58点阵的图形字符的字模数据。提供了丰富的指令设置:清显示;光标回原点;显示开/关;光标开/关;显示字符闪烁;光标移位;显示移位等。本实验中用1602显示距离与提示信息。五.程序流程图开始初始化超声波模块,1602液晶屏运行程序,触发超声波计算距离信息NY1602显示距离,点阵根据距离显示不同数目的led灯触发蜂鸣器,使点阵全屏闪烁,1602显示stop字样距离小于100?关闭电源,实验结束,六.实验器材及硬件原理图TX-1C开发板及1602液晶8*8点阵蜂鸣器七.完整代码及分析/*写入接口定义的管脚,为之后程序做准备*/#include#define uchar unsigned char#define uint unsigned intsbit rs=P35; sbit lcden=P34; /定义lcd接口sbit dula=P26;/定义寄存器sbit wela=P27;uchar beepnum; sbit beep=P23;/哔!哔!蜂鸣器sbit triger = P37;/超声波串口sbit echo = P32; /超声波串口sbit SH_CP=P12; /点阵口定义sbit DS=P10;sbit ST_CP=P11;unsigned long int distance=150,counter=0,flag=0;/*延时函数1,在lcd写入数据需要时间,无法立即完成。需要使用延时函数使程序等待lcd写入完成。 延时函数2为蜂鸣器使用,通过不停的对蜂鸣器拉高拉低完成蜂鸣器的持续发声,延时作为高低电平输入间隔时间*/void delay(uint x) /延时函数1uint a,b;for(a=x;a0;a-)for(b=10;b0;b-); void delay1(uint z) /延时函数2(可与1合并)uint x,y;for(x=z;x0;x-)for(y=110;y0;y-);/*点阵由两个寄存器与单片机相连,因此需要操作寄存器,此函数操作寄存器*/void WriteByte(uchar dat) (点阵写入函数) uchar k;for(k=0;k1;DS=CY;SH_CP=0;SH_CP=1;/*lcd使用前要完成一系列设置*/void init() /lcd初始化程序dula=0;wela=0;write_com(0x38);delay(20);write_com(0x0e);delay(20);write_com(0x06);delay(20);write_com(0x01);delay(20);/*lcd命令函数与数据写入函数,要想完成数据的写入,要先向其发送命令使其进入工作状态,再由lcd数据写入函数接收数据,显示字符*/void write_com(uchar com) /LCD指令函数P0=com;rs=0;lcden=0;delay(10);lcden=1;delay(10);lcden=0;void write_date(uchar date) /LCD写入数据函数P0=date;rs=1;lcden=0;delay(10);lcden=1;delay(10);lcden=0;/*此函数为程序的关键,将蜂鸣器,1602,点阵的处理都写入此函数内。第一行一直到switch结束为拓展要求即根据距离控制点阵亮灯个数并在1602显示的控制程序。点阵具体16进制值显示由二进制转换来。例如00000001是亮起一行,16进制位0x01,以此类推,1602直接带入函数操作。第二部分为基础要求即倒车雷达部分,代码比较简单,详见注释*/void display() /三大外设控制函数uint i=0,j=0;uchar qian,bai,shi,ge; /定义距离 write_com(0x80); /写入lcd第一行if(distance!=0)qian = distance%10000/1000+0; /转化数据bai = distance%1000/100+0;shi = distance%100/10+0;ge = distance%10+0;write_date(qian); /写入数据write_date(bai);write_date(shi);write_date(ge);if(distance%1000/100=7) /距离量级判断j=6;if(distance%1000/100=6)j=5;if(distance%1000/100=5)j=4;if(distance%1000/100=4)j=3;if(distance%1000/100=3)j=2;if(distance%1000/100=2)j=1;if(distance%1000/100=1)j=0;if(distance%1000/100=8|distance%10000/1000!=0)j=7;switch(j) /点阵控制case 0:WriteByte(0x00);/清屏WriteByte(0x01);/点阵第1行亮起ST_CP=0;ST_CP=1;break;case 1:WriteByte(0x00);WriteByte(0x03);ST_CP=0;ST_CP=1;break;case 2:WriteByte(0x00);WriteByte(0x07); /点阵前2行亮起ST_CP=0;ST_CP=1;break;case 3:WriteByte(0x00);WriteByte(0xf);ST_CP=0;ST_CP=1;break;case 4:WriteByte(0x00);WriteByte(0x1f);ST_CP=0;ST_CP=1;break;case 5:WriteByte(0x00);WriteByte(0x3f);ST_CP=0;ST_CP=1;break;case 6:WriteByte(0x00);WriteByte(0x7f);ST_CP=0;ST_CP=1;break;case 7:WriteByte(0x00);WriteByte(0xff);ST_CP=0;ST_CP=1;break;/倒车雷达部分 if(distance100) /定义报警距离100 WriteByte(0x00);WriteByte(0xff);ST_CP=0;ST_CP=1; write_com(0x01);/LCD清零 write_date(s);/温馨提醒,stop字符 write_date(t); write_date(o); write_date(p);for(beepnum=0;beepnum= 1500)/0.015scounter=0;triger=1; /触发超声波void Time1_Int() interrupt 3distance=0;TH1 = 0;TL1 = 0;八.测试图片(1)倒车雷达装置距离小于100时,屏幕显示stop字样,点阵全部频闪,蜂鸣器连续发出“哔哔声”。(2) 显示距离并根据远近控制点阵100距离200 亮起前一行点阵,1602显示距离。200距离300 亮起前两行点阵,1602显示距离。300距离400 亮起前三行点阵,1602显示距离。以此类推,距离过大时,点阵全部亮起,1602显示距离。九.出现问题及分析 实验时出过不少问题,如点阵函数写错无法控制。超声波模块无法工作。1602写入时没有清除原来数据出现乱码等。当然,出现问题是要及时纠正的。客观来讲,51单片机应用技术已十分成熟,网上也有大量的详细教程,当遇到困难时不要只是一个人埋头苦想,可以在网上寻求帮助,快速解决问题。有时候程序出现bug时自己难以察觉,也可以请其他同学帮忙查错,毕竟,只有多经历失败,多总结,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教师招聘之《幼儿教师招聘》能力检测试卷附答案详解【巩固】
- 2025呼伦贝尔莫力达瓦达斡尔族自治旗尼尔基第一中学校园引才笔试备考有完整答案详解
- 未包括的互联网服务创新创业项目商业计划书
- 用户生成图文故事创作平台创新创业项目商业计划书
- 低温耐受性马铃薯品种研究创新创业项目商业计划书
- 教师招聘之《幼儿教师招聘》考试模拟试卷附参考答案详解【夺分金卷】
- 教师招聘之《幼儿教师招聘》考前冲刺测试卷附有答案详解及参考答案详解【达标题】
- 智能制造数字化全产业链解决方案
- 教师招聘之《幼儿教师招聘》强化训练模考卷及答案详解【名校卷】
- 2025年四川宜宾市珙县事业单位选调13人笔试备考题库附答案详解
- 新型给药系统行业分析报告
- 特种设备日管控、周排查、月调度模板
- 山东钢铁集团矿业有限公司彭集铁矿采选工程项目环境影响报告
- 员工信息安全培训手册
- 华为项目管理10大模板Excel版可直接套用-非常实用
- 空管三校联考复习题(DOC)
- GB/T 27021.3-2021合格评定管理体系审核认证机构要求第3部分:质量管理体系审核与认证能力要求
- 3000储罐预制安装施工方案
- 食品工程原理(课堂)课件
- 五年级上册数学课件-《练习一》北师大版 (共10张PPT)
- 移动通信5G关键技术分析课件
评论
0/150
提交评论