微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 串行EEPROM X24128及其与AT89C51的接口及编程

串行EEPROM X24128及其与AT89C51的接口及编程

时间:03-12 来源:互联网 点击:

8位地址数据)后,在SDA总线上产生一个负脉冲,该脉冲的宽度一直延续到第9个时钟脉冲信号结束。在读操作过程中,CPU每次接收到 X24128所发送的8位数据后,SDA总线上再发送一个负脉冲,以示读有效,然后X24128可以继续发送数据。如果X24128未接收到应答信号,则停止发送数据,直到接收到结束信号时,通信结束。

4.1按字节写时序

给X24128内部存储阵列中未加锁定保护部分的某一单元写一个字节的数据时,首先设置开始状态,再依次发送器件地址和数据地址的字节1和字节 0,X24128每次接收到一个8位地址字节后,利用第9个时钟脉冲发出应答信号。CPU接收到第3个应答信号后,再发送8位数据和接收应答信号,最后设置结束状态。X24128接收到结束信号后,开始将接收到的数据写入EEPROM阵列的内部写过程。在进行内部写过程中,对外部输入的任何信号都不作反应,SDA管脚输出高阻态。

4.2按页写时序

由CPU给X24128写数据时,可以按页写,每页包括32字节,按页写的方式在开始时如同按字节写,只是每次写完一个字节数据后,X24128内部地址指针自动加1后才可以继续写数据,无需再次写入地址。本页的最高地址写入后,地址指针自动返回到本页的最低地址,如果继续写入数据,则将已写过的数据覆盖,只有发送给X24128结束信号后,X24128才终止接收数据,开始进行内部写过程。

4.3读当前地址数据

如果要读X24128内部地址指针当前所指单元的数据,只要发送给X24128开始信号、器件地址(位为1)和接收到应答信号后,即可接收X24128所发送的当前地址的数据。接收完毕,发送结束信号。X24128发送完数据后,地址指针自动加1。

4.4读取任一地址的数据

先给X24128发送所要读取数据的地址,使其成为当前地址指针所指地址。其中器件地址的位写入0,再按读当前地址数据的方式读取数据。

4.5连续读取数据

连续读取数据如同读取任一地址数据,将所要连续读取数据的首位地址设置成当前地址,在接收完第一字节的数据后,不是发送结束信号,而是发送应答信号,X24128接收到应答信号后继续发送第二字节数据。只要CPU每次接收完一个字节的数据后所发送的是应答信号,X24128就会继续发送下一字节的数据,当发送完整个存储阵列的最高地址的数据后,地址指针将返回到0000H单元。如果继续发送应答信号,X24128将从0000H单元开始继续发送数据。只有接收到结束信号才终止发送。

5.接口电路及编程

X24128与AT89C51的接口电路如图2所示。在2线总线上最多可并接8片X24128。以P1.0口线作为时钟信号输出,P1.1口线作为数据输入、输出。总线接4.7kΩ的上拉电阻。下面以AT89C51寄存器R2的数据写入X24128(1)的1000H地址中为例,假设1000H地址未加写保护,则编程如下:




Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top