//剛好有現成的,給你參考一下:
if(!key1) //時加量鍵
{
Delay20ms();
if(!key1)
{
while(!key1);
beep_on(50);
hour=RTC_read_ram(0x85); //讀小時值
hour=hour/16*10+hour%16; //BCD轉10進制
if(++hour>23)hour=0; //增量溢出則置0
t_bcd=hour/10<<4|hour%10 ; //10進制轉BCD
RTC_write_data(0x8e,0x00); //1302寫使能
RTC_write_data(0x84,t_bcd); //寫入新小時值
RTC_write_data(0x8e,0x80); //1302寫失能
}
} |