Hi there, I am trying to get a signal to the P89LPC932 Micro Controller by using the External interrupt 1 (P1.4). I never tried this before and I am also a beginner programming. Can anyone help me figuring out why this program does not work. The interrupt is supposed to be edge triggered and every time an interrupt occurs a counter (NPulses) is incremented til it gets to 1000 pulses. then it goes back to zero. I think my problem is configuring the timers registers, but I am not too sure. Here is the code. Thank you, ============================================ #include <Reg932.h> #include <stdio.h> void init(void); void brkrst_init(void); void Pulses_recieved (void); unsigned long NPulses; //amount of pulses received unsigned int Glass; void ToggleC1Input (void); sbit Pulse = P1^4; int Glassid, count; void Main(void) { P2 = 0x00; NPulses = 0; Glass = 10; Glassid = 0; count = 0; init(); brkrst_init(); Pulses_recieved(); } void init(void) { P1M1 = 0xFF; // Input only P1M2 = 0x00; P2M1 = 0x00; // push pull output P2M2 = 0xFF; ES = 1; EA = 1; } void brkrst_init(void) // This function allows ISP entry through the UART break detect { AUXR1 |= 0x40; // enable reset on break detect, pg. 102 SCON = 0x50; // select the BRG as UART baud rate source, pg. 60 SSTAT = 0x00; //TCON = 0x04; BRGR0 = 0x70; // 9600 BAUD at 11.0592 MHz. Hex 0470= 1136 decimal BRGR1 = 0x04; BRGCON = 0x03; // enable BRG, pg. 59 } void UART(void) interrupt 4 { RI = 0; } void Pulses_recieved(void) { while(1) { TCON = 0x40; IEN0 = 0x04; EA = EA | 1; } } void ExtPulses (void) interrupt 2 { NPulses++; if (NPulses == 1000) { NPulses = 0; Glassid++; P2 = Glassid; } } =============================================