|
發(fā)布時間: 2021-7-12 09:45
正文摘要:各位大佬,我想用AD讀取下電壓,通過LCD顯示,單片機(jī)用的STC12C5A60S2,20M外接晶振,1T的工作模式,AD用的AD7091R,這個AD是SPI的方式通信,但是寫完程序調(diào)試不出結(jié)果,有沒有輸入都是顯示4.99V,感覺是AD的DO引腳 ... |
| 單片機(jī)自帶AD操作容易,有范例程序直接可以用,自帶AD現(xiàn)在隨便都10位和12位精度一般應(yīng)用夠用了,你自己用AD芯片程序和時序搞不對,就無法AD轉(zhuǎn)換。 |
glinfei 發(fā)表于 2021-7-15 11:12 放棄了,杠了幾天沒辦法了,就用自帶的AD吧,謝謝啦 |
Capta1nY 發(fā)表于 2021-7-15 10:46 我那天就想問,你手冊上給的最大讀取時間好短啊,比如T4 只有3ns,都不夠if用的,能否先把a(bǔ)d_do賦值個中間變量,再去判斷?另外那些我看延時也用不著了。 |
| 問一下各位大佬,有沒有可能是51的時鐘頻率不夠,我查到的用這個AD的都是FPGA和32的 |
glinfei 發(fā)表于 2021-7-13 16:09 你說的有道理,我改成了
結(jié)果還是沒效果 |
|
看你發(fā)的手冊應(yīng)該在CLK下沿讀DO,但你程序?qū)懙氖巧涎刈x啊。 就這段 ad_clk = 1; dat <<= 1;Delay1us(); if(ad_do) dat |= 0x0001; Delay1us(); ad_clk = 0; Delay1us(); |
本帖最后由 Capta1nY 于 2021-7-13 14:20 編輯 5191 發(fā)表于 2021-7-13 11:36 是,但是目前電路已經(jīng)設(shè)計好了,就想著能用就用吧,之前用過0832沒啥問題,換了個結(jié)果調(diào)不出來了,您有什么建議嗎 |
|
stc不是有自帶ad嗎 |
| 以上你做到了嗎? |
|
仔細(xì)讀手冊: 1、數(shù)據(jù)是串行工作的,每位數(shù)據(jù)的切換是需要時間的,切換位數(shù)(CLK)不要超過允許的時間。 2、數(shù)據(jù)切換后,要等數(shù)據(jù)穩(wěn)定了再讀取,要防止讀到數(shù)據(jù)的邊沿上。 3、AD轉(zhuǎn)換需要時間,當(dāng)下達(dá)開始轉(zhuǎn)換之后,要確保轉(zhuǎn)換已結(jié)束了,這時再讀數(shù)據(jù)。 |
Powered by 單片機(jī)教程網(wǎng)