




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、超声波测距仪目录TOC o 1-3 h u HYPERLINK l _RefHeading_Toc26958 目 录i HYPERLINK l _RefHeading_Toc13312 摘 要4 HYPERLINK l _RefHeading_Toc13227 第一章 概述1 HYPERLINK l _RefHeading_Toc32274 1.1 系统功能要求1 HYPERLINK l _RefHeading_Toc18580 1.1.1基本要求1 HYPERLINK l _RefHeading_Toc6684 1.1.2发挥部分1 HYPERLINK l _RefHeading_Toc18
2、377 1.2 系统设计方案1 HYPERLINK l _RefHeading_Toc30628 1.2.1超声波测距模块2 HYPERLINK l _RefHeading_Toc7769 1.2.2显示模块2 HYPERLINK l _RefHeading_Toc9370 1.2.3主控模块2 HYPERLINK l _RefHeading_Toc2858 1.2.4电源模块2 HYPERLINK l _RefHeading_Toc29235 1.2.5充电控制模块2 HYPERLINK l _RefHeading_Toc6362 第二章 硬件设计4 HYPERLINK l _RefHead
3、ing_Toc19919 2.1 超声波测距模块4 HYPERLINK l _RefHeading_Toc16284 2.1.1设计方案4 HYPERLINK l _RefHeading_Toc21987 2.1.2 HC-SR04芯片介绍4 HYPERLINK l _RefHeading_Toc14071 2.1.3超声波测距模块原理4 HYPERLINK l _RefHeading_Toc13103 2.2 显示模块5 HYPERLINK l _RefHeading_Toc32409 2.2.1设计方案5 HYPERLINK l _RefHeading_Toc16601 2.2.2 160
4、2液晶显示器介绍16 HYPERLINK l _RefHeading_Toc7828 2.2.3 1602液晶显示器原理6 HYPERLINK l _RefHeading_Toc8732 2.3 主控模块7 HYPERLINK l _RefHeading_Toc25288 2.3.1设计方案7 HYPERLINK l _RefHeading_Toc6827 2.3.2 STC12C5A60S2单片机介绍27 HYPERLINK l _RefHeading_Toc12863 2.3.3 STC12C5A60S2单片机原理8 HYPERLINK l _RefHeading_Toc26364 2.4
5、 总体硬件设计9 HYPERLINK l _RefHeading_Toc27334 2.4.1总体设计方案9 HYPERLINK l _RefHeading_Toc31764 2.4.2完整硬件电路图9 HYPERLINK l _RefHeading_Toc10771 第三章 软件设计10 HYPERLINK l _RefHeading_Toc4750 3.1 1602液晶屏显示驱动模块10 HYPERLINK l _RefHeading_Toc31015 3.1.1软件设计方案10 HYPERLINK l _RefHeading_Toc16109 3.1.2软件流程10 HYPERLINK
6、l _RefHeading_Toc13276 3.1.3软件代码10 HYPERLINK l _RefHeading_Toc10622 3.2 A/D检测模块14 HYPERLINK l _RefHeading_Toc5560 3.2.1软件设计方案14 HYPERLINK l _RefHeading_Toc19032 3.2.2软件流程图14 HYPERLINK l _RefHeading_Toc24188 3.2.3软件代码315 HYPERLINK l _RefHeading_Toc29239 3.3 超声波测距模块16 HYPERLINK l _RefHeading_Toc21511
7、3.3.1软件设计方案16 HYPERLINK l _RefHeading_Toc28479 3.3.2软件流程图16 HYPERLINK l _RefHeading_Toc21645 3.3.3软件代码17 HYPERLINK l _RefHeading_Toc21752 3.4 软件整体流程24 HYPERLINK l _RefHeading_Toc806 3.4.1软件整体设计方案24 HYPERLINK l _RefHeading_Toc26877 3.4.2主函数程序结构24 HYPERLINK l _RefHeading_Toc10823 第四章 系统结果25 HYPERLINK
8、l _RefHeading_Toc554 5.1超声波测距仪性能介绍25 HYPERLINK l _RefHeading_Toc2731 5.2超声波测距仪结果分析25 HYPERLINK l _RefHeading_Toc22106 致27 HYPERLINK l _RefHeading_Toc17060 参考文献28摘要超声波测距仪要求测量范围5cm500cm,测量精度1cm,测量时不与被测物体直接接触,并能清晰稳定地显示测量结果。超声波因其指向性强、耗能慢、在介质中传播距离远等优点,常被用于测距。超声波测距仪可用于监测汽车倒车、建筑工地和一些工业现场的位置,也可用于测量液位、井深、管道长
9、度等。由于超声波检测在移动机器人的发展中得到了广泛的应用,因此超声波检测往往快捷、方便、易于实现实时控制,并且在测量精度方面能够满足工业和实际的要求。本课题组设计的超声波测距仪采用HC-SR04模块实现超声波的发射和接收,以STC12C5A60S2单片机作为测距仪的控制核心。该设计易于调试,成本低,具有很强的实用价值和良好的市场前景。关键词:超声波传感器,单片机,测距仪第一章概述声波可分为纵波和横波等。声波可以在任何介质中传播,被称为纵波。当声波被尺寸大于其波长的目标物体阻挡时,就会被反射,反射回来的波称为回波。如果已知声波在介质中的传播速度,可以测出声波从声源到达目标再返回声源的时间,那么就
10、可以计算出声源到目标的距离。超声波测距仪就是基于上述原理设计的。这里声波传播的介质是空气,使用指向性更好的超声波。1.1系统功能要求基本要求(1)最大距离为5米,最小距离为5厘米。(2)测量精度小于1cm。(3)人机界面友好,操作方便,测量值由液晶屏或数码管显示。(4)自带充电电池作为电源,充电电池通过USB口充电。扮演角色(1)最大测距距离增加到10m。(2)测量精度提高到5毫米。(3)利用两套以上设备实现“一问一答”的二次雷达工作模式进行测距。每套设备发射不同的编码波形实现自己的个体识别,同时测量自己与其他个体的距离。1.2系统设计方案根据系统的功能需求,本次设计的思路是将系统分为五个部分
11、(如图1-1所示):电源模块、主控模块、超声波测距模块、显示模块和充电控制模块。电源模块电源模块主控制模块充电控制模块显示组件超声测距模块图1-1系统功能框图测量距离的方法有很多种,短距离用米尺,长距离用激光测距。超声波测距适用于高精度的中长距离测量。由于超声波在标准空气中的传播速度为331.45 m/s,单片机负责计时,系统的测量精度理论上可以达到毫米级。超声波测距的原理一般采用TOF(飞行时间),也可称为回波检测法。超声波发射器向某个方向发射超声波,在发射时间的同时开始计时。超声波在介质中传播,途中遇到障碍物立即返回,超声波接收器收到反射波后立即停止计时。根据传声介质的不同,可分为液体介质
12、、气体介质和固体介质三种。根据所用探头的工作模式,可分为自发自收单探头模式和一发一收双探头模式。超声波在空气(20)中的传播速度为340m/s(实际速度为344m/s,此处为整数)。根据计时器记录的时间,可以计算出发射点与障碍物的距离,公式S=340*t/2。超声波测距模块超声波测距模块用于实现系统的核心功能,这是本设计中首先考虑的。超声波测距模块的质量直接决定了产品的性能。显示模块展示模块是人际交流的重要平台之一。显示模块的好坏直接决定了用户的体验,所以选择什么样的显示设备也很重要。主控制模块主控模块是本次设计的核心器件,起着“大脑”的作用,在一定程度上决定了产品的性能和功能;强大的MCU可
13、以丰富产品功能,增加用户体验和产品性能,更有利于软件开发。所以,选择什么样的MCU价格更实惠,性能更好,对硬件设计来说是一个挑战。电源模块电源模块是超声波测距仪的“心脏”。只有给超声波测距仪的每个“器官”增加足够的功率,这些“器官”才能发挥自己的作用。因此,选择一颗适合超声波测距仪的“心脏”也是非常重要的,它影响着产品的整体性能。毕竟超声波测距仪是手持便携的,电源模块需要短小精悍。充电控制模块这个模块在超声波测距仪中也是不可或缺的,它的优异性能关系到产品的性能和耐用性。根据设计要求,我们知道我们需要使用USB接口给充电电池充电。如果我们使用USB接口直接连接外部USB电源,那么USB接口的标准
14、电压是5V,电池电压不低于5V,就无法进行充电。为了给带USB接口的充电电池充电,使用了一个USB接口母头、升压模块、JZC-32F继电器和LED组成充电控制模块。超声波测距仪正常工作时,直接用电池供电,电量不足时,LED点亮表示电量不足。给电源模块充电时,将外置5v充电器接入超声波测距仪的USB接口,通过升压模块提高充电电压,用单片机控制继电器给电池充电。第二种方案还具有电池电量检测功能,可以在电池电量不足时给出提示,避免了电池电量不足对超声波测距精度的影响。第二章硬件设计2.1超声波测距模块2.1.1设计方案超声波测距模块用于实现本系统的核心功能,这是本设计中首先考虑的。在设计中,我们小组
15、确实考虑了两个方案。方案一:选用超声波收发探头作为核心器件,配合外部电路,用超声波信号处理芯片(CX20106)独立设计测距模块。这种方案可以控制超声波的发射和接收频率,具有很强的系统优化功能,但外部电路复杂,参数匹配要求高,测距精度和距离不够高。方案二:购买市场上成熟的超声波测距模块。这个超声波模块的发射和接收频率是固定的,所以不存在系统优化的可能,但是信号接收精度高,控制简单。经过比较,第二种方案不仅能满足设计要求,而且对控制程序的要求较低,因此选择第二种方案作为本模块的设计方案。2 . 1 . 2 HC-sr04芯片介绍HC-SR04芯片是一个超声波模块,由STC11单片机、MAX232
16、电平转换芯片和TL074四个集成运算放大器组成。使用HC-SR04超声波模块,可以很方便的和单片机连接,超声波测距的精度很高,驱动很容易编写。HC-SR04超声波模块也由发射部分和接收部分组成。发射部分包括STC11系列单片机、MAX232电平转换芯片和超声波发射器。接收部分包括:TL074芯片和超声波接收器。STC11系列MCU芯片主要起控制作用,与我们使用的MCU进行通信,包括TX引脚的起始电平和RX引脚的接收电平。我们从单片机输出TX=1。启动信号后,STC11单片机打开MAX232芯片的电源开关,输出8路40kHz的方波信号给MAX232芯片。MAX232芯片是一个电平转换芯片,这里的
17、功能是电平转换,将5V电平转换成12V输出。这可以提高传输功率。我们知道功率与电压和电流有关。现在电流不变,电压上升,超声波发射的功率明显上升。功率的增加可以增加超声波检测的距离和精度。多亏了这个模块,HC-SR04的性能才能这么好。TL074芯片是四个集成运算放大器电路。而且是低噪声输入的JFET运算放大器,可以对超声波接收器接收到的信号进行放大整形。通过三极管控制和STC11单片机的通讯信号,可以下拉或上拉。所有信号都经过STC11单片机处理,然后与我们使用的主控芯片进行通信和数据传输。2.1.3超声波测距模块原理(1)超声波测距原理:超声波是利用反射的原理来测距的。被测距离的一端是超声波
18、传感器,另一端必须有能反射超声波的物体。测量距离时,将超声波传感器对准反射器发射超声波,开始计时。超声波在空气中传播到达障碍物后,被反射回来。传感器接收到反射脉冲后,立即停止计时,然后根据超声波的传播速度和计时时间就可以计算出两端的距离。测得的距离L为L =(T/2)* c,超声波在空气中的传播速度为340m/s,根据计时器记录的时间T,可以计算出发射点到障碍物的距离(s),即s=340t/2。这就是所谓的时差测距法。(2)原理图:图2-1是与单片机连接的原理图;图2-2是HC-SR04的示意图。图2-1 HC-SR04示意图图2-2 HC-SR04示意图2.2显示模块2.2.1设计方案在显示
19、模块的设计方案中,选择哪种类型的显示设备关系到用户体验。这个群体认为数码管不利于控制,视觉效果不好,所以选择1602液晶屏作为主要显示设备。与数码管相比,液晶屏显示的信息更多,数据更清晰,用户在使用时可以更清楚直观地了解距离等信息。同时,使用LED作为报警设备,可以有更好的用户体验。2 . 2 . 2 1602液晶显示器简介11602 LCD也叫1602字符LCD,是专门用来显示字母、数字、符号等的点阵式LCD模块。它由若干个5X7或5X11的点阵字符位组成,每个点阵字符位可以显示一个字符,每个位之间有一个点间距,每行之间也有一个间距,起到字符间距和行间距的作用。正因为如此,它不能很好的显示图
20、形(用自定义CGRAM显示效果不好)。1602LCD是指显示容量为16X2的LCD模块,即可以显示两行,每行16个字符(显示字符和数字)。市面上大部分字符液晶都是基于HD44780液晶芯片,控制原理完全一样,所以基于HD4780编写的控制程序可以很容易的应用到市面上的大部分字符液晶上。2 . 2 . 3 1602 LCD的原理(1)1602 LCD的工作原理:1602 LCD的数据接口接STC12C5A60S2的P0端口,控制端口接P2端口。我们可以通过1602的读写顺序操作RS,RW,E口来读写1602。也可以与1602交换数据。我们可以先写命令或者地址,然后直接发送数据,让1602识别。详
21、细程序将在软件中介绍。(2)原理图:图2-3是1602液晶与单片机连接的原理图;图2-4是1602液晶显示器的物理示意图。图2-3 1602液晶显示屏接线图图2-4 1602液晶显示屏实物图2.3主控制模块2.3.1设计方案主控模块是控制超声波发射和接收的核心器件,选择哪种类型的单片机至关重要。STC59C52RC单片机使用起来比较简单,程序也容易写。但考虑到未来超声波测距仪功能的扩展和本设计的要求,如距离检测和A/D检测的高精度,最终选择STC12C5A60S2单片机作为本超声波测距仪模块的主控芯片。该单片机执行速度快,自带A/D转换,符合本设计的功能要求。2 . 3 . 2 STC 12
22、C5 a 60s 2单片机简介2STC12C5A60S2/AD/PWM系列MCU是宏景科技出品的单时钟/机器周期(1T) MCU。它是新一代高速、低功耗、抗干扰能力强的8051单片机。指令代码完全兼容传统8051,但速度快8-12倍。它集成了MAX810专用复位电路、2个PWM、8个通道和8个高速10位A/D转换器(250K/S)。对于电机控制,强干扰情况下的具体功能如下:(1)增强型8051 CPU,1T,单时钟/机周期,指令代码完全兼容传统8051;(2)工作电压:STC12C5A60S2系列工作电压:5.5V-3.3V(5V单片机)STC12LE5A60S2系列工作电压:3.6V-2.2
23、V(3V单片机);(3)工作频率范围:0-35MHz,相当于普通8051的0-420 MHz;(4)用户应用空间8k/16k/20k/32k/40k/48k/52k/60k/62k字节;(5) 1280字节内存;集成在芯片上;(6)通用I/O口(36/40/44),复位后:准双向口/弱上拉口(普通8051传统I/O口),可设置为四种模式:准双向口/弱上拉、推挽/强上拉、仅输入/高阻、开漏,每个I/O口的驱动能力可达。(7) ISP(在系统可编程)/IAP(在应用可编程)可以直接通过串口(P3.0/P3.1)下载用户程序,不需要专门的编程器,也不需要专门的仿真器,几秒钟就可以完成一个;(8) E
24、EPROM功能(STC12C5A62S2/AD/PWM EEPROM不带零件);(9)设置看门狗;(10)时钟源:外置高精度晶振/时钟,偏置R/C振荡器(温度漂移为+/-5%至+/-10%) 1下载用户程序时,用户可以选择使用偏置R/C振荡器还是外置晶振/时钟。室温下下R/C振荡器的频率为:3.3V,单片机的频率为:11 MHz 15.5 MHz。(11)有四个16位定时器,两个与传统8051兼容的定时器/计数器,16位定时器T0和T1,没有定时器2,但是有独立波特率发生器的串口通信加两个PCA模块的波特率发生器可以实现多两个16位定时器;(12)两个时钟输出端口,可以从T0的溢出输出p3.4
25、/T0的时钟,从T1的溢出输出p3.5/T1的时钟;(13)PWM(2路)/PCA(可编程计数器阵列,2路):可用作2路D/A,也可用于实现2个定时器或2个外部中断(可单独或同时支持上升沿中断/下降沿中断);(14)A/D转换,10位精密ADC,共8通道,转换速度可达250K/S(每秒25万次)。18.通用全双工异步串行端口(UART)。因为STC12系列是高速8051,所以可以通过定时器或者PCA软件实现多个串口。2 . 3 . 3 STC 12 C5 a 60s 2单片机原理(1)STC12C5A60S2单片机控制原理:本次设计采用单片机芯片,采用STC 12 C5 a 60s 2单片机,
26、采用11.0592MHz的高精度晶振,方便以后单片机与上位机通讯。其次,利用单片机对超声波模块发出的40kHz超声波的距离进行计时和计算。根据距离控制,1602液晶屏显示相应的距离,单片机自带ADC,用来检测电池组的电压。单片机通过检测获得电压数据,然后控制1602液晶屏显示电压数据。根据不同的电压,我们控制信号灯的开或关,也控制电池组充电与否。(2)原理图:图2-5是STC12C5A60S2微控制器的引脚图。图2-5 STC 12 C5 a 60s 2引脚图2.4总体硬件设计2.4.1总体设计方案正如我们上面提到的,我们所有的硬件模块都是根据设计要求获得的。总体设计思路是:电源接通时,电源给
27、所有硬件电路供电,同时单片机检测电源模块的电压。因为电池电压和电池电量有直接的关系,所以通过检测电池电压就可以知道电池电量,这样当电池没电的时候就可以发出报警信号。当电池过度充电时,我们还可以报警,并用继电器关闭充电电路。并且单片机可以在1602液晶屏上实时显示电池电量,增加了信息量。当电池通电时,微控制器不仅会检测电池电压,还会控制HC-SR04超声波模块在电池电压不高不低时发出超声波,并开启定时器。当超声波反射回来后,关闭定时器,然后计算距离数据,最后驱动1602液晶屏显示。这就是我们超声波测距仪的总体设计思路。2.4.2完整硬件电路图通过以上设计方案和设计要求,本组设计了一个完整的电路图
28、,如图2-6所示。图2-6超声波测距仪完整电路图第三章软件设计3.1 1602液晶显示器驱动模块3.1.1软件设计方案根据1602 LCD的数据,我们可以知道1602 LCD有16个管脚,8个数据管脚和3个与操作相关的管脚,分别是RS数据/命令选择端,R/W读写选择端和E使能信号。知道了这些管脚的作用和操作1602的时序,就可以编写1602液晶屏的操作读写代码了。通过读写这些代码,我们的单片机就可以和1602液晶屏进行通信,让1602液晶屏显示我们想要显示的内容。软件过程我们可以通过查询数据得到1602液晶屏的基本操作顺序,比如:写命令:RS=0。RW=0,D0-D7=指令代码,E=高脉冲。写
29、数据:RS=1,RW=0,D0-D7=数据,E=高电平脉冲。具体写时序图如下:图3-1是写指令时序图;图3-2是写入数据的时序图。图3-1 1602液晶屏写指令时序图图3-2 1602液晶屏写数据时序图软件代码#include#includeSTC12C5A60S2。h sbit rs=p25;sbit rw=p26;sbit e=p27;extern void delay _ ms(unsigned int j);无符号字符P00(无符号字符I)无符号字符da=0,n;for(n = 8;n 0;n -)da = da 1;返回(da);位lcd_bz() /繁忙检查功能有点忙;RS = 0
30、;/选择指令寄存器作为目标。RW = 1;/读取操作e = 1;/将E端口拉高_ nop _();_ nop _();/busy =(P0 & 0 x 80) 7;/取出位D7(忙信号)busy = P0 & 0X01_ nop _();_ nop _();e = 0;/E引脚产生一个下降沿。返回忙;/返回占线信号void LCD _ WCMD(unsigned charcmd)/写指令函数无符号字符cmd1while(LCD _ BZ();/检查繁忙cmd 1 = P00(cmd);RS = 0;/选择指令寄存器作为目标。RW = 0;/写操作P0 = cmd1/发送指令数据e = 1;/将
31、E端口拉高_ nop _();_ nop _();_ nop _();_ nop _();e = 0;/E引脚产生一个下降沿,数据写入指令寄存器。void LCD _ wdat(unsigned chardat)/写数据函数无符号字符dat1while(LCD _ BZ();/检查繁忙dat 1 = P00(dat);RS = 1;/选择数据寄存器作为目标。RW = 0;/写操作P0 = dat1/发送显示容量数据e = 1;/将E端口拉高_ nop _();_ nop _();_ nop _();_ nop _();e = 0;/E引脚产生一个下降沿,数据写入指令寄存器。Void lcd_i
32、nit() /初始化函数LCD _ wcmd(0 x 38);/8位总线,双线显示,字符大小5*7delay _ ms(1);LCD _ wcmd(0 x0c);/打开没有光标的显示。delay _ ms(1);LCD _ wcmd(0 x 06);/光标向右,文本不移动delay _ ms(1);LCD _ wcmd(0 x 01);/清除屏幕delay _ ms(1);void display _ up(unsigned char * p)/第一行显示函数无符号char temp=0,I;LCD _ wcmd(0 x 00 | 0 x 80);/将显示起始位置设置为左侧第一个位置。for(
33、I = 0;i 16+)/依次显示16个字符temp = pI;LCD _ wdat(temp);delay _ ms(1);void display _ down(unsigned char * p)/第二行显示函数无符号char temp=0,I;LCD _ wcmd(0 x 40 | 0 x 80);/将显示起始位置设置为左侧第一个位置。for(I = 0;i 0;k -)val _ av+= AD _ zhuan Huan(num);/100次收购的总和val _ av/= 100.0;/平均值val _ av = val _ av * 5.0/1024;/单片机电源为5V,求真实电压
34、值。val _ av/= 2.5;/通过系数2.5,先转换成比例值。val _ av = 5.0/val _ av;/通过比例值与5V的关系,求出实际电压值return(val _ av);3.3超声波测距模块3.3.1软件设计方案超声波设计的基本思想上面已经提到了,利用超声波发射和反射的时间差来计算声源到目标的距离。在本组超声波测距仪的设计中,我们的单片机先将HC-SR04的T-pin设置为1,持续10us以上,然后下拉为0。当HC-SR04接收到这个高电平时,会自动向MAX232发出8个40kHz左右的脉冲信号,然后MAX232将5V和0V的脉冲转换成+12V和-12的脉冲,输出到超声波发
35、射探头。当超声波发射时,HC-SR04将拉起R引脚。MCU检测到此引脚变为高电平后,将启动定时器并开始计时。当HC-SR04模块接收到超声波反射的信号时,会拉低R引脚,这样MCU的引脚也会被拉低。我们在MCU程序中不断判断这个引脚的电平。当此引脚为低电平时,我们认为超声波已经返回。这是我们小组设计的超声波测距仪的软件设计思想。软件流程图超声波测距的软件流程如图3-4所示:图3-4超声波测距流程图软件代码void cout()/超声波距离计算函数无符号长整型s _ t = 0;无符号字符i=0,j = 0;无符号int k=0,temp = 0;/变量的定义,这里注意变量的周长。浮点ad1 =
36、0;time =(unsigned int)(TH0 * 256+TL0);/将定时器的时间数据整合在一起TH0 = 0;/清除定时器数据TL0 = 0;s_t=(时间* 188.15)/1000;/计算实际距离数据ss_num=(无符号int)s _ t;s _ num+;If(s_num=10) /使用冒泡算法得到10次的平均值。s _ num = 0;for(I = 0;I 9;i+)for(j = 0;j sj+1)temp = sj;sj= sj+1;sj+1= temp;k =(unsigned int)(s2+s3+s4+s5+s6)/5;if(k 0)& &(k =120)&(
37、k=220)&k=420)&(k=520)&(k=620)&(k=720)&(k=820)&(k=920)&(k=1020)&(k=3020)&(k=4520)&(k=5020)&(k6020)&(flag=0)k = k+16;flag = 1;5=(k/1000)% 10+0 x 30;/在这里,距离数据被转换成1602显示数据。6=(k/100)% 10+0 x 30;7=(k/10)% 10+0 x 30;9=(k/1)% 10+0 x 30;display _ up();for(I = 0;i 10i+)sI= 0;flag = 0;If(flag_time=1)/检测、判断并显示电
38、池电压flag _ time = 0;ad1 = ad _ av(0 x 00);zhuan Huan _ 1602(ad1);如果(sj254000)gyd = 0;qyd = 1;jdq = 1;如果(sj2=48000)&(sj2 8;TL1 =(65536-40000)% 256;TH0 = 0;TL0 = 0;ET1 = 1;/允许T1中断display _ up();delay _ ms(1);display _ down(shuzu);TR1 = 1;while(1)而(!RX);/当RX为零时等待TR0 = 1;/打开计数while(RX);/当RX为1时计数并等待TR0 =
39、0;/关闭计数TR1 = 0;TH1 =(65536-40000) 8;TL1 =(65536-40000)% 256;num = 0;conut();/计算Voitimer1 (void)中断3/这里用一个定时器每隔一段时间开启超声波进行测距。TH1 =(65536-40000) 8;TL1 =(65536-40000)% 256;num+;time 2+;如果(时间2=100)time 2 = 0;flag _ time = 1;如果(数量 =2)num = 0;TRIG = 1;_ nop _();_ nop _();_ nop _();_ nop _();_ nop _();_ nop
40、 _();_ nop _();_ nop _();_ nop _();_ nop _();_ nop _();_ nop _();_ nop _();_ nop _();_ nop _();_ nop _();_ nop _();_ nop _();_ nop _();_ nop _();_ nop _();TRIG = 0;3.4软件的整体流程3.4.1总体软件设计方案根据设计要求,硬件基本确定后,就要开始软件设计了。这个小组设计的是超声波测距仪,所以整个软件是围绕超声波测距仪来实现的。首先,和1602液晶屏一样,它有自己的操作顺序。先把这些固定的程序写好,整体框架搭建好。在模拟电路中,基本上是模拟硬件,看能不能实现。在实现了硬件的基本功能后,我们开始设计超声波测距,根据HC-SR04模块的数据,得到操作顺序,然后编写程序。写完程序后,我们第一次用开发板,HC-SR04模块,1602液晶屏进行了整机调试。如果方案可行,我们开始优化精度、测距速度和显示。在整体可行的基础上,设计电池电压部分,在程序中增加一个A/D检测程序,然后随机检测一个电压,看检测到的电压是否准确。如果准确,那么所有程序和模块一起调试。可以用开发板或者直接做一个超声波测距仪,然后
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 学生社会责任感培养的教育心理学方法
- 教育行业的技术变革与培训实践指南
- 技术的力量智能教室在教育领域的贡献
- 未来学校的教育技术探索与实践
- 教育技术推动教师教学方法的改进研究
- 智慧教育中师生心理交互策略研究
- 数据时代的教育行业隐私保护趋势分析
- 新加坡品牌推广活动方案
- 酒精所致精神和行为障碍的护理
- 2022年AI-智慧社区大数据平台整体解决方案
- 阀门维修与更换操作规范考核试卷
- 防洪防汛施工现场应急预案(16篇)
- 《地方铁路运输企业安全生产标准化建设规范》
- 截瘫患者的并发症及护理
- 肝切除合并糖尿病
- 《大模型原理与技术》全套教学课件
- 《出口退税培训》课件
- 高考补习班招生策划书策划方案
- 康明斯产品合格证
- 矿山废水处理行业调研及投资前景分析报告
- 【五升六暑期阅读】专题10.环境描写及其作用-2024年五升六暑期阅读专项提升(统编版)5
评论
0/150
提交评论