HX711稱重傳感器專用模擬/數(shù)字(A/D)轉(zhuǎn)換器芯片
簡(jiǎn)介:
HX711是一款專為高精度稱重傳感器而設(shè)計(jì)的24位A/D轉(zhuǎn)換器芯片。與同類型其它芯片相比,該芯片集成了包括穩(wěn)壓電源、片內(nèi)時(shí)鐘振蕩器等其它同類型芯片所需要的外圍電路,具有集成度高、響應(yīng)速度快、抗干擾性強(qiáng)等優(yōu)點(diǎn)。降低了電子秤的整機(jī)成本,提高了整機(jī)的性能和可靠性。該芯片與后端MCU芯片的接口和編程非常簡(jiǎn)單,所有控制信號(hào)由管腳驅(qū)動(dòng),無(wú)需對(duì)芯片內(nèi)部的寄存器編程。輸入選擇開關(guān)可任意選取通道A或通道B,與其內(nèi)部的低噪聲可編程放大器相連。通道A的可編程增益為128或64,對(duì)應(yīng)的滿額度差分輸入信號(hào)幅值分別為±20mV或±40mV。通道B則為固定的32增益,用于系統(tǒng)參數(shù)檢測(cè)。芯片內(nèi)提供的穩(wěn)壓電源可以直接向外部傳感器和芯片內(nèi)的A/D轉(zhuǎn)換器提供電源,系統(tǒng)板上無(wú)需另外的模擬電源。芯片內(nèi)的時(shí)鐘振蕩器不需要任何外接器件。上電自動(dòng)復(fù)位功能簡(jiǎn)化了開機(jī)的初始化過程。
HX711引腳圖:
HX711管腳功能描述:
HX711電路圖:
注意事項(xiàng)1.所有數(shù)字輸入管腳,包括RATE,XI和PD_SCK管腳,芯片內(nèi)均無(wú)內(nèi)置拉高或拉低電阻。這些管腳在使用時(shí)不應(yīng)懸空。
2.建議使用通道A與傳感器相連,作為小信號(hào)輸入通道;通道B用于系統(tǒng)參數(shù)檢測(cè),如電池電壓檢測(cè)。
3.建議使用PNP管S8550與片內(nèi)穩(wěn)壓電源電路配合。也可根據(jù)需要使用其他MOS或雙極晶體管,但應(yīng)注意穩(wěn)壓電源的穩(wěn)定性。
4.無(wú)論是采用片內(nèi)穩(wěn)壓電源或系統(tǒng)上其他電源,建議傳感器和A/D轉(zhuǎn)換器使用同一模擬供電電源。
5.的輸入時(shí)鐘脈沖數(shù)不應(yīng)少于25或多于27,否則會(huì)造成串口通訊錯(cuò)誤。
參考驅(qū)動(dòng)程序(匯編) /*------------------------------------------------------------------- 在ASM中調(diào)用: LCALL ReaAD 可以在C中調(diào)用: 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中調(diào)用,不能修改R4,R5,R6,R7 ---------------------------------------------------*/ ReadAD: CLR ADSK // 使能AD(PD_SCK 置低) SETB ADDO //51CPU 準(zhǔn)雙向I/0 輸入使能 JB ADDO,$ // 判斷AD轉(zhuǎn)換是否結(jié)束,若未結(jié)束則等待否則開始讀取 MOV R4,#24 ShiftOut: SETB ADSK //PD_SCK 置高(發(fā)送脈沖) NOP CLR ADSK //PD_SCK 置低 MOV C,ADDO // 讀取數(shù)據(jù)(每次一位) XCH A,R7 // 移入數(shù)據(jù) 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);
全部資料下載地址(里面包含詳細(xì)的HX711中文資料和c語(yǔ)言的源碼):
專用型高精度24位AD轉(zhuǎn)換器芯片HX711說(shuō)明.doc
(990 KB, 下載次數(shù): 34)
2017-8-11 17:19 上傳
點(diǎn)擊文件名下載附件
|