基于51单片机的超声波测距仪之倒车雷达作品设计毕业论文.docx
《基于51单片机的超声波测距仪之倒车雷达作品设计毕业论文.docx》由会员分享,可在线阅读,更多相关《基于51单片机的超声波测距仪之倒车雷达作品设计毕业论文.docx(50页珍藏版)》请在冰豆网上搜索。
基于51单片机的超声波测距仪之倒车雷达作品设计毕业论文
基于51单片机的超声波测距仪之倒车雷达作品设计毕业论文
基于51单片机的超声波测距仪
之倒车雷达作品设计毕业论文
摘要:
超声波具有指向性强,能量消耗缓慢,传播距离较远等优点,所以,在利用传感器技术和自动控制技术相结合的测距方案中,超声波测距是目前应用最普遍的一种,他广泛应用于防盗、倒车雷达、水位测量、建筑施工工地以及一些工业现场。
本课题详细介绍了超声波传感器的原理和特性,以及STC公司的STC89C52的单片机的性能和特点,并在分析了超声波测距的原理的基础上,指出了设计测距系统的不足并加以改进,将温度引起的误差考虑在内并且加以修正,给出了以STC89C52单片机为核心的低成本、高精度、液晶显示超声波测距系统的硬件电路和软件设计方法。
该系统电路设计合理、工作稳定、性能良好、检测速度快、计算简单并且做到了可设计报警范围的功能,在测量精度方面能达到工业使用的要求。
关键词:
单片机;液晶显示;报警;测距
Ultrasonicdistancemeasurementbasedonsinglechip
Abstract:
Ultrasoundhasastrongpoint,theenergyconsumptionoftheslowspreadoftheadvantagesofdistance,sotheuseofsensortechnologyandautomaticcontroltechnology,theprogramcombinesdistance,ultrasonicdistancemeasurementisthemostcommonone,andhe widelyusedinsecurity,parkingsensor,waterlevelmeasurement,constructionsitesandsomeindustrialsites.
Thissubjectintroducestheprinciplesandcharacteristicsofultrasonicsensors,andmicrocontrollerSTC89C52STC'sperformanceandcharacteristics,andtheanalysisoftheultrasonicdistancemeasurementbasedontheprinciplethatthelackofdesignrangingsystemandmakeimprovements,will intoaccounttheerrorduetotemperatureandshouldbeamendedtoSTC89C52givenlow-costmicrocontrollerasthecore,high-accuracy,liquidcrystaldisplayultrasonicrangingsystemofhardwareandsoftwaredesignmethods. Thesystemcircuitdesignisreasonable,stable,goodperformance,fastdetectionofsimplecalculationandcanbedesignedtoachievethealarmrangeoffunctionstoachieveprecisioninthemeasurementrequirementsforindustrialuse.
Keywords:
microcontroller;LCDdisplay;alarm;ranging
1绪论
1.1研究的背景
单片机技术的迅速兴起与蓬勃发展,其稳定、安全、高效、经济等优点十分突出,所以其应用也十分广泛。
单片机已经无处不在、与我们生活息息相关,并且渗透到生活的方方面面,如空调、VCD机、手机、微波炉、自动洗衣机及汽车电子设备等。
单片机的特点是体积较小,也就是其集成特性,其内部结构是普通计算机系统的简化,增加一些外围电路,就能够组成一个完整的小系统,单片机具有很强的可扩展性。
它具有和普通计算机类似的、强大的数据处理功能,通过使用一些科学的算法,可以获得很强的数据处理能力。
所以单片机在工业应用中,可以极大地提高工业设备的智能化、数据处理能力和处理效率,而且单片机无需占用很大的空间。
同时,随着社会的发展和进步,超声波测距系统日益重要,应用范围迅速扩大,由于超声测距是一种非接触检测技术,不受光线、被测对象颜色等的影响,在较恶劣的环境(如含粉尘)具有一定的适应能力,因此用途极度广泛。
在测绘地形图,建造房屋、桥梁、道路、开挖矿山、油井等,倒车雷达、建筑施工工地以及一些工业现场,例如液位、井深、管道长度等场合应用比较普遍。
利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求。
1.2研究的主要内容
课题《基于单片机的超声波测距》由51单片机最小系统、超声波测距模块、驱动显示电路、5伏直流稳压电路、温度传感器等组成。
利用超声波测距模块HC-SR04测量距离,并对数据进行分析处理,传给51单片机,再通过1602LCD显示出来,同时电源部分采用5V稳压直流电源。
1.3应解决的关键问题
1、对主要硬件电路设计、制作实物时拟解决的关键问题是:
温度等外界干扰对测距精度的影响。
2、超声波测距采用软件编程实现,通过仿真验证其正确性。
2电路方案论证
2.1方案比较
2.1.1激光测距
激光测距一般采用两种方式来测量距离:
脉冲法和相位法。
脉冲法测距的过程:
测距仪发射出的激光经被测量物体的反射后又被测距仪接收,测距仪同时记录激光往返的时间,光速和往返时间的乘积的一半,就是测距仪和被测量物体之间的距离。
相位法测距的过程:
用无线电波段的频率,对激光束进行幅度调制并测定调制光往返测线一次所产生的相位延迟,再根据调制光的波长,换算此相位延迟所代表的距离,即用间接方法测定出光经过往返测线所需的时间。
2.1.2超声波测距
超声波测距的原理是利用超声波在空气中的传播速度为已知,测量声波在发射后遇到障碍物反射回来的时间,根据发射和接收的时间差计算出发射电到障碍物的实际距离,可见这与雷达测距原理相似。
超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。
从以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计也比较简单,故采用了方案二。
2.2电路总体方案
图2.1是电路总体框图,包括51单片机最小系统,HC-SR04超声波测距模块,1602LCD显示电路,蜂鸣器,按键电路,5V电路。
图2.1电路基本框图
3单片机概述
3.1STC89C52主要性能
STC89C52是STC公司推出的一款超强抗干扰,加密性强,在线可编程,高速,低功耗CMOS8位单片机。
片内含8kbytes的可反复擦写Flash只读程序存储器和256bytes的随机数据存储器(RAM),器件采用STC公司的高密度、非易失性存储技术生产,与标准MCS-51指令系统及8052产品引脚兼容,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大的STC89C52单片机适合于许多较为复杂控制应用场合。
3.2STC89C52外部结构及特性
其外形封装有两种方式:
双列直插式40脚封装(DIP)和方形44脚封装(PLCC),直插式40脚封装(DIP)和外部总线结构如图2和图3所示:
图3.1STC89C52引脚排列图3.2外部总线
STC89C52的4个8位I/O口的功能说明如下:
(1)P0口:
P0口是一个8位漏极开路的双向I/O口。
作为输出口,每位能驱动8个TTL逻辑电平。
对P0端口写“1”时,引脚用作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。
在这种模式下,P0具有内部上拉电阻。
在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。
程序校验时,需要外部上拉电阻。
(2)P1口:
P1口是一个具有内部上拉电阻的8位双向I/O口,p1输出缓冲器能驱动4个TTL逻辑电平。
对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和定时器/计数器2的触发输入(P1.1/T2EX)。
在flash编程和校验时,P1口接收低8位地址字节。
(3)P2口:
P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。
对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR)时,P2口送出高八位地址。
在这种应用中,P2口使用很强的内部上拉发送1。
在使用8位地址(如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器的内容。
在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。
(4)P3口:
P3口是一个具有内部上拉电阻的8位双向I/O口,p2输出缓冲器能驱动4个TTL逻辑电平。
对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
在flash编程和校验时,P3口也接收一些控制信号。
P3口亦作为AT89C52特殊功能(第二功能)使用,如下所示:
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2INTO(外部中断0输入口)
P3.3INT1(外部中断1输入口)
P3.4TO(定时器0外部输入)
P3.5TI(定时器1外部输入)
P3.6WR(外部数据存储器写选通信号)
P3.7(外部数据存储器读选通信号)
3.3STC89C52内部组成
STC89C52单片机在一块芯片中集成了CPU、RAM、ROM、定时器/计数器、看门狗和多种功能的I/O口设备的等,相当于一台计算机所需要的基本功能部件。
STC89C52单片机内包含的具体部分如下:
一个8位CPU。
一个片内振荡器及时钟电路。
8KBFlash程序存储器。
256BRAM数据存储器。
三个16位定时器/计数器。
可寻址64KB的外部数据存储器和64KB的外部程序存储器空间的控制电路。
32条可编程的I/O线(4组8位并行I/O端口)。
一个可编程全双工串口通信。
8个中断源、两个优先级嵌套中断结构。
STC89C52单片机的框图如图3.3所示,各功能部件由内部总线连接在一起。
图3.3STC89C52单片机框图
4超声波测距模块
4.1超声波传感器介绍
超声波是一种频率比较高的声音,由于其指向性强、能量消耗缓慢、传播距离较远等优点,而经常用于距离的测量,如测距仪和物位测量仪等都可以通过超声波来实现。
超声波测距主要应用于倒车雷达、建筑施工工地以及一些工业现场,例如液位、井深、管道长度等场合。
超声波测距的利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的要求,因此在测控系统的研制上得到了广泛应用。
超声传感器是一种将其他形式的能转变为所需频率的超声能或是把超声能转变为同频率的其他形式的能的器件。
目前常用的超声传感器有两大类,即电声型与流体动力型。
电声型主要有:
1压电传感器;2磁致伸缩传感器;3静电传感器。
流体动力型中包括有气体与液体两种类型的哨笛。
由于工作频率与应用目的不同,超声传感器的结构形式是多种多样的,并且名称也有不同,例如在超声检测和诊断中习惯上都把超声传感器称作探头,而工业中采用的流体动力型传感器称为“哨”或“笛”。
压电传感器属于超声传感器中电声型的一种。
探头由压电晶片、楔块、接头等组成,是超声检测中最常用的实现电能和声能相互转换的一种传感器件,是超声波检测装置的重要组成部分。
压电材料分为晶体和压电陶瓷两类。
属于晶体的如石英,铌酸锂等,属于压电陶瓷的有锆钛酸铅,钛酸钡等。
其具有下列的特性:
把这种材料置于电场之中,它就产生一定的应变;相反,对这种材料施以外力,则由于产生了应变就会在其内部产生一定方向的电场。
所以,只要对这种材料加以交变电场,它就会产生交变的应变,从而产生超声振动。
因此,用这种材料可以制成超声传感器。
传感器的主要组成部分是压电晶片。
当压电晶片受发射电脉冲激励后产生振动,即可发射声脉冲,是逆压电效应。
当超声波作用于晶片时,晶片受迫振动引起的形变可转换成相应的电信号,是正压电效应。
前者用于超声波的发射,后者即为超声波的接收。
超声波传感器一般采用双压电陶瓷晶片制成。
这种超声传感器需要的压电材料较少,价格低廉,且非常适用于气体和液体介质中。
在压电陶瓷上加有大小和方向不断变化的交流电压时,根据压电效应,就会使压电陶瓷晶片产生机械变形,这种机械变形的大小和方向在一定范围内是与外加电压的大小和方向成正比的。
也就是说,在压电陶瓷晶片上加有频率为f0交流电压,它就会产生同频率的机械振动,这种机械振动推动空气等媒介,便会发出超声波。
如果在压电陶瓷晶片上有超声机械波作用,这将会使其产生机械变形,这种机械变形是与超声机械波一致的,机械变形使压电陶瓷晶片产生频率与超声机械波相同的电信号。
图4.1压电式超声波传感器结构图
压电式超声波发生器实际上是利用压电晶体的谐振来工作的,超声波发生器内部结构如图2.1所示,它有两个压电晶片和一个共振板,当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动,便产生超声波。
反之,如果两电极间未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转化为电信号,这时它就成为超声波传感器。
压电陶瓷晶片有一个固定的谐振频率,即中心频率f0。
发射超声波时,加在其上面的交变电压的频率要与它的固有谐振频率一致。
这样,超声传感器才有较高的灵敏度。
当所用压电材料不变时,改变压电陶瓷晶片的几何尺寸,就可非常方便的改变其固有谐振频率。
利用这一特性可制成各种频率的超声传感器。
超声波传感器的内部结构由压电陶瓷晶片、锥形辐射喇叭、底座、引线、金属壳及金属网构成,其中,压电陶瓷晶片是传感器的核心,锥形辐射喇叭使发射和接收超声波能量集中,并使传感器有一定的指向角,金属壳可防止外界力量对压电陶瓷晶片及锥形辐射喇叭的损坏。
金属网也是起保护作用的,但不影响发射与接收超声波。
4.2HC-SR04超声波测距模块的性能特点
HC-SR04超声波测距模块可提供2cm-400cm的非接触式距离感测功能,测距精度可高达3mm,模块包括超声波发射器、接收器与控制电路。
其基本工作原理:
(1)采用IO口TRIG触发测距,给至少10us的高电平信号;
(2)模块自动发送8个40khz的方波,自动检测是否有信号返回;
(3)有信号返回,通过IO口ECH0输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。
测试距离=(高电平时间*声速/340M/S)/2;
(4)当TRIG从0->1时,主控制板启动,当超时10ms时ECH0仍然没有出现150us的0信号,表示没有障碍。
本模块性能稳定,测度距离精确,其主要特点:
(1)超微型,只相当于两个发射,接收头的面积已经没法再小了;
(2)无盲区(10mm内成三角形误差较大,简单可以当做0处理);
(3)反应速度快,10ms的测量周期,不容易丢失高速目标;
(4)发射头,接收头紧靠,和被测目标基本成直线关系;
(5)模块上有LED指示,方便观察和测试。
4.3HC-SR04的管脚排列和电气参数
4.3.1管脚简介
HC-SR04的外形及管脚排列如图4.2所示。
(1)VCC为5V电源;
(2)GND为地线;
(3)TRIG触发控制信号输入;
(4)ECH0回响信号输出。
图4.2外形及管脚排列图
4.3.2HC-SR04的电气参数
电气参数如表4.1所示:
表4.1电气参数表
电气参数
HC-SR04超声波模块
工作电压
DC5V
工作电流
15mA
工作频率
40Hz
最远射程
4m
最近射程
2cm
测量角度
15度
输入触发信号
10us的TTL脉冲
输出回响信号
输出TTL电平信号,与射程成比例
规格尺寸
45*20*15mm
4.4超声波时序图
图4.3超声波时序图
此时序图表明只需提供一个10us一上脉冲触发信号,该模块内部将发出8个40kHz周期电平并检测回波。
一旦检测到右回波信号则输出回响信号。
回响信号的脉冲宽度与所测的距离成正比。
由此通过发射信号到收到的回响信号时间间隔可以计算得到距离。
公式:
uS/58=厘米或者uS/148=英寸;或是:
距离=高电平时间*声速(340M/S)/2;建议测量周期为60ms一上,以防止发射信号对回响信号的影响。
5系统硬件电路设计
5.1单片机最小系统
5.1.1STC89C52芯片
本次设计我们所采用的是STC89C52单片机,是一种带8k字节闪烁可编程可擦除只读存储器的低电压、高性能COMOS8的微处理器,该器件有40引脚,速度较快,价格便宜,烧录方便,通过串口即可下载,还可以实现在线编程,采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
5.1.2复位电路
为确保微机系统中电路稳定可靠工作,复位电路是必不可少的一部分,复位电路的基本功能是:
系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。
为可靠起见,电源稳定后还要经一定的延迟才撤销复位,以防电源开关或电源插头分-合过程中引起的抖动而影响复位。
当单片机的复位引脚出现2个机器周期以上的高电平时,单片机就执行复位操作。
如果RST持续为高电平,单片机就处于循环复位状态。
所以复位引脚的电容大一点没多大关系,顶多是复位时间长一点;但如果电容太小,高电平持续时间太短,则单片机无法正常复位,就不能工作,电容通常取10UF或22UF,铝电解电容即可。
单片机的复位电路在刚接通电时,刚开始电容是没有电的,电容内的电阻很低,通电后,5V的电源通过电阻给电解电容进行充电,电容两端的电会由0V慢慢的升到4V左右(此时间很短一般小于0.3秒),正因为这样,复位脚由低电位升到高电位,引起了内部电路的复位工作;当按下复位键时,电容两端放电,电容又回到0V了,于是又进行了一次复位工作。
电路图如图5.1。
图5.1复位电路
5.1.3晶振电路
它是单片机系统正常工作的保证,如果振荡器不起振,系统将会不能工作。
假如振荡器运行不规律,系统执行程序的时候就会出现时间上的误差,这在通信中会体现的很明显:
电路将无法通信。
它是由一个晶振和两个瓷片电容组成的,晶振和瓷片电容是没有正负的,两个瓷片电容相连的那端一定要接地,如图5.2所示。
图5.2晶振电路
一般单片机的晶振工作于并联谐振状态,也可以理解为谐振电容的一部分。
它是根据晶振厂家提供的晶振要求负载电容选值的,换句话说,晶振的频率就是在它提供的负载电容下测得的,能最大限度的保证频率值的误差,也能保证温漂等误差。
机器周期:
通常从内存中读取一个指令字的最短时间来规定CPU周期,(也就是计算机通过内部或外部总线进行一次信息传输从而完成一个或几个微操作所需要的时间),它一般由12个时钟周期组成。
而时钟周期=1秒/晶振频率,因此单片机的机器周期=12秒/晶振频率,补充其他几个周期:
指令周期(InstructionCycle):
取出并执行一条指令的时间。
总线周期(BUSCycle):
也就是一个访存储器或I/O端口操作所用的时间。
时钟周期(ClockCycle):
又称节拍周期,是处理操作的最基本单位。
(晶振频率的倒数,也称T状态)
指令周期、总线周期和时钟周期之间的关系:
一个指令周期由若干个总线周期组成,而一个总线周期时间又包含有若干个时钟周期。
一般处理器的一个机器周期由12个时钟周期所组成。
所以单片机用12M晶振,运行速度为1M。
负载电容=[(Cd*Cg)/(Cd+Cg)]+Cic+△C[6],跟晶振特性、单片机内部时钟电路等效电容有关。
两个电容的取值都是相同的,或者说相差不大,如果相差太大,容易造成谐振的不平衡,容易造成停振或者干脆不起振。
其起到一个并联协振的作用,这样可以让它的脉冲更平稳与协调。
5.2驱动显示电路及报警电路
显示电路采用1602LCD液晶显示屏,当超过已设定的距离时,蜂鸣器可实现报警功能并可通过按键实现有限距离的调整。
5.2.11602LCD液晶显示屏
1602LCD显示屏是一种工业字符型液晶,所谓1602是指显示的内容为16*2,即可以显示两行,每行16个字符,目前市面上字符液晶绝大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。
1602液晶模块内部的字符发生存储器已经存储了160个不同的点阵字符图形,这些字符有:
阿拉伯数字、英文字母的大小写、常用的符号和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。
其管脚功能表和寄存器选择控制表如表所示:
表5.1管脚功能表
引脚
符号
功能说明
1
VSS
一般接地
2
VDD
接电源(+5V)
3
V0
液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。
4
RS
RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。
5
R/W
R/W为读写信号线,高电平
(1)时进行读操作,低电平(0)时进行写操作。
6
E
E(或EN)端为使能(enable)端,下降沿使能。
7
DB0
底4位三态、双向数据总线0位(最低位)
8
DB1
底4位三态、双向数据总线1位
9
DB2
底4位三态、双向数据总线2位
10
DB3
底4位三态、双向数据总线3位
11
DB4
高4位三态、双向数据总线4位
12
DB5
高4位三态、双向数据总线5位
13
DB6
高4位三态、双向数据总线6位
14
DB7
高4位三态、双向数据总线7位(最高位)(也是busyflag)
15
BLA
背光电源正极
16
BLK
背光电源负极
表5.2寄存器选择控制表
RS
R/W
操作说明
0
0
写入指令寄存器(清除屏等)
0
1
读busyf