新闻中心

EEPW首页>嵌入式系统>设计应用> 串行E2PROMAT 24C512在单片机中应用

串行E2PROMAT 24C512在单片机中应用

作者: 时间:2012-03-21 来源:网络 收藏

(4)写操作

写操作可分为字节写和页写两种写入方式。通常E2PROM的写入占用一定的写入时间,但AT内部设有128字节的页写缓存,使得操作该器件如同操作SRAM一样方便,页面缓存使得两种写入方式的操作过程相同,区别仅在于写入数据字节的多少。下面以字节写入为例介绍写操作过程。

在字节写操作模式下,主器件首先给从器件发送起始信号和从器件地址信息,在从器件送回应答信号后,主器件在发送两字节的16位地址信息写入到 AT地址指针,主器件在收到从器件的应答信号后,再发送1个字节的数据到被寻址的存储单元,从器件在此应答,并在主器件产生停止信号后开始内部数据擦写,在内部擦写过程中,从器件不再应答主器件的任何请求,字节写入操作时序如图2所示。

34.gif
图2 字节写操作时序

(5)读操作

读操作分为立即读、随机读和连续读。立即读是在最后操作字节的地址上加1进行读取,而连续读则是在立即读和随机读起动后主器件通过应答信号响应完成多个数据的读取,在主器件发出停止信号后结束读取过程。下面以随机读为例介绍读操作过程。

随机读操作允许主器件对存储器的任意字节进行读操作。操作过程为主器件首先发送起始信号,从器件地址和欲读取字节的地址执行1个伪写操作,此时R/W位应置0,在AT应答后,主器件重新发送起始信号和从器件地址,此时R/W位应置1,AT24C512响应并发送应答信号,然后输出所要求的1个 8位字节数据。主器件不发送应答信号,但产生1个停止信号。字节读操作时序如图3所示。

4

AT24C512与AT89C2051的硬件连接电路如图4所示。这里使用了2个AT24C512组成寻址空间为128K字节的E2PROM存储器电路。其中U2的器件地址为A0H,存储地址空间为0000-0FFFFH;U3的器件地址为A2H,存储地址空间为0000-0FFFFH。

35.gif
图3 字节读操作时序

由于AT89C2051不具有I2C总线,因此采用P1.0和P1.1口线来模拟I2C总线,AT24C512的SDA和SCL为开漏输出,故接入10kΩ的上拉电阻器。下面是与上述电路配套的E2PROM读写程序:
;内存数据定义
BitCnt DATA 30H;读/写数据位数计数器
ByteCnt DATA 31H;读/写数据字节数计数器
SlvAddr DATA 32H;E2PROM器件地址
SubAdrl DATA 33H;存储单元地址高8位
SubAdr2 DATA 34H;存储单元地址低8位
ReadDat DATA 50H;读操作数据缓冲区
WriteDat DATA 40H;写操作数据缓冲区
;端口位定义
SDA BIT P1.0;模拟I2C数据传送位
SCL BIT P1.1;模拟I2C时钟控制位
ACK BIT 20H;读非应答标志
;主程序



评论


相关推荐

技术专区

关闭