您好,欢迎来到飒榕旅游知识分享网。
搜索
您的当前位置:首页超声波传感器单片机课程设计

超声波传感器单片机课程设计

来源:飒榕旅游知识分享网


成绩

课程设计报告

题 目 超声波测距系统设计

课 程 名 称 单片机原理及应用 院 部 名 称 机电工程学院 专 业 电气工程及其自动化 班 级 12电气工程及其自动化(单) 学 生 姓 名 潘成城 学 号 19

课程设计地点 工科楼 C304 课程设计学时 20 指 导 教 师 李国利

金陵科技学院教务处制

目 录

一 、概述…………………………………………………………………………………3 课程设计应达到的目的……………………………………………………………4 超声波测距系统设计…………………………………………………………………4

二、总体设计方案及说明…………………………………………………………………4 系统总体设计思路………………………………………………………………4 系统总体设计框图………………………………………………………………5 三、系统硬件电路设计……………………………………………………………………5 单片机的最小系统………………………………………………………………6 单片机的功能与特点…………………………………………………6 系统原理分析………………………………………………………………………6 超声波测距原理………………………………………………………………6 超声波传感器检测电路…………………………………………………………6 超声波检测电路图……………………………………………………………7 超声波发生及感应过程………………………………………………………7 超声波测距接收………………………………………………………………………7 HC-SR04模块……………………………………………………………………7 T40、R40超声波传感装置介绍………………………………………………7 SCM1602显示模块……………………………………………………………………9 四 、系统软件部分设计…………………………………………………………………11 软件流程图………………………………………………………………………11 主程序流程图………………………………………………………………11 超声波发生子程序…………………………………………………………11 系统源程序………………………………………………………………………12 五、系统仿真过程与结果…………………………………………………………………1

3

Proteus仿真软件……………………………………………………………14 仿真编译过程…………………………………………………………………14

1

仿真效果图………………………………………………………………15 六 、实物展示……………………………………………………………………………16 实物元件与过程……………………………………………………………………16 实物运行与调试……………………………………………………………………15 实物总结………………………………………………………………………15 七、总结…………………………………………………………………………………18 八 、参考文献……………………………………………………………………………19 附录,原理图………………………………………………………………………………2

0

2

摘 要

本设计采用了AT89C51作为中心处理器,HC-SR04模块进行超声波方面的发生与感应。然后介绍了总体的系统设计框图、思路及元件选型。接下来,分硬件和软件两部分进行了设计的分析。硬件方面首先构建了一单片机最小系统,然后集成各芯片完成设计。软件方面通过外部中断,定时器中断等完成开发的子程序的调用。最后重点详细地讲述了关于超声波模块的电路及收发过程。

最后进行了系统仿真,仿真结果表明,所设计的系统能够满足要求。本系统具有成本低,可靠性高和安全实用等特点,广泛应用于社会生活的各个领域。

关键词:AT89C51单片机;超声波模块;最小系统

3

一、概述

课程设计应达到的目的

通过本课程设计,使学生掌握控制系统设计的一般步骤,掌握系统总体控制方案的设计方法。使学生进一步掌握微型计算机应用系统的硬、软件开发方法,输入/输出(I/O)接口技术,应用程序设计技术,并能结合专业设计简单实用的单片机应用系统。针对课堂重点讲授内容使学生加深对单片机硬件原理的理解及提高C51语言程序设计的能力,为以后的毕业设计搭建了单片机系统应用平台,提高学生的开发创新能力。

超声波测距系统设计

设计一个基于单片机的超声波测距系统,要求:

(1)系统功能:测距范围:3cm-450cm,通过LCD1602显示距离。 (2)给出系统设计方案,画出硬件连线图,并说明工作原理; (3)画出程序框图并编写程序。

二、系统总体方案设计 系统总体设计思路

本设计的构建是基于89C51单片机外围芯片的超声信号检测的。超声波发生模块送出片刻的40KHz的矩形波信号,遇物体反射后,被超声波接收模块接收并作为本设计的Input,单片机对此信号进行判断加工处理后,把计算出的距离结果传到LCD显示屏上,当检测距离小于预设值时报警模块工作。

