当前位置:首页 >> 电子/电路 >>

超声波测距仪设计








业 大 学

单片机原理及接口技术 课程设计(论文)
题目: 超声波测距仪设计

院(系) : 专业班级: 学 号:

电气工程学院

100302xxx

学生姓名: 指导教师: 起止时间: 2013.7.3-2013.7.12 (签字)

本科生课程设计(论文)

课程设计(论文)任务及评语
院(系) :电气工程学院 学 号 课程设计(论 文)题目 学生姓名 超声波测距仪设计 课题完成的功能、设计任务及要求、技术参数 实现功能 超声波具有指向性强,能量消耗缓慢,在介质中传播距离较远的特点,常用于测量 两点之间的距离。本系统要求以单片机为核心,选择超声波发射电路和超声波接收电路, 组成一个超声波测距仪,并显示两点之间的距离。 设计任务及要求 1、分析系统功能,确定系统硬件组成; 2、设计系统的硬件电路图; 3、编写相应的软件,完成控制系统的控制要求; 4、上机调试、完善程序; 5、按学校规定格式,撰写、打印设计说明书一份;设计说明书应在 4000 字以上。 技术参数 测量距离:25—300cm,测量精度± 1cm,3 位 LED 显示。 1、布置任务,查阅资料,确定系统的组成(1 天) 2、硬件设计(2 天) 3、按系统的控制要求,完成软件设计(2 天) 4、上机调试、修改程序(2 天) 5、撰写、打印设计说明书(2 天) 6、答辩(1天) 教研室:自动化 专业班级

课 程 设 计 ( 论 文 ) 任 务

进 度 计 划

指 导 教 师 评 语 及 成 绩

平时: 总成绩:

论文质量:

答辩:

指导教师签字: 年 注:成绩:平时20% 论文质量60% 答辩20% 以百分制计算 月 日

本科生课程设计(论文)

摘要
超声波测距仪利用超声波指向性强,能量消耗缓慢,在介质中传播距离较远的特 点测量两点之间的距离的仪器。 这个设计就是利用超声波传输中的距离与时间的关系, 采用了 STC90C51单片机对超声波仪进行控制及数据处理,设计出了能够精确测量两点 间距离的超声波测距仪。该测距仪主要是由单片机主控模块、显示模块、超声波发射 模块、接收模块所构成。其中采用 STC90C51单片机作为主控模块,用来控制超声波的 发出和接受,并且计算距离。用超声波模块 HC-SR04 发出和接受超声波,用 3 位数 码管作为显示模块。本次设计的超声波测距仪,具有迅速、操作方便、计算简单、易 于做到实时控制,并且测量精度较高的特点。测量范围可达到 25cm~350cm,其误差 1cm 左右。在理论分析上达到了本次课设的要求。 关键字:超声波测距;HC-SR04 超声波模块;STC89C51 单片机;

本科生课程设计(论文)

目录
第 1 章 绪论 ........................................................................................................................................... 1 1.1 研究背景及意义 ............................................................................................................................ 1 1.2 超声波测距的国内外研究现状..................................................................................................... 1 第 2 章 方案选择及超声波测距原理 ..................................................................................................... 3 2.1 总体方案设计 ................................................................................................................................ 3 2.2 超声波测距原理 ............................................................................................................................ 3 第 3 章 硬件选择与设计 ......................................................................................................................... 4 3.1 硬件选择........................................................................................................................................ 4 3.2 硬件电路设计 ................................................................................................................................ 7 3.2.1 时钟电路的设计 .................................................................................................................... 7 3.2.2 复位电路的设计 ................................................................................................................... 8 3.2.3 单片机最小系统设计............................................................................................................. 9 3.2.4 显示模块设计 ....................................................................................................................... 9 3.2.5 超声波模块电路设计.......................................................................................................... 10 第 4 章 软件设计 ................................................................................................................................... 11 4.1 主程序设计 .................................................................................................................................. 11 4.2 子程序设计 .................................................................................................................................. 12 4.2.1 超声波发射控制子程序...................................................................................................... 12 4.2.2 等待发射回波子程序.......................................................................................................... 13 4.3.3 显示子程序 ......................................................................................................................... 14 第5章 课程设计总结 ......................................................................................................................... 16

参考文献 ................................................................................................................................................. 17 附录 1 总体硬件连接图 ........................................................................................................................ 18 附录 2 总体程序 .................................................................................................................................... 19

