在向EEPROM 24c02 写数据时出现一个怪事,向一个地址写入偶数如:2、4、6...,可以写入,并且可以读出,但是写入奇数如:1、3、5...,则不能写入,读出的数还是以前的数据,不知为啥,请高手解答,谢谢!!!!
程序如下:
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit scl=P2^1;
sbit sda=P2^0;
void delay()
{;;}
void delay_ms(uint j)
{
uint i;
for(j;j>0;j--)
for(i=110;i>0;i--);
}
void IIC_init() //IIC初始化
{
scl=1;
sda=1;
}
void IIC_start() //IIC开始信号
{
scl=1;
sda=1;
delay();
sda=0;
delay();
}
void IIC_stop() //IIC终止
{
scl=1;
sda=0;
delay();
sda=1;
delay();
}
void IIC_check() //查看IIC器件是否应答
{
scl=1;
delay();
while(sda);
delay();
scl=0;
}
void IIC_w_bite(uchar bite) //向IIC器件写1比特数据
{
uchar i;
for(i=8;i>0;i--)
{
scl=0;
delay();
bite=bite<<1;
sda=CY;
delay();
scl=1;
delay();
scl=0;
}
}
uchar IIC_r_bite() //读取IIC器件1比特数据
{
uchar i,dd;
for(i=8;i>0;i--)
{
scl=1;
delay();
dd=dd<<1|sda;
delay();
scl=0;
delay();
}
return dd;
}
void main()
{
IIC_init();
IIC_start();
IIC_w_bite(0xa0); //寻址并发送给IIC器件准备写数据
IIC_check(); //应答
IIC_w_bite(0x1); //发送存储器存储地址
IIC_check();
IIC_w_bite(0x2); //发送要给IIC器写入的数据
IIC_check();
IIC_stop();
delay_ms(5);
IIC_start();
IIC_w_bite(0xa0); //寻址并发送给IIC器件准备写数据
IIC_check(); //应答
IIC_w_bite(0x1); //发送存储器存储地址
IIC_check();
IIC_start();
IIC_w_bite(0xa1); //发送信息给IIC准备读数据
IIC_check();
P1=IIC_r_bite(); //读数据到P1口
IIC_stop();
while(1);
}
共6条
1/1 1 跳转至页
WHY?EEPROM存储器24c02只能写入偶地址,奇地址异常。

关键词: EEPROM 24c02 存储器

或许以下信息对楼主有帮助:
以上摘自张志良编著《80C51单片机仿真设计实例教程——基于Keil C和Proteus》清华大学出版社ISBN 978-7-302-41682-1,内有常用的单片机应用100案例,用于仿真实验操作,电路与程序真实可靠可信可行。书中电路和程序设计有详细说明,程序语句条条有注解。

共6条
1/1 1 跳转至页
回复
打赏帖 | |
---|---|
【STM32F769】AI之与本地deepseek对接被打赏50分 | |
Buck电路工作在CCM模式下电感电流的计算公式是什么?被打赏5分 | |
buck电路工作原理被打赏5分 | |
基于MSPM0L1306的MODBUS-RTU协议通讯实验被打赏100分 | |
我想要一部加热台+多合一调试工具被打赏18分 | |
每周了解几个硬件知识+485硬件知识分享被打赏10分 | |
【换取手持数字示波器】树莓派PICO调试器官方固件本地化部署实践被打赏24分 | |
【换取手持数字示波器】分享一个KEIL无法识别CMSIS-DAP调试器的解决办法被打赏20分 | |
【换取手持数字示波器】分享一个自制的ArduinoNano扩展板底板被打赏23分 | |
【换取手持示波器】树莓派PICOW网页烟花被打赏18分 |