[毕业设计精品]一种以AT89C52 单片机为核心的超声波传感器测距仪的设计.doc

上传人:土8路 文档编号:10252881 上传时间:2021-05-03 格式:DOC 页数:20 大小:253KB
返回 下载 相关 举报
[毕业设计精品]一种以AT89C52 单片机为核心的超声波传感器测距仪的设计.doc_第1页
第1页 / 共20页
[毕业设计精品]一种以AT89C52 单片机为核心的超声波传感器测距仪的设计.doc_第2页
第2页 / 共20页
[毕业设计精品]一种以AT89C52 单片机为核心的超声波传感器测距仪的设计.doc_第3页
第3页 / 共20页
[毕业设计精品]一种以AT89C52 单片机为核心的超声波传感器测距仪的设计.doc_第4页
第4页 / 共20页
[毕业设计精品]一种以AT89C52 单片机为核心的超声波传感器测距仪的设计.doc_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《[毕业设计精品]一种以AT89C52 单片机为核心的超声波传感器测距仪的设计.doc》由会员分享,可在线阅读,更多相关《[毕业设计精品]一种以AT89C52 单片机为核心的超声波传感器测距仪的设计.doc(20页珍藏版)》请在三一文库上搜索。

1、目录1 前言12总体方案设计22.1方案一:采用单片机来控制超声波测距22.2 方案二:采用锁相环频率合成技术33单元模块设计43.1 51系列单片机的功能特点43.2单片机控制LED显示53.3键盘输入63.4超声波发射电路73.5超声波接收电路84软件设计104.1主程序流程图104.2外中断程序114.3超声波发射程序114.4键扫描子程序125系统调试136结论147总结与体会158参考文献16附录17设计电路图17相关设计程序:181 前言目前,非接触式测距仪常采用超声波、激光和雷达。但激光和雷达测距仪造价偏高,不利于广泛的普及应用,在某些应用领域有其局限性,一般仅用于军事工业。相比

2、之下,超声波测距系统电路易实现、结构简单和造价低,且超声波在传播过程中不受烟雾、空气能见度等因素的影响对外界光线、色彩和电磁场不敏感,更适于黑暗、电磁干扰强、有毒、灰尘或烟雾的恶劣环境,在识别透明及漫反射性差的物体上也更有优势。所以超声波测距在各种场合均得到广泛应用,如倒车防撞 雷达、海洋测量、物体识别、工业自动控制,建筑工程测量和机器人视觉识别。本课题设计了一种以AT89C52 单片机为核心的低成本、高精度、小型化的超声波传感器测距仪,其硬件电路和软件程序设计思路清晰,方案简单可行,而且利用51系列单片机设计的测距仪便于操作、读数直观,该类测距仪工作稳定,能满足一般近距离测距的要求,且成本较

3、低、有良好的性价比。2总体方案设计2.1方案一:采用单片机来控制超声波测距采用单片机来控制的超声波测距仪是先由单片机产生一个信号,经过信号线,把信号引入到与超声波发射器相连的信号引脚上,再由超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离(s),即:原理框图如2.1所示:开始测量超声波信号开定时器关定时器数据运算显示器接收检测超声波探头超声波探头驱动电路 图2.1 超声波测距原理图根据设计任务要求,采用

4、AT89C52单片机,配置时钟电路,复位电路构成单片机最小系统,由模拟电路和数字电路构成超声波发射、接收模块。由键盘,LED显示构成人机对话通道,构成由单片机最小系统来控制的超声波测距仪,其结构框图如下:单片机最小系统发射、接收(模拟电路)信号保持(数字电路)按键、LED显示图2.2 系统机构框图2.2 方案二:采用锁相环频率合成技术采用锁相环频率合成技术,也可以实现我们所需要的超声波测距仪。具体方案如下:首先通过频率合成技术产生超声波所需要的频率,在通过信号线将采用锁频率相合成技术得到的频率引到超声波的发射头上,这样就可以实现超声波测距。它的优点就是工作频率可调,也可以达到很高的频率分辨率;

5、缺点是要求使用的滤波器通带可变,实现很困难。它的原理如图2.3所示: 图2.3 锁相环频率合成电路框图综上所述,基于对超声波频率的控制和整个仪器的设计难度,我们选择第一种设计方案。3单元模块设计3.1 51系列单片机的功能特点 5l系列单片机中典型芯片(AT89C52)采用40引脚双列直插封装(DIP)形式,内部由CPU,4kB的ROM,256 B的RAM,2个16b的定时计数器TO和T1,4个8 b的工O端I:IP0,P1,P2,P3,一个全双功串行通信口等组成。特别是该系列单片机片内的Flash可编程、可擦除只读存储器(EPROM),使其在实际中有着十分广泛的用途,在便携式、省电及特殊信息