本科生课程设计(论文)

第 1 章 绪论
1.1 研究背景及意义
超声波是指频率高于 20KHz 的声波,属于机械波的范畴,遵循一般机械波在弹 性介质中的传播规律,如在介质的分界面处发生反射和折射现象,在进入介质后被介 质吸收而发生衰减等,正是因为有这些性质,使得超声波可以用于距离的测量,随着 经济的发展,科技水平的不断提高,电子测量技术应用越来越广泛,超声波测量精度 高,成本低,性能稳定则备受青睐,超声波测距技术被广泛的应用于人们生活和工作 中 随着机器人技术在其诞生后短短几十年中的迅猛发展,它的应用范围也逐步由工 业生产走向人们的生活。 如此广泛的应用使得提高人们对机器人的了解显得尤为重要。 机器人通过其感知系统察觉前方障碍物距离和周围环境来实现绕障、自动寻线、测距 等功能。超声波测距相对其他测距技术而言成本低廉,测量精度较高,不受环境的限制, 应用方便,将它与红外、灰度传感器等结合共同实现机器人寻线和绕障功能。超声波 由于指向性强、 能量消耗缓慢且在介质中传播的距离较远, 因而经常用于距离的测量。 它主要应用于倒车雷达、测距仪、物位测量仪、移动机器人的研制、建筑施工工地以 及一些工业现场等,例如:距离、液位、井深、管道长度、流速等场合。利用超声波 检测往往比较迅速、方便,且计算简单、易于做到实时控制,在测量精度方面也能达 到工业实用的要求,因此得到了广泛的应用。本课题的研究是非常有实用价值的。 由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经 常用于距离的测量,如测距仪和物位测量仪等都可以通过超声波来实现。利用超声波 检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达 到工业实用的要求,因此在移动机器人的研制上 也得到了广泛的应用。为了使移动 机器人能自动避障行走,就必须装备测距系统,以使其及时获取距障碍物的距离信息 (距离和方向) 。超声波测距系统,就是为机器人了解其前方、左侧和右侧的环境而 提供一个运动距离信息。

1.2 超声波测距的国内外研究现状
超声波技术现在已经相当成熟,市场上产品的精度基本都可达到 1MM;同时稳 定度也相当高,适合大部分环境下使用;应用领域包括:测距、避障、机器人定位、
1

本科生课程设计(论文)

曲面仿真等。虽然如此,但也存在一些急待攻克的问题,主要包括:测量精度的级别 有待提高,测量距离不够远,普遍只有 10 米之内,最远也只有几十米;一些高精度 或远距离的产品的电路复杂,成本较高;依然存在一定距离的育盲区等等;这些问题 限制了超声波的应用。针对上述存在的问题,国内外的相关人员进行了努力的攻关。 研究主要集中在以下几个方面:超声波回波处理、新型换能器研发、发射脉冲选取等 等,并且针对超声测距仪器的常见影响因素提出了温度补偿、接收回路串入自动增益 调节环节等提高超声波测距精度的措施。目前在国内的研究成果主要有:超声波回波 处理方面,最小均方自适应时延估计算法;一体化换能器;专用脉冲发生器;采用功 率驱动芯片和升压变压器等, 还通过超声波测距仪专用集成电路通过分析超声波测距 误差产生的原因,来提高测量时间差到微秒级,以及用温度传感器来进行声波传播速 度的补偿后,其高精度超声波测距仪也可以达到毫米级的测量精度。这些新的技术都 大大提高了超声波测距的精度和距离。 国内的超声波测量品牌有古大, 飞鹰, 百特等。 他们的技术在国内应该处于领先地位。但是低端的很多。而在国外,超声测量技术也 有迅速发展。国外西门子,E+H,HAWK 的产品比较齐全,质量比较稳定。

2

本科生课程设计(论文)

第 2 章 方案选择及超声波测距原理
2.1 总体方案设计
超声波具有指向性强,能量消耗缓慢,在介质中传播距离较远的特点,常用于测 量两点之间的距离。本系统要求以单片机为核心,选择超声波发射电路和超声波接收 电路,组成一个超声波测距仪,并显示两点之间的距离。 超声波测距仪设计中我们采用单片机作为核心,其中包括时钟电路,复位电路; 以超声波模块作为超声波发射和接受装置;以三位数码管作为显示模块,总体设计方 案(如图 2-1) :

