void main ( void ) {
/* Configure timer0 and INT interrupts. */
OPTION = 0xCF; /* Source = Fosc/4, 256:1 pre-scaler, RB0 rising edge interrupt. */
T0IF = 0; /* Clear any pending timer interrupt. */
T0IE = 1; /* Enable timer 0 interrupts. */
INTF = 0; /* Clear any pending external interrupt. */
INTE = 1; /* Enable external (RB0) interrupt. */
ei(); /* Global interrupt enable. */
/* Wait for interrupt. */
for{;;} {
CLRWDT(); /* Clear watchdog timer. */
}
}
void interrupt my_int_handler( void ) {
if( T0IE && T0IF ) {
/* Handle timer 0 overflow */
T0IF = 0;
}
if( INTE && INTF ) {
/* Handle INT interrupt */
INTF = 0;
}
}