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

下载本文档

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

文档简介

I摘要红外线是电磁波的一种,可以进行距离的测量,随着现代科学技术的迅猛发展,在测距方面也先后出现了激光测距、微波雷达测距、超声波测距以及这里介绍的红外线测距。在绪论中主要介绍了红外线的一些特性及应用,包括单片机的简要介绍和国内外课题研究的情况。在硬件设计中,单片机STC89C52、A/D转换模块、LCD1602、红外传感器模块、蜂鸣器报警模块等组成了系统的基本结构,并分别对红外测距系统的各个组成部分做了说明与分析。另外,根据红外光抗干扰能力强等特征对系统的设计原理做了细节说明。排除了利用光速和光能的方案,而采用红外线的反射在位置灵敏探测器上来计算出距离的远近。然后将收集到的模拟量转换成单片机可识别的数字量,并通过显示器显示出对应距离。由于红外线探测的距离比较短,设置一个危险值后,当距离小于危险值时会发出警报,在软件设计中,对系统流程做了概述,通过编程从而实现系统测距。最后,对于整个系统的功能实现做了结论和误差的说明。关键词:单片机;热辐射;红外传感器;IIAbstractInfraredrayisakindofelectromagneticwave,itcanundertakedistancemeasurement.Modernscienceandtechnologydevelopingrapidly,andithassuccessivelyappearedranginglaserranging,microwaveradarranging,ultrasonicandinfraredrangehere.Inthepreface,itintroducessomeofthefeaturesandapplicationsofinfrared,includingthesinglechipmicrocomputerandthesituationofthisresearchtopicathomeandabroad.Inhardwaredesign,thereareSTC89C52,A/Dconvertermodule,LCD1602,infraredsensormodule,buzzeralarmmodulesandothercomponentsofthebasicstructureofthesystem,andeachofthemisintroducedandanalysis.Inaddition,accordingtotheinfraredlightanti-interferenceabilityandothercharacteristicsofthedesignprincipleofthesystemdothedetailsexplained.Excludetheuseoflightandenergyprograms,andtheuseofinfraredreflectionatthepositionsensitivedetectorcalculatesthedistanceupthedistance.Thentheanalogcollectedintoasingle-chipdigitalidentifiableanddisplaybythecorrespondingdistance.Becauseoftherelativelyshortdistancedetectedbytheinfraredray,whenthedistanceislessthanthedangerousfigure,itwillalert.Insoftwaredesign,thesystemprocessesareoutlinedbytheprograminordertoachievesystemranging.Finally,ithastheconclusionsandtheexplainoferrorsfortherealizationofthefunctionofthewholesystem.Keywords:Singlechipmicrocomputer;thermalradiation;infraredsensors;III目录摘要.1Abstract.2前言.3第一章绪论.41.1课题背景.41.2国内外研究现状.5第二章系统总体方案设计.72.1系统基本要求.72.2硬件系统设计方案.72.3软件系统设计方案.9第三章系统硬件设计.103.1电源电路模块.103.2LCD1602显示模块.103.3STC89C52单片机概述.113.4A/D转换模块.133.5红外测距传感器模块.153.6蜂鸣器报警模块.163.7红外线测距系统硬件显示.17第四章系统软件设计.184.1程序的总体设计.184.2主程序模块.19第五章系统调试与分析.265.1系统硬件调试.265.2系统软件调试.265.3调试故障及原因分析.265.4测试结果及其分析.27参考文献.28致谢.29附录.300前言在科技日益发达的今天,人们的生活已不再仅仅满足于机械化,舒适性和效率感被越来越多的人所重视,高效有质量的生活成为大家追求的目标。工业革命后,信息时代的到来,自动控制和自动检测在人们生活中的比重越来越高,红外技术和传感器成为新兴宠儿。人们利用红外传感器设计出许多实用的传感器模块,比如大型活动中随处可见的自动门控制系统,医疗上的红外测温仪等等。传感器是自动控制系统中重要的组成部分,通过传感器感受接收信号,再由计算机系统对其收集的信号进行处理达到自动控制的功能。红外传感器是传感器中常见的一种,因任何物体超过绝对零度就会向外发射红外辐射而被人们广泛使用,是很实用的一种传感器模块。论文中运用的红外传感器模块是系统的重要环节,在文中详细介绍了红外辐射的概念,红外传感器的分类和应用及前景,红外测距系统的实现原理,系统的组成部分的介绍,包括A/D转换模块的原理,单片机的背景简介和各个引脚功能,LCD显示器的连接以及系统理论与实现过程中出现的一些误差的分析等。在人们对于科技的执着和不懈努力下,已经进行研究实现基于红外测距的汽车防撞系统的功能。系统主要功能是自动进行检测并实时显示汽车与周围障碍物之间的距离、车子本身的速度和加速度,结合当前和具体的汽车的制动能力推算出危险距离,并且距离进入危险值时进行报警,报警灯亮,蜂鸣器工作,必要时使用自动刹车装置迫使汽车减速。因红外线传播时扩散性小,穿越气体物质时折射率小,而且可以适应夜晚或能见度差的环境、测距时成本低廉等优点,可将这一技术在民间推广。1第一章绪论1.1课题背景随着社会的日益发展,人们利用红外传感器设计出许多实用的传感器模块,比如大型活动中随处可见的自动门控制系统,医疗上的红外测温仪等等。传感器是自动控制系统中重要的组成部分,通过传感器感受接收信号,再由计算机系统对其收集的信号进行处理达到自动控制的功能。红外传感器是传感器中常见的一种,因任何物体超过绝对零度就会向外发射红外辐射而被人们广泛使用,是很实用的一种传感器模块。1.1.1红外线概念红外线又名红外光,是一种无法用肉眼识别的光线,但它客观存在。电磁波谱就是由它与可见光、紫外线、X射线、Y射线、微波、无线电波共同组成的。红外线其实是热辐射,即当物体的温度越高,辐射出来的红外线就越多,能量就越强。人们将红外辐射称为热辐射还有一个原因是太阳光谱中单色光从紫光到红光的热效应是慢慢变大的,且最大的热效应出现在红外辐射的最大范围里。红外线被人们所熟知并广泛使用的另一大优势在于其不易发生散射,有很强的穿透力,抗干扰力。反射、折射、散射、干涉、吸收等一系列都是红外光的特性。某些物体可以吸收所有投射于其表面的称为黑体;某些物体能全部反射掉的称为镜体;而一部分吸收,一部分反射掉的物体则被称为灰体。从一般角度出发,自然界是不存在黑体镜体和透明体的。1.1.2红外技术的应用从古至今,红外线技术就备受瞩目,各种衍生的无接触测温和远距离测温技术的出现也在不同领域造福着人类。按应用领域可以分为医疗领域、安防领域、遥感领域等等,从它被发现以来,人们对它的利用和研究从未停止过,生活中处处存在着红外技术的影子。首先,红外线波长较大,可用于测距,易穿过云雾和烟尘;其次,红外线有较强的热效应,适用于红外加热;根据任何超过绝对零度的物体都会产生红外线这一原理,可衍生出夜视仪的技术,即在夜视状态下,仪器发出肉眼看不到的红外线,进而照亮需要拍摄的物体;通过红外线发射强度与物体的变化可在医学上用于分辨病人身体的发病具体位置。2已经广泛应用在军民两个领域的红外热像仪就是一个很好的例子。在军用领域,红外热像仪应用于卫星、导弹、飞机等军事装备;在民用领域,随着社会的进步发展,大型活动的增多,对于安全的要求越来越高,而红外技术的出现不仅维护了安全,更能很好地进行24小时的全天监控。另外,红外技术在医疗卫生领域有着卓越成就。小到利用红外检测体温,大到通过红外成像技术解决了类似B超、CT、核磁共振的一系列医学图像问题,使很多棘手病症变得直观。在遥感领域,红外遥感仪器获取目标的红外波段数据,经过信息处理得到有关地球环境方面的信息,如气象预报、防震减灾方面有着极大的应用价值。1.1.3单片机的应用单片机又称单片微控制器,它等价于一个微型的计算机,即将一个计算机系统集成到一个芯片上。它由运算器、控制器、存储器、输入输出设备构成,具备了体积小、质量轻、价格便宜等优点,最早用于工业控制领域。如今,单片机已经成为生活中必不可少的一部分,全自动洗衣机的控制、自动控制的机器人、医疗器械中各种呼吸机、监护仪等,方方面面都少不了它,这与单片机本身的特质是紧密不可分的。单片机体积小,功耗低,扩展方便灵活,利用单片机可以构成各种控制系统和数据采集系统,在市场各个领域的前景很好。1.2国内外研究现状测距仪是一种非常讲究精密的测量工具,应用在各个领域,具体可分为三种类型:红外测距仪,超声波测距仪和激光测距仪。红外测距仪和超声波测距仪对于所能达到的精度要求没有激光测距仪高,但自从红外技术的引进,它的一些传播特性被应用做成的测距仪。在此设计中红外传感器是研究的重要环节,热传感器和光子传感器是最常见的两种红外传感器。热传感器具有相应波段宽,使用方便简单的优点,但其灵敏度比较低,通常适合在低频调制的场合使用。根据入射的红外光会造成传感器的温度变化的原理,使参数发生变化。通过收集测量到的温度的变化来进一步判断所获得的红外辐射。热传感器可分为四类:热敏传感器型、热电偶型、高莱气动型、热释放电型。热敏电阻型传感器主要是由锰、镍、钴的氧化物混合烧制成薄片状的热敏电阻,由热敏电阻的特性可以得知入射红外辐射的强弱,即阻值减小,温度升高。热电偶型传感器是由两3种材料的热电偶组成的,且两者热电功率差别较大。由这两种金属材料构成的闭合回路的接点经红外辐射后温度升高,而没有经红外辐射的另一接点温度低,便产生了闭合回路的温差电流。通过温差电势的大小直接反应了辐射的强弱。莱气动型传感器是利用了气体吸收红外辐射后温度会升高,从而发生相对位移体积增大的原理,来反映出红外辐射的强弱。其优势是灵敏度高,性能稳定,但适用于实验室使用,响应时间长。热释电型传感器是利用铁电体的极化强度与温度之间的关系,即已经极化的铁电体表面通过红外辐射的照射后会引起温度升高,极化强度降低,表面电荷变少,等价于释放了一些电荷。将其与负载电阻相连,根据负载电阻上输出电信号的大小,反映出红外辐射的强弱。另外一种是光子传感器,它的原理是光子效应会使材料电学性质发生一定的变化,而采用入射光照射在某些半导体材料上能产生光子效应。通过对其电学性质的变化可以判断红外辐射的强弱。其优势是灵敏度高,响应快,一般在低温下进行工作,其波段较窄。通常根据光子传感器的工作原理有内光电和外光电传感器两种类型,外光电传感器中又可以分为光电导传感器、光生伏特传感器和光磁电传感器等。如今,在社会极速发展的背景下,红外传感器的应用越来越广泛,红外探测器可用于非接触式的温度测量,分析相关气体成分,红外遥感,热像检测等,而其前景越来越开阔。其趋势主要是向智能化、微型化和高灵敏度的方向发展。在如今,红外技术被作为一项高科技的技术,使其与激光技术一同发展,在军事方面有着不可替代的地位。例如红外成像技术、红外侦察技术、红外追踪技术、红外制导技术、红外预警技术等技术在现代和未来军事战争中都是很重要的战术和战略手段,是必不可少的一类武器。从70年代往后,军事红外技术也进一步发展,慢慢向民用领域方面转化。红外加热与干燥的技术广泛应用于工农业、医学、交通等各个领域中。红外测温湿度、红外检测、红外警报、红外遥感等技术的发展与应用更是预示着社会的发展和创新。红外热成像技术作为新兴成就,与雷达、电视一并成为了当代三大传感系统,发展前景广阔。4第二章系统总体方案设计2.1系统基本要求采用红外传感器测距,通过单片机实现基本设置,近距离进行数据采集与计算,液晶显示。设计的方案在硬件上应尽可能地避免外部干扰。采用的各个硬件应能兼容并很好的实现测距效果,减少误差的发生,及时在显示屏上清楚的显示。软件上应有属于自己的开机显示效果,如专业和姓名等。从中更系统地认识单片机,掌握A/D转换的细节过程,以及红外收发模块的原理。2.2硬件系统设计方案基于单片机的红外测距系统,其关键在于红外收发模块。测距的方案有三种:其一,通过速度即光速、时间的关系联系到距离的测算,即将红外发射管发送红外线的时间与接收管接收红外线的时间差写入单片机中,在单片机中通过光速和时间联系距离的公式算法将距离计算出来,见图2-1;图2-1利用时间差测距法其二是通过红外线发射光的强弱来测距,光的衰减是线性的即由红外发光管发出红外线,被红外接收电路的光敏接收管所接收,然后根据发射出的红外光的强弱来判断出所要测的距离长短。由于接收管接收的光强度是随着发光管与测量物的距离变化而变化的,因此,当与测量物的距离近时,接收光强,距离远时,接收光弱。测量出时间差T单片机STC89C52距离公式S=C*T距离显示红外传感器模块5图2-2利用光强测距法其三是通过三角测量原理,如图2-3,红外发射器按照一定的角度发射红外光束,当遇到物体以后,光束会反射回来。反射回来的红外光线被PSD检测器检测到以后,会获得一个偏移值L,利用三角关系,在知道了发射角度a,偏移距L,中心矩X,以及滤镜的焦距f以后,传感器到物体的距离D就可以通过几何关系计算出来了。图2-3利用三角测量测距法考虑到系统测量的距离比较近,而方案一中光速很快,时间很短,相应的误差比较大,时间差难以获得,设计中不可行。而方案二中通过接收光强来获取电压的变化,设计中可行,但受到的外部环境因素干扰较大,测距误差较大不可行。而在方案三种,利用红外传感器的三角测距原理,通过红外发射管发射出红外光,经障碍物反射到PSD上,根据入射光斑落在器件感光面的不同位置时,PSD将对应输出不同的电信号。经过AD转换成单片机可识别的数字量,即电压值,通过单片机内部程序转化为距离并通过LCD显示出来,并将对应的距离记录下来。通过一段范围内的测量,将收集的数据写入单单片机STC89C52实验资料距离显示红外传感器接收光强单片机STC89C52实验资料距离显示红外传感器三角测量6片机中,便可进行测量距离了。此方案不受到光强的影响,测量更准确,可行。2.3软件系统设计方案红外测距系统软件设计主要由主程序,延时函数,LCD1602显示程序函数组成。汇编的第一步首先是定义了很多引脚,定义了警戒值,定义了电压与距离之间的关系,定义了延时程序,将显示屏1602初始化等等子程序的编译,然后进入主程序的汇编,LCD初始化进行开机效果设置,调用子程序进行AD数据采集以及数据处理的过程,并由距离的远近设置液晶屏显示的内容和蜂鸣器警示灯的工作情况。此程序中子函数被多次调用,读Handle函数,毫秒延时函数,1602液晶屏写命令函数write_comd,1602液晶屏写数据函数write_date,单片机寄存器工作方式的设置时钟程序,AD采集数据后的排序方式设置,数据处理取平均值的程序,按键扫描程序,1602初始化函数,LCD清屏函数等,具体系统过程如下图2-4所示。图2-4系统过程框图在实际程序的编译中还是很充满挑战的,首先是要先将AD采集数据的程序写入单片机中,进行实验,记录下所测的固定距离对应的信号强度,然后将对应的数据编入程序里,最后再由红外传感模块进行测量,即可由距离与电压的关系函数显示出相对应的距离值,主程序是整个程序的基本骨架,也是核心。但在实际操作中函数的推导与获得是先由距离得出电压的,举例说明,此设计中是用卷尺量10cm距离,再由红外测距模块来量10cm距离,这时测量出10cm距离所对应的电压并记下来。利用相同的方法将不同几组距离的电压分别记下来,根据数学知识将这个对应关系变成一个计算距离的函数,以后测距离的时候就可以应用这个函数来得出距离了。STC89C52红外发射电路A/D转换电路红外接收电路LCD显示键盘接口电路7第三章系统硬件设计3.1电源电路模块电源电路分为交流电源电路和直流电源电路两种,此设计使用交流电源电路进行供电。如图3-1所示,P2为电源座子,用于插电源,S1为电源开关,由它的通断来控制整个板子的工作情况。R1和D1是电源指示灯,两个电容是电源滤波电容。由于实际电路中电源总存在内阻,通过滤波可降低其交流阻抗。图3-1电源电路3.2LCD1602显示模块LCD1602采用标准的16脚接口,如图3-2显示电路。图3-2LCD1602显示模块8各引脚功能定义如下:第1脚:GND接地第2脚:VCC接5V电源正极第3脚:V0是液晶显示器对比度调整端,当它接的是正电源时对比度最弱,相反当它接地时对比度最高(但是对比度过高会引起“鬼影”的现象,故使用时在此设计中加入一个3k电阻调整对比度)。第4脚:RS为寄存器选择,当它是高电平时则为数据寄存器,当它是低电平时为指令寄存器。第5脚:RW为读写信号线,当它为高电平时进行读操作,当它为低电平时进行写操作。第6脚:E端为使能端。第714脚:D0D7为8位双向数据端,此设计中将第714脚的双向数据端与单片机STC89C52的P0管脚对应相连。第1516脚:空脚或背灯电源。15脚背光正极,16脚背光负极。在编程中,尤为重要的就是RS引脚,R/W引脚和使能引脚。两者之间的关系可由下表3-2表示。表3-2引脚说明表RSR/W操作说明00写入指令D0-D701读取输出的状态字D0-D7(读写检测:D7=1,禁止读写操作;D7=0,允许读写操作)10写入数据D0-D711读取数据D0-D73.3STC89C52单片机概述STC89C52是STC公司推出的产品,以低功耗、高性能著称,是一个CMOS8位的微控制器,具有8K在系统可编程Flash存储器。STC89C52与传统51单片机相比,增加了很多本来没有的功能,但仍使用经典的MCS-51内核。在单芯片上,拥有8位CPU以及在系统可编程Flash,为此,单片机STC89C52才能为不少嵌入式控制应用系统带来高灵活、超有效的解决方案。STC89C52具有以下标准功能:8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KBEEPROM,MAX810复位电路,3个16位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。另外STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空9闲模式下,CPU停止运行,并允许RAM、定时器/计数器、串口、中断继续工作。遇到掉电问题,会启动保护方式,即保存RAM里面的内容,在下一个中断或硬件复位之前止冻结振荡器,停止单片机的一切工作。另外,STC89C52最高运作频率为35MHz,有6T/12T可选。图3-3单片机最小系统控制电路STC89C52的时钟信号一般有内部时钟和外部时钟两种方式产生。其内部有一振荡电路,当单片机的XTAL1和XTAL2引脚外接晶振时,就可以构成自激振荡器,并在单片机的内部产生时钟脉冲信号。如果在STC89C52单片机的RST复位引脚上接入高电平,并保持2个机器周期,则单片机内部就执行复位操作(如果此引脚一直保持高电平不变,则单片机就会一直处于复位状态)。复位电路一般有上电自动复位和按钮复位两种方式。课题设计中就是采用了按键手动复位。按键手动复位有电平方式和脉冲方式两种。其中电平复位是通过RST端经过电阻与电源VCC接通来实现的。最小系统如图3-3所示。如图3-4所示,各引脚功能如下:P1.0-P1.7和P2.0-P2.7,P3.0-P3.7为双向I/O端口,其中:P2.0-P2.2与KEY0-KEY2分别相连,如图3-3-2所示按键电路。按键电路一边接地,一边接I/O,通过单片机来检查这些I/O,看有没有按键按下。10图3-4按键扫描模块P3.0为串行口输入端,P3.1为串行口输出端,P3.2为外部中断0输入端,P3.3为外部中断1输入端,P3.4为定时器/计数器0外部输入端,P3.5为定时器/计数器1外部输入端,P3.6为片外数据存储器写选通信号输出端,P3.7为片外数据存储器读选通信号输出端。X2即XTAL2,接外部晶体振荡器的一端。片内是一个振荡电路反相放大器的输出端。X1即XTAL1,接外部晶体振荡器的另一端。片内是一个振荡电路反相放大器的输入端。ALE为地址锁存信号端。访问片外存储器时,ALE作低八位地址的锁存控制信号,不访问片外存储器时,该端以1/6的时钟振荡频率固定输出脉冲。EA为访问外部程序存储器控制信号,接地则从外部读取指令,接高电平则从内部读取指令。PSEN为外部程序存储器选通信号。REST复位端,高电平有效。3.4A/D转换模块ADC0809是CMOS单片型逐次逼近式A/D转换器,内部结构如图3-5所示,它由8路模拟开关、地址锁存与译码器、比较器、8位开关树型A/D转换器、逐次逼近寄存器、逻辑控制和定时电路组成。(1)ADC0809引脚功能如下:IN0IN7:8路模拟量输入端。2-12-8:8位数字量输出端。ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一路。ALE:地址锁存允许信号,输入端,高电平有效。START:A/D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉11冲上升沿使0809复位,下降沿启动A/D转换)。EOC:A/D转换结束信号,输出端,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。OE:数据输出允许信号,输入端,高电平有效。当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。CLK:时钟脉冲输入端。要求时钟频率不高于640KHz。REF(+)、REF(-):基准电压。VCC:电源,单一+5V。GND:接地。图3-5ADC转换引脚图(2)ADC0809工作原理ALE为地址锁存允许输入线,高电平有效。当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。A,B和C为地址输入线,用于选通IN0IN7上的一路模拟量输入。通道选择表如下表3-4-2所示。表3-4-2通道选择表CBA选择的通道000IN0001IN1010IN2011IN3100IN4101IN5110IN612111IN7CLK为时钟输入信号线。因ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ,VREF(),VREF()为参考电压输入。START为转换启动信号。当START上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,START应保持低电平。EOC为转换结束信号。当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。OE1,输出转换得到的数据;OE0,输出数据线呈高阻状态。D7D0为数字量输出线。3.5红外测距传感器模块红外测距传感器主要测量障碍物与红外模块之间的距离,其内部主要由红外发射管,红外接收管,位置灵敏探测器PSD和信号处理模块组成,有效距离430厘米。外部由三根线组成,黑色(地线),红色(+5V),黄色(信号线)。如图3-6所示,1端口为信号线,将数据传送给单片机,2端口接地,3端口接电源。图3-6红外传感器模块在设计中,采用了夏普4-30cm的红外传感测距装置,其基本参数如下表3-5-2。表3-5-2红外传感装置参数型号GP2Y0A02YKOF类型光电传感器测量距离4-30cm电源电压4.5-5.5V输出信号模拟型制作工艺集成电源电压-0.3V+7V输出端口电压-0.3V+0.3V工作温度-10+60储存温度-40+7013夏普GP2Y0A02YKOF红外传感器的特性曲线如图3-7所示,由图可知,距离与电压的关系是非线性的,并且在3cm的位置电压下降很快。图3-7电压-距离曲线图作为设计中的核心要素,其工作原理是红外发射管发射出的红外线经过障碍物的反射落在PSD上,而PSD是一种对其感光面上入射光斑重心位置敏感的光电器件。即当入射光斑落在器件感光面的不同位置时,PSD的光斑活动位置可由光传感器的两端电极输出的电流决定,PSD将对应输出不同的电信号。通过对此输出电信号的处理,即可确定入射光斑在PSD的位置。由于PSD具有精度高的优点,在测量障碍物时,即使测量物体位置有微小的变化,理论上电压值都会有很明显的变化。3.6蜂鸣器报警模块图3-8蜂鸣器报警模块14如图3-8所示,报警电路将蜂鸣器接在PNP三极管的发射极,在基极和集电极之间接了一个5k的电感,基极电感为5k。报警模块的工作原理是:当红外测距模块接收到反射回来的红外光,此模块会转换为电压并进行判断障碍物的距离,当距离达到一定危险值时,单片机会给报警模块输入一个电压信号,从而PNP三极管导通,电流流过蜂鸣器,产生警报,此过程由软件控制。3.7红外线测距系统硬件显示如图3-9,整个红外线测距系统由电源电路,单片机最小系统控制电路,下载电路,按键扫描电路,LCD1602显示电路,红外测距传感器模块,A/D转换电路,报警电路组成。图3-9系统整体显示单片机STC89C52、时钟电路和复位电路共同组成了单片机最小系统。时钟电路通过XTAL1和XTAL2串连一个晶振,再分别与一个30p的电容相连,两个电容另一端都接地来实现。RES同时接上10uF电容,4脚按键,1k电阻,4脚按键另一端接上一个1k电15阻再与10uF电容并联接VCC,10k电阻的另一端则接地,构成复位电路。单片机STC89C52右端P0端同时接LED的D1-D7端口和排阻。第四章系统软件设计4.1程序的总体设计整个过程一开始红外模块启动,单片机进行初始化。由于红外测距传感器模块可发射红外线到障碍物并反射回来产生一定距离所对应的电压信号,然后通过A/D转换模块将片外模拟信号转换为单片机可识别的数字信号,最后经过程序将电压转换为距离,通过LCD1602显示出来。当障碍物的距离超过预定的范围时,蜂鸣器会工作,从而警报。系统流程图如下图4-1所示。图4-1系统总体流程图开始单片机初始化LCD初始化A/D转换屏幕显示结束164.2系统程序模块#includesystem.h#includeAD0809.huintBuf10=0;/用于储存10次AD转换的值,然后取平均值uintAD_data=0;ucharm4=ADdatais000;ucharcodetable1=0123456789;ucharcodetable2=juli;uchartable3=Alarmis04cm;ucharcodetable4=11dzwangyiyi;ucharcha16;ucharcodem=;ucharcoded=30cm;ucharc=0;x-)for(y=120;y0;y-);voidbuzzer()beef=0;delay(100);beef=1;voidwrite_comd(ucharcomd)/1602液晶屏写命令函数rs=0;P0=comd;delay(2);en=1;delay(5);en=0;voidwrite_date(uchardate)/1602液晶屏写数据函数rs=1;P0=date;delay(2);en=1;delay(5);en=0;voidTime_Init()/用来给0809提供时钟TMOD|=0x01;TH0=0xFF;TL0=0xFE;EA=1;ET0=1;voidAD_Data_Sort(uint*str,ucharn)/冒泡法升序排序uinti,j,k;for(i=0;i0)count-;19Alarm=Vcount;table39=Lcount/10+0x30;table310=Lcount%10+0x30;write_comd(0x80+0x40);/写液晶屏数据到第二行for(i=0;i=Alarm)/0809输入到单片机的电压值,离障碍物越近,红外检测脚的电压越高,这里是高于20cm,停止检测并报警beef=0;/蜂鸣器报警LED=1;c1=table39;c2=table310;write_comd(0x80+0x40);/写液晶屏数据到第二行if(m=141)/测量距离小于4CMc1=0+0x30;c2=4+0x30;for(i=0;iVj+1)break;write_date(table1Lj/10);write_date(table1(Lj)%10);write_date(a0);write_date(a1);21write_date();elseif(m30CMelse测量距离在设定范围内LED=0;beef=1;for(j=0;jVj+1)break;for(i=0;i15;i+)write_comd(0x80+0x40);/写液晶屏数据到第二行write_date(table1Lj/10);write_date(table1(Lj)%10);write_date(a0);write_date(a1);write_date();以下是A/D转换部分程序:#includead0809.h/uintAD0809;/CLK振荡信号,要求时钟频率不高于640KHZvoidTimer0Interrupt(void)interrupt1TH0=0xFF;/0809时钟频率设置为500KHZTL0=0xfe;CLK=!CLK;/取反22ucharAD0809_Change()ucharAD0809,AD=0;ST=0;/使采集信号为低ST=1;/开始数据转换ST=0;/停止数据转换while(!EOC);OE=1;/允许数据输出信号AD0809=P1;/读取数据OE=0;/关闭数据输出允许信号returnAD0809;23第5章系统调试与分析5.1系统硬件调试在红外测距系统的设计过程中,电源部分加上了一个滤波电路,目的在于使信号稳定,不然显示屏会因为不稳定而出现闪烁的现象,虽然从总体来说不影响结果,但毕竟增加了实验误差。在设计过程中,主控模块是十分重要的部分,它是这次设计的重点。在硬件调试部分也遇到了一些问题,例如当焊好的板子插上电源后,显示屏不亮,没有预期的任何显示,于是做了以下的检查工作:(1)检查电源是否正常工作,发现指示灯亮着;(2)编程使P1为低电平,检查到P1输出也为低;(3)检查P0口发现其未接上拉电阻,接上显示屏发亮了。在硬件调试中还遇到了其他问题,例如显示屏有显示,但显示数字与预期出入很大,调节距离后,显示还是不变,检查后发现AD0809与电源没接好,或单片机的KEY1,KEY2,KEY3接触不良。5.2系统软件调试硬件电路设计好,并进行了一定的调试后,就可以将编译好的程序烧录到单片机里进行运行了。根据所编写的程序规定,alarm为4cm,大于30cm会显示大于30,即测距仪能测的范围为,4cm30cm,测距仪最大误差不超过0.5cm。系统调试完后设置多个距离,并对各个距离进行多次测量,再与设定值进行比较,对误差进行多次实验分析,通过调整模块和修改程序达到实际预期的测量要求。为了更好地了解电压与距离之间的关系,我对程序做了些许修改,在原本设置小于4cm会有警报,改为可根据自主需要自动设置危险距离。这样,在现实生活中对于误差的避免有了一定改善。245.3调试故障及原因分析在焊接的时候虚焊漏焊等问题时有发生,结果导致显示不稳定有闪烁。接线过程中也很容易碰到旁边密集的导线致使接线松动,没接到或者接触不良。另外实验选择环境的不同也会导致误差的出现。在介质为空气的传播过程中红外线是会有一定程度的衰减的,其衰减为指数规律。经过实验可知其测量距离范围在4到30cm之间,但是当介质不同时,如空气不纯,尘埃过多时,会导致红外线强度降低,测量会发生误差,且测量距离变小。另外当实验环境存在其

温馨提示

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

评论

0/150

提交评论