红外测距单片机课程设计说明书_第1页
红外测距单片机课程设计说明书_第2页
红外测距单片机课程设计说明书_第3页
红外测距单片机课程设计说明书_第4页
红外测距单片机课程设计说明书_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

1、红外测距-单片机课程设计说明 书腐柬港种/无翟氏GuangDong Polytechnic Normal University单片机课程设计设计报告说明书设计题目:汽车距离自动测定系统课程名称:单片机课程设计所在院系:机电学院姓 名:路小娃班 级:13机电师学 号: 2013095444026指导教师:杨 永小组成员:林韩路小娃黎桂雄日 期:2015年12月23日广东技术师范学院目录第1章系统总体设计方案 3一、设计目的及意义3二、设计报告31 .设计 题 目:32 .丰要功能、作用:33*要技术性能指标:34 .设it五35 .设计 方 案 诜 择4第2章硬件系统62.1 .硬件系统的基本结

2、构和原理图 62.2 分外收发模块72.3 语音报警模块72.4 LCD显示模块92.5 AT89C52单片机概述 92.6 按键模块1 1ii武汉大学珞珈学院本科毕业论文第3章软件设计1 13.1 程序流程图1 1第4章系统软硬件调试1 33.2 硬件调试1 33.3 软件调试1 43.4 测试结果绘图 1 44.5 调试中遇到的问题15结论16参考文献1 7附录18附录一程序1 8附录二 使用元器件一览表 27附录三 心得28#广东技术师范学院第 1 章 系统总体设计方案、设计目的及意义1. 在学习了单片机原理与开发这门课程之后,通过理论与实践结合的方式,加深对理论知识的理解,启发思维。2

3、. 通过一个简单、完整的设计,让大家熟悉设计步骤,将理论应用于实际,增强应用能力,锻炼动手能力。3. 加深同学之间的了解,促进大家团结互助的精神。、设计报告1. 设计题目: 汽车距离自动测定系统2. 主要功能、作用:1) 设 计一传感器系统,要求可以测定车辆前、后方距离。2) 当 车辆前、后方的距离达到一定值时,自动用语音报告距离的变化;3) 随着距离的缩短,报告的声音要有一定的节奏变化。3. 主要技术性能指标:1) 驱 动电路的运行状况;2)测距系统的测量准确度;3) 显示和语音播报的准确度。4. 设计方案方案一1) 设 计红外传感收发模块测距,STC12C5A60S2 单片机作为主控模块;

4、2)设定报警阈值(设定50CM ,可用键盘调整阈值) ,随着距离的缩短,改变蜂鸣器响的频率实现节奏变化;3)利用 AT89C52 的 P1 口 AD 转换功能, ISD1820 语音播放距离,并用LCD1602 显示其距离值。2方案二1) 超 声波测距器的系统设计, STC12C5A60S2 单片机作为主控模块;2)用 动态扫描法实现LED 数字显示,超声波驱动信号用单片机的定时器完成;3)单片机使用 P1.0 端口输出超声波转化器所需的 40KHz 方波信号ISD1820语音播放距离,并用LED数字显示显示其距离值。方案三1) 激 光测距系统设计, STC12C5A60S2 单片机作为主控模

5、块;2)过单片机控制 CPLD 计时部分开始计时与停止计时, 并通过软件计算控制 LED 显示所测得的被测物的实际距离;3)CPLD 计时部分采, 40MHZ 的脉冲信号, 单个周期为 2.5ns, 通过 P0 口调取到单片机的方便,并用 LED 数字显示显示其距离值。5. 设计方案选择我们小组考虑到红外测距的优点是便宜,易制,安全。激光测距存在诸多缺点,例如需要注意人体安全,且制做的难度较大,成本较高,而且光学系统需要保持干净, 否则将影响测量。 超声波测距缺点是精度较低,且成本较高。三者经过相互比较,从经济和我们所学的知识考虑。红外测距对我们初学者的锻炼是大于其他两者的。并且红外测距的电路