6、保存的仪器和系统中更为有用。该系列单片机引脚与封装如图3.1所示。图3.1 51系列单片机最小系统5l系列单片机提供以下功能:4 kB存储器;256 BRAM;32条工O线;2个16b定时计数器;5个2级中断源;1个全双向的串行口以及时钟电路。空闲方式:CPU停止工作,而让RAM、定时计数器、串行口和中断系统继续工作。掉电方式:保存RAM的内容,振荡器停振,禁止芯片所有的其他功能直到下一次硬件复位。5l系列单片机为许多控制提供了高度灵活和低成本的解决办法。充分利用他的片内资源,即可在较少外围电路的情况下构成功能完善的超声波测距系统。3.2单片机控制LED显示LED数码管显示: 图3.2 LED

7、数码管显示在此模块中,我们小组是利用STC89C52单片机的P2口对LED数码管进行控制,单片机所计算的距离再有LED数码管显示。下面对LED数码管作简单的介绍:LED数码管是利用7个LED(发光二极管)外加一个小数点的LED组合而成的显示设备,可以显示09等10个数字和小数点,使用非常广泛,它的外观如下:图3.3 七段数码管这类数码管可以分为共阳极与共阴极两种,共阳极就是把所有LED的阳极连接到共同接点com,而每个LED的阴极分别为a、b、c、d、e、f、g及dp(小数点);共阴极则是把所有LED的阴极连接到共同接点com,而每个LED的阳极分别为a、b、c、d、e、f、g及dp(小数点)

8、,本设计方案中采用的是共阳极数码管。图中的8个LED分别与上面那个图中的ADP各段相对应,通过控制各个LED的亮灭来显示数字。3.3键盘输入本系统通过独立键盘来控制超声波发射,当按键按下时,单片机相应端口产生一个高电平,送入声波发送电路,产生超声波,单片机开始计时。键盘如下图所示.图3.4 独立键3.4超声波发射电路 图3.5 超声波发射电路在该超声波测距系统中,我们使用的是压电式超声波发生器TC F 40 12TR1,为使超声波探头T发出我们需要的超声波,我们就得给超声波探头T一个频率,使其等了超声波探头T的固有频率,让超声波探头T中的压电晶片产生共振并带动共振板振动,产生超声波。在这个系统

9、中,我们采用的超声波探头的固有频率是40kHz,因此我们需要给超声波探头T送一个40kHz的方波信号,由555定时器组成的多谐振荡电路来产生。采用555定时器组成的多谐振荡器来产生所需要的40kHz的方波信号。Tpl=0.7R2C (3-1)Tph=0.7(R1+R2)C (3-2)由式子(3-1)和(3-2)得到f=1.43/(R1+R2)C最终,555产生的方波信号如图3.6所示。 图3.6 555产生的方波信号3.5超声波接收电路 图3.7 超声波接收电路当超声波接收探头接收到超声波后,超声波接收芯片CX20106A的7脚(即本电路图中的2脚)产生一低电平,触发单片机的外中端口IT0端,

10、通过计时计算超声波所测得的距离。超声波检测电路采用集成芯片CX20106A,这是一款红外线检波接收的专用芯片,它由前置放大器,限幅放大器路,带通滤波电路,峰值检波器,波形整形电路等组成。它常用的载波频率38khz与测距超声波频率40khz较为接近,可以利用它作为超声波检测电路。超声波接受换能器收到超声波时,通过共振板压迫压电晶片作振动,将机械能转化电信号,信号经过CX20106A滤波,放大,整形送到单片机。4软件设计本设计采用的是Keil C51软件编写的程序。4.1主程序流程图 我们采用判断按键,用单片机产生一个高电平脉冲,激发555定时器产生40KHZ的方波,再由超声波传感器发送端T发射超

11、声波,单片机开始计时,当超声波传感器接收端R接收到超声波时,单片机产生中断,计时停止,通过计算得出超声波经过的距离,把距离转换成相应代码,由LED数码管显示。开始是否键按下发射超声波等待回波产生中断数据运算LED显示YESNONOYES4.2外中断程序超声波传感器R端接收到回波后,信号由检波电路传给单片机,单片机产生中断,定时器关闭,关中断,然后读取超声波发送到接收的时间。关定时器关中断读取时间值返回4.3超声波发射程序 先初始化单片机定时器,当开始发射超声波时,定时器打开,到接收草超声波时,定时器关闭定时器初始化发射超声波开计时器返回停止发射4.4键扫描子程序5系统调试超声波测距仪的制作和调

12、试都比较简单,其中超声波发射和接收采用15的超声波换能器TC F 40 12T 1(T发射)和TCT40-12R1(R接收),中心频率为40kHz,安装时应保持两换能器中心轴线平行并相距48cm(由于我们采用的万用板比较小,所以测试的时候用一张硬卡片放在TR之间,避免干扰),其余元件无特殊要求。若能将超声波接收电路用金属壳屏蔽起来,则可提高抗干扰能力。根据测量范围要求不同,可适当调整与接收换能器并接的滤波电容C0的大小,以获得合适的接收灵敏度和抗干扰能力。 硬件电路制作完成并调试好后,便可将程序编译好下载到单片机试运行。根据实际情况可以修改超声波发生子程序每次发送的脉冲宽度和两次测量的间隔时间

