EEPROM—_IIC总线编程,用按键控制IIC写入读取数据并由数码管显示

关于IIC串行总线的组成及工作原理 1.采用串行总线技术可以使系统的硬件设计大大简化,系统的体积减小,可靠性提高,同时,系统的更改和扩充极为容易。 2.常用的串行扩展总线有:IIC(Inter IC BUS)总线、单总线,SPI总线及Microwire、PLUS 3.IIC是一种串行总线,只有两根双向信号线: ...
摘要由CSDN通过智能技术生成

关于IIC串行总线的组成及工作原理
1.采用串行总线技术可以使系统的硬件设计大大简化,系统的体积减小,可靠性提高,同时,系统的更改和扩充极为容易。
2.常用的串行扩展总线有:IIC(Inter IC BUS)总线、单总线,SPI总线及Microwire、PLUS
3.IIC是一种串行总线,只有两根双向信号线:
一根是数据线SDA
一根是时钟线SCL
4.标准的IIC总线的数据传送有严格的时序要求
5.每个接到IIC总线上的器件都有唯一的地址

关于移位操作:
左移时最低位补0,最高位移入psw的cy位;
右移时最高位保持原数,最低位移除;

关于AT24Cxx系列的芯片
01、02、03、04、05芯片最大存储字节分别为128、256、512、1024、2048
A1、A2、A3为地址输入口;
SDA:串行地址和数据输入/输出口;
SCL:串行时钟输入,上升沿数据写入;
下降沿数据读出
wp:写保护 wp = 0,允许数据正常读写操作;
wp = 1,写保护,只读

k1保存数据
K2读取上次数据
K3数据加1
K4清零

i2c.h

#ifndef _I2C_H
#define _I2C_H

#include"reg52.h"

//typedef unsigned char uchar;

sbit SDA = P2^0;
sbit SCL = P2^1;

void At24c02Write(uchar addr,uchar dat);
uchar At24c02Read(uchar addr);

#endif


i2c.c

#include"i2c.h"

void Delay10us()
{
    uchar i,j;
    for(i=1;i>0;i--)
        for(j=2;j>0;j--);
}

void I2cStart()
{
    SDA = 1;
    Delay10us();
    SCL = 
  • 6
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值