本设计的硬件部分主要由AT89C51单片机控制模块、超声波发出和接收模块、预警模块以及LCD显示模块等几部分组成。系统的总体结构设计框图如图所示。

本设计的软件部分由C语言编写,程序采用模块化设计思想,将各功能单独程序化成子程序块并进行debug,在完成主程序段的编写和子程序的调用。系统软件部分主要include主程序段、‘delay’子程序块、、超声波发生与感应子程序块等。

4

系统总体设计框图

本设计采用AT89C51为控制核心,由电源电路、单片机外围电路、发射电路、接收电路、显示电路、报警电路等部分组成,系统设计框图如图所示。其主要需完成任务是对传感器到障碍物中间的距离的测量及对测出距离的显示以及小于预设值时的报警。

超声波发射换能器超声波接收换能器障碍物发射电路接收电路单片机显示电路报警电路

图 系统总体设计框图

三、系统硬件部分设计 单片机最小系统

单片机最小系统:能让单片机regular work的最小硬件单元系统,如图所示。 一般具有:复位circuit;时钟震荡circuit。此外,ISP下载口也belong单片机最小系统。

复位电路如图所示。

图 复位电路图

复位电路可将系统重置至一个已知的状态。从单片机内部来看,复位电路工作后,CPU将一些厂商早先设定的数载入至寄存器。

该电路的principle是将Capacitance与Resistance接至复位引脚RST,组成Power on reset的功能。当Reset level持续两个machine cycle以上时,reset有效。具体数

5

值需由RC电路计算出time constant t=RC1(t≥10ms)。

复位电路包括Reset button和Power on reset。

(1)Reset button:并联一开关在复位电容上。按下开关,电容释放之前的电量,同时,复位引脚电压的拉高完成Reset。

(2)Power on reset:在RST上外接一个RC充放电导电回路,即加入一个电容(一般为10uF)串联至电源+5v,再加入一个电阻器(一般为10K)串联至保护地。此外,要保证Reset成功,需使上电时复位引脚有足够时间的high level。

振荡电路如图所示。

图 振荡电路图

振荡电路也叫做晶振电路,任务是为CPU设定时钟频率。单片机运行所有语句的时间都由时钟频率决定。clock frequency越高,CPU运行越快。单片机一般从外部接入时钟频率,典型的clock frequency有12MHz。

单片机通常共用一个晶体振荡器来满足各部分同步运行。具体振荡器经常与锁相环回路一起工作,以方便为系统提供clock frequency。

图单片机最小系统

AT89C51单片机的功能与特点

AT89C51是一种具有low voltage、low power consumption且high-performance等优点的八位单片机。其内部的芯片包含了一个8位微处理器、一个二百五十六字节数据存

6

储器及一个四千字节程序存储器。CMOS工艺与UNRAM技术在AT89C51的制作过程中被使用,且它的指令集合和输出引脚都与早期美国INTECo.于1980年研制的MCS-51单片机相兼容。AT89C51因将闪存与8位CPU结合在一个芯片中而成为一款高性能单片机,89LV51是它的一个低电压版本。AT89C51单片机已成为一种灵活性高、功能强且价格实惠并在各种控制领域被普遍运用的方案。外型及管脚排列如图所示。

功能概述

AT89C51 含满足国标的功能:片内振荡器及时钟发生电路、4KB程序存储器 Flash ROM(保留表格、数据及程序)、256B数据存储器RAM/SFR(保留可以READ/WRITE的数据)、两个16位定时/计数器、四个8位I/O 口线、一个五中断源二优先级中断系统、一个双向信号传输UART串行通信口。而且,AT89C51可以执行静态逻辑操作,此时最低的工作频率可为0Hz,并有两种省电运行模式可供软件运行。Idle Mode可将CPU处于停止运行状态,但允许中断控制系统、串行通讯口、定时/计数器以及随机存取存储器持续运行。Power Mode直到下一次硬件复位都会停止运行振荡器并且不允许其它所有部件运行但会保留片内随机存取存储器中的数据。

AT89CA51 引脚功能说明

