



版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、( 此文档为 word 格式,下载后您可任意编辑修改!)滁州职业技术学院信息工程系 2015 届应用电子技术专业毕业论文姓名:朱淼森班级:12级应用电子( 1)班设计课题:超声波测距仪指导教师:姚聪2014年11月28日1目录目录.ii摘要.4第一章概述 .11.1系统功能要求 .11.1.1基本要求 .11.1.2发挥部分 .11.2系统设计方案 .11.2.1超声波测距模块.21.2.2显示模块 .21.2.3主控模块 .21.2.4电源模块 .21.2.5充电控制模块 .2第二章硬件设计 .42.1超声波测距模块 .42.1.1设计方案 .42.1.2HC-SR04 芯片介绍 .42.1
2、.3超声波测距模块原理 .42.2显示模块 .52.2.1设计方案 .52.2.21602液晶显示器介绍 1.62.2.31602液晶显示器原理.62.3主控模块 .72.3.1设计方案 .72.3.2 STC12C5A60S2单片机介绍 2 .72.3.3 STC12C5A60S2单片机原理.82.4总体硬件设计 .92.4.1总体设计方案 .92.4.2完整硬件电路图.9第三章软件设计 .103.11602液晶屏显示驱动模块 .103.1.1软件设计方案 .103.1.2软件流程 .103.1.3软件代码 .103.2AD 检测模块.133.2.1软件设计方案 .143.2.2软件流程图
3、.143.2.3 3 .14软件代码3.3超声波测距模块 .163.3.1软件设计方案 .163.3.2软件流程图 .163.3.3软件代码 .163.4软件整体流程 .233.4.1软件整体设计方案 .233.4.2 主函数程序结构.23第四章系统结果 .255.1超声波测距仪性能介绍.255.2超声波测距仪结果分析.25致谢 .27参考文献.27摘要超声波测距仪要求测量范围在 5cm500cm,测量精度 1cm,测量时与被测物体无直接接触,能够清晰稳定地显示测量结果。由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波常用于距离测量。超声波测距仪,可以应用于汽车倒车、建筑施
4、工工地以及一些工业现场的位置监控,也可用于液位、井深、管道长度等测量的场合。利用超声波检测往往比较迅速、方便、易于做到实时控制,并且在测量精度方面能达到工业实用的要求,因为往往在移动机器人的研制中得到了广泛的应用。本组设计的超声波测距仪采用 HC-SR04 模块实现了超声波的发射与接收,采用 STC12C5A60S2 单片机做为该测距仪的控制核心,此设计易于调试,成本低廉,具有很强的实用价值和良好的市场前景。关键词:超声波传感器,单片机,测距仪第一章概述声波分为纵波和横波等,声波可以在任意介质当中传播称之为纵波。当声波受到尺寸大于其波长的目标物体阻挡时就会产生反射,反射波称为回声。假如声波在介
5、质中传播的速度是已知的,而且声波从声源到达目标然后返回声源的时间可以测量得到,那么就可以计算出从声源到目标的距离。超声波测距仪就是基于上面原理而设计的。这里声波传播的介质为空气,采用的是方向性较好的超声波。1.1系统功能要求基本要求( 1)最大测距距离 5m,最小测距距离 5cm。( 2)测量精度小于 1cm。( 3)人机界面友好,操作方便,用液晶屏或数码管显示测量值。( 4)自带可充电电池作为电源,充电电池用USB 口充电。发挥部分( 1)最大测距距离提高到 10m。( 2)测量精度提高到 5mm。( 3)使用两套以上设备实现“一问一答”的二次雷达工作方式进行距离测量。各套设备发射不同编码波
6、形实现自身个体身份识别,并以此同时测量自身与其它多个个体之间的距离。1.2系统设计方案根据系统功能要求,本此设计的思路是将系统分为电源模块、主控模块、超声波测距模块、显示模块和充电控制模块五个部分(如图1-1 所示)进行分步设计。图 1-1 系统功能框图测量距离的方法有很多种,短距离的可以用米尺,远距离的有激光测距等,超声波测距适用于高精度的中长距离测量。因 为超声波在标准空气中的传播速度为331.45 米秒,由单片机负责计时,系统的测量精度理论上可以达到毫米级。超声波测距的原理一般采用渡越时间法TOF ( time of flight ),也可以称为回波探测法。超声波发射器向某一方向发射超声
7、波,在发射时刻的同时开始计时,超声波在介质中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。根据传声介质的不同,可分为液介式、气介式和固介式三种。根据所用探头的工作方式,又可分为自发自收单探头方式和一发一收双探头方式。超声波在空气中(20 ) 的传播速度为340ms(实际速度为344ms这里取整数),根据计时器记录的时间就可以计算出发射点距障碍物的距离,公式S=340*t2。超声波测距模块超声波测距模块用于实现本系统核心功能,是本次设计首先考虑的内容,超声波测距模块的好坏,直接决定了产品的性能。显示模块显示模块是人际交换的重要平台之一,显示模块的好坏直接决定了用户的体验
8、,所以选择什么样的显示器件也是很重要的。主控模块主控模块是本次设计的核心器件,它起到了“大脑”的作用,在一定程度上决定了产品的性能和功能;强大的单片机可以丰富产品功能,增加用户体验和产品性能,更利于软件开发等。所以选择什么样的单片机更加实惠,性能会更好,也是硬件设计所面临的挑战。电源模块电源模块是超声波测距仪的“心脏” ,只有给超声波测距仪的各个“器官”提高足够的功率,这些“器官”才能发挥自己的作用,所以选择一个适合超声波测距仪的“心脏”也是很重要的,在整体上影响了产品的性能,毕竟超声波测距仪是手持式的,具有便携的功能,电源模块也需要短小精悍。充电控制模块这个模块在超声波测距仪中也是不可缺少的
9、,它性能的优良关系到产品的性能和耐用度。根据设计要求,我们知道需要用USB 接口给充电电池充电,如果我们用USB 接口直接连接外部的 USB 电源的话,那么USB 接口标准电压为 5V ,电池电压不低于5V,这时充电就无法进行。我们为了可以用USB 接口对充电电池充电,采用的是:一个USB 接口母头、升压模块、 JZC-32F 继电器、发光二极管共同组成充电控制模块。在超声波测距仪正常工作时使用电池直接供电,当电量不足时发管二极管点亮来提示电量不足。在为电源模块充电时,外接5v 充电器连接超声波测距仪的USB 接口,通过升压模块来提升充电电压,用单片机来控制继电器为电池充电。第二种方案还带有电
10、池电量检测功能,可以再电池电量不足的时给予提示,避免了由于电池电量不足而影响超声波测距精度。第二章硬件设计2.1超声波测距模块设计方案超声波测距模块用于实现本系统核心功能,是本次设计首先考虑的内容,在设计时,本组确实考虑了两种方案。方案一:选取超声波收发探头作为核心器件,配合外部电路以及超声波信号处理芯片(CX20106)自主设计测距模块。这种方案可以控制超声波的发射接收频率,具有很强系统优化功能,但是外部电路复杂,参数匹配要求较高,且测距的精度和距离不够高。方案二:购买市面上已经成熟的超声波测距模块。这种超声波模块的发射接收频率固定,不具有系统优化的可能,但是信号接收精度高,控制简单。经过比
11、较,方案二既能够满足设计要求,同时对控制程序的要求较低,因此选取方案二作为本模块的设计方案。芯片介绍HC-SR04 芯片是超声波模块,它由STC11 单片机、 MAX232 电平转换芯片、 TL074四个集成的运算放大器组成。使用HC-SR04 超声波模块, 可以很方便的与单片机连接,并且超声波测距的精度很高,驱动程序也很好编写。HC-SR04 超声波模块也是由发射部分和接收部分组成。发射部分包括,STC11 系列的单片机, MAX232 电平转换芯片和超声波发射头组成。接收部分包括:TL074 芯片和超声波接收头。STC11 系列的单片机芯片主要起到控制作用,起到和我们使用的单片机进行通讯,
12、包括 TX 引脚的启动电平和RX 引脚的接收电平。我们将单片机输出TX=1 ,启动信号后,STC11 单片机打开 MAX232 芯片的电源开关,并且输出 8 个 40kHz 的方波信号给 MAX232 芯片,MAX232 芯片是电平转换芯片, 在这里的作用就是电平转换, 将 5V 电平转换到 12V 输出。这样可以提高发射功率,我们知道功率和电压和电流有关,现在电流不变,电压升高,那么超声波发射的功率显然就上升了。功率的提升可以增加超声波检测的距离和精度。正是有了这个模块,所以HC-SR04 的性能这能这样好。 TL074 芯片是 4 个集成运放电路。而且它是低噪声输入的JFET 的运算放大器
13、,可以很好的将超声波接收头接收到的信号,进行放大,整形等。通过三极管控制和STC11 单片机的通讯信号,拉低或者拉高。所有的信号经过 STC11 单片机处理后,和我们使用的主控芯片进行通讯和数据传输。超声波测距模块原理( 1)超声波测距原理:超声波是利用反射的原理测量距离的,被测距离一端为超声波传感器,另一端必须有能反射超声波的物体。测量距离时,将超声波传感器对准反射物发射超声波,并开始计时,超声波在空气中传播到达障碍物后被反射回来,传感器接收到反射脉冲后立即停止计时,然后根据超声波的传播速度和计时时间就能计算出两端的距离。测量距离 L 为 L=(t2)*c 超声波在空气中的传播速度为340m
14、s,根据计时器记录的时间t,就可以计算出发射点距离障碍物的距离(s)即: s=340t2。这就是所谓的时间差测距法。( 2)原理图:图 2-1 是和单片机连接的原理图;图2-2 是 HC-SR04 内部原理图。图 2-1 HC-SR04 原理图图 2-2 HC-SR04 内部原理图2.2显示模块设计方案在显示模块的设计方案中,选择什么型号的显示器件,关乎到用户体验,本组认为数码管不利于控制,且视觉效果不好,所以选取了1602 液晶屏作为主要显示器件,相对于数码管,液晶屏的显示信息数量更多,而且数据更清晰,这样用户使用时能更清楚、直观的明白距离等信息,同时配合发光二极管作为报警器件,可以拥有更好
15、的用户体验。液晶显示器介绍 11602 液晶也叫 1602 字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7 或者 5X11 等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM ,显示效果也不好) 。1602LCD 是指显示的内容为16X2,即可以显示两行, 每行 16 个字符液晶模块 (显示字符和数字)。市面上字符液晶大多数是基于HD44780 液晶芯片的,控制原理是完全相同的,因此基于 HD44780 写的控制程序可以很方便地
16、应用于市面上大部分的字符型液晶。液晶显示器原理(1)1602 液晶显示器工作原理:1602 液晶显示器的数据接口连接到单片机 STC12C5A60S2 的 P0 口上 ,控制端口连接在 P2 口上面,我们通过 1602 的读写时序,对 RS、 RW 、E 三个端口进行操作,便可以对 1602 进行读操作,写操作;数据也可以和 1602 进行交换,我们可以先写命令,也可以写地址,然后直接发送数据,这样1602 就能识别了。详细的程序会在软件中介绍。( 2)原理图:图 2-3 是 1602 液晶显示器与单片机连接原理图;图2-4 是 1602 液晶显示器的实物图。图 2-3 1602 液晶屏接线图
17、图 2-4 1602 液晶屏实物图2.3主控模块设计方案主控模块是控制超声波发射与接收的核心器件, 选取什么型号的单片机是至关重要的。 STC59C52RC 单片机使用起来比较简单,程序也容易编写,但是考虑到,以后超声波测距仪功能的拓展和本次设计要求,如检测距离的精度高,且要进行AD 检测等,经过挑选,最终选择了 STC12C5A60S2 单片机作为本次超声波测距模块的主控芯片,这款单片机具有执行速度快,且内部自带AD 转换,符合了本次设计的功能要求。单片机介绍 2STC12C5A60S2ADPWM 系列单片机是宏晶科技生产的单时钟机器周期 (1T) 的单片机,是高速低功耗超强抗干扰的新一代
18、8051 单片机,指令代码完全兼容传统 8051,但速度快 8-12 倍。内部集成 MAX810 专用复位电路 ,2 路 PWM,8 路高速 10 位 AD 转换 (250KS),针对电机控制,强干扰场合具体功能如下:( 1)增强型 8051 CPU, 1T,单时钟机器周期,指令代码完全兼容传统8051;( 2)工作电压:STC12C5A60S2 系列工作电压: 5.5V-3.3V(5V 单片机 )STC12LE5A60S2系列工作电压: 3.6V-2.2V(3V 单片机 );( 3)工作频率范围: 0 - 35MHz ,相当于普通 8051 的 0 420MHz ;( 4)用户应用程序空间8
19、K 16K20K32K40K48K52K60K62K 字节;( 5)片上集成 1280 字节 RAM ;( 6)通用 IO 口(364044 个),复位后为:准双向口弱上拉(普通 8051 传统 IO 口 ),可设置成四种模式:准双向口弱上拉,推挽强上拉,仅为输入高阻,开漏,每个IO 口驱动能力均可达到 20mA,但整个芯片最大不要超过55Ma ;( 7) ISP( 在系统可编程 )IAP( 在应用可编程 ),无需专用编程器,无需专用仿真器可通过串口直接下载用户程序,数秒即可完成一片;( 8)有 EEPROM 功能 (STC12C5A62S2ADPWM 无内部 EEPROM) ;( 9)内置看
20、门狗;( 10)时钟源:外部高精度晶体时钟,内部RC 振荡器 (温漂为 +-5% 到+-10% 以内 ) 1用户在下载用户程序时, 可选择是使用内部RC 振荡器还是外部晶体时钟, 常温下内部 RC振荡器频率为: 5.0V 单片机为: 11MHz 15.5MHz ,3.3V 单片机为: 8MHz 12MHz ,精度要求不高时,可选择使用内部时钟,但因为有制造误差和温漂,以实际测试为准;( 11)共 4 个 16 位定时器 两个与传统 8051 兼容的定时器计数器 ,16 位定时器 T0 和T1 ,没有定时器 2,但有独立波特率发生器做串行通讯的波特率发生器再加上 2 路 PCA模块可再实现 2
21、个 16 位定时器;( 12)2 个时钟输出口, 可由 T0 的溢出在 P3.4T0 输出时钟,可由 T1 的溢出在 P3.5T1输出时钟;( 13)PWM(2 路)PCA( 可编程计数器阵列 ,2 路):可用来当 2 路 DA 使用、也可用来再实现 2 个定时器、也可用来再实现 2 个外部中断 (上升沿中断下降沿中断均可分别或同时支持);( 14)AD 转换 , 10 位精度 ADC ,共 8 路,转换速度可达 250KS(每秒钟 25 万次 )18.通用全双工异步串行口 (UART) ,由于 STC12 系列是高速的 8051,可再用定时器或 PCA 软件实现多串口。单片机原理( 1)ST
22、C12C5A60S2 单片机控制原理: 在本次设计中采用了单片机芯片, 单片机采用的是 STC12C5A60S2,采用 11.0592MHz 高精度的晶振,方便以后单片机和上位机通讯。其次是利用单片机对超声波模块发出的 40kHz 的超声波进行计时和距离的计算。根据距离控制 1602 液晶显示屏显示相应的距离,单片机内部自带 ADC ,用于检测电池组的电压,单片机通过检测得到电压数据,而后控制 1602 液晶屏进行电压数据的显示。我们根据不同的电压,控制信号灯进行点亮或者熄灭,也控制电池组进行充电或是不充电。( 2)原理图:图 2-5 是 STC12C5A60S2 单片机引脚图。图 2-5 S
23、TC12C5A60S2 引脚图2.4总体硬件设计总体设计方案在上面我们已经提到了,我们所有的硬件模块都是根据设计要求而得到的,总体设计思路如下:当接通电源后,电源给所有硬件电路供电,同时单片机对电源模块进行电压检测,因为电池电量和电池电压有直接关系,所以我们可以通过检测电池电压知晓电池的电量,这样在电池没电时,可以发出报警信号,当电池过充时,同样可以报警和利用继电器关闭充电回路。并且单片机可以实时将电池电量显示在1602 液晶屏上面,增加信息量。当上电时,单片机不仅会对电池电压进行检测,而且当电池电压不高不低时, 会控制 HC-SR04超声波模块发出超声波,并且打开定时器,当超声波反射回来的时
24、候,关闭定时器,然后计算出距离数据, 最后驱动 1602 液晶屏显示出来。 这就是我们超声波测距仪的整体设计思路。完整硬件电路图通过上面的设计方案和设计要求,本组设计出了完整的电路图,如图2-6 所示。图 2-6 超声波测距仪完整电路图第三章软件设计3.1 1602 液晶屏显示驱动模块软件设计方案根据 1602 液晶屏的资料,我们可以知道1602 液晶屏有 16 个引脚,数据脚有 8 个,与操作相关的引脚有 3 个,分别是 RS 数据命令选择端、 RW 读写选择端、 E 使能信号。知道这些引脚功能,并且知道了操作 1602 的时序后,就可以编写出 1602 液晶屏的操作读写代码。通过这些读写代
25、码,我们单片机就可以与 1602 液晶屏进行通讯,也就可以让 1602 液晶屏显示出我们想显示的内容了。软件流程我们查询资料可以得到1602 液晶屏的基本操作时序, 如:写命令:RS=0.RW=0,D0-D7=指令码 ,E=高脉冲。写数据: RS=1,RW=0,D0-D7= 数据,E=高脉冲。具体的写时序图如下所示:图 3-1 是写指令时序图;图3-2 是写数据时序图。图 3-1 1602 液晶屏写指令时序图图 3-2 1602 液晶屏写数据时序图软件代码#include<intrins. void delay_ms(unsigned int j);unsigned char P00(u
26、nsigned char i)unsigned char da=0,n;for(n=8;n>0;n-)da=da<<1;da=da+(i&0x01);i=i>>1;return(da);bit lcd_bz()查忙函数bit busy;RS=0;RW=1;E=1;选择目标为指令寄存器读操作拉高E端口_nop_();_nop_();busy=(P0&0x80)>>7;取出D7位(忙信号)busy=P0&0X01;_nop_();_nop_();E=0;E 端产生下降沿return busy;返回忙信号void lcd_wcmd(u
27、nsigned char cmd)写指令函数unsigned char cmd1;while(lcd_bz();查忙cmd1=P00(cmd);RS=0;RW=0;P0=cmd1;E=1;选择目标为指令寄存器写操作发送指令数据拉高E端口_nop_();_nop_();_nop_();_nop_();E=0;E 端产生下降沿,数据写入指令寄存器void lcd_wdat(unsigned char dat)写数据函数unsigned char dat1;while(lcd_bz();查忙dat1=P00(dat);RS=1;RW=0;P0=dat1;E=1;选择目标为数据寄存器写操作发送显示内容
28、数据拉高E端口_nop_();_nop_();_nop_();_nop_();E=0;E 端产生下降沿,数据写入指令寄存器void lcd_init()初始化函数lcd_wcmd(0X38);8 位总线,双行显示,字符大小5*7delay_ms(1);lcd_wcmd(0x0c);开显示,无光标delay_ms(1);lcd_wcmd(0x06); 光标向右,文字不移动 delay_ms(1);lcd_wcmd(0x01);清屏delay_ms(1);void display_up(unsigned char *p) 第一行显示函数unsigned char temp=0,i;lcd_wcmd
29、(0x00|0x80);设置显示起始位置为左边第一位for(i=0;i<16;i+)依次显示 16 个字符temp=pi;lcd_wdat(temp);delay_ms(1);void display_down(unsigned char *p) 第二行显示函数unsigned char temp=0,i;lcd_wcmd(0x40|0x80);设定显示起始位置为左边第一位for(i=0;i<16;i+)依次显示 16 个字符temp=pi;lcd_wdat(temp);delay_ms(1);3.2 AD 检测模块软件设计方案在上面的设计要求中有提到,需要用电池供电,且用 USB
30、 接口对电池充电,从这个要求中我们不难看出,一个好的产品必然需要对电池的电量进行检测,只有这样才能算是完整的产品。在硬件设计的时候, 本组就考虑这种情况, 所以选择了 STC12C5A60S2 单片机,这款单片机内部自带 8 路 10 位 AD 转换,精度高,数量多,我们对单片机内部的相关寄存器进行调用就可以完成 AD 转换。因为电池是直接对单片机进行供电,这时,如果电池电压下降,那么单片机检测出来的电压必然是不准确的,所以为了避免这种情况,我们用了两路 AD 转换接口,一路是检测电池电压,另一路是检测基准电压源的输出电压,因为基准电压源的电压值不会随着电池的电压波动而变化,所以可以通过检测这个电压,将这个电压和电池电压之间的比例关系计算出来,就可以实现我们实际测得的电池电压数据是准确的,不会因为电池电压的波动而得到错误的电池电压数据,这样就可以正确的对
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025终止停车场租赁合同范本
- 《烧伤的作业治疗》课件
- 《中华文化世纪盛宴》课件
- 《高效保险销售技巧》课件
- 东方山水假日酒店孔子揭幕仪式活动方案
- 吕梁师范高等专科学校《物联网系统设计》2023-2024学年第二学期期末试卷
- 西藏拉萨市那曲二高2025届高考历史试题模拟试卷(4)含解析
- 上海出版印刷高等专科学校《色彩设计》2023-2024学年第二学期期末试卷
- 江苏省苏州市2025年初三调研测试(二)化学试题含解析
- 洛阳职业技术学院《软件系统分析》2023-2024学年第二学期期末试卷
- 甘肃省2025年甘肃高三月考试卷(四4月)(甘肃二诊)(数学试题+答案)
- 2025年中小学教师资格考试的重要试题及答案
- 微训练 一文多考 备考高效之诗歌《苏幕遮・燎沉香》教师版
- 2025届山东省济南市一模生物试题(原卷版+解析版)
- 海南地理会考试卷及答案2024
- 全国河大音像版初中信息技术八年级上册第三章第三节《循环结构程序设计》教学设计
- 企业健康管理计划规划方案讨论
- 隧道高空作业施工方案
- 危险性较大的分部分项工程专项施工方案严重缺陷清单(试行)
- 深信服超融合HCI技术白皮书-20230213
- 2025年陕西省土地工程建设集团有限责任公司招聘笔试参考题库附带答案详解
评论
0/150
提交评论