//刚好有现成的,给你参考一下:
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写失能
}
} |