单片机通过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)
|