基于PROG-100单片机读写24C01的应用程序
扫描二维码
随时随地手机看文章
该电路连接见下图所示:89C51的P31脚(TXD)与24C01的SCL脚相连,作为时钟输入端。89C51的P30脚(RXD)与24C01的SDA脚相连,作为数据读写端。两者都通过上拉电阻接5V电源。单片机其余连线照常,在此图中略去。
串行EEPROM读写程序包括以下要点:24C01在加电后或执行停止(STOP)命令后处于备用状态,因此每次读写操作前需要单片机发送给EEPROM-个启动脉冲。要求是:在SCL时钟端为高电平时,在SDA脚上产生一个从高到低的跳变,使24C01进入工作状态。每次读写操作后发出停止命令(STOP)。要求是:在SCL时钟端为高电平时,在SDA脚上产生一个从低到高的跳变,使24C01进入备用模式。
24COIEEPROM的读写操作分单字节读写和按页读写两种模式。
读写使用的7位地址前五位为页面号。作单字节读写时,每字节读写后发停止命令,否则作为页面读写,可连续收发4个字节。读写操作的区别在于:读出时发送给EEPROMD的7位字地址后的第八位应为高电平(读出位),而写入时发送给EEPROMD的7位字地址后的第八位应为低电平(写入位)。故读写时均使用8位地址。(参见程序中ADDR子程序)。同时24C01在接收到地址或数据后的第九个脉冲期间SDA脚置为低电平,表示接收成功,这一应答方式体现在子程序ACK上。
使用PROG100单片机专用编程器编写的,读写24C01电可擦除可编程只读存储器的应用程序如下:程序中使用了89C51中的寄存器:R028、R033、R037、R036、R000、R052、R010。程序以模块方式给出,可供用户调用。
1.写数据子程序(EW)
入口参数:首先将要写入的EEPROM的地址传送给R033,将要写入的数据传送给R036,然后调用EW子程序即可。
2.读数据子程序(ER)
入口参数:首先将要读的EEPROM的地址传送给R033,然后调用ER子程序,读出的数据
3.其它有关子程序
以上程序经过修改还可适用24C系列EEPROM中的其它型号。