VCC:供电电压。 GND:接地。

P0端:P0端为一组8位Open Drain型双向input/output端,也即地址/总线复位端。每端能驱动8位TTL逻辑门。当P0端被置为1时,其变便成为高阻抗输入端。P0端可被外部程序DATA存储器使用,此时,其被当作DATA/ADDRESS的低八位使用。在闪存(Flash)进行program工作时,P0 端输入命令,当闪存(Flash)运行check任务时,P0端输出命令,同时,确保P0端外部已连有pull-up resistor。

P1端:P1端是一组配有内部pull-up resistor的双向input/output端,为功能最单一的一组端口。

P2端:P2端也是一组配有内部上拉电阻的双向input/output端。当cpu访问外部存储器时,P2端输出高八位地址信号。

P3端:P3端同样是一组配有内部上拉电阻的双向input/output端。同时P3端的每一个管脚都另有功能。

主要属性如表2-1所示。

7

表2-1 主要属性 控制信号引脚(RST、 ALE 、/PSEN 、/EA)

RST / Vpd (9脚):复位输入,‘1’信号有效。当CPU刚接入电源时,其内部各寄存器处于随机状态,当此输入端可持续24个时钟周期的‘1’信号时,就能完成复位任务。单片机正常工作时, 此脚应≤低电平。

ALE/PROG(30脚):地址锁存允许信号端(Address Latch Enable)。当CPU读取外部ROM时,此管脚输出信号的下降沿控制低八位地址的锁存。平时运行是,此管脚以振荡频率的六分之一稳定发送正脉冲,能作对外输出时钟和定时信号。

/PSEN:程序存储器允许信号输出端(Program Store Enable)。CPU读取外部程序存储器的读选通信号。在访问片外ROM时,每个机器周期/PSEN输出2次脉冲。当读取外部数据存储器时,/PSEN不出现。

/EA/VPP:片外程序存储器访问允许输入端(External Access External)。当/EA被置1时,CPU读取片内存储器(4K)PC值超过0FFFH,将自动运行片外程序存储器的程序。当/EA被置0,CPU访问片外EPROM/ROM,且运行片外ROM的程序。

引脚图如图所示。

图 AT89C51引脚图

8

系统原理分析 超声波测距原理

一般而言,人耳能听到的声波频率为20赫兹--20000赫兹。Resonant frequency高于2KHz的声波称为“超声波”。超声波由于其穿透能力强、在液体中传播距离远、易获得较集中的声能、方向性好等特性,使其在实际生活中的各行各业得到广泛应用。

假定声波在固定介质中传播的速度一定,而且能测量得到声波从送出到感应到的时间,那么从声源到目标物体的距离就可以被准确地计算出来。这就是本设计的测距原理。超声波测距,简单来说,就是通过连续地接收经障目标物体反射后的回波,进而测出超声波从发射到接收的往返时间,最后求出超声波经过的距离。其关系式如公式(1):

Sct2 (1)

式中:S为所需测量的距离;c为超声波在空气介质中的传播速度;t为往返时间。

超声波传感器检测电路 超声波检测电路图

9

HC-SR04模块由发生电路和感应电路主成,发生超声波circuit主体具有Em78p153 SCM、MAX232chip及超声波send装置T40。感应超声波circuit主体具有 TL074operational amplifier及超声波receiver R40组成。

超声波发生及感应过程

CPU启动system初始化。置EA为1打开总中断,置“Trig”端10us的‘1’信

号,启动HC-SR04模块的EM78P153产生8段持续的40KHz矩形波,由MAX232电平转换,增强发出功率。发生装置把电信号变成超声波信号发出。

当CPU发出一端10us的启动信号后,Trig端从低电压变成高电压,模块发出超声波的同时,计时器开始计时,等待感应装置receive到信号,一旦感应到立即停止计时。将时间T传递给单片机,过程中ECHO端持续为‘1’信号的Time为路程时间T。

超声波测距接收 HC-SR04模块

图 HC-SR04模块实物图

HC-SR04超声波测距模块能完成2厘米到400厘米间距的非接触式距离测量任务,其电路简易且售价实在。此外,其相对应的单片机外围电路也不复杂。该module具有发生circuit、感应circuit及控制circuit。实物如图所示。