超声波模块

时钟电路

单片机

显示模块

复位电路

图 2-1 设计方案框图

2.2 超声波测距原理
由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经 常用于距离的测量,如测距仪和物位测量仪等都可以通过超声波来实现。那么超声波 测距的原理是什么呢?下面简单介绍一下超声波测距的原理。 超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空 气中传播, 途中碰到障碍物就立即返回来, 超声波接收器收到反射波就立即停止计时。 超声波在空气中的传播速度为 340m/s,根据计时器记录的时间 t,就可以计算出发射 点距障碍物的距离(s),即:s=340t/2 。这就是所谓的时间差测距法。超声波测距的原 理是利用超声波在空气中的传播速度为已知, 测量声波在发射后遇到障碍物反射回来 的时间,根据发射和接收的时间差计算出发射点到障碍物的实际距离。
3

本科生课程设计(论文)

第 3 章 硬件选择与设计
3.1 硬件选择
1.单片机的选择 单片机是一种集成的电路芯片, 是采用超大规模集成电路技术把具有数据处理能 力的中央处理器 CPU、数据存储器 RAM、程序存储器 ROM、多种 I/O 口、中断系统 和定时/计数器等功能集成到一块硅片上构成的一个小而完善的计算机系统。 在这个设计中单片机选用的是 STC90C51(如图 3-1),它内部集成了功能强大的中 央处理器。具有以下标准的功能:32 个 I/O 口线,看门狗(WDT) ,4k 字节的 Flash 闪速存储器, 字节的内部 RAM, 128 一个向量两级中断结构, 两个 16 位定时/计数器, 两个数据指针,片内振荡器及时钟电路,一个全双工串行通信口。CPU 的工作在空 闲方式下停止,但允许 RAM,定时/计数器,串行通信口及中断系统继续工作。掉电 方式保存 RAM 中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬 件复位。 STC90C51 集成了几乎完善的 8 位中央处理单元,处理功能强,中央处理单元中 集成了方便灵活的专用寄存器,硬件的加,减,乘,除法器和布尔处理机以及各种逻 辑运算和转移指令,这给应用提供了极大的便利。 STC90C51 把微型计算机的大部分的部件都是集成在一个芯片上,所以达达缩短 了数据传输距离,具有更高的可靠性,和更快的运行速度,由于微型计算机已经芯片 化了,所以各功能部件的布局和结构在芯片中已经达到最优化,加强了抗干扰能力, 工作也相对稳定。 它是 40 引脚双列直插分装方式(如图 3-2) 。

图 3-1 STC90C51 实物图
4

本科生课程设计(论文)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

P1 .0 V CC P1 .1 P0 .0 P1 .2 P0 .1 P1 .3 P0 .2 P1 .4 P0 .3 P1 .5 P0 .4 P1 .6 P0 .5 P1 .7 P0 .6 R ST P0 .7 P3 .0 /R x D EA /Vp p P3 .1 /T x D A LE/PR O G P3 .2 /IN T0 PS EN P3 .3 /IN T1 P2 .7 P3 .4 /T 0 P2 .6 P3 .5 /T 1 P2 .5 P3 .6 /W R P2 .4 P3 .7 /R D P2 .3 X TA L2 P2 .2 X TA L1 P2 .1 G ND P2 .0

40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21

图 3-2

STC90C51 引脚图

2.超声波模块的选择 在超声波测距仪设计中,采用 HC-SR04 超声波模块(如图 3-3),它性能稳定, 测度距离精确,模块高精度,盲区小。可以用来设计机器人避障 、 物体测距 、 液 位检测等领域。

图 3-3 HC-SR04 超声波模块

HC-SR04 超声波测距模块设计的嵌入式系统这样的项目。 它的分辨率为 0.3 和测 距距离为 2cm 至 500 厘米。它采用一个 5V 直流电源供电,待机电流小于 2mA。该 模块发送的超声波信号, 拿起其回波, 测量所经过的时间之间的两个事件和输出波形,
5

本科生课程设计(论文)

其高的时间是由测得的时间的距离成正比的调制。 (1). HC-SR04 超声波模块引脚介绍 HC-SR04 具有四个引脚即 Vcc 时,触发器,回声,GND 和它们在下面详细解释。 a.VCC:5V DC 电源连接到该管脚。 b.触发:触发信号开始发送到该管脚。触发信号必须是脉冲 10US 的时候。当模 块接收到有效的触发信号时,它会发出 8 个脉冲从发射 40KHz 的超声波声。这种声 音的回声回升的接收器。 c.回声:在此引脚,模块输出的波形以很高的时间与距离成正比。 d.GND 地连接到该引脚。 (2). HC-SR04 超声波模块时序图

