(void) interrupt 4 using 2
{(RI)// input data for uart
{= 0; (SBUF == 0xff)// command prinyat ypravl programma
{= 0; = 0; = 0;// pihem dannie = 0xff; = 0;
}
{(! ((adresh == 0x20) && (adresl == 0xff)) && (command = 0xff))
{[pozin] = SBUF; + +;
}
{(SBUF = 33)
{= 33; = 0;
}
{(command = 33) din [+ + pozin] = SBUF;// priem odnogo ypravl bloka
{(SBUF = 0) startstop = 0;
{= 1;
} (! RI); [pozin] = SBUF;
pozin + +; + +; (CY) + +;
} C (adresh, adresl);
} = 1; = 0; = 0;
} (SBUF == 0x00) StartStop = 0; // pausa (SBUF == 0x01) p11 + +; // X + + (SBUF == 0x02) p11 -; // X - (SBUF == 0x03) p21 + +; // Y + + (SBUF == 0x04) p21 -; // Y - (SBUF == 0x05) p31 + +; // Z + + (SBUF == 0x06) p31 -; // Z -
} timer_interrupt (void) interrupt 1 using 1
{char dd1, dd2, dd3; = 0xfc; = 0x4f; // dla 11.592MGc 1ms - 1000perepoln/sek + +;
{((! k1) && (keyold! = 1)
{=! startstop; = 1;
} if ((! k2) && (keyold! = 2))
{= 2; =! avtoradio ;)
} keyold = 0 ;//(p1
{(dd1 == 1) dd1 = 2; if (dd1 == 2) dd1 = 4; if (dd1 == 4) dd1 = 8; if (dd1 == 8) dd1 = 1;
} (p1> p11)
{(dd1 == 1) dd1 = 8; if (dd1 == 2) dd1 = 1; if (dd1 == 4) dd1 = 2; if (dd1 == 8) dd1 = 4;
} (p2
{(dd2 == 1) dd2 = 2; if (dd2 == 2) dd2 = 4; if (dd2 == 4) dd2 = 8; if (dd2 == 8) dd2 = 1;
}
{(dd2 == 1) dd2 = 8; if (dd2 == 2) dd2 = 1; if (dd2 == 4) dd2 = 2; if (dd2 == 8) dd2 = 4;
} (p31> p3)
{(dd3 == 1) dd3 = 8; if (dd3 == 2) dd3 = 1; if (dd3 == 4) dd3 = 2; if (dd3 == 8) dd3 = 4;
}
{(dd3 == 1) dd3 = 2; if (dd3 == 2) dd3 = 4; if (dd3 == 4) dd3 = 8; if (dd3 == 8) dd3 = 1;
} (startstop)
0) P0 = ((P0 & 0xe1) | (uprd56 <<1); P0 = (P0 & 0xe1);
}
} main (void)
{= 0x50; /* SCON: mode 1,...