|
我弄了个DS12CR887,让他在1602上显示时间,现在可以写进去,也可以读出来,就是时间不走,下面是程序:
void writeds(uchar dizhi,uchar shuju)//写DS
{
cs=0;
as=1;
ds=1;
rw=1;
P0=dizhi;
as=0;
rw=0;
P0=shuju;
as=1;
rw=1;
cs=1;
}
uchar readds(uchar address)//读DS
{
uchar readdata;
cs=0;
as=1;
rw=1;
ds=1;
P0=address;
as=0;
ds=0;
readdata=P0;
as=1;
ds=1;
cs=1;
return (readdata);
}
void main()
{
lcdinit();//1602初始化
desplay();//屏幕上初始化个时间
settime();//写时间
while(1)
{
second=readds(0x00);
minite=readds(0x02);
hour=readds(0x04);
shuaxin(0x80+0x40+8,second);//1602屏上刷新函数
shuaxin(0x80+0x40+5,minite);
shuaxin(0x80+0x40+2,hour);
}
} |
|