图 3-4

HC-SR04 时序图

从时序图中, 可以看到的 40kHz 脉冲串传输的的 10US 触发脉冲后的回声输出后, 得到一些更多的时间。只有后回波消失,这个时间段被称为循环周期,可以给出的下 一个触发脉冲。HC-SR04 的循环周期必须不低于 50 毫秒。根据数据表,就可以计算 出的距离。 (3)HC-SR04 模块的使用 初始化时将 trig 和 echo 端口都置低,首先向给 trig 发送至少 10 us 的高电平脉 冲(模块自动向外发送 8 个 40K 的方波),然后等待,捕捉 echo 端输出上升沿,捕 捉到上升沿的同时,打开定时器开始计时,再次等待捕捉 echo 的下降沿,当捕捉到 下降沿,读出计时器的时间,这就是超声波在空气中运行的时间,按照如下计算公式 测试距离=(高电平时间*声速(340M/S))/2 就可以算出超声波到障碍物的距离。 3.数码管的选择
6

本科生课程设计(论文)

在单片机的应用系统中,显示器是最常见的输出设备。显示器按其显示形式分为 分段式显示器、点阵式显示器和条图(光柱)式显示器。显示器可用于数字、符号、 文字、图形和光柱显示。LED 显示器是单片机开发中常用的输出器件。它是由若干 个发光二极管组成的,当发光二极管导通时,相应的一个点或一个笔画发亮。控制不 同组合的二极管导通,就能显示出各种字符。常用的 LED 显示器是 7 段式。7 段式 单个数码管内部共有 8 只发光二极管,7 只为字段,可组成字形,第八个为小数点。 故单个数码管有人称为七段数码显示, 也有人称之为八段显示。 由图 3-5 可见, b、 a、 c、d、e、f、g 分别为七个发光段引脚,dp 引脚为小数点。数码管工作时每段需串联 一个限流电阻,而不能用一个电阻放在共阳极或共阴极端。否则,容易引起某段过流 而烧坏数码管。 这种显示块有共阴极和共阳极两种。 在本设计中采用共阴极显示模块 (如图 3-6) 。 LED 显示块与单片机与单片机接口非常容易,只要将一个 8 位并行输出口与显示块 的发光二极管引脚连接即可。
a R

a
b

l ed2 1 2 3 4 5 6 7 8
a b c d e f g dp DPY a f e g d b c dp

R c R d R e R f R g R dp R

图 3-5 引脚配置

图 3-6 共阴极接法

3.2 硬件电路设计
3.2.1 时钟电路的设计
时钟电路用于产生单片机工作所需的时钟信号。时钟信号可以由两种方式产生: 内部时钟方式和外部时钟方式,在这个设计中采用的是内部时钟方式。单片机内部有 一个高增益反向放大器,用于构成内部震荡器 ,引脚 XTAL1 和 XTAL2 分别是此放
7

本科生课程设计(论文)

大器的输入端和输出端。在 XTAL1 和 XTAL2 两端跨接晶体或陶瓷谐振器,就构成 了稳定的自激震荡器,其发生的脉冲直接送入内部时钟发生器,见图 3-7。外接陶瓷 谐振器时, 电容约为 47pF。 为了减少寄生电容, 更好地保证振荡器稳定可靠地工作, 谐振器和电容应尽可能安装的与单片机芯片靠近。在这儿采用了震荡频率为 11.0592MHz 的晶体。

C2 30pF C1 30pF
图 3-7 时钟电路

晶振
11. 0592MHz

3.2.2 复位电路的设计
单片机的复位电路都是靠外部复位电路来实现的,在时钟电路工作后,只要在单 片机的 RESET 引脚上出现两个机器周期以上的高电平,单片机就可以复位。设计复 位电路时, 一般使 RESET 引脚保持 10ms 以上的高电平, 单片机便可以可靠地复位。 当 RESET 从高电平变为低电平以后,单片机从 0000H 地址开始执行程序。 在这个设计中采用了按键式复位电路(如图 3-8) 。
SW -P B V CC

R R ES2 C3 22 uF

R R ES2

