您现在的位置: 主页 > 嵌入式处理器 > FPGA > hx711称重程序 - HDL语言及源代码 -
本文所属标签:
为本文创立个标签吧:

hx711称重程序 - HDL语言及源代码 -

来源: 网络用户发布,如有版权联系网管删除 2018-08-15 

  HX711是一款专为高精度电子秤而设计的24位A/D转换器芯片。与同类型其它芯片相比,该芯片集成了包括稳压电源、片内时钟振荡器等其它同类型芯片所需要的外围电路,具有集成度高、响应速度快、抗干扰性强等优点。

  HX711是一款专为高精度电子秤而设计的24位A/D转换器芯片。与同类型其它芯片相比,该芯片集成了包括稳压电源、片内时钟振荡器等其它同类型芯片所需要的外围电路,具有集成度高、响应速度快、抗干扰性强等优点。降低了电子秤的整机成本,提高了整机的性能和可靠性。该芯片与后端MCU 芯片的接口和编程非常简单,所有控制信号由管脚驱动,无需对芯片内部的寄存器编程。输入选择开关可任意选取通道A 或通道B,与其内部的低噪声可编程放大器相连。

  通道A 的可编程增益为128 或64,对应的满额度差分输入信号幅值分别为±20mV或±40mV。通道B 则为固定的32 增益,用于系统参数检测。芯片内提供的稳压电源可以直接向外部传感器和芯片内的A/D 转换器提供电源,系统板上无需另外的模拟电源。芯片内的时钟振荡器不需要任何外接器件。上电自动复位功能简化了开机的初始化过程。

  hx711称重程序

  hx711称重程序详解

  #include《reg52.h》 //error: data not change

  typedef unsigned char uchar;

  typedef unsigned int uint;

  //管脚定义

  sbit ADDO=P2^1;

  sbit ADSK=P2^0;

  sbit dlock=P2^6; //数码管段锁

  sbit wlock=P2^7; //数码管位锁

  //常量

  uchar code number[10]={0x3f,0x06,0x5b,0x4f,

  0x66,0x6d,0x7d,0x07,

  0x7f,0x6f};

  uchar code posiTIon[7]={0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf};

  //变量

  unsigned long Data;

  uchar Data1,Data2;

  //延时函数

  void delay(uchar t)

  {

  uchar a,b,c;

  for(a=t;a》0;a--)

  for(b=50;b》0;b--)

  for(c=10;c》0;c--)

  {;}

  }

  //显示函数,显示数字和位置

  void display(uchar num,uchar i)

  {

  P0=number[num];

  dlock=1;

  dlock=0;

  P0=posiTIon[i];

  wlock=1;

  wlock=0;

  }

  //读取传感器输出数据,完全按照参考例程

  unsigned long ReadCount(void)

  {

  unsigned long Count;

  uchar i;

  //ADDO=1;

  ADSK=0;

  Count=0;

  while(ADDO);

  for (i=0;i《25;i++) //25

  {

  ADSK=1;

  Count=Count《《1;

  ADSK=0;

  if(ADDO) Count++;

  }

  ADSK=1;

  Count=Count^0x800000;

  ADSK=0;

  return(Count);

  }

  void main(void)

  {

  while(1)

  {

  Data=ReadCount();

  Data1=(uchar)(Data%10); //数据转换,不知道写的对不对

  Data2=(uchar)(Data/10);

  display(Data1,1); //送显

  delay(5);

  display(Data2,2);

  delay(5);

  }

  }



              查看评论 回复



嵌入式交流网主页 > 嵌入式处理器 > FPGA > hx711称重程序 - HDL语言及源代码 -
 

网站地图

围观()