标题: IIC通信:单片机与四个AT24C02通信原理 [打印本页]

作者: xzf586    时间: 2017-6-12 20:18
标题: 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

源程序


作者: admin    时间: 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. }
复制代码

作者: 348652560    时间: 2017-6-15 17:42
非常好
作者: jmdft    时间: 2017-8-7 10:07
谢谢分享




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1