用51单片机的定时器功能做一个时钟,AT24C02存储时间,掉电后再开电源还可以显原来的时间

现在我将读取AT24C02的程序写在main函数最开始的地方,将写入时间放在while(1)大循环里,下载程序进51单片机,刚开始液晶显示的时间不是00-00-00,我想可能是刚开始读取了AT24C02里面的值,我刚开始并没有写入,请问怎么消除刚进程序时AT24C02的值,后面断电时又能将写入的值显示出来呢

第1个回答  2012-08-02
你需要往AT24C02里写一个标志位,用来存储这是不是你的系统第一次启动。比如第一次启动后在地址25H里写入0x55,然后以后启动的时候读取2402,先判断这个地址的值,如果是0x55,说明不是第一次启动了,就正常读取存在2402里的时间并显示。如果不是0x55,说明系统第一次启动,2402里面的数据是不可预料的,就不显示读取的时间,而显示你初始化的时间就OK了
第2个回答  2012-08-02
存储器要初始化,并放一个标志位,表示等于什么时就不用初始化了,这样就不会把以后的数据除掉!不一定非要二楼的0x55.
第3个回答  2012-08-03
以24c02作为一个输出输入的芯片芯片来使用嘛,当中断定时器计数后,每计一次就把它存到24c02,每个地址可以计256个数,然后用另外一个变量来接收…看我空间吧,qq457826392
第4个回答  2012-08-02
你的意思是刚开始进程序时,你不想让液晶显示24C02里面的值?,那你直接让液晶显示一个你想要显示的值不就完了
相似回答