Interrupts in BoostC and Chameleon compilers programming Posted December 2, 2010 · Report reply There could be two problems: The source boost simulator does not support external interrupts I seem to recall that when you progam a pin to be an external interrupt input, it is no longer an input port pin. The data sheet for the device you are using will give you the answer to #2. If this is the case, you know the state of the pin since you get an interrupt while the button is pushed and not when it is not. The problem is you don't get an interrupt when the button is released so the main code would need to clear flag after it notices that it is set (change led1 = 1; to led1 = 1; flag1 = 0;). Another way to go is to just set up a timer interrupt and read the value of button in the interrupt routine and set flag accordingly. This will also give you a free debounce filter. If you don't want the overhead of the timer interrupt you could also use the interrupt on port B change feature of the PIC processors. I recall that this works in a group of 4 port B pins so if you have other inputs on those lines that you don't want an interrupt for you will get them. The data sheet has more details on this feature than I can remember off the top of my head. It looks like you do have a timer interrupt but you set an external source for the clock which you may not be wiggling during your simulation. You could for the short term set the source to be FOSC (the internal core clock). Sorry for the rambling message.