图 3-8 按键电平复位电路

8

本科生课程设计(论文)

3.2.3 单片机最小系统设计
单片机最小系统,又称为单片机最小应用系统,是指用最少的元器件组成的单片 机可以工作的系统。对 51 系列的单片机来说,最小系统一般应包括单片机、晶振电 路,复位电路。51 单片机最小系统如图 3-9 所示:
STC90C51 SW-PB VCC 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 P1. 0 P1. 1 P1. 2 P1. 3 P1. 4 P1. 5 P1. 6 P1. 7 RST P3. 0/RxD P3. 1/T xD P3. 2/INT 0 P3. 3/INT 1 P3. 4/T 0 P3. 5/T 1 P3. 6/WR P3. 7/RD XT AL2 XT AL1 GND VCC P0. 0 P0. 1 P0. 2 P0. 3 P0. 4 P0. 5 P0. 6 P0. 7 EA/Vpp AL E/PROG PSEN P2. 7 P2. 6 P2. 5 P2. 4 P2. 3 P2. 2 P2. 1 P2. 0 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21

R RE S2 C3 22uF

R RE S2

C2 30pF C1 30pF

晶振
11. 0592MHz

图 3-9 单片机最小系统

3.2.4 显示模块设计
数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一, 动态驱动是 将所有数码管的 8 个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起, 另外为每个数码管的 公共极 COM 增加位选通控制电路,位选通由各自独立的 I/O线控制,当单片机输出 字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形, 取决于单片机对位选通 COM 端电路的控制,所以我们只要将需要显示的数码管的选 通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管 的的 COM 端,就使各个数码管轮流受控显示,这就是动态驱动如图 3-10 所示。
9

本科生课程设计(论文)

在轮流显示过程中,每位数码管的点亮时间为 1~2ms,由于人的视觉暂留现象 及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度 足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。
VCC VCC VCC

P0. 0 R1

Q1 PNP

P0. 1 R2

Q2 PNP

P0. 2 R3

Q3 PNP

RP P2. 7 1 P2. 6 2 P2. 5 3 P2. 4 4 P2. 3 5 P2. 2 6 P2. 1 7 P2. 0 8 16 15 14 13 12 11 10 9 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 led1 AD0 1 AD1 2 AD2 3 AD3 4 AD4 5 AD5 6 AD6 7 AD7 8
DPY a a b c f b g d e e c d f dp g dp

led2 AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7 1 2 3 4 5 6 7 8
DPY a a b c f b g d e e c d f dp g dp

led3 AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7 1 2 3 4 5 6 7 8
DPY a a b c f b g d e e c d f dp g dp

图 3-10 显示电路设计

3.2.5 超声波模块电路设计
超声波模块 HC-SR04 在 trig(控制端)引脚输入 10us 的高电平,模块本身就会 发出 40KHz 的超声波,并且会接受回波,并在 echo(接收端)引脚反应。在这个设 计中我们用 P3.0 引脚给 HC-SR04 超声波模块提供 10us 的高电平,用 P3.1 引脚接收 回波,HC-SR04 超声波模块与单片机的连接如图 3-11 所示。
V CC

V CC

H C-SR 0 4

Trin g ech o

P3 .0 P3 .1

G ND

图 3-11 超声波连接

10

本科生课程设计(论文)

第 4 章 软件设计
超声波测距的软件设计主要由主程序、超声波发生子程序、超声波接收程序及显 示子程序组成。超声波测距的程序既有较复杂的计算(计算距离时) ,又要求精细计 算程序运行时间(超声波测距时) 。

4.1 主程序设计
根据模块的划分原则,将该程序划分为初始化模块、超声波发射控制子程序、等 待回波子程序和显示子程序模块, 这四个程序模块构成了整个系统软件的主程序主程 序程序流程图如图 4-1 所示。
开始

初始化

超声波发射控制子程序

等待反射回波子程序

显示子程序

图 4-1 主程序设计流程图

程序详单如下: ORG 0000H SJMP KS KS: MOV MOV MOV CLR DPTR, #LUT P2, #00H P0, #00H P3.0

; 程序复位开始执行的地址 ;移动到 DPTR 的地址 LUT ;设置为输出端口 P2 ;设置为输出端口 P0 ;设置 P3.0 作为输出发送触发
11

本科生课程设计(论文)

SETB MOV MOV MOV LOOP:

