找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5034|回复: 4
收起左侧

关于hx711模块数值显示问题

[复制链接]
ID:162935 发表于 2017-2-23 23:23 | 显示全部楼层 |阅读模式
#include<reg52.h>
#include "HX711.h"
#define uchar unsigned char
#define uint unsigned int
sbit LSA=P2^2;
sbit LSB=P2^3;
sbit LSC=P2^4;
uchar qian,bai,shi,ge;
uchar code table[]={
           0x3f,0x06,0x5b,0x4f,
           0x66,0x6d,0x7d,0x07,
           0x7f,0x6f};
uchar qian,bai,shi,ge;
void display(uchar qian,uchar bai,uchar shi,uchar ge)

{         
    uint i,c;
        for(i=0;i<4;i++)
        {
                switch(i)         //位选,选择点亮的数码管,
                {
                        case(0):
                                LSA=0;LSB=0;LSC=0;P0=table[ge]; break;//显示第0位
                        case(1):
                                LSA=1;LSB=0;LSC=0; P0=table[shi];break;//显示第1位
                        case(2):
                                LSA=0;LSB=1;LSC=0;P0=table[bai]; break;//显示第2位
                        case(3):
                                LSA=1;LSB=1;LSC=0; P0=table[qian];break;//显示第3位
                /*        case(4):
                                LSA=0;LSB=0;LSC=1; P0=table[qian]; break;//显示第4位
                        case(5):
                                LSA=1;LSB=0;LSC=1; break;//显示第5位
                        case(6):
                                LSA=0;LSB=1;LSC=1; break;//显示第6位
                        case(7):
                                LSA=1;LSB=1;LSC=1; break;//显示第7位*/       
                }
                c=2000;while(c--);
        }
                 
}
void main()
{         
          while(1)
    {
        long a;
        a=HX711_Read();
    a= (unsigned int)((float)a/430);
       

         qian=a/1000;
         bai=a%1000/100;
         shi=a%1000%100/10;;
         ge=a%10;
         display(qian,bai,shi,ge);
        }

}









#include "HX711.h"



//****************************************************
//延时函数
//****************************************************

//****************************************************
//读取HX711
//****************************************************
unsigned long HX711_Read(void)        //增益128
{
        unsigned long count;
        unsigned char i;
          count=0;
          HX711_SCK=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个脉冲下降沿来时,转换数据
        HX711_SCK=0;
        return(count);
}
增大压力数值会改变,但是发现当数值变为900+时 发现在增大压力百位变为0了,千位始终没有数值
请好心人帮忙解决一下;谢谢

回复

使用道具 举报

ID:123289 发表于 2017-2-23 23:44 | 显示全部楼层
超范围使用?
回复

使用道具 举报

ID:166347 发表于 2017-2-24 10:30 | 显示全部楼层
那个曲率没调好
回复

使用道具 举报

ID:89254 发表于 2017-2-24 14:29 | 显示全部楼层
传感器用的是多大的?
回复

使用道具 举报

ID:162935 发表于 2017-2-28 13:06 | 显示全部楼层
zrworkingroom 发表于 2017-2-24 14:29
传感器用的是多大的?

传感器是5kg的
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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