电子秤称重传感器采集芯片ADS1232电路图和程序

项目上要用到称重传感器,关于ADC最终决定使用ADS1232,参考电压使用输出5V的REF5050,单片机使用STM32F103,称重传感器使用几百块一个的HBM,豪华的搭配,因为不需要考虑成本,必须稳定可靠,电路图:

ADS1232电路图

ADS1232驱动起来很简单,看时序图:

可以看到,先等待DOUT引脚变为低电平就可以发送24个时钟读取数据了。读完发送第25个时钟把DOUT置高然后继续等待,代码:

unsigned long ADS1232Read()
{
   uint8_t i;
   uint16_t timeout=0;
   unsigned long ADValue=0;//

  
   GPIO_SetBits(GPIOB, GPIO_Pin_15);//PDWN=1打开转换 
   delay_ms(1);   
   while(GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_13)&&(timeout<1000))	//等待数据准备好
   {
       timeout++; Delay_us(600);
    }
    if(timeout>=1000)//超时
    {
       GPIO_ResetBits(GPIOB, GPIO_Pin_15);timeout=0;	return 0;
     }
     else
     {
	for(i=0;i<24;i++)
	{
	     ADValue<<=1;
	     GPIO_SetBits(GPIOB, GPIO_Pin_14);	//SCLK=1
	     __NOP();__NOP(); //1
	     if(GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_13)==1)
	      ADValue|=0x00000001;
	     GPIO_ResetBits(GPIOB, GPIO_Pin_14);	//SCLK=0
	     __NOP();__NOP(); //1
	  }
	
	GPIO_SetBits(GPIOB, GPIO_Pin_14);	//SCLK=1
	delay_ms(1);
	GPIO_ResetBits(GPIOB, GPIO_Pin_14);	//SCLK=0
	delay_ms(1);


//	GPIO_ResetBits(GPIOB, GPIO_Pin_15); //PDWN=0关闭转换 进入待机模式

	return ADValue&0xfffffff0;
    }

}

 

版权声明:
作者:wawooo
链接:http://www.wawooo.com/307.html
来源:挖窝网
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>