找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4602|回复: 3
打印 上一主题 下一主题
收起左侧

IIC通信:单片机与四个AT24C02通信原理

[复制链接]
跳转到指定楼层
楼主
内容:IIC通信
步骤:1 将数据"0xaa"写入第一个AT24C02的指定地址;
      2 从第一个AT24C02中的指定地址"0x36"读出数据;
      3 将读出的数据写入第二个AT24C02的指定地址;
      4 将从第二个AT24C02的指定地址读出的数据送P1口显示验证;

      5 将数据"0x75"写入第三个AT24C02的指定地址;
      6 从第三个AT24C02中的指定地址读出数据;
      7 将读出的数据写入第四个AT24C02的指定地址;
      8 将从第四个AT24C02的指定地址读出的数据送P2口显示验证;

效果图.png (46.56 KB, 下载次数: 41)

效果图.png

0.png (49.13 KB, 下载次数: 39)

0.png

IIC通信.zip

26.01 KB, 下载次数: 46, 下载积分: 黑币 -5

源程序

评分

参与人数 2黑币 +55 收起 理由
348652560 + 5 很给力!
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏4 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:1 发表于 2017-6-13 02:24 | 只看该作者
楼主的主程序:

  1. //对I2C总线上挂接多个AT24C02的读写操作
  2. #include <reg51.h>         //  包含51单片机寄存器定义的头文件
  3. #include "AT24C02.h"       //包含_nop_()函数定义的头文件

  4. /***************************************************
  5. 函数功能:主函数
  6. ***************************************************/
  7. void main(void)
  8. {
  9.         unsigned char x;
  10.         SDA = 1;           // SDA=1,SCL=1,使主从设备处于空闲状态
  11.         SCL = 1;                 
  12.         WriteSet1(0x36,0xaa);   //将数据"0xaa"写入第一个AT24C02的指定地址"0x36"
  13.         x=ReadSet1(0x36);       //从第一个AT24C02中的指定地址"0x36"读出数据  
  14.         WriteSet2(0x48,x);      //将读出的数据写入第二个AT24C02的指定地址"0x48"?
  15.         P1=ReadSet2(0x48);      //将从第二个AT24C02的指定地址读出的数据送P1口显示验证

  16.         WriteSet3(0x2f,0x75);   //将数据"0x75"写入第三个AT24C02的指定地址"0x2f"
  17.         x=ReadSet3(0x2f);       //从第三个AT24C02中的指定地址"0x2f"读出数据  
  18.         WriteSet4(0x5a,x);      //将读出的数据写入第四个AT24C02的指定地址"0x5a"
  19.         P2=ReadSet4(0x5a);      //将从第四个AT24C02的指定地址读出的数据送P1口显示验证
  20. }
复制代码
回复

使用道具 举报

板凳
ID:211258 发表于 2017-6-15 17:42 | 只看该作者
非常好
回复

使用道具 举报

地板
ID:129644 发表于 2017-8-7 10:07 | 只看该作者
谢谢分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表