6、相对于其他两者比较容 易焊接,容易检查和修改。25第2章硬件系统2.1 .硬件系统的基本结构和原理图该系统主要由AT89C52E片,红外测距传感器,ISD语音模块、LCD显示、电源模 块及键盘接口电路等组成。其主要组成构图如下:时钟电路图2.1电路结构图vovccSIf-JE匕FPL。vccF|.lPQ«JPBJ理1PL 1M2PL.*田孑Pt 5*PL*PMPt 7PMR5TRMP3 eEAVPHALEP 2 (ENT0)MENP3 3ZL甲”P3 4P2 4F15PliP3AP2 4PITP2J5CTAL2P-2 2CTALCPl 1GNDP2 a图2.2电路原理图2.2 红外收

7、发模块红外发送管是用于发送信号,经过障碍物将信号反射,红外接收管接收到反射回来的信号,然后根据信号强弱将对应的电压值显示在显示模块上,并将此时的距离记录下来。然后整改程序,用红外收发模块进行测距,就可在显示模块上显示出红外接 收管接收的信号强度对应的距离值。GP2Y0A02YK0F 红外测距传感器 20-150cm图2.3红外传感器结构图图2.4 protel中红外传感器如图2.4所示GP2Y0A02YK0F3个端口,其中 VCC®信号/&入,VO接P1 口,GND 接地线。GP2Y0A02YKOW量范围在20cm-150cm间,测量误差小于0.5cm,是一个距 离测量传感器

8、单元,PSD的集成组合构成(位置敏感探测器),IRED (红外发光二极 管)和信号原理电路。2.3 语音报警模块2.3.1 ISD1820可以播报实时距离LAY£PLrtYlREC循4放出 /du iurROS:ICCVSSisotazo 疆FTRKLED MIC RFFPLAYEMICPLAYL RECXCt.K AGC图2.5 ISD1802电路图2.3.2 蜂鸣器及LED警示灯警报鸣器,发声元件。当距离达阈值的时候,蜂鸣器响同时用LED警示灯进行闪烁报警提示。2.4 LCD显示模块、ni15T?VCCQ Dvu3RDD2D4D7LCD16O2图2.7 LCD显示模块LCD与单片

9、机的接口电路如图2.7所示,单片机P0分别接D1-D7,同时接上排阻, 而在排阻另一端接上vcc。单片机上的P3.4接E, P3.5接RS,单片机通过P0 口向 LCD俞送数据,显示测得的距离。值得注意的是, P0 口要接上拉电阻来保证对LCD的 成功驱动。2.5AT89C52单片机概述本次课程设计采用的是增强型 8051单片机,型号STC12C5A60S2STC12C5A60S2/AD/PVWU单片机指令代码完全兼容传统8051,但速度快8-12倍。内部集成MAX81%用复位电路,2路PWM,8各 高速10位A/D转换(250K/S ,即25万次/秒),针对电机控制,强干扰场合。图 2.8

10、STC12C5A60S2单片机单片机的时钟信号用来提供单片机片内各种微操作的时间基准,时钟信号通常用两种电路形式得到:内部振荡和外部振荡。本次设计选择在单片机外接晶体振荡器构 成内部振荡方式,片内高增益反向放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起可构成一个自激振荡器并产生振荡时钟脉冲。外接晶体以及电容 C2和C1构成 并联谐振电路,它们起稳定振荡频率、快速起振的作用,具值均为 30P左右,晶振频 率选 11.0592MHz_l_lTrrnc2 早RI1O0p£r5 1 凸LIl-UU 吗 5J F0.1MD1 F02D2XTAL2F0.3UADG 匚0.4记CM F0,5E

