单片机论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 84|回复: 7
打印 上一主题 下一主题
收起左侧

51单片机读取HX711 ad转换值时数据为0?

[复制链接]
跳转到指定楼层
楼主
LQNB 发表于 2019-9-13 11:27 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 LQNB 于 2019-9-13 11:36 编辑

如图,51单片机读取HX711 ad转换值时,程序在while(HX711_DOUT);语句中跳不出来,导致读取数值为0。恳请大佬帮助,感谢

捕获.PNG (104.48 KB, 下载次数: 3)

程序在while(HX711_DOUT);中出不来

程序在while(HX711_DOUT);中出不来

捕获.PNG (20.33 KB, 下载次数: 2)

HX711连接原理图

HX711连接原理图
沙发
来51学习的 发表于 2019-9-13 12:19 | 只看该作者
有可能是 HX711_DOUT 端口接法错误
板凳
 楼主| LQNB 发表于 2019-9-13 14:35 | 只看该作者
来51学习的 发表于 2019-9-13 12:19
有可能是 HX711_DOUT 端口接法错误

前辈,直接DOUT和SCK接单片机IO口,可行吗?
地板
f556 发表于 2019-9-13 17:33 | 只看该作者
跳不过while,硬件电路有问题。DOUT和SCK可以直接接单片机IO口
5#
tyrl800 发表于 2019-9-13 18:43 | 只看该作者
while(HX711_DOUT);语句中跳不出来,接线没有错误的话,估计是芯片有问题
6#
 楼主| LQNB 发表于 2019-9-13 22:23 | 只看该作者
f556 发表于 2019-9-13 17:33
跳不过while,硬件电路有问题。DOUT和SCK可以直接接单片机IO口

好的,谢谢师傅,我试试看
7#
 楼主| LQNB 发表于 2019-9-13 22:25 | 只看该作者
tyrl800 发表于 2019-9-13 18:43
while(HX711_DOUT);语句中跳不出来,接线没有错误的话,估计是芯片有问题

好的,我再仔细检查一下,感谢
8#
kmsj 发表于 2019-9-15 17:53 | 只看该作者
最近买了HX711套件调试,一看资料,程序很简单,然而就是这个简简单单的程序,硬是调了两天都调不出来,搞得我简直就是怀疑人生。经过百度,发现很多人遇到这些情况,要么读数永远为0,要么永远是7FFFFF,要么就是while(HX711_DOUT)跳不过,这些问题我全部遇到。一开始以为是上拉电阻问题,官方资料有句话:“与DOUT相连的MCU接口应设置为输入口,并且不接任何拉高或拉低电阻,以减少MCU与ADC之间的电流交换(干扰)”,这句话估计坑了很多人,我也被坑,去掉上拉电阻还是不行,把上拉电阻换成100K,解决了while(HX711_DOUT)跳不过的问题,但是,读数永远为0,之前读数永远为7FFFFF。万般无奈的情况下,用示波器看看波形,不看不知道,一看吓一跳,PD_SCK高电平脉冲宽度高达80us,立即惊出一身冷汗!突然想起官方资料介绍PD_SCK高电平保持最小时间0.2us,最大时间50us,还有更重要的一句话:“如果PD_SCK从低电平变高电平并保持在高电平60us,HX711即进入断电状态”,这个才是重点,估计很多人忽略了。
我是先用51单片机调试程序,然后再移植到AVR单片机,51单片机用的是外部6兆晶体,换成仿真器内部晶体,具体多少兆不太清楚,反正PD_SCK高电平保持时间缩短到20多us,读数立马就正常了,又用外部6兆晶体,把优化等级调到7级,读数正常,此时的PD_SCK高电平保持时间是45us,把优化等级调到6级,读数不正常,PD_SCK高电平保持时间是80us,基本上可以断定,PD_SCK高电平保持时间在50us以内没有问题,while(HX711_DOUT)等待时间高达92.5ms,编程序的时候就要注意了,肯定不能傻等,DOUT和SCK的上拉电阻恢复到10K对程序没有影响,至于“MCU与ADC之间的电流交换(干扰)”,那是后面考虑的事情了,手头上有两套模块,一套的读数是0x008237××,另一套是0x007F3F××,误差怎么那么大?先不管了,慢慢折腾………………。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

|手机版|小黑屋|单片机论坛 |51Hei单片机16群 联系QQ:125739409;技术交流QQ群7344883

Powered by 单片机教程网

快速回复 返回顶部 返回列表
北京福彩网 青海福彩网 澳门最有名彩票网站 江苏快3 江苏快三跨度走势图 贵州11选5 福彩3D PK10哪个平台赔率高 江苏快3走势 澳洲幸运10开奖结果