文档详情

MSP430 EEPROM-24C512使用总结及代码说明.pdf

发布:2017-05-17约1.82万字共27页下载文档
文本预览下载声明
EEPROM:AT24C512 24C512是Atmel公司生产的64KB串行电可擦除可编程存储器(EEPROM)。 24C512 内部有512K位(bit)共64K字节,分为512页(Page),每页128字节, 地址为16位,范围为0000~FFFFH 。采用8引脚DIP封装,通过2个地址引脚可以 在总线上并联4片24C512 。 编号 引脚 功能 1 A0 地址输入,用来区分芯片,一般接地 即可,悬空为地址0 2 A1 3 NC 未使用 4 GND 电源地 5 SDA 串行数据输入输出 6 SCL 串行时钟输入 7 WP 写保护,高电平写保护,悬空接地 8 VCC 可接5v、2.7v、1.8v三种电压 24C512典型连接方式 A0,A1接地:地址为0 。多片24C512需要通过高低电平设置不同的地址。 WP接地为可读写,当然,WP也可以通过跳线或软件控。 VCC为5.0v、2.7v、1.8v三种之一,芯片自适应。电压越高,工作频率越高。 SCL,SDA一般接单片机I/O 口,由于SDA是漏极开路的,需要接上拉电阻,当然你的I/O带上拉就不用接了。 24C512的驱动方式(一) 24C512使用I2C总线驱动方式。因此,它遵守I2C的协议规范。I2C中有7种基本操 作: 1、发送起始信号;2、发送结束信号;3、发送应答信号;4 、总线无应答; 5、接收并检测应答信号;6、发送1字节数据;7、接收1字节数据 关于I2C的具体原理及说明详见 《I2C总结》。 以下是每种I2C操作的具体代码:I2C.c 0-1、准备工作:包含头文件和数据类型定义 #ifndef __msp430x14x //包含msp430x14x.h #include msp430x14x.h #endif #define __i2c //文件标志符 #define I2C_DIR P5DIR //I2C芯片的输入输出切换,这里使用P5端口,用户可根据具体实际情况修改端口寄存器即可 #define I2C_OUT P5OUT //I2C芯片的输出 #define I2C_IN P5IN //I2C芯片的输入 #define SDA BIT1 //数据位,P5.1 #define SCL BIT2 //时钟位,P5.2 #ifndef uchar //定义数据类型 #define uchar unsigned char //uchar #endif #ifndef uint //uint #define uint unsigned int #endif 0-2、准备工作:延迟函数 void I2C_delay(void) { _NOP(); //本函数在MSP430F149,8MHz/8分频主频下通过验证 _NOP(); //用户可以根据所用430单片机具体的性能适当调整延迟时长 } //毫秒级延迟,stop信号后的长延迟 void I2C_delay_ms(uint ms) {
显示全部
相似文档