找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

51單片機讀取HX711 ad轉(zhuǎn)換值時數(shù)據(jù)為0?

查看數(shù): 6431 | 評論數(shù): 12 | 收藏 1
關(guān)燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發(fā)布時間: 2019-9-13 11:27

正文摘要:

本帖最后由 LQNB 于 2019-9-13 11:36 編輯 如圖,51單片機讀取HX711 ad轉(zhuǎn)換值時,程序在while(HX711_DOUT);語句中跳不出來,導(dǎo)致讀取數(shù)值為0。懇請大佬幫助,感謝

回復(fù)

ID:479134 發(fā)表于 2022-10-10 21:47
大佬 我也遇到了 一直卡在while(HX711_DOUT);語句中跳不出來,最后您是咋解決的呀?同樣的程序在stc89c51學(xué)習(xí)板上面就可以 在STC8H單片機上面就不行了。還請指教
ID:329625 發(fā)表于 2022-6-23 16:20
你檢查一下你的模數(shù)轉(zhuǎn)換讀取那一塊,和標(biāo)準(zhǔn)函數(shù)對比一下
ID:477547 發(fā)表于 2022-6-23 14:06
simon11 發(fā)表于 2020-3-6 15:29
大佬,解決了嗎,我也是讀數(shù)一直為零,搞了好久

IO口的上拉電阻不能太大,1K就好了,我開始用了10K,波形有問題!
ID:703564 發(fā)表于 2020-3-6 15:29
大佬,解決了嗎,我也是讀數(shù)一直為零,搞了好久
ID:516756 發(fā)表于 2019-9-16 16:06
kmsj 發(fā)表于 2019-9-15 17:53
最近買了HX711套件調(diào)試,一看資料,程序很簡單,然而就是這個簡簡單單的程序,硬是調(diào)了兩天都調(diào)不出來,搞 ...

感謝大佬分享,我再試試吧
ID:383215 發(fā)表于 2019-9-15 17:53
最近買了HX711套件調(diào)試,一看資料,程序很簡單,然而就是這個簡簡單單的程序,硬是調(diào)了兩天都調(diào)不出來,搞得我簡直就是懷疑人生。經(jīng)過百度,發(fā)現(xiàn)很多人遇到這些情況,要么讀數(shù)永遠(yuǎn)為0,要么永遠(yuǎn)是7FFFFF,要么就是while(HX711_DOUT)跳不過,這些問題我全部遇到。一開始以為是上拉電阻問題,官方資料有句話:“與DOUT相連的MCU接口應(yīng)設(shè)置為輸入口,并且不接任何拉高或拉低電阻,以減少MCU與ADC之間的電流交換(干擾)”,這句話估計坑了很多人,我也被坑,去掉上拉電阻還是不行,把上拉電阻換成100K,解決了while(HX711_DOUT)跳不過的問題,但是,讀數(shù)永遠(yuǎn)為0,之前讀數(shù)永遠(yuǎn)為7FFFFF。萬般無奈的情況下,用示波器看看波形,不看不知道,一看嚇一跳,PD_SCK高電平脈沖寬度高達80us,立即驚出一身冷汗!突然想起官方資料介紹PD_SCK高電平保持最小時間0.2us,最大時間50us,還有更重要的一句話:“如果PD_SCK從低電平變高電平并保持在高電平60us,HX711即進入斷電狀態(tài)”,這個才是重點,估計很多人忽略了。
我是先用51單片機調(diào)試程序,然后再移植到AVR單片機,51單片機用的是外部6兆晶體,換成仿真器內(nèi)部晶體,具體多少兆不太清楚,反正PD_SCK高電平保持時間縮短到20多us,讀數(shù)立馬就正常了,又用外部6兆晶體,把優(yōu)化等級調(diào)到7級,讀數(shù)正常,此時的PD_SCK高電平保持時間是45us,把優(yōu)化等級調(diào)到6級,讀數(shù)不正常,PD_SCK高電平保持時間是80us,基本上可以斷定,PD_SCK高電平保持時間在50us以內(nèi)沒有問題,while(HX711_DOUT)等待時間高達92.5ms,編程序的時候就要注意了,肯定不能傻等,DOUT和SCK的上拉電阻恢復(fù)到10K對程序沒有影響,至于“MCU與ADC之間的電流交換(干擾)”,那是后面考慮的事情了,手頭上有兩套模塊,一套的讀數(shù)是0x008237××,另一套是0x007F3F××,誤差怎么那么大?先不管了,慢慢折騰………………。
ID:516756 發(fā)表于 2019-9-13 22:25
tyrl800 發(fā)表于 2019-9-13 18:43
while(HX711_DOUT);語句中跳不出來,接線沒有錯誤的話,估計是芯片有問題

好的,我再仔細(xì)檢查一下,感謝
ID:516756 發(fā)表于 2019-9-13 22:23
f556 發(fā)表于 2019-9-13 17:33
跳不過while,硬件電路有問題。DOUT和SCK可以直接接單片機IO口

好的,謝謝師傅,我試試看
ID:275826 發(fā)表于 2019-9-13 18:43
while(HX711_DOUT);語句中跳不出來,接線沒有錯誤的話,估計是芯片有問題
ID:282850 發(fā)表于 2019-9-13 17:33
跳不過while,硬件電路有問題。DOUT和SCK可以直接接單片機IO口
ID:516756 發(fā)表于 2019-9-13 14:35
來51學(xué)習(xí)的 發(fā)表于 2019-9-13 12:19
有可能是 HX711_DOUT 端口接法錯誤

前輩,直接DOUT和SCK接單片機IO口,可行嗎?
ID:610681 發(fā)表于 2019-9-13 12:19
有可能是 HX711_DOUT 端口接法錯誤

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表