單片機通過I2C串行總線擴展1片AT24C02,實現單片機對存儲器AT24C02的讀、寫。由于Proteus元件庫中沒有AT24C02,可用FM24C02芯片代替,即在Proteus中“關鍵字”對話框元件查找欄中輸入“24C02”,就會在左側的元件列表中顯示,然后在元件列表中選擇即可。AT89S51與FM24C02的接口原理電路見圖。 圖中KEY1作為外部中斷0的中斷源,當按下KEY1,單片機通過I2C總線發送數據0xaa給AT24C02,等發送數據完畢后,將0xc3送P2口通過LED顯示。 KEY2作為外部中斷1的中斷源,當按下KEY2時,單片機通過I2C總線讀AT24C02,等讀數據完畢后,將讀出的最后數據0xaa送P2口的LED顯示出來。
最終顯示的仿真效果是:按下KEY1,標號為D1~D8的8個LED中D3、D4、D5、D6燈亮,如圖10-17所示。按下KEY2,則D1、D3、D5、D7燈亮。 Proteus 提供的I2C 調試器是調試I2C 系統的得力工具,使用I2C 調試器的觀測窗口可觀察I2C 總線上的數據流,查看I2C 總線發送的數據,也可作為從器件向I2C 總線發送數據。
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
仿真結果
單片機源程序如下:
所有資料51hei提供下載:
protues仿真工程文件.rar
(50.38 KB, 下載次數: 151)
2020-6-13 14:21 上傳
點擊文件名下載附件
proteus仿真工程文件
|