基本运行流程

①置TRIG端口至少10us的‘1’电平启动超声波发生;

②发生电路连续发出8个40khz的矩形波,等待感应是否有回波;

③有回波,ECHO端输出‘1’信号,‘1’信号连续时间即超声波完成路程所花的时间。

10

模块参数如下表4-1。

表4-1模块参数

超声波sequence chart如图所示。

图 超声波sequence chart

如图4-2sequence chart显示,一旦单片机发出一端10us以上Transister-Transister-Logic脉冲信号,该模块会连续送出8个40khz矩形波信号且开始等待感应回波sign。只要感应到回波sign,ECHO端就送出high level脉冲。输出信号的Pulse width与Induction distance成正比。所以,将发出到感应之间的T值代入公式能测算出汽车与物体的间距:

距离=高电平时间*声速(340m/s)/2。

Module主体包括Em78p153单片机、MAX232Chip、Input operational amplifier TL074、Ultrasonic sensing device:T40-16、R40-16。

11

Em78p153单片机 ①情况简述

Em78p153是采用高速CMOS工艺制造的8位single chip。采取EMC编程器往单片机内Write程序instruction。编程人员可在13位选项位挑取符合其需求的选项位,之中的保护位能prevent程序被上载。

②电气参数

运行Voltage参数(V):;

适应Temperature区间(℃):0--70; 正常Frequency区间:DC--8MHz; 4个内建IRC振荡器; 2个双向I/O端口;

32×8bit片内寄存器(SDRAM);

EM78P153的封装为14脚;Small Out-Line Package小外形封装、Shrink Small-Outline Package)窄间距小外型塑封和dual inline-pin package双列直插式封装为3种封装形式。

③pin分配如图所示。

图 Em78p153pin脚图

MAX232

MAX232chip是MAXIM Co.特为RS-232串口design的选择单电源+5v供能的电平转换chip。本设计只通过该chip完成level switch任务,将40kHz的矩形波从5V提升至20V,增强transmitting power。

①pin图如图所示。

12

图 MAX232引脚图

②引脚介绍

第一单元为电荷泵circuit。由1、2、3、4、5、6号pin及4个电容组成。作用为发生+12v和-12v两个电源,满足RS-232串口电平的require。

第二单元为Data conversion通道。由7、8、9、10、11、12、13、14号pin组成两个Data conversion。以上13号pin(R1IN)、12号pin(R1OUT)、11号pin(T1IN)、14号pin(T1OUT)为第一Data conversion;8号pin(R2IN)、9号pin(R2OUT)、10号pin(T2IN)、7号pin(T2OUT)为第二Data conversion。

第三单元为供电circuit。15号pin GND、16号引pin VCC。 TL074(低噪声JFET输入operational amplifier) 引脚图如图所示。

图 TL074pin图

具体引脚功能如表4-2所示:

表4-2 引脚表

13

1 2 3 4 5 6 7 8 9 10 11 12 13 14

1OUT 1IN+ 1IN- VCC 2IN+ 2IN- 2OUT 3OUT 3IN- 3IN+ GND 4IN- 4IN+ 4OUT 输出端(通道1) 反相输入端(通道1) 同相输入端(通道1) 正电源 同相输入端(通道2) 反相输入端(通道2) 输出端(通道2) 输出端(通道3) 反相输入端(通道3) 同相输入端(通道3) 接地端 反相输入端(通道4) 同相输入端(通道4) 输出端(通道4) TL074内部组件数量如表4-3所示

表4-3 TL074组件

T40、R40超声波传感装置介绍

图 内部构造

图 外观形态

14

T40-16与R40-16

目前来看,超声波发生装置按如何发出超声波能分为两大种类:

发出超声波, 包含Piezoelectric type, magnetostrictive type 及 electric type等;

发出超声波,包含Garr the flute, whistle 及 siren liquid flow等。

两种类型send的超声波的frequency、 power和Acoustic

characteristics大相径庭,所以适用场合也不一样。压电式超声波发生装置是现在比较常用的。

