H代表16進制
寄存器 0:最高位 CH 是一個時鐘停止標志位。如果時鐘電路有備用電源,上電后,我們要先檢測一下這一位,如果這一位是 0,那說明時鐘芯片在系統掉電后,由于備用電源的供給,時鐘是持續正常運行的;如果這一位是 1,那么說明時鐘芯片在系統掉電后,時鐘部分不工作了。如果 Vcc1 懸空或者是電池沒電了,當我們下次重新上電時,讀取這一位,那這一位就是 1,我們可以通過這一位判斷時鐘在單片機系統掉電后是否還正常運行。剩下的7 位高 3 位是秒的十位,低 4 位是秒的個位,這里再提請注意一次,DS1302 內部是 BCD 碼,而秒的十位最大是 5,所以 3 個二進制位就夠了。
寄存器 1:最高位未使用,剩下的 7 位中高 3 位是分鐘的十位,低 4 位是分鐘的個位。
寄存器 2:bit7 是 1 的話代表是 12 小時制,0 代表是 24 小時制;bit6 固定是 0,bit5 在12 小時制下 0 代表的是上午,1 代表的是下午,在 24 小時制下和 bit4 一起代表了小時的十位,低 4 位代表的是小時的個位。
寄存器 3:高 2 位固定是 0,bit5 和 bit4 是日期的十位,低 4 位是日期的個位。
寄存器 4:高 3 位固定是 0,bit4 是月的十位,低 4 位是月的個位。
寄存器 5:高 5 位固定是 0,低 3 位代表了星期。
寄存器 6:高 4 位代表了年的十位,低 4 位代表了年的個位。請特別注意,這里的 00~99 指的是 2000 年~2099 年。
寄存器 7:最高位一個寫保護位,如果這一位是 1,那么是禁止給任何其它寄存器或者那 31 個字節的 RAM 寫數據的。因此在寫數據之前,這一位必須先寫成 0。
|