標(biāo)題: 51單片機(jī)通過(guò)I2C串行總線擴(kuò)展1片AT24C02,實(shí)現(xiàn)單片機(jī)對(duì)存儲(chǔ)器AT24C02的讀、寫(xiě) [打印本頁(yè)]
作者: 51+32 時(shí)間: 2020-6-13 14:22
標(biāo)題: 51單片機(jī)通過(guò)I2C串行總線擴(kuò)展1片AT24C02,實(shí)現(xiàn)單片機(jī)對(duì)存儲(chǔ)器AT24C02的讀、寫(xiě)
單片機(jī)通過(guò)I2C串行總線擴(kuò)展1片AT24C02,實(shí)現(xiàn)單片機(jī)對(duì)存儲(chǔ)器AT24C02的讀、寫(xiě)。由于Proteus元件庫(kù)中沒(méi)有AT24C02,可用FM24C02芯片代替,即在Proteus中“關(guān)鍵字”對(duì)話框元件查找欄中輸入“24C02”,就會(huì)在左側(cè)的元件列表中顯示,然后在元件列表中選擇即可。AT89S51與FM24C02的接口原理電路見(jiàn)圖。圖中KEY1作為外部中斷0的中斷源,當(dāng)按下KEY1,單片機(jī)通過(guò)I2C總線發(fā)送數(shù)據(jù)0xaa給AT24C02,等發(fā)送數(shù)據(jù)完畢后,將0xc3送P2口通過(guò)LED顯示。
KEY2作為外部中斷1的中斷源,當(dāng)按下KEY2時(shí),單片機(jī)通過(guò)I2C總線讀AT24C02,等讀數(shù)據(jù)完畢后,將讀出的最后數(shù)據(jù)0xaa送P2口的LED顯示出來(lái)。
最終顯示的仿真效果是:按下KEY1,標(biāo)號(hào)為D1~D8的8個(gè)LED中D3、D4、D5、D6燈亮,如圖10-17所示。按下KEY2,則D1、D3、D5、D7燈亮。
Proteus
提供的I2C
調(diào)試器是調(diào)試I2C
系統(tǒng)的得力工具,使用I2C
調(diào)試器的觀測(cè)窗口可觀察I2C
總線上的數(shù)據(jù)流,查看I2C
總線發(fā)送的數(shù)據(jù),也可作為從器件向I2C
總線發(fā)送數(shù)據(jù)。
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
(9D)}8LFT1{R5N`%F53VP.png (111.67 KB, 下載次數(shù): 83)
下載附件
仿真結(jié)果
2020-6-13 14:20 上傳
單片機(jī)源程序如下:
51hei.png (8.22 KB, 下載次數(shù): 75)
下載附件
2020-6-13 15:01 上傳
所有資料51hei提供下載:
protues仿真工程文件.rar
(50.38 KB, 下載次數(shù): 151)
2020-6-13 14:21 上傳
點(diǎn)擊文件名下載附件
proteus仿真工程文件
作者: 8765645655464 時(shí)間: 2020-6-15 16:25
大佬大佬
作者: CRYSTAL111 時(shí)間: 2021-11-14 21:39
想請(qǐng)問(wèn)一下通過(guò)I2C串行總線擴(kuò)展的.c文件為什么在建立工程后再編譯就會(huì)顯示失敗啊
作者: xiaozhou1210 時(shí)間: 2021-12-15 21:55
我這里一直有一個(gè)錯(cuò)誤
I2C.c(11): error C129: missing ';' before '_at_0x55'
I2C.c - 1 Error(s), 0 Warning(s). 一直沒(méi)找到
作者: mybaoer 時(shí)間: 2023-6-7 09:23
有錯(cuò)誤,不能運(yùn)行
作者: Hephaestus 時(shí)間: 2023-6-8 00:37
_at_0x55中間應(yīng)該有一個(gè)空格。
| 歡迎光臨 (http://m.raoushi.com/bbs/) |
Powered by Discuz! X3.1 |