hx711時(shí)序圖
HX711為串行數(shù)據(jù)總線型A/D轉(zhuǎn)化器。作為串行通訊方式,那么掌握其時(shí)序圖對(duì)于該器件的使用和操作起到了至關(guān)重要的作用。串口通訊線由管腳PD-SCK和DOUT組成,用來輸出數(shù)據(jù),選擇輸入通道和增益。當(dāng)數(shù)據(jù)輸出管腳DOUT為高電平,表明A/D轉(zhuǎn)換器還未準(zhǔn)備好輸出數(shù)據(jù),此時(shí)串口時(shí)鐘輸入信號(hào)PD-SCK應(yīng)為低電平。當(dāng)DOUT從高電平變低電平后,PD-SCK應(yīng)輸入25至27個(gè)不等的時(shí)鐘脈沖。其中第一個(gè)時(shí)鐘脈沖的上升沿將讀出輸出24位數(shù)據(jù)的最高位(MSB),直至第24個(gè)時(shí)鐘脈沖用來選擇下一個(gè)A/D轉(zhuǎn)換的輸入通道和增益。其時(shí)序如圖7所示:
hx711模塊原理圖及驅(qū)動(dòng)程序
原理圖:
驅(qū)動(dòng)程序:
unsignedlongReadCount(void)
{
unsignedlongCount;
unsignedchari;
SCL=0;//使能AD(PD_SCL置低)
Count=0;
while(SDA);//AD轉(zhuǎn)換未結(jié)束則等待,否則開始讀取
for(i=0;i《24;i++)
{
SCL=1;//PD_SCL置高(發(fā)送脈沖)
Count=Count《《1;//下降沿來時(shí)變量Count左移一位,右側(cè)補(bǔ)零
SCL=0;//PD_SCL置低
if(SDA)Count++;
}
SCL=1;
Count=Count^0x800000;//第25個(gè)脈沖下降沿來時(shí),轉(zhuǎn)換數(shù)據(jù)
SCL=0;
return(Count);
}
hx711應(yīng)用電路
HX711芯片應(yīng)用于計(jì)價(jià)秤的一個(gè)參考電路圖。該方案使用內(nèi)部時(shí)鐘振蕩器(XI=0),10Hz的輸出數(shù)據(jù)速率(RATE=0)。電源(2.7~5.5V)直接取用與MCU芯片相同的供電電源。通道A與傳感器相連,通道B通過片外分壓電阻(未在圖一中顯示)與電池相連,用于檢測電池電壓。