久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2682|回復(fù): 4
打印 上一主題 下一主題
收起左側(cè)

用LED玩通弄懂I2C總線

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:266429 發(fā)表于 2020-1-30 16:58 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
思路其實蠻簡單的。
我們知道,I2C對時序要求是嚴(yán)格的,但對時間沒有要求,即每一個動作之間的時間間隔沒有要求,于是,我們可以把每一個動作放慢到我們利于肉眼可以觀測的速度,并用LED來顯示每一個步驟及端口的電位變化。
具體說來,就是將每一步SDASCL端口的電位,送入另外的兩個端口,這兩個端口分別接有LED,比如,我們用P1.0作為總線的SCL端口,用P1.2作為SDA端口,用P1.5作為SCL電位顯示的端口(標(biāo)記為LSCL,P1.6作為SDA電位顯示的端口(標(biāo)記為LSDA;P2作為發(fā)送或接收的數(shù)據(jù)的顯示端口,每發(fā)送一位或接收一位,就顯示在P2端口的LED上。
如果你自己搭建電路,需要注意的是,SDASCL端口一定要接上拉電阻。
每一步延時的時間,可以設(shè)為1s,看你自己喜歡。
編寫程序時,我們可以直接寫入器件尋址及寫入器件命令值10100000B值,最后通過觀測LSDA的亮滅來檢驗?zāi)愕某绦蚴欠裾_。
對于初練I2C的人來說,建議先一步步硬寫這段程序,程序流程如下:
SDA高電位;
SDA送入LSDA
SCL高電位;
SCL送入LSDA
延時;
SDA低電位;取得總線控制權(quán)
LSDA=SDA
延時;
SCL0;為SDA上放數(shù)據(jù)作好準(zhǔn)備
LSCL=SCL
延時;
SDA1;數(shù)據(jù)的第7
LSDA=SDA
P2.7=SDA;送入數(shù)據(jù)顯示LED最高位
短延時;有幾個空操作就夠了
SCL=1;
LSCL=SCL;
DELAY1S;
SCL=0;
LSCL=SCL;
DELAY1S;
以上第7位就發(fā)送完了,按上面從“置SDA1”開始的程序,將剩下的7位全部發(fā)送完成,這樣就將10100000B發(fā)送完成。然后,運(yùn)行并觀測所有LED燈的顯示是否符合你的設(shè)計,最終LSDA應(yīng)處于滅狀態(tài)。如果你送入的是10100001B(讀)數(shù)值,則最后LSDA處于亮狀態(tài)。
沒問題后,再加寫三條程序
SDA=1
LSDA=SDA;
DELAY1S;
再運(yùn)行,完成后LSDA應(yīng)處于滅狀態(tài)。
沒問題后,再加寫以下程序:
SCL=1;
LSCL=SCL;
DELAY1S;
LSDA=SDA;
DELAY1S;
再運(yùn)行,完成后LSDA依然處于滅狀態(tài)。
再加寫以下程序:
SCL=0;
LSCL=SCL;
DELAY1S;
LSDA=SDA;
DELAY1S;
再運(yùn)行,完成后LSDA處于亮狀態(tài)。說明從器件是在SCL的下降沿讀取SDA的值。
至此,我們的實驗基本就算達(dá)成了目的,后面的寫數(shù)據(jù)也好讀數(shù)據(jù)也好,在此基礎(chǔ)上編寫就是了。
此慢動作的方法,其實適用于任何數(shù)據(jù)傳輸協(xié)議的探究與學(xué)習(xí),無非是對于固定波特率的協(xié)議,在編程中進(jìn)行人為加個放大的時間倍率就是了。
前面有個貼子,說是教科書中有錯誤,而這個試驗,就是對其的論證。
另外說明一下,上面的流程,即不是C也不是匯編,你按這個流程,選擇你喜歡的語言來編程就是了。還有你可以輸入10100001B來一步一步地試驗。

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:266429 發(fā)表于 2020-1-31 08:47 | 只看該作者
這種慢動作的玩法,還可以用于新的通訊協(xié)議的開發(fā)中,先用慢動作進(jìn)行研發(fā),成功后再確定其時間間隔。
回復(fù)

使用道具 舉報

板凳
ID:88606 發(fā)表于 2020-1-31 12:51 | 只看該作者
加上仿真更直觀
回復(fù)

使用道具 舉報

地板
ID:561971 發(fā)表于 2020-1-31 12:52 | 只看該作者
很好的思路,值得推廣
回復(fù)

使用道具 舉報

5#
ID:266429 發(fā)表于 2020-1-31 15:29 | 只看該作者
搭建了個面包板,但不會發(fā)圖片。
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲成人久久久 | 一级日批片 | 亚洲精品99| 久久成人国产精品 | 亚洲精品久久久久久一区二区 | 美国一级毛片a | 亚洲精品一区二区三区 | 欧美久久天堂 | 日韩一三区 | 美女在线观看国产 | 91精品国产综合久久精品 | 欧美日韩不卡合集视频 | 男女免费网站 | 中文日韩在线 | 天天拍天天射 | 99国内精品 | 91精品国产91久久综合桃花 | 在线播放精品视频 | 亚洲免费精品一区 | 日本精品久久久久久久 | 成人免费影院 | 一级毛毛片| 天天干人人 | 性做久久久久久免费观看欧美 | 国产成人在线一区 | 国精品一区 | 日韩乱码一二三 | 宅男噜噜噜66一区二区 | 国产一区 | 欧美在线激情 | 国产精品久久9 | 日韩不卡视频在线观看 | 欧美一区二区在线视频 | 黄视频免费观看 | 欧美不卡视频 | 亚洲国产一区二区三区 | 播放一级黄色片 | 中文字幕 在线观看 | 欧美亚洲另类在线 | 国产精品久久福利 | 国产激情免费视频 |