找回密码
 立即注册

QQ登录

只需一步,快速开始

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

体重秤,关于HX711的AD模数转换模块程序问题

[复制链接]
跳转到指定楼层
楼主
50黑币
HX711驱动程序都一样,网上例子都差不多,但是,我用的时候就是转换不出来值来,要么出来一个固定的值不变,硬件上应该没有问题,不知道问题出在哪里了???求解。。

ADDO=0时的显示结果.jpg (831.61 KB, 下载次数: 115)

ADDO=0时的显示结果.jpg

主函数.PNG (74.64 KB, 下载次数: 104)

主函数.PNG

头文件.PNG (100.48 KB, 下载次数: 111)

头文件.PNG

hx711驱动及算法.PNG (114.87 KB, 下载次数: 114)

hx711驱动及算法.PNG

最佳答案

查看完整内容

//**************************************************** //延时函数 //**************************************************** void Delay__hx711_us(void) { _nop_(); _nop_(); } //**************************************************** //读取HX711 //**************************************************** unsigned long HX711_Read(void) //增益128 { unsigned long count; unsigned char i; ...
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:170270 发表于 2017-7-29 13:00 | 只看该作者

//****************************************************
//延时函数
//****************************************************
void Delay__hx711_us(void)
{
        _nop_();
        _nop_();
}

//****************************************************
//读取HX711
//****************************************************
unsigned long HX711_Read(void)        //增益128
{
        unsigned long count;
        unsigned char i;
          HX711_DOUT=1;
        Delay__hx711_us();
          HX711_SCK=0;
          count=0;
          while(HX711_DOUT);
          for(i=0;i<24;i++)
        {
                  HX711_SCK=1;
                  count=count<<1;
                HX711_SCK=0;
                  if(HX711_DOUT)
                        count++;
        }
        HX711_SCK=1;
    count=count^0x800000;//第25个脉冲下降沿来时,转换数据
        Delay__hx711_us();
        HX711_SCK=0;  
        return(count);
}
回复

使用道具 举报

板凳
ID:170270 发表于 2017-7-29 15:14 | 只看该作者
你用的什么单片机?51?
回复

使用道具 举报

地板
ID:203399 发表于 2017-7-29 19:49 | 只看该作者
依然是你 发表于 2017-7-29 15:19
//****************************************************
//延时函数
//**************************** ...

用的是stc51单片机,但感觉HX711芯片不起任何作用一样,用单步调试就一直卡在while(HX711_DOUT); 语句液晶就显示0.00KG.

如果在前面就把HX711_DOUT置零那就会显示一个固定值:209.71KG
回复

使用道具 举报

5#
ID:203399 发表于 2017-8-5 09:30 | 只看该作者
由于程序算法和电路端口原因导致变量不变
回复

使用道具 举报

6#
ID:401804 发表于 2018-11-20 21:14 | 只看该作者
楼主 解决了吗
回复

使用道具 举报

7#
ID:401804 发表于 2018-12-2 21:03 | 只看该作者
我换了个串口就好了
回复

使用道具 举报

8#
ID:228755 发表于 2019-5-3 14:26 | 只看该作者
老哥,有没有完整的程序发一个我现在也在做这个
回复

使用道具 举报

9#
ID:516756 发表于 2019-9-13 11:13 | 只看该作者
学习态度 发表于 2017-8-5 09:30
由于程序算法和电路端口原因导致变量不变

楼主你好,我的程序也卡在while(HX711_DOUT)里面出不来,导致读出的数据为0。请教一下您是如何解决的呢?
回复

使用道具 举报

10#
ID:424390 发表于 2020-1-4 19:49 | 只看该作者
换一个串口就好了,我一开始也这样..或者换传感器..
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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