当前位置:首页 > 基于AT89C51单片机超声波测距仪的设计毕业设计
1 绪论
1.1 研究背景
由于社会不断进步发展,许多传统的测距方法已经无法满足我们的需求,例如在井深,液位,管道长度等场合。还有在很多要求实时测距的情况下,传统的测距方法也很难完成测量的任务。于是,在这种情况下一种新的测距方法诞生了---超声波测距。
超声波可用于非接触测量,具有不受光、电磁波以及粉尘等外界因素的干扰的优点,是利用计算超声波在被测物体和超声波探头之间的传输来测量距离的,对被测目标无损害。而且超声波传播速度在相当大范围内与频率无关。超声波的这些独特优点越来越受到人们的重视。
目前对于超声波精确测距的需求也越来越大,如油库和水箱液面的精确测量和控制,物体内气孔大小的检测和机械内部损伤的检测等。在机械制造,电子冶金,航海,宇航,石油化工,交通等工业领域也有广泛地应用。此外,在材料科学,医学,生物科学等领域中也占具重要地位。
1.2 研究内容
超声波测距仪主要以单片机AT89C51为核心,其发射器是利用压电晶体的谐振带动
周围空气振动来工作的.超声波发射器向某一方向发射超声波,在发射的同时开始计时 ,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器接收到反射波就立即停止计时。一般情况下,超声波在空气中的传播速度为340m/ s,根据计时器记录的时间t ,就可以计算出发射点距障碍物的距离 s,即s=340×t/2。
本系统的一个亮点就是利用超声波测量距离,超声波具有不受光、电磁波以及粉尘等外界因素的干扰的优点,而且超声波传播速度在相当大范围内与频率无关。
1
2 相关知识
2.1 超声波发生器
我们知道,由于超声波指向性强,能量消耗缓慢,在介质中传播的距离比较远,因而超声波经常用于距离的测量。利用超声波检测距离,设计比较方便,计算处理也比较简单,并且在测量精度方面也能达到日常使用的要求。
超声波发生器可以分为两大类:一类是用电气方式产生超声波,一类是用机械方式产生超声波。电气方式包括压电型、电动型;机械方式有加尔统笛、液哨和气流旋笛等,它们所产生的超声波的频率、功率和声波特性各不相同,因而用途也各不相同,目前在近距离测量方面较为常用的是压电式超声波换能器。
2.2.单片机的任务
单片机的任务是指以单片机为核心,构建硬件部分和软件部分组成,配以一定的外围电路和软件,实现某几种功能,完成相应的任务。硬件是系统的基础,软件则是在硬件的基础上对其合理的调配和使用,从而完成应用系统所要完成的基础。一般来讲,所要完成的任务不同,相应的硬件配置和软件配置也就不同。因此,单片机的设计应包括硬件设计和软件设计两大部分。
2.3 AT89C51单片机主要特性和引脚功能
AT89C51是带4K字节闪烁可编程可擦除只读存储器(EPEROM)的低电压、高性能CMOS 8位微处理器(俗称单片机)。该单片机与工业标准的MCS-51型机的指令集和输出引脚兼容。AT89C51将多功能8位CPU和闪烁存储器组合在单个芯片中,为很多嵌入式控制提供了灵活性高且价格低廉的方案。
AT89C51的主要特性如下: 寿命达1000写/擦循环; 数据保留时间:10年; 全静态工作:0Hz-24MHz; 三级程序存储器锁定; 128 * 8位内部RAM; 32可编程I/O线; 2个16位定时器/计数器; 5个中断源; 可编程串行通道; 低功耗闲置和掉电模式; 片内振荡器和时钟电路;
2
AT89C51引脚排列如图1所示,引脚功能如下图2-1所示:
图2-1AT89C51引脚图
VCC(40):+5V. GND(20):接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉
3
冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。
4
共分享92篇相关文档