压电式超声波发生装置根本上来讲为采用Piezoelectric crystal的谐振来运作的。其内部include两个Piezoelectric crystal和一个共振板。在它的两极处输入电压,同时保证该频率等于Piezoelectric crystal的固有振荡频率时,Piezoelectric crystal就会产生共振,且使共振板一起振动,于是便能send超声波了。反之,若两极处没外加脉冲信号,当共振板receive回波时,会使

Piezoelectric crystal产生振动,机械能将transform 电信号,此刻其便是超声波感应装置。电路中采用T40-16T/R超声波换能器便是Piezoelectric type装置。

①装置说明

Name:Piezoelectric ceramics超声波传感器; Type:T40-16T/R; Category:通用型; 主frequency(KHZ):40; Outer diameter:16mm;

工作说明:T表示发生装置,R表示receiver,TR表示两者兼用; ②电气参数 如下表4-4所示:

表4-4 电气参数

传感器实物如图 所示。

15

图 传感器实物图

HC-SR04 具有超声波的发生和感应电路,因此,hardware方面不用再个人定制复杂的发生及感应回路,software方面也不必再使用定时器来发生40Khz的矩形波驱动 piezoelectric ceramics共振近而发出超声波。调用该module时,只需将‘Trig’端置一端大于10us的high level信号,就能等待‘Echo’端的high level信号输出。CPU一旦扫描到trigger signal就打开定时器进行计时。当该端的high level信号消失时就完成计时并read定时器的Data,该Data为本次测距的time,然后带入传播速度公式就能complete对距离的计算。

SCM1602 显示模块

该模块是由SCM1602液晶显示器件组成,第3脚:VL为显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10k的电位器调整对比度。第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变为低电平时,液晶模块执行命令。第7~14脚:D0~D7位8为双向数据线。由上可知1602基本操作时序如下表。其第15~16脚:背光电源脚。SCM1602与单片机的应用连接电路图如图所示。

16

图 显示电路图

四、系统软件部分设计 软件流程图 主程序流程图

本设计的软件部分主要有主程序、发射超声波程序、1ms定时器中断程序、LCD液晶屏显示程序组成。我们知道C语言程序对实现较复杂的算法能很高效的实现,而汇编语言编写程序的代码对于普通人十分难理解,不易于软件的维护,而本设计的程序需要有相对复杂的运算且有助于结构化程序,所以程序语言选择C语言。

首先初始化系统设置:置总中断允许位EA为1、设置定时器T0、T1工作模式为模式

1(16位定时计数器模式)并将单片机各端口拉高。之后开始运行功能模块。

17

开始主程序初始化测距Y是否到达400mmN超声波测距子程序报警子程序处理距离子程序LCD显示当前距离LCD显示000

图主程序流程

本设计使用频率为12MHz的晶振电路,计数器的每一次计数就是1μs。当main程序中扫描到表示接收回波成功的标志位Echo发送的time(高电平持续时间),将超声波往返所花费的time(计数器T0中的time)带入到公式(3)运算,就能计算出车尾与障碍物之间的距离,编程中设温度为室温20℃时的声速为340m/s,则有:

d=(ct)/2=172T0/10000cm (3)

公式中,T0为计数器T0的time。

计算出距离后结果将会被发送给共阳数码显示模块,同时,结果也将发至语音预警模块。之后重复发送超声波进行测距任务。

超声波测距子程序

超声波测距子程序的任务是将Trig引脚发送启动脉冲信号(脉冲宽度大概是为10μs),同时扫描标志位Echo。一旦Echo为高电平,开始计时。最终完成对距离的计算。

18

开始超声波测距子程序启动发生超声波定时器0清零关闭定时器0Echo标志位是否为1NY开启定时器0Echo标志位是否为1NY取出定时器0内时间且判断是否超出设定值Y关闭定时器0距离置为超出范围测距成功标志位置2测距成功标志位是否为1NY关闭定时器0读出时间计算距离N测距成功标志位置1结束图 超声波测距子程序

系统源程序

