版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、【毕业论文】基于单片机控制的超声波测距报警系统设计 .现代通信技术专业课程设计 基于单片机控制的超声波测距报警系统设计目录1 绪论11.1 设计的目的及其意义11.2 设计任务及要求12 总体方案22.1 总体设计方案22.2 超声波测距框图33 系统硬件设计43.1 硬件设计方案4 超声波测距原理4 硬件电路设计43.2 各主要模块的硬件设计4 超声波发射电路6 超声波检测接收电路7 显示电路设计8 复位功能84 软件方案104.1 程序设计104.2 程序流程说明10 主程序10 定时中断服务子程序114.3 程序清单115 调试过程125.1 使用仪器设备125.2 调试中的问题及解决方
2、案12 软件调试中的问题及解决方案125.3 功能显示136 课程设计收获156.1 课程设计的心得体会15参考文献16附录16程序清单161 绪论 1.1 设计的目的及其意义利用超声波作为定位技术是蝙蝠等一些无目视能力的生物作为防御及捕捉猎物生存的手段,也就是由生物体发射不被人们听到的超声波 20khz以上的机械波 ,借助空气媒质传播,由被待捕捉的猎物或障碍物反射回来的时间间隔长短与被反射的超声波的强弱判断猎物性质或障碍位置的方法。超声波是由机械振动产生,可在不同介质中以不同的速度传播。而且超声波的速度相对于光速要小的多,其传播时间就比较容易检测。并且超声波具有定向性好、能量集中、在传输过程
3、中衰减较小、反射能力较强等优点,超声波传感器可广泛应用于非接触式检测方法,因而采用仿真技能利用超声波测距【1】。 由于超声波易于定向发射、方向性好、强度易控制、与被测量物体不需要直接接触的优点,是作为液体高度测量的理想手段。在精密的液位测量中需要达到毫米级的测量精度,但是目前国内的超声波测距专用集成电路都是只有厘米级的测量精度。通过分析超声波测距误差产生的原因,提高测量时间差到微秒级,以及用lm92温度传感器进行声波传播速度的补偿后,我们设计的高精度超声波测距仪能达到毫米级的测量精度【2】。 1.2 设计任务及要求 利用所学数字电子技术、信号处理、控制等技术,设计、制作并调试完成一个单片机最小
4、化系统。在此基础上,将最小系统与综合实验开发平台上的超声波模块、显示模块进行正确的连接(如图1.1所示),使单片机可接收超声波模块输出的距离信号,并对其进行合理的处理后,在显示模块上实时显示超声波模块与障碍物的距离。图1.1 系统连接示意图具体要求:实验开发平台上的数码管可实时现实障碍无语超声波的距离信息,单位为cm,精确到小数点后1位;当测试距离小于10或大于50时报警,且以上两种情况的报警方式需有明显的区别;系统应具备测距启动功能,或当系统报警后,可以复位系统,使其开始重新测距。2 总体方案2.1 总体设计方案测距仪的分辨率取决于对超声波传感器的选择。超声波传感器是一种采用压电效应的传感器
5、,常用的材料是压电陶瓷。由于超声波在空气中传播时会有相当的衰减,衰减的程度与频率的高低成正比。2.2 超声波测距框图单片机发出40khz的方波信号,经放大后通过超声波发射器输出;超声波接收器将接收到的超声波信号经放大器放大,用锁相环电路进行检波处理后,启动单片机中断程序,测得时间为t;再通过软件编程进行判别、计算,得出所测距离数并经由led数码管显示,其原理框图如图2.1。图2.1 超声波测距仪原理框图发射器发出的超声波以速度在空气中传播,在到达被测物体时被反射返回,由接收器接收,其往返时间为t。由公式:测出的距离 常温下的声速340感应时间,算出被测物体的距离。由于超声波也是一种声波,其声速
6、v与温度有关,下表列出了几种不同温度下的声速。在使用时,如果温度变化不大,则可认为声速是基本不变的。如果测距精度要求很高,则应通过温度补偿的方法加以校正【5】。3 系统硬件设计3.1 硬件设计方案 超声波测距原理单片机在时刻发射方波,同时启动定时器开始计时,当收到回波后,产生一个负跳变到单片机中端口,单片机响应中断程序,定时器停止计数。计算时间差,即可得到超声波在媒介中传播的时间,由此便可计算出距离。其时序图如图3.1所示。图3.1 超声波时序图 硬件电路设计硬件电路的设计主要包括单片机系统及显示电路、超声波发射电路和超声波检测接收电路三部分。单片机采用或其兼容系列。采用12mhz高精度的晶振
7、,以获得较稳定时钟频率,减小测量误差。单片机用p.4端口输出超声波换能器所需的40khz的方波信号,利用外中断0口监测超声波接收电路输出的返回信号。显示电路采用简单实用的4位共阳led数码管,段码用驱动,位码用pnp三极管驱动。图3.2 stc89c51引脚图2.引脚功能说明(1)vcc:电源电压(2)gnd:接地(3)rst:复位输入。当振荡器复位器件时,要保持rst脚两个机器周期的高电平时间。(4)/ea/vpp:当/ea保持低电平时,则在此期间外部程序存储器(0000h-ffffh),不管是否有内部程序存储器。(5)xtal1:反向振荡放大器的输入及内部时钟工作电路的输入。(6)xtal
8、2:来自反向振荡器的输出。(7)p0口:p0口为一个8位漏级开路双向i/o口,也即地址/数据总线复用口。作为输出口用时,每脚可吸收8ttl门电流。(8)p1口:p1口是一个内部提供上拉电阻的8位双向i/o口,p1口缓冲器能吸收或输出4ttl门电流。 (9)p2口:p2口为一个内部上拉电阻的8位双向i/o口,p2口缓冲器可吸收或输出4个ttl门电流,当p2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。(10)p3口:p3口管脚是8个带内部上拉电阻的双向i/o口,可吸收或输出4个ttl门电流。p3口也可作为at89c52的一些特殊功能口,如下表1所示。表3.1 p3特殊功能口口管脚备选功能
9、p3.0 rxd串行输入口p3.1 txd串行输出口p3.2 /int0外部中断0p3.3 /int1外部中断1p3.4 t0记时器0外部输入p3.5 t1记时器1外部输入p3.6 /wr外部数据存储器写选通p3.7 /rd外部数据存储器读选通74ls04和超声波发射换能器t构成,单片机p3.3端口输出的40khz的方波信号一路经一级反向器后送到超声波换能器的一个电极,另一路经两级反向器后送到超声波换能器的另一个电极,用这种推换形式将方波信号加到超声波换能器的两端,可以提高超声波的发射强度。输出端采两个反向器并联,用以提高驱动能力。上位电阻r1o、r11一方面可以提高反向器74ls04输出高电
10、平的驱动能力,另一方面可以增加超声波换能器的阻尼效果,缩短其自由振荡时间【8】。图3.3 超声波发射电路原理图 超声波检测接收电路集成电路cx20106a是一款红外线检波接收的专用芯片,常用于电视机红外遥控接收器。考虑到红外遥控常用的载波频率38 khz与测距的超声波频率40 khz较为接近,可以利用它制作超声波检测接收电路 如图3.4 。实验证明用cx20106a接收超声波 无信号时输出高电平 ,具有很好的灵敏度和较强的抗干扰能力【9】。图3.4超声波检测接收电路 显示电路设计显示电路采用简单实用的4位共阳led数码管,段码用74ls244驱动,位码用pnp三级管驱动。接p2.1引脚的为个位
11、显示数码管,其小数点在p2.1有效时显示,此功能由软件来完成。 复位功能系统应具备测距启动功能,可以复位系统,使其开始重新测距。采用开发平台中的按键模块实现。综上所述本系统的特点是利用单片机控制超声波的发射和对超声波自发射至接收往返时间的计时,单片机选用,经济易用,且片内有k的rom,便于编程。电路原理图如图所示。图电路原理图并给显示端口p和p清0。然后调用超声波发生子程序送出一个超声波脉冲,为了避免超声波从发射器直接传送到接收器引起的直射波触发,需要延时约0.1 ms,才打开外中断0接收返回的超声波信号。测出距离后结果将以十进制bcd码方式送往led显示约0.5s,然后再发超声波脉冲重复测量
12、过程。为了有利于程序结构化和容易计算出距离,主程序采用c语言编写。图4.1 主程序流程图 定时中断服务子程序超声波发生子程序的作用是通过p3.3端口发送2个左右频率约40khz的方波的超声波脉冲信号,同时把计数器t0打开进行计时。定时中断子程序如图4.2所示。图4.2 定时中断服务子程序4.3 程序清单源程序详见附录。5 调试过程5.1 使用仪器设备整个测距系统由单片机最小系统、实验开发平台(其中用到超声波收发模块、数码管显示模块、按键模块)、pc机、跳线若干根组成。5.2 调试中的问题及解决方案 软件调试中的问题及解决方案根据实际情况可以修改超声波子程序每次发送的脉冲宽度和两次测量的时间间隔
13、,以适应不同距离的测量需要。根据所设计的电路参数和程序,测距仪能测得范围为0.10.5m,当超过范围时发生led亮灯报警,同时设置启动自动复位,使其重新测距。 a.测距程序程序中最难的部分是测距程序。由于该超声波测距模块对时序的要求很高,要求在输入端产生40khz的方波。因为在程序的大循环中,尤其它程序造成延时的误差,导致产生的方波并不算是需要的40khz。这样该模块就无法正常运行,导致测距失败。后来,我们修改了延时,矫正了时序,并用示波器进行测量,在p3.3引脚上得到了40khz的方波。 b.报警功能由于报警时要使led灯闪烁,即需高电平与低电平交叉。其中在高低电平转换时需要延时,我们错误的
14、将报警子程序放入主程序,导致数码管不能正常的进行动态扫描。将报警子程序以定时器1的方式放入中断函数或将动态扫描程序放入定时器1,都可解决问题。经过多次尝试,以及大家地讨论终于成功写出了报警系统的亮灯功能。5.3 功能显示如图5.2所示,通过数码管显示测出的距离为,属于10cm50cm正常范围。图5.1 超声波测距正常范围如图5.3所示,超声波测出的距离为,小于10cm,报警系统启动,led灯亮。图5.2 超声波测距小于10cm 如图5.4所示,超声波测出的距离为,大于50cm,报警系统启动,led灯亮。图5.3 超声波测距大于50cm 如图5.5所示,按下键盘模块中的按键,复位系统,数码管显示
15、距离数归零。图5.4 启动复位功能 6 课程设计收获6.1 课程设计的心得体会作为一名电子信息工程的学生,我觉得做单片机课程设计是十分有意义的,而且是十分必要的,在已度过的大学时间里,我们大多数接触的是专业课。在课本上掌握的仅仅是专业课的理论知识,如何去锻炼我们的实践能力?如何把我们所学的专业理论运用到实践中?我想这次课程设计提供了良好的平台。在做本次课程设计的过程中,我感触最深的当属于实物制作和调试的过程,为了让设计更完善,我们查阅了大量的资料,经过多次小组讨论,修改程序,不断调试,终于初见成果。在这期间,我一度感到沮丧,因为在我的设想中能实现的功能放到实物中往往会遇到各种问题,为了解决这些
16、问题,花费大量的经历和时间,从中我也学到了我们一切都要有据可依,不切实际的构想无法升级为设计。通过这次的课程设计的制作让我对单片机的理论有了更加深入的了解,同时在具体制作实物的过程中,我发现书本上的知识与实际应用存在着差距,书本上的知识很多都是理想化的结论,忽略了很多实际因素或者问题,这让我们无法根据书本上的理论就轻易得到预想中的结果。通过这次实践使我更深刻的体会到了理论联系实际的重要性,以及我们实物制作的动手能力。我们在今后的学习工作中会更加的注重实际,避免成为只会纸上谈兵的赵括。从中我也学会了凡事要耐心和坚持。最后,我在此要感谢各位给予我帮助的同学和我们小组的其他两位成员,没有他们的帮助无
17、法独自完成这次课程设计。特别要感谢我们的指导老师,两位指导老师不辞辛劳的回答我们的问题,和我们一同讨论并解决问题。参考文献1 沙占友集成化智能传感器原理与应用m北京:电子工业出版社,20042 吴研超声波倒车雷达系统设计 j北京:北京理工大学,20053 肖景和,赵健红外线热释电与超声波遥控电路m北京:人民邮电出版社,20034 史谚宾基于at89c2051的超声波测距仪设计j北京:航空航天出版社,20065 路锦正,王建勤.超声波测距仪的设计m成都:成都理工大学,19996 基于单片机智能系统的设计与实现m北京:人民邮电出版社,20057 赖寿宏微型计算机控制技术m北京:机械工业出版社,20
18、028 王兆安,黄俊电力电子技术m北京:机械工业出版社,20039 邱关源电路m北京:高等教育出版社,199910 尤一鸣.单片机总线扩展技术第一版m.北京:北京航空航天大学出版社,1993附录程序清单/超声波模块显示程序#include /包括一个52标准内核的头文件#define uchar unsigned char /定义一下方便使用#define uint unsigned int#define ulong unsigned longsbit tx p33; /产生脉冲引脚sbit rx p32; /回波引脚sbit warning_led p17;sbit key p16;ucha
19、r code seg710 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90 ;/数码管0-9uint distance4; /测距接收缓冲区uchar ge,shi,bai,temp,flag,outcomeh,outcomel,i; /自定义寄存器bit succeed_flag; /测量成功标志/函数声明void conversion uint temp_data ;void delay_20us ;void pai_xu ;void main void / 主程序 uint distance_data,a,b; uchar cont_1
20、; i 0; flag 0;tx 0; /首先拉低脉冲输入引脚tmod 0x11; /定时器0,定时器1,16位工作方式 ,timer0用显示tr0 1; /启动定时器0 it0 0; /由负沿触发外部中断et0 1; /打开定时器0中断ex0 0; /关闭外部中断ea 1; /打开总中断0while 1 /程序循环 ea 0; tx 1; delay_20us ; tx 0; /产生一个20us的脉冲,在tx引脚 while rx 0 ; /等待rx回波引脚变高电平 succeed_flag 0; /清测量成功标志 ex0 1; /打开外部中断 th1 0; /定时器1清零 tl1 0; /
21、定时器1清零 f1 0; tr1 1; /启动定时器1 ea 1;while th1 30 ;/等待测量的结果,周期65.535毫秒 tr1 0; /关闭定时器1 ex0 0; /关闭外部中断if succeed_flag 1 distance_data outcomeh; /测量结果的高8位 distance_data 8; /放入16位的高8位 distance_data distance_data|outcomel;/与低8位合并成为16位结果数据 distance_data* 12; /因为定时器默认为12分频 distance_data/ 58; /微秒的单位除以58等于厘米 /为什
22、么除以58等于厘米, y米 (x秒*344)/2/ x秒 ( 2*y米)/344 x秒 0.0058*y米 厘米 微秒/58 if succeed_flag 0 distance_data 0; /没有回波则清零 distancei distance_data; /将测量结果的数据放入缓冲区 i+; if i 3 distance_data distance0+distance1+distance2+distance3 /4; /求平均 pai_xu ; /按从小到大的顺序放 distance_data distance1;a distance_data; if b a cont_1 0; i
23、f b! a cont_1+; if cont_1 3 cont_1 0; b a; conversion b ; i 0; /外部中断0,用做判断回波电平void int0_ interrupt 0 / 外部中断是0号 outcomeh th1; /取出定时器的值 outcomel tl1; /取出定时器的值 succeed_flag 1; /至成功测量的标志 ex0 0; /关闭外部中断 /定时器0中断,用做显示void timer0 interrupt 1 / 定时器0中断是1号 th0 0xfd; /写入定时器0初始值tl0 0x77;switch flag case 0x00:p0 ge; p2 0x7f;flag+;break; case 0x01:p0 shi;p2 0xbf;flag+;break; case 0x02:p0 bai;p2 0xdf;flag 0;break; /显示数据转换程序void conversion uint tem
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 商业沙盘实训报告
- 美篇手机版的制作方法
- 高空安全协议书
- 特岗签了协议书
- 土地租赁合同转让协议书
- 2025-2026学年北京市丰台区初一历史上册期中考试试卷及答案
- 贫血病常见症状及护理指南
- 2025版败血症常见症状及护理知识点
- 检验科临床检验质控规范培训指南
- 软件技术人物介绍
- 2025年遴选干部面试题及答案
- plc技术协议合同模板
- 2025广西旅发南国体育投资集团有限公司招聘3人笔试备考题库及答案解析
- 公司印章管理培训课件
- 医院设备科述职报告
- 国企面试实战题库:经典题目及答案详解
- (2025年标准)要账提成协议书
- 2025营养指导员理论知识考核试题库及答案
- 智联猎头企业薪酬调研白皮书-2025年年中盘点
- 4.3 看一看(三)(课件)北师大版三年级数学上册
- 机动车辆合格证管理办法
评论
0/150
提交评论