接下来先实现按键的加减,然后使用时间切换能让光标在小时、分、秒之间移动或者能让小时、分、秒数据闪烁,做到这些以后,你再把想要调整的时间值写到1302里
这些我都知道呀,可就是不知道如何来改下面两段程序啦! void SetTime(unsigned char *pSecDa) { unsigned char i; unsigned char Addr = 0x80; WriteTo1302(0x8e,0x00); // 控制命令,WP=0,写操作 // for(i =7;i>0;i--) { WriteTo1302(Addr,*pSecDa); // 秒 分 时 日 月 星期 年 // pSecDa++; Addr +=2; } WriteTo1302(0x8e,0x80); // 控制命令,WP=1,写保护 // } /**************************************************************************************************/ ////////////////////////////////////////////////////////////////////////////////////// ///// 名称: GetTime ///// ///// 说明: ///// ///// 功能: 读取DS1302当前时间 ///// ///// 调用: uc_R1302() ///// ///// 输入: ucCurtime: 保存当前时间地址。当前时间格式为: 秒 分 时 日 月 星期 年 ///// ///// 7Byte (BCD码) 1B 1B 1B 1B 1B 1B 1B ///// ///// 返回值: 无 ///// ////////////////////////////////////////////////////////////////////////////////////// void GetTime(void) { unsigned char i; unsigned char Addr = 0x81; for (i=0;i<7;i++) { Curtime= ReadFrom1302(Addr); // 格式为: 秒 分 时 日 月 星期 年 // Addr += 2; } sec = Curtime[0]; min = Curtime[1]; hour = Curtime[2]; date = Curtime[3]; month = Curtime[4]; day = Curtime[5]; year = Curtime[6]; }
|