找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2892|回复: 7
收起左侧

关于传感器实时测距的显示 新人小白求助

[复制链接]
ID:852397 发表于 2020-12-9 18:52 | 显示全部楼层 |阅读模式
10黑币
传感器 :红外测距传感器 GP2Y0A21模块
单片机芯片:STC89C52RC-40I封装
AD/DA转换:PCF8951模块
LCD12864液晶屏
想用传感器测出距离,然后同通过单片机显示在LCD上面。具体该怎么实现呢。
想要实时显示出距离,传感器测得距离变化屏幕显示的也跟着变化,是靠单片机程序来实现吗?要如何学习才能自己制作出来?

回复

使用道具 举报

ID:517466 发表于 2020-12-9 23:36 | 显示全部楼层
会C语言的话,就不需要你十分了解单片机的工作原理了。受用keilc,上网找例子。有很多51单片机驱动12864的例子。这个论坛本身也有很多。
红外测距传感器 GP2Y0A21模块,需要你知道它的接口资料和编程资料。明确接口后,按照他要求的时序编程,取得数据,然后显示即可。
传统的处理思路是,主循环里不断地对传感器执行数据查询处理,发现数据变化了,就把数据变换并传递给LCD12864。
http://www.51hei.com/bbs/dpj-160701-1.html
这个帖子里有12864部分的处理,这个是用来扫描键盘和巡检温度传感器18B20获取当前温度的程序,思路一样的,可以借鉴。你只需要把键盘处理部分去掉,把温度检测部分的换成红外测距的就可以了。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:844772 发表于 2020-12-10 11:10 | 显示全部楼层
1、红外测距,结果是模拟量,所以要DA转换,上边的测温度是不用转换的,
2、电压与距离的比值不是直线,你还要建立函数(一般是简化成分段)。
3、如果没别的要求就不断的循环测距再显示,省得用中断了。
4、注意每次测距要有延时,我建议延时大于5ms。
5、你刚上手,又不显示汉字,能用数码管会省事一些。
回复

使用道具 举报

ID:852397 发表于 2020-12-10 18:50 | 显示全部楼层
suncat0504 发表于 2020-12-9 23:36
会C语言的话,就不需要你十分了解单片机的工作原理了。受用keilc,上网找例子。有很多51单片机驱动12864的 ...

我在读大学,C语言和单片机都选课学习了,但是感觉过考试还行,原理啥的完全就不懂,程序稍微一多就看不懂了。感觉自己就是个废物耶。买的传感器啊单片机之类的要自己焊接组装,自己从来没弄过,也不太懂。负责的老师又不管,得自己研究。现在就感觉不知到干啥
回复

使用道具 举报

ID:852397 发表于 2020-12-10 18:53 | 显示全部楼层
glinfei 发表于 2020-12-10 11:10
1、红外测距,结果是模拟量,所以要DA转换,上边的测温度是不用转换的,
2、电压与距离的比值不是直线,你 ...

循环测距显示和延时都是通过编程来实现吗?
建立的函数怎么用到这整个系统里呢?也是靠编程还是咋的?
显示的话师傅是建议用LED屏的
新人完全不太懂耶,谢谢你了!
回复

使用道具 举报

ID:420836 发表于 2020-12-11 10:27 | 显示全部楼层
最好使用单片机来实现测距和显示。
回复

使用道具 举报

ID:517466 发表于 2020-12-11 11:07 | 显示全部楼层
萧薰儿的小迷弟 发表于 2020-12-10 18:50
我在读大学,C语言和单片机都选课学习了,但是感觉过考试还行,原理啥的完全就不懂,程序稍微一多就看不 ...

我大学时学的是Z80和51单片机。老师也不会全身心带你。那时候的外部学习条件现在差多了。现在很容易就能买到开发板,网上相关的资料也一大把。可以说现在的学习环境非常好,也非常方便。
俗语说的好:“师傅领进门,修行在个人”。上大学,我想你应该很容易感到和中学高中的不同。大学,应该进入自学阶段了,提高自学能力是必须的,不能再指着老师深入教会你。平时需要自己多下功夫,有不懂的,再去问老师。提高自学能力,这才是上大学应该能学到的一个东西。
有了开发版,你可以随便折腾,由浅入深,一点点地提高自己。教科书中那些基本例子,你最好都实践,过一遍,相信你会很快提高自己的动手能力和领悟能力的。
这个论坛也有很多热心的网友,会帮你一起提高。
回复

使用道具 举报

ID:517466 发表于 2020-12-11 11:11 | 显示全部楼层
萧薰儿的小迷弟 发表于 2020-12-10 18:50
我在读大学,C语言和单片机都选课学习了,但是感觉过考试还行,原理啥的完全就不懂,程序稍微一多就看不 ...

我大学时学的是物理方面的专业。毕业后,自己改行,开始是搞单片机开发,后来又转学计算机软件开发,并一直坚持到现在。软件开发,你懂的吧,需要不断学习新的开发语言,新的开发架构。所以说,我建议你在大学期间,必须提高自学能力。以后进入社会,再也不会有那么多老师教的。坚持下去,形成习惯,不要放弃。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表