13、,以适应不同距离的测量需要。根据所设计的电路参数和程序,测距仪能测的范围为0.23.0m,测距仪最大误差不超过1cm。系统调试完后应对测量误差和重复一致性进行多次实验分析,不断优化系统使其达到实际使用的测量要求声波传播速度是保证测量精度的必要条件, 传播介质的温度、压力及密度对声速都产生直接影响。对于在大气中传播的声波而言, 引起声速变化的主要原因是温度的变化。在本设计中,精确度要求不高,所以没进行温度补偿, 而选择室温20左右时的声速340m/s作为固定参数。影响测量误差的因素主要包括现场环境干扰、时基脉冲频率等。在实际应用中可以根据系统测量精度要求, 采用合理的补偿手段。6结论超声波测距主

14、要应用于倒车雷达、建筑施工工地以及一些工业现场,例如:液位、井深、管道长度等场合。目前国内一般使用专用集成电路设计超声波测距仪,但是专用集成电路的成本很高,并且没有显示,操作使用很不方便。本设计采用的51系列单片机设计的测距仪便于操作、读数直观。经实际测试证明,该类测距仪工作稳定,能满足一般近距离测距的要求,且成本较低、有良好的性价比。而且通过超声波换能器和LED数码管可以测量和显示0.013.00m内的物体距离,分辨率可达到0.01m。这种测距系统可用于物面和液面测量,汽车倒车报警装置。由于硬件采用模块化设计,可以嵌入到其他系统中。7总结与体会首先,要感谢邱晓初老师在本课程设计对我们的悉心指

15、导和严格要求,和实验室为我们提供的元件和实验平台。此次设计把理论知识和工程实践应用相结合在一起,这使得我们深刻了解了理论知识与应用实践的相关联系,加大了对理论知识的重要性的认识和应用实践的重要性。也使我们明白了仅仅是书本上的理论知识是远远不够的,还需要通过大量的查阅相关资料并通过实际的亲自动手实践才能得到真正的有用的知识,才可得体会的书本上的理论知识。同时,通过自己的亲手动手实践还能增加自己的学习兴趣和学习激情。这次设计以小组的形式进行使得我们的团队合作能力得到了一定的加强,通过小组组员之间的合作锻炼了我们的交际能力和语言沟通能力。同过参与设计使得我们的思维得到开拓和发散,提高了我们的创新思维

16、让我们的个人综合素质和实际动手解决问题的能力得到了一定的提高。本课题的设计过程中我学到了很多知识,从中受益匪浅。了解了超声波传感器的原理,学会了各种放大电路的分析、设计,也掌握了单片机的开发过程和利用单片机设计电路的方法。对一块电路板的设计、焊板、调试、改进等整个过程,有了更深入的理解和掌握。这些对我今后的学习和工作都会有很大帮助的。8参考文献1. 童诗白,华成英。模拟电子技术基础.北京:高等教育出版社,20032. 阎石.数字电子技术基础。北京:高等教育出版社,19833. 高峰编.单片微型计算机原理与接口技术.北京:科学出版社,20034. 21IC中国电子网 附录设计电路图相关设计程序:

17、#include #define uchar unsigned char#define ulong unsigned long#define uint unsigned intsbit P36=P36;sbit P32=P32;/超声波控制端口uint bwei,shwei,gwei;uchar temp;uchar code LED_mod=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90;sbit key=P11;sbit D1=P27;void delays () / 延时程序void main() uchar times=0; TMOD

18、=0x12; /定时器1工作在定时方式1,定时器0工作在定时方式2/ IE=0x84; /中断设置/ TH0=244; TL0=244; TR0=1; TR1=1; /开定时器/ if(key=0) while(1) while(TF0=0); P36=P36; times+; TF0=0; if(times=20)break; /翻转20次,发送10个脉冲信号的超声波/ TR0=0; times=0; void intersvro(void) interrupt 0 using 1 /INTO中断服务程序 uchar DH,DL; ulong COUNT; ulong num; P32=0;

19、 TR0=0 ;/停止计数 DH=TH0; DL=TL0; COUNT=TH0*256+TL0; /算出时间的值,单位为us/ num= (340*COUNT)/2; bwei=num%1000000%100000/10000; /取百分位 shwei=(num%1000000)/1000000; /取十分位 gwei=num/1000000; /取个位 TH0=0; TL0=0; P0 = 0xfd; P2 = LED_modgwei;D1=temp;delays();P0 = 0xfb; P2 = LED_modshwei;delays();P0 = 0xf7; P2 = LED_modbwei;delays();

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1