-
嵌入式系统及应用
开放性实验报告
Stm32
HC-SR04
超声波测距
第一章
绪论
1.1
STM32
超声波测距系统
1.1.1 HC-
SR04
超声波测距模块简介
HC-
SR04
超声波测距模块可提供
2cm-400cm
的非接触式距离感测功能,
测距精度可达高到
3mm
;模块包括超声波发射器、接收器与控制电路。
使用电压:
DC---5V
静态电流:小于
2mA
电平输出:高
5V
低
0V
感应角度:不大于
p>
15
度
探测距离:
2cm-450cm
高精度:
可达
3mm
1.1.2 HC-
SR04
超声波测距模块原理
采用
IO
口
TRIG
触发测距,给
TRIG
至少
10us
的高电平信号
;
模块自动发送
8
个
40khz
的方波,自动检测是否有信号返回;
有信号返回,通过
IO
口
ECHO
输出一个高电平,高电平持续的时间就是超
声波从发射到返回的时间。
测
试
p>
距
离
=(
高
电
平
时
间
*
声
速
(340M/S)
)/
2;
T
(
℃
)
={
(
V25-Vsense
)
/Avg_Slope}+25
V25=Vsense
在
25
度时的数值(典型值为:
1.43
)
。
Avg_Slope=
温度与
Vsense
曲线的平均斜率
(单位为
mv/
℃或
uv/
℃)
(典型
值为
4.3Mv/
℃)
。
利用以上公式,我们就可以方便的计算出当前物体超声波模块之间的距离。
程序中使用
:
测试距离
=
高电平时间
*
声速
(340M/S))/2
这个公式
1.2
设计要求
使用
ARM
开发板上硬件资源与超声波模块结合,编程实现实时距离显示功
能,通过数码管实时显示距离,并在距离小于设定报警距离时使用蜂鸣器报警。
1.3
总体设计方案及框图
1.3.1
距离测量及获取方法
通过设置定时器
,开启中断,读取
ECHO
输出高电平的持续时间,计算结果<
/p>
作为当前距离。
1.3.2
总体设计方案
实时距离
:
本超声波测距系统可实现
对距离的实时测量,
并不断显示在数码
管上
保持距离
:
用户可通过按键使
得当前距离值在数码管保持,
也可再次返回对
距离的实时测量,
此模式下距离小于报警值不会报警,仅为显示模式。
两种模式
相互转换,
并且可以在距离保持状态时通过按键进入修改报警距离
模式,如果实测距离小于下限值,蜂鸣器报警,当距离大于下限值时,报警自动
停止。
1.3.3
程序框图
开始
K5
按下
K6
按下
初始化
SV--
否
数码管及按键扫描
SV++
显示当前距离
K7
是否按下
是
K7
按下
是
超声波测距
否
数码管显示距离
K4
是否按下
K1
是否按下
否
第二章
正文
2.1
要求重述及分析
2.1.1
设计任务
超声波测距系统
2.1.2
设计要求
使用
STM-32
开发板上硬件资源及
HC-SR04
超声波测距模块,编程实现超声波测
距
功能,通过数码管实时显示距离。
2.1.3
要求分析
1
使用
HC-SR04
超声波测距模块以及
stm-32
自带数码管、
p>
LED
等
2
p>
实现实时距离测量功能,通过数码管实时显示当前距离:设计程序实现对距
< br>离报警值的设定,并在低于报警值时使用蜂鸣器等进行提示。
2.2
相关配置具体设计
2.2.1
相关配置
1
输入口输出口配置:
将
P
C8
设为与
Trig
相连的输出口,<
/p>
将
PC7
设置为接收
Echo
返回数据的输入口。
使能
APB2
总线上的
GPIOC
时钟,<
/p>
根据参数配置对应引
脚。
2
按键配
置:
控制按键的端口
:PA15
和
p>
PB4~7
。
使能
APB2
总线上的
GPIOA
以
及
GPIOB
时钟,根据参数配置对应引脚。
3
蜂鸣器:
控制蜂鸣器的端口为
PB8
。
APB2
总线上
GPIOB
时钟已经使能可省<
/p>
略,根据参数配置
PB8
端口。
4
数码管配置:控制数码管的端口
:PE0~13
。<
/p>
p
使能
APB2
总线上的
GPIOE
时
钟,根据参数配
置对应引脚。
5
定时器配置
: