本帖最后由 wifen 于 2022-8-27 10:09 编辑
- while (1)
- {
- if (flag200ms) //每 200ms 读取依次时间
- {
- flag200ms = 0;
- DS1302BurstRead(time); //读取 DS1302 当前时间
- if (psec != time[0]) //检测到时间有变化时刷新显示
- {
- str[0] = '2'; //添加年份的高 2 位: 20
- str[1] = '0';
- str[2] = (time[6] >> 4) + '0'; //“年”高位数字转换为 ASCII 码
- str[3] = (time[6]&0x0F) + '0'; //“年”低位数字转换为 ASCII 码
- str[4] = '-'; //添加日期分隔符
- str[5] = (time[4] >> 4) + '0'; //“月”
- str[6] = (time[4]&0x0F) + '0';
- str[7] = '-';
- str[8] = (time[3] >> 4) + '0'; //“日”
- str[9] = (time[3]&0x0F) + '0';
- str[10] = '\0';
- LcdShowStr(0, 0, str); //显示到液晶的第一行
- str[0] = (time[5]&0x0F) + '0'; //“星期”
- str[1] = '\0';
- LcdShowStr(11, 0, "week");
- LcdShowStr(15, 0, str); //显示到液晶的第一行
- str[0] = (time[2] >> 4) + '0'; //“时”
- str[1] = (time[2]&0x0F) + '0';
- str[2] = ':'; //添加时间分隔符
- str[3] = (time[1] >> 4) + '0'; //“分”
- str[4] = (time[1]&0x0F) + '0';
- str[5] = ':';
- str[6] = (time[0] >> 4) + '0'; //“秒”
- str[7] = (time[0]&0x0F) + '0';
- str[8] = '\0';
- LcdShowStr(4, 1, str); //显示到液晶的第二行
- psec = time[0]; //用当前值更新上次秒数
- }
复制代码
我把用到这块的贴全,这个初值是啥含义啊 |