ZG11211 发表于 2014-5-3 18:48 
初始化没有这么简单,需要写入秒分时日月星期年,再写入一个初始化标志,然后每次开机先检测初始化标志,如 ...
void ds1302_init()
{
RST=0;
SCLK=0;
write_1302(0x8e,0x00); //允许写,禁止写保护
write_1302(0x80,0x00); //向DS1302内写秒寄存器80H写入初始秒数据00
write_1302(0x82,0x00);//向DS1302内写分寄存器82H写入初始分数据00
write_1302(0x84,0x12);//向DS1302内写小时寄存器84H写入初始小时数据12
write_1302(0x8a,0x04);//向DS1302内写周寄存器8aH写入初始周数据4
write_1302(0x86,0x07);//向DS1302内写日期寄存器86H写入初始日期数据07
write_1302(0x88,0x01);//向DS1302内写月份寄存器88H写入初始月份数据01
write_1302(0x8c,0x10);//向DS1302内写年份寄存器8cH写入初始年份数据10
write_1302(0x8e,0x80); //打开写保护
}
这是我修改的初始化,但时钟仍然不动,求帮助
|