51单片机usb烧录电路_(51单片机)课设项目2-超声波测距(SRF04、LCD1602、蜂鸣器报警电路)...

该博客作者分享了51单片机使用超声波模块SRF04进行测距的项目经验,包括超声波的工作原理、时间与距离计算方法。此外,还介绍了蜂鸣器报警电路的设计,当距离低于预设阈值时,蜂鸣器以不同频率报警。项目还包括LCD1602显示距离信息。提供了资源下载链接。
摘要由CSDN通过智能技术生成

5a5123e2f14e782c3c540054f26a566a.png

简单复盘一下做小项目时遇到的问题,下载地址在最后,有需要可以下载(在CSDN上我设置的是0C币下载,我发现好几次 会自己变??)

超声波模块SRF04

·引脚
VCC:电源端
ECHO:接收端(高电平持续时间为超声波发出到返回的时间)
TR:触发控制端,信号输入
NC(OUT):开关量输出(当报警模块使用)
GND:地线

12530edd165010ba1e412124e1205f51.png

·工作原理

daef9fc9bf40bd693c4d7f8b5e206557.png

3f6cfe9d2cd6f47b9b8e71f5e9a55d88.png
***如果回波高电平时间在100us-18ms区间,若超过36ms,说明没有探测到物体***

系统首先完成初始化,发射端向目标发射超声波接收端等待回声(有高电平),同时启动定时器计时,超声波在空气中传播的途中一旦遇到障碍物后就会被反射回来,当接收端收到反射波后就会给负脉冲到单片机,此时定时器停止计时。定时器能够准确的记录下超声波发射点至障碍物之间往返传播所用的时间t,设声速为c,可得距离测量值为:s=ct/2。测量结果显示在LCD上。

·程序

137~140行判断有没有超过36ms

143~147行判断是不是在小于18ms的区间

2619b64b13dd8ea2b498b55cf99aeaac.png
【举个栗子】137~140行判断有没有超过36ms 用计算器算
137行: while(ECHO) //接收端还是高电平时候
36ms=36000us(微秒) 36000 D= 8CA0 H ( 十进制转十六进制)
【BIN:2进制;OCT:8进制;DEC:10进制;HEX:16进制】 *比较两个数的大小 先从高位比较,到36ms时,TH0=0x8C;TL0=0xA0;
139行: if ( ( TH0 > 0x8c ) || ( TH0 == 0x8c && TL0 > 0xa0 ) ) break;
如果 当前TH0>0x8c (即当前时间>36ms)
或 当前时间的高位TH0与36ms时的TH0 ( 0x8c )相等,就在判断低位TL0,如果 当前TL0 > 0xa0 (即当前时间>36ms)

44fbdcaeb1f8a2f1e7265bb2af3194ac.png

·时间计算(超声波发出到返回的时间)

result = ( TH0 << 8 ) + TL0; //result代表时间

变量类型: unsigned int result;

·距离计算:Now=(int)(High_Time*0.0175); //Now为测量的距离值,单位cm

变量类型: unsigned int Now;

通过记录超声波高电平时间得到的声波从发出到遇障碍物返回的时间来计算距离,声速采用340m/s,但在所需的测量范围内计算距离与实际测量距离有1~2cm的偏差。考虑到声速与温度有关,声速在空气中以340m/s传播的温度条件是15℃,因此经多次修改最后选用350m/s作为本次设计中声速的标准值,在8~76cm范围内计算距离与实际测量距离无偏差。

【在“笔记”的word文件里面搜索到其他人写的时间、距离计算的式子】

——————————————————————————————————————

蜂鸣器报警电路

·连接原理:

报警模块与单片机P1.7引脚相连,当此引脚输出低电平时PNP三极管导通,由于蜂鸣器所需的驱动电流较单片机输出电流相对比较大,因此要用三极管驱动,并加一个100欧姆的电阻作为限流电阻。图中二极管起续流作用,因为蜂鸣器本质上是感性元件,电流不能突变,因此必须有一个续流二极管提供续流,否则,在“电源-三极管-蜂鸣器”这条回路截止时,已经储存的电流无处可去,在蜂鸣器两端会产生几十伏尖峰电压,有可能损坏驱动三极管并干扰整个电路系统,有了续流二极管之后“二极管-蜂鸣器-地”组成的回路可消耗剩余电流,从而避免了断开时由于电感电流造成的反向冲击。三极管起着开关作用,基极为低电平时三极管导通,蜂鸣器发声。

416f13d681ecc70bfdeb6a71c29df726.png

项目实现的功能包括:

(1)两个按键用于设置距离阈值,以10cm为一档,对于阈值进行;

(2)超声测距模块SFR04用于测量距离,并将数据发送至单片机。

(3)距离阈值和距离信息用LCD1602显示。

(3)当距离低于阈值时,报警模块以5kHz频率发出警报;当距离低于阈值+10cm时,报警模块以1kHz频率发出警报;当距离大于等于阈值+10cm时,报警模块不发出声音。

资源内容包括:

60b14b46a034c58827dbab91e865d517.png

资源下载地址:

3a88d7b3921769cd0ee8a525df0eb4d0.png
(天地良心,这次我截图我真的设置的0C币,爹看看到底会不会自己变出花来?)
项目二-51单片机-倒车雷达控制系统设计(CSDN).zip-C/C++文档类资源-CSDN下载​download.csdn.net
eaa60ca4e3760af766d6d2c26866c980.png

下面是咸鱼地址嘻嘻 着急可以自提 1¥ 嘻嘻

https://market.m.taobao.com/app/idleFish-F2e/widle-taobao-rax/page-detail?wh_weex=true&wx_navbar_transparent=true&id=631989419017&ut_sk=1.X6kgq5AwkNYDAKBatEDf0vKo_12431167_1608379621900.Copy.detail.631989419017.4039191413&forceFlush=1

--------------------2020.12.14---------------------

大嘎不要留QQ邮箱了 万一被垃圾推送骚扰就不好了 发你百度网盘哦 (其实我自己觉得 上面文章中写的还算挺详细的 我做的时候遇到的问题基本都写了 大嘎可以先自己试一试练练手 希望补充新发现的问题哟 )

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值