欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    毕业设计(论文基于AT89C51单片机的简易超声波测距仪的设计.doc

    • 资源ID:4855416       资源大小:279.02KB        全文页数:30页
    • 资源格式: DOC        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    毕业设计(论文基于AT89C51单片机的简易超声波测距仪的设计.doc

    河北经贸大学毕业论文摘要超声波具有指向性强,能量消耗缓慢,传播距离较远等优点,所以,在利用传感器技术和自动控制技术相结合的测距方案中,超声波测距是目前应用最普遍的一种,它广泛应用于防盗、倒车雷达、水位测量、建筑施工工地以及一些工业现场。本课题详细介绍了超声波传感器的原理和特性,以及Atmel公司的AT89C51单片机的性能和特点,并在分析了超声波测距的原理的基础上,指出了设计测距系统的思路和所需考虑的问题,给出了以AT89C51单片机为核心的低成本、高精度、微型化数字显示超声波测距仪的硬件电路和软件设计方法。整个电路采用模块化设计,由主程序、预置子程序、发射子程序、接收子程序、显示子程序等模块组成。各探头的信号经单片机综合分析处理,实现超声波测距仪的各种功能。在此基础上设计了系统的总体方案,最后通过硬件和软件实现了各个功能模块。相关部分附有硬件电路图、程序流程图。经实验证明,这套系统软硬件设计合理、抗干扰能力强、实时性良好,经过系统扩展和升级,可以有效地解决汽车倒车、建筑施工工地以及一些工业现场的位置监控。关键词 AT89C51;超声波;测距AbstractUltrasonic wave has strong pointing to nature ,slowly energy consumption ,propagating distance farther ,so, in utilizing the scheme of distance finding that sensor technology and automatic control technology combine together ,ultrasonic wave finds range to use the most general one at present ,it applies to guard against theft , move backward the radar , water level measuring,building construction site and some industrial scenes extensively.This subject has introduced principle and characteristic of the ultrasonic sensor in detail ,and the performance and characteristic of one-chip computer AT89C51 of Atmel Company ,and on the basis of analyzing principle that ultrasonic wave finds range ,the systematic thinking and questions needed to consider that have pointed out that designs and finds range ,provide low cost , the hardware circuit of high accuracy , ultrasonic range finder of miniature digital display and software design method taking AT89C51 as the core. Modular design of the whole circuit from the main program, pre subroutine fired subroutine receive subroutine. display subroutine modules form. SCM comprehensive analysis of the probe signal processing, and the ultrasonic range finder function. On the basis of the overall system design, hardware and software by the end of each module.The research has led to the discovery that the software and hardware designing is justified, the anti-disturbance competence is powerful and the real-time capability is satisfactory and by extension and upgrade, this system can resolve the problem of the car availably, building construction the position of the workplace and some industries spot supervision.Key words AT89C51; Ultrasonic Wave; Measure Distance I目录1 绪论11.1 超声波测距仪的设计思路11.2 方案一:利用分立模块的超声波测距仪11.3 方案二:基于AT89C51单片机的超声波测距仪22 理论分析与计算42.1 测量与控制方法42.2 理论计算43 系统的硬件结构设计63.1 51系列单片机的功能特点及测距原理63.1.1 51系列单片机的功能特点63.1.2 单片机实现测距原理73.2 超声波发射电路73.3 超声波检测接收电路83.4 超声波测距系统的硬件电路设计94 系统软件的设计114.1 超声波测距仪的算法设计114.2 主程序流程图124.3 超声波发生子程序和超声波接收中断程序134.4 系统的软硬件的调试144.4.1 超声波测距误差分析154.4.2 提高精度的方案及系统设计16总结17致谢18附录19参考文献26河北经贸大学毕业论文简易超声波测距仪的设计1 绪论1.1 超声波测距仪的设计思路超声波传感器及其测距原理超声波是指频率高于20KHz的机械波。为了以超声波作为检测手段,必须产生超生波和接收超声波。完成这种功能的装置就是超声波传感器,习惯上称为超声波换能器或超声波探头。超声波传感器有发送器和接收器,但一个超声波传感器也可具有发送和接收声波的双重作用。超声波传感器是利用压电效应的原理将电能和超声波相互转化,即在发射超声波的时候,将电能转换,发射超声波;而在收到回波的时候,则将超声振动转换成电信号。超声波测距的原理一般采用渡越时间法TOF(time of flight)。首先测出超声波从发射到遇到障碍物返回所经历的时间,再乘以超声波的速度就得到二倍的声源与障碍物之间的距离。 由于超声波指向性强,能量消耗缓慢,在介质中传播距离远,因而超声波可以用于距离的测量。利用超声波检测距离,设计比较方便,计算处理也较简单,并且在测量精度方面也能达到要求。 超声波发生器可以分为两类:一类是用电气方式产生超声波,一类是用机械方式产生超声波。本课题属于近距离测量,可以采用常用的压电式超声波换能器来实现。1.2 方案一:利用分立模块的超声波测距仪系统包括超声波测距模组、LED数码显示模组、驱动模组、控制模组及电源五部分。超声波测距模块主要由发射部分和接收部分组成,超声波的发射受主控制器控制(如图1-1所示);超声波换能器谐振在40KHz的频率,模块上带有40KHz方波产生电路。显示模块是一个8位段数码显示的LED;测量结果用两位数字段码显示数据的个数。电源采用9V的DC电源输入,经稳压管后得出5V以及3.3V的电源供系统各部分电路使用。系统结构超声波发射调理电路超声波回波接收处理电路超声波发射头超声波接受头模块接口图1-1 超声波测距模块组硬件框图优点:具有历史数据存储功能、出错管理功能。缺点:能测的最小距离比较长,不能实现双向测距,电路复杂性能稳定性不高。1.3 方案二:基于AT89C51单片机的超声波测距仪超声波测距仪主要以单片机AT89C51为核心,其发射器是利用压电晶体的谐振带动周围空气振动来工作的。超声波发射器向某一方向发射超声波,在发射的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器接收到反射波就立即停止计时。一般情况下,超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离 s,即s=340×t/2,这就是常用的时差法测距。在测距计数电路设计中,采用了相关计数法,其主要原理是:测量时单片机系统先给发射电路提供脉冲信号,单片机计数器处于等待状态,不计数;当信号发射一段时间后,由单片机发出信号使系统关闭发射信号,计数器开始计数,实现起始时的同步;当接收信号的最后一个脉冲到来后,计数器停止计数。双向超声波测距仪的系统主要有几下部分组成(如图1-2所示): LED显示模块,AT89C51芯片,超声波发射模块,超声波接收模块,电源模块等五大模块组成。555电路超声波接收模块AT89C51显示模块超声波发射模块电源模块图1-2 系统设计总体框图优点:双向测距,精度高,功耗低;在电路中我们采用PIC芯片它的优点是:精简指令使其执行效率大为提高;彻底的保密性;其引脚具有防瞬态能力,通过限流电阻可以接至220V交流电源,可直接与继电器控制电路相连,无须光电耦合器隔离,给应用带来极大方便。基于上述两种方案的比较,方案一,测量盲区较长,结构复杂且稳定性不高。方案二,能进行双向测距,精度高,功耗低,模块简单,稳定性高。所以选用方案二。2 理论分析与计算2.1 测量与控制方法声波在其传播介质中被定义为纵波。当声波受到尺寸大于其波长的目标物体阻挡时就会发生反射;反射波称为回声。假如声波在介质中传播的速度是已知的,而且声波从声源到达目标然后返回声源的时间可以测量得到,从声波到目标的距离就可以精确地计算出来。这就是本系统的测量原理。超声波传感器的结构如图2-1所示。电极共振板压电晶片图2-1 超声波传感器结构由于此超声波测距仪可以实现双向测距,所以需进行测距选择,而这个测距选择就以自动选择功能来实现。2.2 理论计算图2-2 测距的原理如图2-2所示为反射时间法,是利用检测声波发出到接收到被测物反射回波的时间来测量距离其原理如图所示,对于距离较短和要求不高的场合我们可认为空气中的声速为常数,我们通过测量回波时间T利用公式S=C*(T/2) 其中,S为被测距离、V为空气中声速、T为回波时间(T=T1+T2),可以计算出路程,这种方法不受声波强度的影响,直接耦合信号的影响也可以通过设置“时间门”来加以克服。这样可以求出距离:S=C*(T1+T2)/23 系统的硬件结构设计硬件电路的设计主要包括单片机系统及显示电路、超声波发射电路和超声波检测接收电路三部分。单片机采用AT89C51或其兼容系列。采用12MHz高精度的晶振,以获得较稳定时钟频率,减小测量误差。单片机用P1.0端口输出超声波换能器所需的40kHz的方波信号,利用外中断0口监测超声波接收电路输出的返回信号。显示电路采用简单实用的2位共阳LED数码管,段码用74LS164驱动。3.1 51系列单片机的功能特点及测距原理3.1.1 51系列单片机的功能特点图3-1 51系列单片机封装图5l系列单片机中典型芯片(AT89C51)采用40引脚双列直插封装(DIP)形式,内部由CPU,4kB的ROM,256 B的RAM,2个16b的定时计数器TO和T1,4个8 b的IO端I:P0,P1,P2,P3,一个全双工串行通信口等组成。特别是该系列单片机片内的Flash可编程、可擦除只读存储器(EPROM),使其在实际中有着十分广泛的用途,在便携式、省电及特殊信息保存的仪器和系统中更为有用。该系列单片机引脚与封装如图3-1所示。5l系列单片机提供以下功能:4 kB存储器;256B RAM;32条I/O线;2个16bite定时/计数器;5个2级中断源;1个全双向的串行口以及时钟电路。空闲方式:CPU停止工作,而让RAM、定时/计数器、串行口和中断系统继续工作。掉电方式:保存RAM的内容,振荡器停振,禁止芯片所有的其他功能直到下一次硬件复位。5l系列单片机为许多控制提供了高度灵活和低成本的解决办法。充分利用他的片内资源,即可在较少外围电路的情况下构成功能完善的超声波测距系统。3.1.2 单片机实现测距原理 单片机发出超声波测距是通过不断检测超声波发射后遇到障碍物所反射的回波,从而测出发射和接收回波的时间差tr,然后求出距离SCt/2,式中的C为超声波波速。限制该系统的最大可测距离存在4个因素:超声波的幅度、反射的质地、反射和入射声波之间的夹角以及接收换能器的灵敏度。接收换能器对声波脉冲的直接接收能力将决定最小的可测距离。为了增加所测量的覆盖范围、减小测量误差,可采用多个超声波换能器分别作为多路超声波发射/接收的设计方法。由于超声波属于声波范围,其波速C与温度有关。3.2 超声波发射电路超声波发射电路原理图如图3-2所示。发射电路主要由反相器74LS04和超声波发射换能器T构成,单片机P1.0端口输出的40kHz的方波信号一路经一级反向器后送到超声波换能器的一个电极,另一路经两级反向器后送到超声波换能器的另一个电极,用这种推换形式将方波信号加到超声波换能器的两端,可以提高超声波的发射强度。输出端采两个反向器并联,用以提高驱动能力。上位电阻R10、R11一方面可以提高反向器74LS04输出高电平的驱动能力,另一方面可以增加超声波换能器的阻尼效果,缩短其自由振荡时间。压电式超声波换能器是利用压电晶体的谐振来工作的。超声波换能器内部有两个压电晶片和一个换能板。当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片会发生共振,并带动共振板振动产生超声波,这时它就是一个超声波发生器;反之,如果两电极问未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收换能器。超声波发射换能器与接收换能器在结构上稍有不同,使用时应分清器件上的标志。图3-2超声波发射电路原理图3.3 超声波检测接收电路图3-3 超声波检测接收电路集成电路CX20106A是一款红外线检波接收的专用芯片,常用于电视机红外遥控接收器。考虑到红外遥控常用的载波频率38 kHz与测距的超声波频率40 kHz较为接近,可以利用它制作超声波检测接收电路(如图3-3)。实验证明用CX20106A接收超声波(无信号时输出高电平),具有很好的灵敏度和较强的抗干扰能力。适当更改电容C4的大小,可以改变接收电路的灵敏度和抗干扰能力。3.4 超声波测距系统的硬件电路设计本系统的特点是利用单片机控制超声波的发射和对超声波自发射至接收往返时间的计时,单片机选用AT89C51,经济易用,且片内有4K的ROM,便于编程。电路原理图如图3-4所示。 超声波测距仪硬件电路的设计主要包括单片机系统及显示电路、超声波发射电路和超声波检测接收电路三部分。单片机采用AT89C51或其兼容系列。采用12MHz高精度的晶振,以获得较稳定时钟频率,减小测量误差。单片机用P1.0端口输出超声波换能器所需的40kHz的方波信号,利用外中断0口监测超声波接收电路输出的返回信号。显示电路采用简单实用的2位共阳LED数码管,段码用74LS164驱动。图3-4 超声波测距电路原理图4 系统软件的设计超声波测距仪的软件设计主要由主程序、超声波发生子程序、超声波接收中断程序及显示子程序组成。我们知道C语言程序有利于实现较复杂的算法,汇编语言程序则具有较高的效率且容易精细计算程序运行的时间,而超声波测距仪的程序既有较复杂的计算(计算距离时),又要求精细计算程序运行时间(超声波测距时),所以控制程序可采用C语言和汇编语言混合编程。主超声波测距仪主程序利用外中断0检测返回超声波信号,一旦接收到返回超声波信号(即INT0引脚出现低电平),立即进入中断程序。进入中断后就立即关闭计时器T0停止计时,并将测距成功标志字赋值1。如果当计时器溢出时还未检测到超声波返回信号,则定时器T0溢出中断将外中断0关闭,并将测距成功标志字赋值2以表示此次测距不成功。 前方测距电路的输出端接单片机INT0端口,中断优先级最高,左、右测距电路的输出通过与门IC3A的输出接单片机INT1端口,同时单片机P1.3和P1.4接到IC3A的输入端,中断源的识别由程序查询来处理,中断优先级为先右后左。4.1 超声波测距仪的算法设计超声波测距的原理为超声波发生器T在某一时刻发出一个超声波信号,当这个超声波遇到被测物体后反射回来,就被超声波接收器R所接收到。这样只要计算出从发出超声波信号到接收到返回信号所用的时间,就可算出超声波发生器与反射物体的距离。距离的计算公式为: d=s/2=(c×t)/2 (1) 其中,d为被测物与测距仪的距离,s为声波的来回的路程,c为声速,t为声波来回所用的时间。在启动发射电路的同时启动单片机内部的定时器T0,利用定时器的计数功能记录超声波发射的时间和收到反射波的时间。当收到超声波反射波时,接收电路输出端产生一个负跳变,在INT0或INT1端产生一个中断请求信号,单片机响应外部中断请求,执行外部中断服务子程序,读取时间差,计算距离。其部分源程序如下:RECEIVE0:PUSH PSW PUSH ACC CLR EX0 ;关外部中断0 MOV R7, TH0 ;读取时间值 MOV R6, TL0CLR C MOV A, R6 SUBB A, #0BBH;计算时间差 MOV 31H, A ;存储结果 MOV A, R7 SUBB A, #3CH MOV 30H, ASETB EX0 ;开外部中断0 POP ACCPOP PSW RETI 4.2 主程序流程图 软件分为两部分,主程序和中断服务程序,如图4-1(a)(b) (c) 所示。主程序完成初始化工作、各路超声波发射和接收顺序的控制。 定时中断服务子程序完成三方向超声波的轮流发射,外部中断服务子程序主要完成时间值的读取、距离计算、结果的输出等工作。图4-1超声波测距系统的软件设计 主程序首先是对系统环境初始化,设置定时器T0工作模式为16位定时计数器模式。置位总中断允许位EA并给显示端口P0和P1清0。然后调用超声波发生子程序送出一个超声波脉冲,为了避免超声波从发射器直接传送到接收器引起的直射波触发,需要延时约0.1 ms(这也就是超声波测距仪会有一个最小可测距离的原因)后,才打开外中断0接收返回的超声波信号。由于采用的是12 MHz的晶振,计数器每计一个数就是1s,当主程序检测到接收成功的标志位后,将计数器T0中的数(即超声波来回所用的时间)按式(2)计算,即可得被测物体与测距仪之间的距离,设计时取20时的声速为344 m/s则有: d=(c×t)/2=172T0/10000cm (2)其中,T0为计数器T0的计算值。测出距离后结果将以十进制BCD码方式送往LED显示约0.5s,然后再发超声波脉冲重复测量过程。为了有利于程序结构化和容易计算出距离,主程序采用C语言编写。4.3 超声波发生子程序和超声波接收中断程序超声波发生子程序的作用是通过P1.0端口发送2个左右超声波脉冲信号(频率约40kHz的方波),脉冲宽度为12s左右,同时把计数器T0打开进行计时。超声波发生子程序较简单,但要求程序运行准确,所以采用汇编语言编程。  超声波测距仪主程序利用外中断0检测返回超声波信号,一旦接收到返回超声波信号(即INT0引脚出现低电平),立即进入中断程序。进入中断后就立即关闭计时器T0停止计时,并将测距成功标志字赋值1。如果当计时器溢出时还未检测到超声波返回信号,则定时器T0溢出中断将外中断0关闭,并将测距成功标志字赋值2以表示此次测距不成功。 前方测距电路的输出端接单片机INT0端口,中断优先级最高,左、右测距电路的输出通过与门IC3A的输出接单片机INT1端口,同时单片机P1.3和P1.4接到IC3A的输入端,中断源的识别由程序查询来处理,中断优先级为先右后左。部分源程序如下: receive1:push psw push acc clr ex1 ;关外部中断1 jnb p1.1, right ;P1.1引脚为0,转至右测距电路中断服务程序jnb p1.2, left ;P1.2引脚为0,转至左测距电路中断服务程序 return:SETB EX1;开外部中断1 pop acc pop psw reti right: . ;右测距电路中断服务程序入口 ajmp return left:. ;左测距电路中断服务程序入口 ajmp return 4.4 系统的软硬件的调试超声波测距仪的制作和调试都比较简单,其中超声波发射和接收采用15的超声波换能器TCT40-10F1(T发射)和TCT40-10S1(R接收),中心频率为40kHz,安装时应保持两换能器中心轴线平行并相距48cm,其余元件无特殊要求。若能将超声波接收电路用金属壳屏蔽起来,则可提高抗干扰能力。根据测量范围要求不同,可适当调整与接收换能器并接的滤波电容C0的大小,以获得合适的接收灵敏度和抗干扰能力。 硬件电路制作完成并调试好后,便可将程序编译好下载到单片机试运行。根据实际情况可以修改超声波发生子程序每次发送的脉冲宽度和两次测量的间隔时间,以适应不同距离的测量需要。根据所设计的电路参数和程序,测距仪能测的范围为0.075.5m,测距仪最大误差不超过1cm。系统调试完后应对测量误差和重复一致性进行多次实验分析,不断优化系统使其达到实际使用的测量要求。4.4.1 超声波测距误差分析1、发射接收时间对测量精度的影响分析 采用TR40压电超声波传感器,脉冲发射由单片机控制,发射频率 40KHz ,忽略脉冲电路硬件产生的延时,可知由软件生成的起始时间对于一般要求的精度是可靠的。对于接收到的回波,超声波在空气介质的传播过程中会有很大的衰减,其衰减遵循指数规律。 设测量设备基准面距被测物距离为h,则空气中传播的超声波波动方程为: 由以上公式可知,超声波在传播过程中存在衰减,且超声波频率越高,衰减越快,但频率的增高有利于提高超声波的指向性。 经以上分析,超声波回波的幅值在传播过程中衰减很大,收到的回波信号可能十分微弱,要想判断捕获到的第一个回波确定准确的接受时间,必须对收到的信号进行足够的放大,否则不正确的判断回波时间,会对超声波测量精度产生影响。 2、当地声速对测量精度的影响分析 当地声速对超声波测距测量精度的影响远远要比收发时间的影响严重。超声波在大气中传播的速度受介质气体的温度、密度及气体分子成分的影响,即: 由上式知,在空气中,当地声速只决定于气体的温度,因此获得准确的当地气温可以有效的提高超声波测距时的测量精度。工程上常用的由气温估算当地声速的公式如下: 式中C0=331.4m/s;T为绝对温度,单位K。 此公式一般能为声速的换算提供较为准确的结果。实际情况下,温度每上升或者下降1oC,声速将增加或者减少0.607m /s,这个影响对于较高精度的测量是相当严重的。因此提高超声波测量精度的重中之重就是获得准确的当地声速。 4.4.2 提高精度的方案及系统设计(1)温度校正的方法提高测距精度 由上述的误差分析知,如果能够知道当地温度,则可根据公式求出当地声速,从而能够获得较高的测量精度。而问题的关键在于获得温度数据的方法。采用热敏电阻、热电耦、集成温度传感器都可以获得较为准确的温度值。 (2)标杆校正的方法提高测距精度 在复杂环境下,如果难于获得环境温度,或者不便获得环境温度时,如果仍旧要求较高的测量精度,我们采用所谓标杆校正的方法实现超声波测距精度的校正。标杆校正的示意图如图4-2所示。图4-2标杆校正的示意图超声波测距装置首先测量距离已知为h的基平面(标杆)声波往返所用的时间,而后由测得的时间和距离h求出当地声速。通过这样的方法,我们也能够顺利的求出声速,省去了使用传感器测量温度所带来的麻烦。因此,只用为测距设备设定“标定”和“测量”两种状态,即能够实现温度校正所能实现的高精度测距功能。总结设计的最终结果是使超声波测距仪能够产生超声波,实现超声波的发送与接收,从而实现利用超声波方法测量物体间的距离。以数字的形式显示测量距离。对所设计的电路进行测量、校准发现其测量范围15cm300cm内的平面物体做了多次测量发现,其最大误差为3cm,显示最小分辨率为0.01 m,测量盲区小于0.15米,且重复性好。该测距仪具有准双向测距功能,稳定性比较高、灵敏度比较高,盲区范围小,分辨率小于0.01m,被测目标不需要垂直于超声波测距仪角度保持在正负30度,被测目标表面不需要平坦;但是在检测过程中会有一些不便的地方:1.测量时在超声波测距仪周围没有其他可反射超声波的物体,由于发射功率有限,测距仪无法测量5m外的物体。2.因为实现双向测距所以电路的电流相对比较大。3.不能够实现不同温度下的测距功能。4.因为超声波是将空气作为媒介所以受电磁干扰比较大。尽管采取了多种方法以减小测距误差,但仍存在各种主客观的偏差:对t的计数误差;传感器的反应速度;对回波信号处理需要时间;声速误差,当前条件下的实传播速度与程序中设置间的差别;数据处理中整数与小数的相乘等等。经多次测量发现对误差影响因素最大的是温度的变化,因此,该仪器有待进一步改进和升级:如采用温度传感器补偿声速等,从而使测量更精确。本课题所设计的超声波测距系统在许多工业现场和自动控制场合,都有很重要的作用。但由于经验不足,电路硬件、软件部分都有不够完善的地方,在今后的学习中会进一步改进。致谢四年的读书生活在这个季节即将划上一个句号,而于我的人生却只是一个逗号,我将面对又一次征程的开始。四年的求学生涯在师长、亲友的大力支持下,走得辛苦却也收获满囊,在论文即将付梓之际,思绪万千,心情久久不能平静。 在本次论文设计过程中,刘力军老师对该论文从选题,构思到最后定稿的各个环节给予细心指引与教导,使我得以最终完成毕业论文设计。在学习中,老师严谨的治学态度、丰富渊博的知识、敏锐的学术思维、精益求精的工作态度以及侮人不倦的师者风范是我终生学习的楷模,导师们的高深精湛的造诣与严谨求实的治学精神,将永远激励着我。这四年中还得到众多老师的关心支持和帮助。在此,谨向老师们致以衷心的感谢和崇高的敬意!最后,我要向百忙之中抽时间对本文进行审阅,评议和参与本人论文答辩的各位老师表示感谢。附录程序清单#INCLUDE <REG2051.H>#DEFINE K1 P3_4#DEFINE CSBOUT    P3_5                  /超声波发送#DEFINE CSBINT    P3_7                  /超声波接收#DEFINE CSBC=0.034#DEFINE BG  P3_3 UNSIGNED CHAR CSBDS,OPTO,DIGIT,BUFFER3,XM1,XM2,XM0,KEY,JPJS;/显示标识UNSIGNED CHAR CONVERT10=0X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6F;/09段码UNSIGNED INT S,T,I, XX,J,SJ1,SJ2,SJ3,MQS,SX1;BIT CL;                                   VOID CSBCJ();VOID DELAY(J);                              /延时函数VOID SCANLED();                              /显示函数VOID TIMETOBUFFER();                  /显示转换函数VOID KEYSCAN(); /健盘处理函数VOID K1CL();VOID K2CL();VOID K3CL();VOID K4CL();VOID OFFMSD(); /延时子程序VOID MAIN()                              /主函数     EA=1;                                /开中断       TMOD=0X11;                   /设定时器0为计数,设定时器1定时     ET0=1;                              /定时器0中断允许      ET1=1;                              /定时器1中断允许      TH0=0X00;     TL0=0X00;     TH1=0X9E; /定时器T1置为25ms     TL1=0X57;     CSB DS=0;     CSB INT=1; /p3.2置位     CSB OUT=1; /p2.7置位     CL=0;     PTO=0XFF;     JPJS=0;     SJ1=45;     SJ2=200;     SJ3=400;     K4CL();     TR1=1;        WHILE(1)                  KEYSCAN();           IF(JPJS<1)                      CSBCJ();           IF(S>SJ3)                      BUFFER2=0X76;                 BUFFER1=0X76;                 BUFFER0=0X76;                           ELSE IF(S<SJ1)                      BUFFER2=0X40;                 BUFFER1=0X40;                 BUFFER0=0X40;                      ELSE TIMETOBUFFER();                            ELSE TIMETOBUFFER();            /将值转换成LED段码           OFFMSD();             SCANLED();                  /显示函数           IF(S<SJ2)           BG=0;           BG=1;     VOID SCANLED()                       /显示功能模块    DIGIT=0X04;    FOR( I=0; I<3; I+)        /3位数显示            P3=DIGIT&OPTO;        /依次显示各位数        P1=BUFFER;        /显示数据送P1口        DELAY(20);              /延时处理        P1=0XFF;             /P1口置高电平(关闭)        IF(P3&0X10)=0)      /判断3位是否显示完           KEY=0;        DIGIT>>=1;             /循环右移1位    VOID TIMETOBUFFER()                /转换段码功能模块     XM0=S/100;           XM1=(S-100*XM0)/10;     XM2=S-100*XM0-10*XM1;     BUFFER2=CONVERTXM2;           BUFFER1=CONVERTXM1;     BUFFER0=CONVERTXM0;VOID DELAY(I)                                  WHILE(-I);VOID TIMER1INT (VOID)  INTERRUPT 3  USING 2      TH1=0X9E;     TL1=0X57;     CSBDS+;     IF(CSBDS>=40)                CSBDS=0;           CL=1;                 VOID CSBCJ()     IF(CL=1)                    TR1=0;           TH0=0X00;           TL0=0X00;           I=10;           WHILE(I-)                            CSBOUT=!CSBOUT;                      TR0=1;      

    注意事项

    本文(毕业设计(论文基于AT89C51单片机的简易超声波测距仪的设计.doc)为本站会员(sccc)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开