微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > AVR ATMEGA16A 单片机驱动HX711 DA转换器

AVR ATMEGA16A 单片机驱动HX711 DA转换器

时间:10-02 整理:3721RD 点击:
1脚接HX711模块的SCLK
0脚接HX711模块的DOUT

ulint Count=0;

//AD模块数据采集  
ulint HX711_Read(void)
{         
uchar i;  
PORTA&=~BIT(1);              //SCLK置低   
nms_delay(10);                  //延时大于4个数据周期,AD芯片稳定工作  
Count=0;                        
while((PINA&BIT(0)));  //检测DOUT,高电平等待  
for (i=0;i<24;i++)           //24为数据输出   
{   
PORTA|=BIT(1);           //SCLK拉高   
Count=Count<<1;          //Count左移一位,空出的低位为写数据做准备   
PORTA&=~BIT(1);          //SCLK置低     
if((PINA&BIT(0)))        //检测DOUT电平,为高则Count自加      
Count++;   
}   
PORTA|=BIT(1);               //第25个脉冲,选择下次转换通道为A,128增益     
PORTA&=~BIT(1);     
Count=Count^0x80;
return(Count);  
}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top