// ШИМ #include unsigned char f; unsigned char d[5]; unsigned char count; intt0() interrupt 1 { // P1 = TH1; if (TL1 > 100 && TL1 < 170) { d[count] = 0; count++; } else if(TL1 > 170 && TL1 < 220) { d[count] = 1; count++; } TH1 = 0; TL1 = 0; TH0 = -1; TL0 = -1; } main() { count = 0; TMOD = 29; TH0 = -1; TL0 = -1; TR1 = 1; ET0 = 1; EA = 1; TR0 = 1; IT0 = 1; while(1); } // ------------------------------------- SIGNAL void Signa (unsigned int Time) { PORT3 = 0x3f; twatch (10*Time) PORT3 = 0; twatch (2*Time); PORT3 = 0x3f; twatch (2*Time); PORT3 = 0; twatch (2*Time); PORT3 = 0x3f; twatch (Time) PORT3 = 0; twatch (2*Time) PORT3 = 0x3f; twatch (2*Time); PORT3 = 0; twatch (2*Time); PORT3 = 0x3f; twatch (Time); PORT3 = 0; twatch (2*Time); } Signa(50)