本帖最后由 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]; //用當前值更新上次秒數
- }
復制代碼
我把用到這塊的貼全,這個初值是啥含義啊 |