11、>5 F0.6D6 F0.7D7rvi 1P2MASP2.I /AS明.2俄FbhNP2MliALEP3.4HA12EAP2.5JA13P2.6t*iaP2.7rA15P1.0/T2P3.UJKXDPI 1 /T2EXP3.1/TXDP1 2P3.2MTOPi 3P工3刑T1P1 4P3 4JTCIPl 5P3.5mP1.6P-1 7P3 T而叫T辑口 LW 口39353736 .3$34333221 普 跖_31_za2720图2.9 ST89C52单片机最小系统2.6按键模块此模块采用4个独立按键来改变报警阈值。按键1 (加10CM接P1A4,按键2 (减10CM 接 PW5,按键

12、3 (RESET,接 PW6,按键 4 (RESET,接 PW7。图2.10按键模块第3章软件设计3.1程序流程图在整个系统运行过程中。当红外系统被启动后,首先,对 AT89C52单片机进行初 始化。然后,当AT89C52单片机接收到红外接收电路传输的电压信号后,经 A/D转换 程序,将片外的模拟信号转换为单片机可识别的数字信号,并经电压一距离转换子程 序,将变化的电压转换为距离。最后,在动态扫描 LCD显示器上显示出来。主程序流 程图如图3.1所示。单片机初始优随心初始化图3.1 程序流程图红外测距系统软件设计主要由主程序,延时函数,显示程序函数组成。程序开始,红外测距主程序第一步将显示屏

13、1602初始化,并显示测量开始,第二 步导入延时程序,并显示程序,显示电压和距离。其次子函数调用,读A/D并转换函数 得出电压值,再调用距离计算函数,得出距离值。此时主函数中显示函数会将电压和距 离显示出来,程序就此结束。此程序中多次使用调用子函数,读 A/D,距离计算函数,算术平均滤波程序构成 AD值的采集和计算;LCD忙标志判断函数,写数据子函数,写命令子函数,显示数 据调整函数,字符串显示函数,显示子函数构成显示函数;1602初始化函数,LCD清屏函数则构成清屏函数。不过完成程序并不是一次就能成功的,首先要先将AD采集程序写入单片机中,进行实验,将固定距离所采集到的信号强度记录下来 ,然

14、后将对应的数据加入程序中,最 后通过红外模块进行测量,便可显示出对应的距离值,主程序是整个程序的基础,也 是核心。此时距离计算函数才算完成,距离计算函数实际就是测量时得出距离电压关系,我们反过来先拿出距离再得出电压,举例来说,用卷尺量50CM距离,再用红外测距系统来量50CM距离,这时对应50CM距离的电压记下来。根据这个方法把其它 各个距离的电压记下来,把这个对应关系变成计算距离的函数,再测距时就可以根据 这个函数来得出距离了。图3.2单片机实物图第4章系统软硬件调试4.1 硬件调试红外测距仪的制作为了使信号稳定,最好给输入电源加上一个滤波电路,否则显 示屏上有闪烁,不稳定,会增加误差,但总

15、体来说不影响结果。在本次设计中,主控 模块是非常重要的部分,它不仅是本次设计的核心,在本次硬件调试中也遇到了问题, 接上电源的时候,显示屏不亮,没有任何显示,于是我做了如下的工作:(1)检查电源是否通电,发现指示灯亮着;(2)编程使P1为低电平,检查到P1输出为低;(3)检查P0 口未接上拉电阻,接上显示屏发亮了。在本次硬件调试中还遇到了显示屏出显示,但显示有很大问题,调节距离后,显 示还是不变,检查后发现 LCM vcc没接好,或RS RW E与单片机接触不良。4.2 软件调试硬件电路制作完成并调试好后,便可将程序编译好下载到单片机试运行。根据所 设计的电路参数和程序,测距仪能测的范围为20

16、cm- 150cni测距仪最大误差不超过0.5cm。系统调试完后对各个距离进行多次测量,与预定值进行比较,对测量误差进 行多次实验分析,不断调节器件和修改程序使其达到实际使用的测量要求。为了更方便了解电压与距离之间的关系,我将程序做了些许修改,在显示距离的 基础上再把电压也显示出来了,这样结果一目了然。因为电压与距离之间的关系不是 线性关系,所用用函数来表示会有误差,于是我将此函数修改,重新测量,每个距离 对应的电压记录下来输入程序,如此一来,测试更加准确,误差更小了。4.3 测试结果绘图图4.1是红外距离传感器 GP2Y0A02YK0电压距离关系图,图中所测电压对应的不同 距离值,图中横坐标

17、代表距离,纵坐标是距离电压值,单位是cm。从图中可以看出,电压与距离并不是线性关系,而是一条相对平滑的曲线。因此结果不一定十分准确, 接近此图即可。最终的红外测距系统可以实现20-150cm的近距离测量,测量误差为0.5cm,可以计算出被测物体的距离。在测量距离精度方面,还有待于改进。电压v2.891.941.471.180.98测距cm1930415162表4.1实距cm2030405060电压品目离关系4.5 调试中遇到的问题在焊接过程中一些地方出现虚焊等接触不良的问题,导致显示不稳定有闪烁。接 线过程中用插针接线容易导致接线松动,没接到或者接触不良。环境问题:红外线在空气介质的传播过程中

18、会有很大的衰减,其衰减遵循指数规律。一般情 况下能测150cmi但是空气介质发生改变,如尘埃过多,导致红外线强度降低,测量 发生误差,且测量距离变小。周围有其他辐射源,并且强度很大时会影响测量结果。结论对所设计的电路进行测量、校准发现其测量范围在20cm 150cm内的平面物体做了多次测量发现,其最大误差为 0.5cm,且重复性好。该测距仪稳定性比较高、灵敏 度比较高,测量时在红外线测距仪周围没有其它物体。但是在检测过程中会有一些不 便的地方:1. 测量时在红外线测距仪和目标物体之间周没有其它可阻挡的物体,由于是根据反射能量法,且发射功率有限,反射回来的红外线能量容易过低而无法采集,测距仪无法

19、测量150cm外的物体。2. 必须在干净清新的空气环境下测量,空气中一旦尘埃过多,会对反射红外线强度有极大的干扰,最终影响计算距离的值。3. 不能够实现不同温度下的测距功能。4. 因为超声波是将空气作为媒介所以受电磁干扰比较大。红外线测距仪的原理有两种:一种是红外线传播的时间来计算出传播距离;一种是根据发射光的强弱可以判断所测的距离,由于接收管接收的光强是随与发光管的距离变化而变化的,因而,距离近则接收光强,距离远则接收光弱。由上述的分析知,如果能够干净清新的空气环境, 稳定的温度下,无其它电磁干扰,阻挡的物体,能够获得较高的测量精度。参考文献1张明峰,PIC单片机入门与实战,北京航空航天大学

20、出版社2窦振中,PIC单片机应用设计与实例,北京航空航天大学出版社3 谢自美,电子线路综合设计,华中科技大学出版社, 2006-64 康华光, 电子技术基础:模拟部分(第五版) , 高等教育出版社, 20065潘永雄,沙河.电子线路 CAD实用教程M.西安:西安电子科技大学出版社: 20076 51单片机C程序设计100例.7 康华光主编电子技术基础 M 第四版北京:高等教育出版社, 19998 单片机原理与应用实验武汉大学珞珈学院9 一种红外线测距技术的探讨10 红外测距传感器的原理与设计最终版11 刘坤, 51 单片机典型应用开发范例大全 中国铁道出版社12 彭伟, 单片机 C 语言程序设

21、计实训基于 8051+Proteus 仿真电子工业出版社13 薛小玲、 刘志群、 贾俊荣编著 单片机接口模块应用于开发实例详解 北京航空航天大学出版社201014谭浩强,著C程序设计(第三版) 清华大学出版社200515 何桥、段清明、邱春玲编著单片机原理及应用 中国铁道出版社200416 曲波 肖圣兵 吕建平编著工业常用传感器选型指南 清华大学出版社200217 陈鸿茂编著常用电子器件简明手册 中南矿业大学出版社2001附录附录一 程序#include <REGX52.H>#define uchar unsigned char#define uint unsigned int#d

22、efine ADC_POWER 0x80#define ADC_FLAG 0x10#define ADC_START 0x08#define ADC_SPEEDLL 0x00#define ADC_SPEEDL 0x20#define ADC_SPEEDH 0x40#define ADC_SPEEDHH 0x60 uchar code table="0123456789" uchar code table1="L1="uchar code table3="L2="uchar code table2="SET:"sb

23、it deng=P3八3;sbit lcden=P3八4;sbit lcdrs=P3八5;sbit yin=P2八4;sbit dula=P2A7;sbit key1=P2A0;sbit key2=P2A1;sbit key3=P2A2;sbit key4=P2A3;sfr ADC_CONTR = 0xBC;sfr ADC_RES = 0xBD;sfr ADC_LOW2 = 0xBE;sfr PLASF = 0x9D;int distance_danger=30;int a;int c;int e;int bai,shi,ge;int AD_result=0;int AD_result2=0;

24、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;write_c

25、om(0x38);write_com(0x0c);write_com(0x06);write_com(0x01);void xianshi(int number,int adress)write_com(0x80+adress);/84if (number>999|number<=0)bai=0;shi=0;ge=0;write_data(tablebai);delay(5);write_data(tableshi);delay(5);write_data(tablege);delay(5);else if (number>99)bai=number/100;shi=numb

26、er%100/10;ge=number%100%10;write_data(tablebai);delay(5);write_data(tableshi);delay(5);write_data(tablege);delay(5);else if (number>9)bai=0;shi=number/10;ge=number%10;write_data(tablebai);delay(5);write_data(tableshi);delay(5);write_data(tablege);delay(5);elsebai=0;shi=0;ge=number;write_data(tabl

27、ebai);delay(5);write_data(tableshi);delay(5);write_data(tablege);delay(5);/write_com(0x80+0x42);void keyone()if(key1=0&&key2=1&&key3=1&&a=0)distance_danger+;a=1;else if(key1=1)a=0;void keytwo()if(key2=0&&key3=1&&key1=1&&c=0)distance_danger-;c=1;else if

28、(key2=1)c=0;void keythree()if(key3=0&&key1=1&&key2=1&&e=0)distance_danger=30;e=1;else if(key3=1)e=0;void InitADC()PLASF = 0xff;ADC_RES = 0;AD/C/A_DSCP_ECEODNLTLR|ADC_S=TART A|cDhC;_POWER|delay(2);int AD_caculate(char ch)int result=0;ADC_CONTR &= !ADC_FLAG;result=ADC_RES;/

29、ch = 0;ADACD_CS_PCEOENDTLLR | ADC_=STARTA| DchC;_POWER|return result;int pinjun(char ch)int i;float sum1=0;int he30;for(i=0;i<20;i+)hei=AD_caculate(ch);sum1+=hei;sum1=sum1/20;return AD_caculate(ch);void beep_time(int x)beep_count+;if(beep_count>x)beep_count=0;dula=dula;yin=yin;int AD_cal(int A

30、D)float y;if(AD>=98&&AD<140)y=-0.0045*AD*AD+0.715*AD+3.1;else/if(AD>=71&&AD<=98)y=0.0344*AD*AD-6.554*AD+341.9;if(y>60)y=60;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);/yin=y

31、in;deng=1;elsedula=0;yin=1;deng=0;void main()int aa=0;init();InitADC();/IE = 0xa0;delay(5);write_com(0x80+0x40);/显示 "L1="for(aa=0;aa<3;aa+)write_data(table1aa);delay(5);delay(5);write_com(0x80+0x48);/显示 "L2="for(aa=0;aa<3;aa+)write_data(table3aa);delay(5);write_com(0x80);/显

32、示 "SET="for(aa=0;aa<4;aa+)write_data(table2aa);delay(5);a=0;c=0;e=0;dula=0;yin=1;deng=0;while(1)count+;keyone();keytwo();keythree();AD_result=pinjun(0);AD_result2=pinjun(1);distance=AD_cal(AD_result);/ distance2=AD_cal(AD_result2); beep_warning(distance,distance2);if(count>150)delay(5);xianshi(distance_danger,0x04);delay(5);xianshi(distance

温馨提示

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

最新文档

评论

0/150

提交评论