IIC AT24C02用在51单片机上,
发布网友
发布时间:2022-04-22 20:22
我来回答
共2个回答
热心网友
时间:2023-06-30 10:21
void
main()
{
init();
sec=read_add(2);//问题就在此处,无论写什么地址,都在数码管上面没有显示。
if(sec>100)
//若将此处去掉,则没有记忆功能。
sec=0;
//
tmod=0x01;
et0=1;
ea=1;
/***************************************************************************************************************
sec
=
read_add(2);
//这里是sec
读取i2c指定2地址的数据,仔细看下面代码
write_add(2,sec);
//这里是吧sec写入指定地址2里面,所以上面必须从地址2里面读取数据。
if(sec>100)
//若将此处去掉,则没有记忆功能。
sec=0;
//
这一块就是往i2c指定地址写入数值应该0
-
100数值,你把这里去掉了,没有往i2c写入数值你说能读出来数据吗还会有记忆功能吗。
***************************************************************************************************************/
th0=(65536-45872)/256;
tl0=(65536-45872)%256;
tr0=1;
while(1)
{
display(sec/100,sec/10,sec%10);
if(write==1)
//
{
//
write=0;
//
write_add(2,sec);
//
}
}
}
/*************************************************/
void
time0()
interrupt
1
{
th0=(65536-45872)/256;
tl0=(65536-45872)%256;
tcont++;
if(tcont==20)
{
tcont=0;
sec++;
write=1;
//
if(sec>100)
sec=0;
}
}
热心网友
时间:2023-06-30 10:22
程序电新始写24C02址1呀所看变化