![]() |
發(fā)布時間: 2018-8-14 22:06
正文摘要:電路原理圖如下: 單片機源程序: #include <reg52.h> #include <intrins.h> //_nop_()延時頭文件 typedef unsigned char uChar8; typedef unsigned int uIn ... |
我剛剛也遇到了一樣的問題,經(jīng)過檢查是在讀取AD轉(zhuǎn)換結(jié)果的函數(shù)中,發(fā)送了地址和讀控制之后,不可以立刻進行讀取,而是先WaitACK()等待應答(也就是樓主代碼的162行和163行中間),等SDA總線拉高之后再開始讀取,否則讀回來最大值只會是01111111,而不是11111111,希望可以幫助到大家。 |
我天我也遇到了一樣的問題 |
本帖最后由 zl2168 于 2018-8-17 22:05 編輯 實例85 PCF8591 I2C串行A-D(1602顯示) 先Proteus仿真一下,確認有效。 ![]() ![]() 以上摘自張志良編著《80C51單片機仿真設計實例教程——基于Keil C和Proteus》清華大學出版社ISBN 978-7-302-41682-1書中電路和程序設計有詳細說明,程序語句條條有注解。 |
開發(fā)板上也是這樣 |
頭很大啊 開發(fā)板上面也是這個情況 |
Powered by 單片機教程網(wǎng)