main(
)
{
unsigned
char
dofly[8]={0,
1,
2,
3,
4,
5,
6,
7}
//
显示码值
unsigned
char
i
ISendStr(0xae,
4,
dofly,
8)
//写入24c02
delayms(200)
IRcvStr(0xae,
4,
dofly,
8)
//调用存储数据
while(1)
{
P0=duan[dofly[i]]//显示存储数据
P1=wei[i]
//取位码
delayms(400)
//延时用于演示显示数据
i++
if(i==8)
i=0
}
}
如果
你把
ISendStr(0xae,
4,
dofly,
8)
//写入24c02
delayms(200)
IRcvStr(0xae,
4,
dofly,
8)
//调用存储数据
这去掉,那dofly[8]={0,
1,
2,
3,
4,
5,
6,
7}初始值就不会变,当然结果会是一样的。只有当你读取24c02读取不到数据时才会不一样,这个是用来检验24c02是否可以写入读取的程序。如果你改成这样就更明显了。写数据用一个数组,读数据用另一个数组。
void
main(
)
{
unsigned
char
dofly[8]={0,
1,
2,
3,
4,
5,
6,
7}
//
显示码值
unsigned
char
ReadData[8]
//读取数据用数组
unsigned
char
i
ISendStr(0xae,
4,
dofly,
8)
//写入24c02
delayms(200)
IRcvStr(0xae,
4,
ReadData,
8)
//调用存储数据
while(1)
{
P0=duan[ReadData[i]]//显示存储数据
P1=wei[i]
//取位码
delayms(400)
//延时用于演示显示数据
i++
if(i==8)
i=0
}
}
24C02 只能写数据,是不能写程序的。程序是单片机可执行的指令。而数据是单片机运行过程中需要的数据。要对24C02读/写数据,需要按I2C的协议写程序,那要有单片机对它进行读/写 *** 作才行的,板上有24C02,有单片机吗,那单片机是什么型号的,能给单片机烧录程序吗?如果不能烧录程序,就不能读/写24C02。至于读/写24C02的程序,百度上可以搜索到的。板子上留的焊孔,是可以焊导线连接到单片机上,进行读/写的。要查一下这些孔是怎么连接24C02的引脚的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)