HX711称重传感器专用模拟/数字(A/D)转换器芯片
简介:
HX711是一款专为高精度称重传感器而设计的24位A/D转换器芯片。与同类型其它芯片相比,该芯片集成了包括稳压电源、片内时钟振荡器等其它同类型芯片所需要的外围电路,具有集成度高、响应速度快、抗干扰性强等优点。降低了电子秤的整机成本,提高了整机的性能和可靠性。该芯片与后端MCU芯片的接口和编程非常简单,所有控制信号由管脚驱动,无需对芯片内部的寄存器编程。输入选择开关可任意选取通道A或通道B,与其内部的低噪声可编程放大器相连。通道A的可编程增益为128或64,对应的满额度差分输入信号幅值分别为±20mV或±40mV。通道B则为固定的32增益,用于系统参数检测。芯片内提供的稳压电源可以直接向外部传感器和芯片内的A/D转换器提供电源,系统板上无需另外的模拟电源。芯片内的时钟振荡器不需要任何外接器件。上电自动复位功能简化了开机的初始化过程。
HX711引脚图:
HX711管脚功能描述:
HX711电路图:
注意事项1.所有数字输入管脚,包括RATE,XI和PD_SCK管脚,芯片内均无内置拉高或拉低电阻。这些管脚在使用时不应悬空。
2.建议使用通道A与传感器相连,作为小信号输入通道;通道B用于系统参数检测,如电池电压检测。
3.建议使用PNP管S8550与片内稳压电源电路配合。也可根据需要使用其他MOS或双极晶体管,但应注意稳压电源的稳定性。
4.无论是采用片内稳压电源或系统上其他电源,建议传感器和A/D转换器使用同一模拟供电电源。
5.的输入时钟脉冲数不应少于25或多于27,否则会造成串口通讯错误。
参考驱动程序(汇编) /*------------------------------------------------------------------- 在ASM中调用: LCALL ReaAD 可以在C中调用: extern unsigned longReadAD(void);
unsigned long data; data=ReadAD();
----------------------------------------------------------------------*/ PUBLIC ReadAD HX711ROM segment code rseg HX711ROM sbit ADDO = P1.5; sbit ADSK = P0.0; /*-------------------------------------------------- OUT: R4, R5, R6, R7 R7=>LSB 如果在C中调用,不能修改R4,R5,R6,R7 ---------------------------------------------------*/ ReadAD: CLR ADSK // 使能AD(PD_SCK 置低) SETB ADDO //51CPU 准双向I/0 输入使能 JB ADDO,$ // 判断AD转换是否结束,若未结束则等待否则开始读取 MOV R4,#24 ShiftOut: SETB ADSK //PD_SCK 置高(发送脉冲) NOP CLR ADSK //PD_SCK 置低 MOV C,ADDO // 读取数据(每次一位) XCH A,R7 // 移入数据 RLC A XCH A,R7 XCH A,R6 RLC A XCH A,R6 XCH A,R5 RLC A
XCH A,R5 DJNZ R4,ShiftOut // 判断是否移入24BIT SETB ADSK NOP CLR ADSK RET END
参考C程序: Sbit ADDO=P1^5; Sbit ADSK=P0^0; Undsigned long ReadCount(void){ Unsigned long Count; Unsigned char i; ADDO=1; ADSK=0; Count=0; While(ADDO); for(i=0;i<24;i++){ ADSK=1; Count=Count<<1; ADSK=0; if(ADDO)Count++; } ADSK=1; Count=Count^0x800000; ADSK=0; return(Count);
全部资料下载地址(里面包含详细的HX711中文资料和c语言的源码):
专用型高精度24位AD转换器芯片HX711说明.doc
(990 KB, 下载次数: 34)
|