P3.1 TMOD,#00100000B TL1, #207 TH1, #207

;设置 P3.1 为输入,接收回波 ;设置定时器 1 的模式 2 自动重载定时器 ;加载的初始值开始计数 ;加载的重载值 ;跳转到超声波发射子程序 ;跳转到等待反射回波子程序 ;跳转到显示子程序 ;循环

LCALL FS LCALL HB LCALL XS SJMP LOOP

4.2 子程序设计
4.2.1 超声波发射控制子程序
超声波发射控制子程序要的作用是给 HC-SR04 超声波模块提供 10us 的高电平, 使 HC-SR04 超声波模块发射 40KHz 的超声波。程序流程图如图 4-2 所示。
开始

输出高电平

延时10us

输出低电平

结束

图 4-2 超声波发射控制程序

程序详单如下: ORG FS:

0100H ;开始的触发脉冲
12

SETB P3.0

本科生课程设计(论文)

LOOP2:

MOV R6,#4 DJNZ R6,LOOP2 CLR RET P3.0

;10US 的触发脉冲宽度 ;结束的触发脉冲

4.2.2 等待发射回波子程序
根据 HC-SR04 超声波模块的时序图,超声波模块发出一个 40KHz 的脉冲波形式 后,接收到该触发信号,程序等待,直到接收到一个有效的回波在 P3.1。程序流程图 如图 4-3 所示。
开始

开启定时器T1

否 查TF=1

是 累加器A加1

否 P3.1=0

是 结束

图 4-3 等待反射回波子程序

程序详单如下: ORG 0150H HB: LOOP2: SETB TR1 LOOP3: JNB CLR CLR TF1, LOOP3 TR1 TF1
13

;启动定时器 ;循环, 直到定时器溢出 (即 48 计数) ;停止计时器 ;清除定时器标志

本科生课程设计(论文)

INC JB

A P3.1, LOOP2

;累加器加 1 ;如果的回声仍是提供,循环 ;R4 暂存累加器 A 的值

MOV R4, A RET

4.3.3 显示子程序
由 4.2.2 知, 其实在等待反射回波子程序中累加器 A 的值就是物体之间的距离, 同时在本设计中我们用三位数码管显示, 所以在显示子程序中我们要将测得的距离的 百位、十位、个位分离。并且我们用查表的方法显示。程序流程图如图 4-4 所示。
开始

读取距离

分离百位并显示

分离十位病显示

分离个位并显示

结束

图 4-4 显示子程序流程图 程序详单如下: ORG XS: MOV MOV DIV SETB MOV 0200H A, R4 B, AB P0.0 P2, A
14

;在 R4 的值加载到 A ;加载 100 到 B ;百位数字隔离 ;激活 LED 显示单元 led1 ;调用显示子程序 ;显示百位数字

#100

LCALL DISPLAY

本科生课程设计(论文)

ACALL DELAY ACALL DELAY MOV MOV DIV CLR A,B B,#10 AB P0.0

;延时 1ms ;准备分离十位 ;十位数字隔离 ;关闭 LED 显示单元 led1 ;激活 LED 显示单元 led2 ;显示十位数字

SETB P0.1 LCALL DISPLAY MOV P2,A LCALL DELAY LCALL DELAY MOV CLR A,B P0.1

;准备分离个位 ;关闭 led2 显示单元 ;激活 led3 显示单元 ;显示个位数字

SETB P0.2 LCALL DISPLAY MOV P2,A LCALL DELAY LCALL DELAY CLR ORG DELAY: MOV RET DISPLAY:MOVC CPL A RET LUT: DB 3FH 06H 5BH RET RET A, @A + DPTR P1.2 0250H R7,#250

;1 毫秒的延迟

LABEL2: DJNZ R7,LABEL2;的 ;获取数字内容的驱动模式在 A ;数字驱动模式的补充(见注 1) ;查找表(LUT)从这里开始 4FH 66H 6DH 7DH 07H 7FH 6FH

15

本科生课程设计(论文)

第5章

课程设计总结

