{
unsigned char dd; (dd = 0; dd
}
void resetiw (void)
{
if (! iware) delay (100) ;//esli linia = 0 timeout 500mks = 0; (iware)// start proc
{iware = 0;
delay (100);// timeout 500mks = 1; (14) ;//timeout 70 mks (iware)
{
delay (100);// 500mks (iware) {fok = 1;}
}
}
}
void readiw (void)// read IWare
{
unsigned char pp, nn; = 0; (nn = 0; nn <8; nn + +)
{= 0; delay (3);// start obmena bit = 1; delay (6);// +30 mks dla chtenia = iware; pp = pp> 1; (14); iware = 1, (3);} = pp ;//save rezultat
} writeiw (void char t)// read IWare
{unsigned char pp, nn; = t; (nn = 0; nn <8; nn + +)
{= 0; delay (3); = pp> 1; iware = CY;
delay (20); iware = 1, (3);
}
} timer0 (void) interrupt 1 using 2/* Function interrupt timer0 */
{= 0xd8;/* set timer0 = 55539 */= 0xf3; + +; (seksot == 100)
{seksot = 0; sec + +; (60 == sek)
{= 0; min + +;} (60 == min)
{
min = 0;
{+ +; (24 == hour) {hour = 0;}
}
// kontrol sostoania (chas == budiln [0]) && (min == budiln [1]) (tin1
}
} (+ + segment == 4) segment = 0; if (segment == 0) {P1 = ind [segment + sm] | 0xe0;} if (segment == 1) {P1 = ind [segment + sm] | 0xd0;} if (segment == 2) {P1 = ind [segment + sm] | 0xb0;} if (segment == 3) {P1 = ind [segment + sm] | 0x70; } (! P3 ^ 3) if (key == segment)
{key = segment; (key == 0) setaram + + (setparam == 33) setparam = 0; (key == 3) setparam = 32; (setparam == 0) && (key == 1) chas + +; if (setparam == 0) && (key == 2) chas -; if (setparam == 1) && (key == 1) min + +; if ( setparam == 1) && (key == 1) min -; if (setparam <32) && (key == 1) budiln1 [setparam-2] + +;///ustanovka budilnif ( setparam <30) && (key == 1) budiln1 [setparam-2] -;
} (sot == 2)