#include<> 文件,接着设置目标属性使其生成HEX文件,随后进行编译连接,即能获得程序为.HEX的文件。最后将生成的.HEX文件导入电路后就可以进行仿真。利用Proteus实现了对LCD1602显示屏的仿真,说明程序和电路图都没有问题。仿真结束后,将程序放入电路中,即可显示仿真结果。

仿真效果图 初始状态

19

超量程状态

六、实物展示

20

实物元件与过程

成品如图,所示。

图 正面图

图 背面图

清单列表:

元器件 型号 21

数量 电阻 电阻 电解电容 电解电容 电解电容 电解电容 无极性电容 三极管 显示 芯片 芯片 芯片 芯片 排针 蜂鸣器

1K 10K 10V 10uF 16V 47uF 16V 16V 470uF 30PF 9012 SCM1602 AT89C51 MAX232 EM78P153 TL074 1个 1个 1个 1个 1个 1个 2个 1个 1个 1个 1个 1个 1个 3个 1个 实物运行与调试

如图所示,将物体置于约100mm处,LCD显示器显示100mm。

22

如图所示,将成品面对空地,LCD显示器显示000。同时,语音预警模块提示超出量程(蜂鸣器工作)。

实物总结

在完成实物的焊接,程序的下载后,我们对实物进行了实验,发现以下3点需注意的内容。

(1)在进行测量时,需严格保证传感器与障碍物中间不存在其他物体。 (2)尽量保证障碍物与地面相垂直。

在对所有的人为干预的因素进行排除后,还是存在一部分的误差。经过对硬件、软件的分析排查。发现超声波回波时间对测定存在影响。为了防止其他信号的干扰,提高测量的可靠性,超声波传感器常常一次发射的是多个超声波脉冲串。实际测量时,接收电路接收到的往往不是第一个回波的过零触发。这样,最终测得的时间则与实际距离所对应的时间不同,从而造成了超声波回波时间引起测量误差。测量盲区也对测定存在影响。超声波传感器安装在汽车尾部的保险杠上,当障碍物不在超声波发射的几何角度上,就会产生测量盲区。在测量盲区内不能实现正常测距,测量误差很大。

此外,在程序指令运行过程中需要占用一定的时间以及环境中的干扰因素等都会引起测量误差。

23

由于时间精力和个人能力有限,本系统设计还有很多不足。所以如若使用在实际生产中还应在以下几个方面进一步探讨:

(1) 如何将温度对声速的影响降到最低。 (2) 如何对非平面物体和倾斜物体进行准确测距。 (3) 如何减小测距盲区。

(4) 如何进一步提高系统的稳定性和重复性。

七、结论

本设计讲解了一种基于AT89C51单片机的超声波测距系统的设计,列出了相应的硬件电路及软件编程的具体实施方案。

超声波测距的原理是:首先通过超声波发射器发送超声波,根据收到回波时的时间差就能计算出不明物体与车尾的间距,也就是说超声波模块向外发送超声波,同时,发出超声波的瞬间开始计时。与此同时,超声波开始在介质中散播,途中遇物体就会反射回来。当接收装置收到返回波的同时,结束计时,再将测量得的时间通过一段高电平反馈到单片机,将时间带入到相应的计算公式就可以求出障碍物与测量装置的间距。以上就是利用了超声波具有指向性强,在空气中能传播较远的距离等特性且根据反射原理设计出的系统。

超声波测距系统硬件电路的设计主要包括单片机的基本电路、超声波发射接收模块控制电路、LCD显示电路、语音预警模块四部分部分组成。单片机采用了AT89C51,晶振为12MHz,Trig端口置10us的有效信号,定时器T0测出时间差,显示电路采用LCD液晶显示器组成,语音预警用蜂鸣器代替。

总体而言,我从本设计上学到了很多,收获颇丰。了解了超声波测距的原理,并更加掌握了单片机系统的研发及相关外围电路设计。

八、参考文献

[1]许立梓.微型计算机原理及应用[M].北京:机械工业出版社,2003. [2]张开生,郭国法. MCS-51单片机温度控制系统设计[J].微计算机信息,2005,21(7):68-69.

24

附录、原理图

25

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- sarr.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务