这个设计就是利用超声波传输中的距离与时间的关系,采用了 STC90C51单片机对超声波仪 进行控制及数据处理,设计出了能够精确测量两点间距离的超声波测距仪。该测距仪主要是由 单片机主控模块、显示模块、超声波发射模块、接收模块所构成。其中采用 STC90C51单片机作 为主控模块,用来控制超声波的发出和接受,并且计算距离。用超声波模块 HC-SR04 发出和 接受超声波,用 3 位数码管作为显示模块。本次设计的超声波测距仪,具有迅速、操作方便、 计算简单、易于做到实时控制,并且测量精度较高的特点。测量范围可达到 25cm~350cm,其 误差 1cm 左右。在理论分析上达到了本次课设的要求。 通过本次设计,对单片机这门课有了进一步的了解。无论是在硬件连接方面还是在软件编 程方面。本次设计采用了 STC90C51 单片机芯片,虽然它与课上学的单片机不同,但理论知识 还是大同小异,程序编译也很顺利。设计中还用到了超声波模块 HC-SR04,以前在学单片机 课程时并没有涉及到这类知识,通过上网搜集有关它的资料,在最后掌握了它的工作原理并会 使用。

16

本科生课程设计(论文)

参考文献
[1] 梅丽凤,任国臣,蓝和慧.单片机原理接口技术(第二版) .清华大学出版社.2009 [2] 张国雄.测控电路(第四版) .机械工业出版社.2011. [3] 阎石.数字电子技术基础(第五版) .高等教育出版社.2006 [4] 电子技术应用.关于 LED 显示器的设计.2013.第五期 [5] 【美】丁马.库斯. 电子电路大全.中国计量出版社.2003 [6] 曹京伟.数码显示及应用.北京航空航天大学出版社.2009 [7] 范次猛.可编程控制器. 2009 [8] 刘修文. 实用电子电路设计制作 300 例.中国电力出版社.2005 [9] 康华光.电子基础技术(模拟部分) (第五版) .高等教育出版社.2006 [10] 周惠朝.常用电子元件及典型应用.电子工业出版社. 2005 [11]Harvard,Gareth. Thematic Network in teacher education in Europe XXXJ Journal of Education for teaching. Vol.23, No.1, 1997 [12]Allamaraju , Subrahmanyam.Professional . Java Server Programming J2EE Edition.Wrox Press.2001 [13]ATMEL.8-bit Microcontroller with 8k Byte AT89C51.1999

17

本科生课程设计(论文)

SW -P B VCC

VCC R? R ES2

附录 1 总体硬件连接图

C3 22 uF 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 VCC VCC R? R ES2 HC-SR 04 Tring echo GND C2 30 pF C1 30 pF P1 .0 VCC P1 .1 P0 .0 P1 .2 P0 .1 P1 .3 P0 .2 P1 .4 P0 .3 P1 .5 P0 .4 P1 .6 P0 .5 P1 .7 P0 .6 R ST P0 .7 P3 .0 /R xD EA/Vp p P3 .1 /TxD ALE/PR OG P3 .2 /INT0 PS EN P3 .3 /INT1 P2 .7 P3 .4 /T0 P2 .6 P3 .5 /T1 P2 .5 P3 .6 /W R P2 .4 P3 .7 /R D P2 .3 XTAL2 P2 .2 XTAL1 P2 .1 GND P2 .0 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21

P0 .0 P0 .1 P0 .2

VCC

VCC

VCC

RP 1 2 3 4 5 6 7 8 16 15 14 13 12 11 10 9 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 led1 AD01 AD12 AD23 AD34 AD45 AD56 AD67 AD78
a DPY a b c f b g d e e c d

led2

led3

晶振
11 .0 592 MHz

f g dp

dp

AD0 1 AD1 2 AD2 3 AD3 4 AD4 5 AD5 6 AD6 7 AD7 8 STC9 0C 51

a DPY a b c f b g d e e c d

f g dp

dp

AD0 1 AD1 2 AD2 3 AD3 4 AD4 5 AD5 6 AD6 7 AD7 8

a DPY a b c f b g d e e c

f g dp

d

dp

18

P0 .0 R 1

Q1 PNP

P0 .1 R 2

Q2 PNP

P0 .2 R 3

Q3 PNP

本科生课程设计(论文)

附录 2 总体程序
ORG SJMP KS KS: MOV MOV MOV CLR SETB MOV MOV MOV LOOP: DPTR, #LUT P2, #00H P0, #00H P3.0 P3.1 TMOD,#00100000B TL1, #207 TH1, #207 ;设置定时器 1 的模式 2 ;加载的初始值开始计数 ;移动到 DPTR 的地址 LUT ;程序初始化 0000H ; 程序复位开始执行的地址

