基于单片机的超声波测距系统设计实验报告----重

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

指导教师评定成绩:审定成绩:自动化学院计算机控制技术课程设计报告设计题目:基于单片机的超声波测距系统设计单位(二级学院):学生姓名:专业:班级:学号:指导教师:负责项目:设计时间:二〇一四年五月自动化学院制目录一、设计题目.........................................1基于51单片机的超声波测距系统设计................1设计要求.........................................1摘要.................................................2二、设计报告正文.....................................32.1超声波测距原理...............................32.2系统总体方案设计.............................42.3主要元件选型及其结构.........................52.4硬件实现及单元电路设计.......................92.5系统的软件设计..............................13三、设计总结........................................17四、参考文献........................................17五、附录............................................18附录一:总体电路图..............................18附录二:系统源代码..............................181一、设计题目基于51单片机的超声波测距系统设计设计要求1、以51系列单片机为核心,控制超声波测距系统;2、测量范围为:2cm~4m,测量精度:1cm;3、通过键盘电路设置报警距离,测出的距离通过显示电路显示出来;4、当所测距离小于报警距离时,声光报警装置报警加以提示;5、设计出相应的电子电路和控制软件流程及源代码,并制作实物。2摘要超声波具有传播距离远、能量耗散少、指向性强等特点,在实际应用中常利用这些特点进行距离测量。超声波测距具有非接触式、测量快速、计算简单、应用性强的特点,在汽车倒车雷达系统、液位测量等方面应用广泛。本次课设利用超声波传播中距离与时间的关系为基本原理,以STC89C52单片机为核心进行控制及数据处理,通过外围电源、显示、键盘、声光报警等电路实现系统供电、测距显示、报警值设置及报警提示的功能。软件部分采用了模块化的设计,由系统主程序及各功能部分的子程序组成。超声波回波信号输入单片机,经单片机综合分析处理后实现其预定功能。关键词:STC89C52单片机;HC-SR04;超声波测距3二、设计报告正文2.1超声波测距原理常用的超声测距的方法是回声探测法,超声波发射器向某一方向发射超声波,在发射时刻的同时计数器开始计时,超声波在空气中传播,途中碰到障碍物面阻挡就立即反射回来,超声波接收器收到反射回的超声波就立即停止计时。设超声波在空气中的传播速度为340m/s(不计介质温度变化对速度的影响),根据计时器记录的时间t,就可以计算出发射点距障碍物面的距离s,即:s=340t/2。如图2-1所示:t超声波发射障碍物SHθ超声波接收图2-1超声波的测距原理cosSH(2-1))(HLarctg(2-2)式中:L—两探头中心之间距离的一半;又知道超声波传播的距离为:vtS2(2-3)式中:v—超声波在介质中的传播速度;t—超声波从发射到接收所需要的时间;4将式2-1、2-2、2-3联立得:]cos[21HLarctgvtH(2-4)其中,超声波的传播速度v在一定的温度下是一个常数(例如在温度T=30度时,V=349m/s);当需要测量的距离H远远大于L时,上式变为:vtH21(2-5)所以,只要需要测量出超声波传播的时间t,就可以得出测量的距离H.2.2系统总体方案设计本超声波测距系统由系统硬件电路及软件程序实现两部分构成。其中由STC89C52单片机最小系统、HC-SR04超声波模块、电源接口电路、4位共阳极数码管显示电路、三极管驱动电路、蜂鸣器声光报警电路及键盘电路构成硬件系统。以STC89C52单片机为核心,通过触发信号控制HC-SR04超声波测距模块发射超声波并接收回波,测算出前方障碍的距离,输入单片机进行运算,与预设报警距离比较后判断是否启动蜂鸣器声光报警装置。根据系统功能要求及模块划分可绘制出系统硬件框图,如图2-2所示:图2-2系统硬件框图电源接口电路显示模块超声波测距模块键盘模块声光报警电路STC89C52单片机最小系统52.3主要元件选型及其结构2.3.1STC89C52芯片STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。工作电压:5.5V~3.3V。STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。具有以下标准功能:8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KBEEPROM,MAX810复位电路,3个16位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。另外STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选。其引脚图如图2-3所示:a引脚图b实物图图2-3STC89C52引脚图62.3.2HC-SR04超声波模块HC-SR04超声波模块具有性能稳定、测度距离精确、模块高精度、盲区小等特点,使用简单易操作,常用于距离测量。其原理图及实物图如图2-4、图2-5所示:图2-4HC-SR04超声波模块原理图图2-5HC-SR04超声波模块实物图7(1)接线方式:VCC(接电源)、Trig(控制端)、Echo(接收端)、GND(接地)(2)基本工作原理:a.采用I/O口TRIG触发测距,给至少10us的高电平信号;b.模块自动发送8个40kHz的方波,自动检测是否有信号返回;c.有信号返回,通过I/O口ECHO输出一个高电平,同时开始计时直到此口变为低电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340M/S))/2。(3)电气参数表1HC-SR04电气参数表(4)超声波时序图图2-6超声波时序图8(5)操作:初始化时将trig和echo端口都置低,首先向给trig发送至少10us的高电平脉冲(模块自动向外发送8个40kHz的方波),然后等待,捕捉echo端输出上升沿,捕捉到上升沿的同时,打开定时器开始计时,再次等待捕捉echo的下降沿,当捕捉到下降沿,读出计时器的时间,这就是超声波在空气中运行的时间,按照测试距离=(高电平时间*声速(340M/S))/2就可以算出超声波到障碍物的距离。2.3.34位共阳数码管(1)共阳数码管的实物图、原理图如图2-7、图2-8所示:图2-74位共阳数码管实物图图2-84位共阳数码管原理图(2)工作原理:共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。(3)动态显示驱动:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱9动是将所有数码管的8个显示笔划a,b,c,d,e,f,g,dp的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。2.4硬件实现及单元电路设计(1)单片机最小系统单片机系统由电源、晶振电路、复位电路组成。如图2-9所示:图2-9单片机最小系统10(2)电源接口电路设计电源部分的设计采用3节5号干电池4.5V供电,如图2-10所示:图2-10电源接口电路(3)超声波模块接口HC-SR04超声波模块接口如图2-11所示:图2-11HC-SR04超声波模块接口11(4)4位共阳极数码管显示电路及三极管驱动电路显示电路如图2-12所示:图2-124位共阳数码管显示电路当I/O口输出低电平时,相应段被选通,反之则不然。三极管驱动电路如图2-13所示:图2-13三极管驱动电路当I/O口输出低电平时,相应位被选通,反之则不然。12(5)声光报警电路的设计声光报警电路如图2-14所示:图2-14声光报警电路声光报警电路由一个蜂鸣器、一个三极管、一个发光二极管、两个电阻构成。其中电阻起限流的作用,当I/O口输出低电平时,三极管饱和导通,蜂鸣器报警、LED亮,反之则不报警。(6)键盘电路的设计键盘电路如图2-15所示:图2-15键盘电路132.5系统的软件设计(1)各主要模块①超声波测距模块。给超声波Trig口至少10us的高电平,启动测量,定时器T0计时,通过计算测得距离。②显示模块。包括数码管位选函数、段选函数及距离处理显示模块。将超声波测距测量值、报警设定值显示在4位数码管上。③键盘模块。由键盘检测函数及键盘处理函数组成。有设定键、加键、减键、复位键、开关键。主要设置报警值。④声光报警模块。将测量值与设定报警值比较,若小于设定值,报警。⑤特殊存储器eepom模块。包括单片机eepom存储器读、写操作以及初始化。其内存储设定报警值,掉电数据不丢失。⑥定时器模块。TO定时器用于超声波测距的计时。T1定时器用于主程序扫描时间的控制。(2)主程序源代码voidmain(){send_wave();//测距离函数smg_display();//处理距离显示函数time_init();//定时器初始化init_eepom();//初始化eepom(读取set_d)while(1){if(flag_300ms==1)//300ms执行一次{flag_300ms=0;clock_h_l();//报警函数send_wave();//测距离函数if(menu_1==0)//没有键按下时才给缓冲数组赋新值smg_display();//处理距离显示函数if(zd_break_en==1)//自动退出设置界面程序{zd_break_value++;//每300ms加一次if(zd_break_value100)//30秒后自动退出设置界面{menu_1=0;smg_i=3;zd_break_en=0;zd_break_value=0;14}}}key();//按键检测函数if(key_can4){key_with();//按键处理函数,修改报警设定值}}}(3)主程序工作流程图图2-16主程序流程图15(4)超声波探测程序流程图图2-17超声波探测程序流程图16三、设计总结17四、参考文献[1]C程序设计(第三版).谭浩强.清华大学出版社.[2]新概念5

1 / 29
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功