void changing(void)interrupt 0 usig 0 {if(key_flag1)key_flag1=0; else key_flag1=1;}
void alarming(void)interrupt 3 using 0 {if(key_flag2)key_flag2=0; else key_flag2=1;} main() {unit i;
uchar p1[]=\SYSTEMTIME T; EA=1; EX0=1; IT0=1; EA=1; EX1=1; IT1=1; init1602(); Initial_DS1302(); while(1)
{write_com(0x80); write_string(p1,4); write_com(0xc0);
write_string(p2,1); DS1302_GetTime(&T); adjusted.Second=T.Second; adjusted.Minute=T.Miute; adjusted.Hour=T.Hour; adjusted.Day=T.Day; adjusted.Month=T.Month; adjusted.Year=T.Year; for(i=0;i<9;i++)
{adjusted.DateString[i]=T.DateString[i]; adjusted.TimeString[i]=T.TimeString[i];} adjust();
DateToStr(&adjusted); TimeToStr(&adjusted); write_com(0x84);
write_string(adjusted.DateString,8); write_com(0xc2);
write_string(adjusted.TimeString,8); delay(10);}