24C16的读写

24C16的读写

  (2009-04-10 23:11:27)
标签: 

杂谈

 
// 头文件
// 使用Eeprom的设备标识符,即器件地址
// 24C64最多可以定定义8个
//#define I2C_FIRST_ID    0xA0    // 1010,000,0B
//#define I2C_SECOND_ID    0xA2    // 1010,001,0B
//#define I2C_THIRD_ID    0xA4    // 1010,010,0B
//#define I2C_FOURTH_ID    0xA6    // 1010,011,0B
//#define I2C_FIFTH_ID    0xA8    // 1010,100,0B
//#define I2C_SIXTH_ID    0xAA    // 1010,101,0B
//#define I2C_SEVENTH_ID    0xAC    // 1010,110,0B
//#define I2C_EIGHTH_ID    0xAE    // 1010,111,0B


// 公用函数
void iicWriteByteAt24c16(    const unsigned char I2C_EEPROM_ID,     // 器件地址
                            const unsigned int address,         // 要写入的地址
                            const unsigned char Ddata            // 要写入的数据
                        );

unsigned char iicReadByteAt24c16(    const unsigned char I2C_EEPROM_ID, // 器件地址
                                    const unsigned int address           // 要读出一个字节的地址
                                );

void iicWrite_N_ByteAt24c16(
                                const unsigned char I2C_EEPROM_ID,     // 从器件地址
                                const unsigned int address,         // 要写入字节的地址
       
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C51是一款经典的单片机,而24C16则是一款串行EEPROM存储器芯片。 要使用C51读写24C16,我们首先需要连接它们之间的通信接口。24C16是一款串行设备,它使用了I2C(Inter-Integrated Circuit)协议与C51进行通信。因此,我们需要将24C16的SDA(串行数据线)和SCL(串行时钟线)引脚连接到C51的相应引脚上。 一旦连接好通信接口,我们可以使用C51的编程语言(如C语言或汇编语言)来编写读写24C16程序。 读操作: 1. 发送启动信号:C51通过将SDA线从高电平拉至低电平,再将SCL线拉至低电平发送启动信号。 2. 发送器件地址:C51通过SDA线发送24C16的器件地址,以告知24C16开始读取数据。 3. 接收数据:24C16会发送数据,C51通过SDA线接收并存储数据。 4. 发送应答信号:C51通过将SDA线拉至低电平,再将SCL线拉至高电平发送应答信号。 5. 重复步骤3和4,直到读取到所需的数据。 6. 发送停止信号:C51通过将SDA线从低电平拉至高电平,再将SCL线拉至高电平发送停止信号。 写操作: 1. 发送启动信号。 2. 发送器件地址和写命令:C51通过SDA线发送24C16的器件地址和写命令,以告知24C16开始写入数据。 3. 发送要写入的数据:C51通过SDA线发送要写入的数据。 4. 发送停止信号。 需要注意的是,在读写24C16之前,我们还需要确保配置正确的时钟频率和其他相关参数,并且要根据24C16的规格书来了解它的特殊功能和限制。 总结起来,要使用C51读写24C16,我们需要连接通信接口,编写相应的程序进行读写操作,并确保正确的配置和时序。这样,C51才能与24C16正确进行通信,实现数据的读写功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值