实例介绍
障碍物测距在一些机器人比赛、智能车比赛和车辆倒车预警中经常应用到,而超声波测距是障碍物测距常用的方法。本项目用超声波模块对障碍物测距后进行实时距离显示和声音预警,是一个常用的测试系统。项目中对硬件和软件进行细致的介绍,重点、难点分析透彻,项目难度中等,非常适合初学者学习。
【实例截图】


【核心代码】time=TH0*256 TL0; //读出T0的计时数值
TH0=0;
TL0=0; //清空计时器
S=(time*1.7)/100; //算出来是cm
//声音的速度是340m/s,时间的单位是us,计算到单位秒需要将时间数据/1000000
//长度=速度*时间,340*time/1000000,长度数据单位是m转换成cm需要乘以100得到340*time/10000
//小数点都向左移两位得到3.4*time/100,因为超声波是往返了,所以再除以2,得到距离数据(time*1.7)/100
disbuff[0]=S/1000; //将距离数据拆成单个位赋值
disbuff[1]=S%1000/100;
disbuff[2]=S%1000%100/10;
disbuff[3]=S%1000%100%10;
OLED_ShowChar(0 12,2,ASCII[disbuff[0]]); //转成ASII码
OLED_ShowChar(18 12,2,ASCII[disbuff[1]]);
OLED_ShowChar(36 12,2,ASCII[disbuff[2]]);
OLED_ShowChar(54 12,2,ASCII[disbuff[3]]);
OLED_ShowString(76 12,2,"mm");//显示mm
【文件目录】
11、超声波测距实验
├── Listings
│ ├── oled.lst
│ ├── sdf.m51
│ ├── template.lst
│ └── template.m51
├── Objects
│ ├── oled.obj
│ ├── sdf
│ ├── sdf.build_log.htm
│ ├── sdf.hex
│ ├── sdf.lnp
│ ├── template
│ ├── template.build_log.htm
│ ├── template.hex
│ ├── template.lnp
│ └── template.obj
├── oled.c
├── oled.h
├── oledfont.h
├── template.c
├── template.uvgui.hp
├── template.uvopt
└── template.uvproj
2 directories, 21 files
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论