找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

帖子
查看: 6419|回復(fù): 12
打印 上一主題 下一主題
收起左側(cè)

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

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
本帖最后由 LQNB 于 2019-9-13 11:36 編輯

如圖,51單片機(jī)讀取HX711 ad轉(zhuǎn)換值時(shí),程序在while(HX711_DOUT);語(yǔ)句中跳不出來(lái),導(dǎo)致讀取數(shù)值為0。懇請(qǐng)大佬幫助,感謝

捕獲.PNG (104.48 KB, 下載次數(shù): 114)

程序在while(HX711_DOUT);中出不來(lái)

程序在while(HX711_DOUT);中出不來(lái)

捕獲.PNG (20.33 KB, 下載次數(shù): 99)

HX711連接原理圖

HX711連接原理圖
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:610681 發(fā)表于 2019-9-13 12:19 | 只看該作者
有可能是 HX711_DOUT 端口接法錯(cuò)誤
回復(fù)

使用道具 舉報(bào)

板凳
ID:516756 發(fā)表于 2019-9-13 14:35 | 只看該作者
來(lái)51學(xué)習(xí)的 發(fā)表于 2019-9-13 12:19
有可能是 HX711_DOUT 端口接法錯(cuò)誤

前輩,直接DOUT和SCK接單片機(jī)IO口,可行嗎?
回復(fù)

使用道具 舉報(bào)

地板
ID:282850 發(fā)表于 2019-9-13 17:33 | 只看該作者
跳不過(guò)while,硬件電路有問(wèn)題。DOUT和SCK可以直接接單片機(jī)IO口
回復(fù)

使用道具 舉報(bào)

5#
ID:275826 發(fā)表于 2019-9-13 18:43 | 只看該作者
while(HX711_DOUT);語(yǔ)句中跳不出來(lái),接線(xiàn)沒(méi)有錯(cuò)誤的話(huà),估計(jì)是芯片有問(wèn)題
回復(fù)

使用道具 舉報(bào)

6#
ID:516756 發(fā)表于 2019-9-13 22:23 | 只看該作者
f556 發(fā)表于 2019-9-13 17:33
跳不過(guò)while,硬件電路有問(wèn)題。DOUT和SCK可以直接接單片機(jī)IO口

好的,謝謝師傅,我試試看
回復(fù)

使用道具 舉報(bào)

7#
ID:516756 發(fā)表于 2019-9-13 22:25 | 只看該作者
tyrl800 發(fā)表于 2019-9-13 18:43
while(HX711_DOUT);語(yǔ)句中跳不出來(lái),接線(xiàn)沒(méi)有錯(cuò)誤的話(huà),估計(jì)是芯片有問(wèn)題

好的,我再仔細(xì)檢查一下,感謝
回復(fù)

使用道具 舉報(bào)

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

使用道具 舉報(bào)

9#
ID:516756 發(fā)表于 2019-9-16 16:06 | 只看該作者
kmsj 發(fā)表于 2019-9-15 17:53
最近買(mǎi)了HX711套件調(diào)試,一看資料,程序很簡(jiǎn)單,然而就是這個(gè)簡(jiǎn)簡(jiǎn)單單的程序,硬是調(diào)了兩天都調(diào)不出來(lái),搞 ...

感謝大佬分享,我再試試吧
回復(fù)

使用道具 舉報(bào)

10#
ID:703564 發(fā)表于 2020-3-6 15:29 | 只看該作者
大佬,解決了嗎,我也是讀數(shù)一直為零,搞了好久
回復(fù)

使用道具 舉報(bào)

11#
ID:477547 發(fā)表于 2022-6-23 14:06 | 只看該作者
simon11 發(fā)表于 2020-3-6 15:29
大佬,解決了嗎,我也是讀數(shù)一直為零,搞了好久

IO口的上拉電阻不能太大,1K就好了,我開(kāi)始用了10K,波形有問(wèn)題!
回復(fù)

使用道具 舉報(bào)

12#
ID:329625 發(fā)表于 2022-6-23 16:20 | 只看該作者
你檢查一下你的模數(shù)轉(zhuǎn)換讀取那一塊,和標(biāo)準(zhǔn)函數(shù)對(duì)比一下
回復(fù)

使用道具 舉報(bào)

13#
ID:479134 發(fā)表于 2022-10-10 21:47 | 只看該作者
大佬 我也遇到了 一直卡在while(HX711_DOUT);語(yǔ)句中跳不出來(lái),最后您是咋解決的呀?同樣的程序在stc89c51學(xué)習(xí)板上面就可以 在STC8H單片機(jī)上面就不行了。還請(qǐng)指教
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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