LCALL FS LCALL HB LCALL XS SJMP ORG LOOP 0100H ;开始的触发脉冲 ;10US 的触发脉冲宽度 ;结束的触发脉冲 R6,#4 P3.0

FS: LOOP1:

SETB P3.0 MOV CLR RET ORG 0150H DJNZ R6,LOOP1

HB: LOOP2: LOOP3: SETB TR1 JNB CLR CLR INC JB MOV RET
19

;启动定时器

TF1, LOOP3 TR1 TF1 A P3.1, LOOP2 R4, A ;如果的回声仍是提供,循环 ;R4 暂存累加器 A 的值

本科生课程设计(论文)

ORG XS: MOV MOV DIV

0200H A, R4 B, #100 AB ;分离并显示百位数

SETB P0.0 LCALL DISPLAY MOV P2,A ;延时 1ms ;分离并显示十位 ACALL DELAY ACALL DELAY MOV MOV DIV CLR A,B B,#10 AB P0.0

SETB P0.1 LCALL DISPLAY MOV P2,A LCALL DELAY LCALL DELAY MOV CLR A,B P0.1 ;分离并显示个位

SETB P0.2 LCALL DISPLAY MOV P2,A LCALL DELAY LCALL DELAY CLR ORG DELAY: MOV RET DISPLAY:MOVC CPL A RET LUT: DB 3FH
20

P1.2 0250H R7,#250 ;1 毫秒的延迟

LABEL2: DJNZ R7,LABEL2 A, @A + DPTR ;获取数字内容的驱动模式在 A

;查找表(LUT)从这里开始

本科生课程设计(论文)

DB 06H DB 5BH DB 4FH DB 66H DB 6DH DB 7DH DB 07H DB 7FH DB 6FH RET END

21


相关文章:
超声波测距仪的设计毕业论文
控制系统核心部分就是超声波测距仪的研 制。因此,设计好的超声波测距仪就显得非常重要了。这就是我设计超声波测距仪的 意义。 超声的研究和发展, 与媒质中超声...
超声波测距仪的设计实现
超声波测距仪设计实现 摘要该超声测距系统采用芯片 STC89C52 作为系统的主控制器,利用 NE555 作为 本系统的脉冲发射源, 结合 3 位 7 段数码管液晶显示,达到...
基于单片机超声波测距仪的设计毕业论文
37 扬州职业大学毕业设计(论文) 第 3 页共 40 页 基于单片机的超声波测距仪 摘要:超声波是指频率在 20kHz 以上的声波,它属于机械波的范畴。 超声波也遵循一般...
简易超声波测距仪的设计
26 I 河北经贸大学毕业论文 简易超声波测距仪设计 1 1.1 绪论 超声波测距仪设计思路超声波传感器及其测距原理 超声波是指频率高于 20KHz 的机械波。为了以...
基于51单片机的超声波测距仪设计
基于51单片机的超声波测距仪设计_电子/电路_工程科技_专业资料。基于51系列单片机开发应用。江苏经贸职业技术学院 毕业设计(论文) 题目: 基于 MCS51 单片机的超声波...
超声波测距仪的设计
超声波测距仪设计_电子/电路_工程科技_专业资料。基于STC89C51单片机的超声波测距仪设计河南科技大学本科毕业设计(论文) 超声波测距仪设计 摘要 当今社会,人...
超声波测距仪的设计方案
本文介绍了基 于 AT89C51 单片机的超声波测距仪超声波仪的软硬件设计, 硬件部分包括超声波发射 电路,超声波接收电路,显示电路,温度检测电路,单片机控制电路等。而...
基于单片机的超声波测距仪设计
33 齐鲁工业大学 2013 届本科毕业设计(论文) 摘 要 本文介绍了基于单片机控制的超声测距仪的原理:由 AT89C52 控制定时器产生超 声波脉冲并启动内部的计数器开始...
超声波测距仪的设计_图文
哈 尔 滨 学 院 题系 目: (部): 超声测距仪的仿真设计 电子信息工程 电气自动化 蔡欢 12043102 雷冬飞 专业 (班级):姓学名: 号: 指导老师: 摘要本论文...
基于单片机的超声波测距仪设计
存档日期: 存档编号: 本科生毕业设计(论文) 论文题姓学系班专指导教 目: 基于单片机的超声波测距仪 名: 号: 别: 级: 业: 师: 108321015 机电工程系 机制...
更多相关标签: