User manual

Table Of Contents
PICDEM
TM
Lab Development Board User’s Guide
DS41369A-page 56 © 2009 Microchip Technology Inc.
EXAMPLE 3-26: PB_PRESSISR() CODE FOR GPIO LAB 7
2. Copy/paste the code in Example 3-27 into the Initialize() over the code
from the previous lab.
//First, check if the interrupt occurred as a result of an
//RA2 change interrupt. If so, clear the RABIF flag so
//that subsequent interrupts can occur
if(RABIE && RABIF) RABIF = 0;
//Check the push button connected to RA0 pin. If 0, then a
//push button press is indicated
if(RA2 == 0)
{
//Delay for 5mS to filter switch bounce
Delay_5mS();
//if RA2 is still 0 then change the direction flag
if (RA2 == 0) direction = 1;
}
//Check the push button connected to RA0 pin. If 1, then a
//push button release is indicated
if(RA2 == 1)
{
//Delay for 5mS to filter switch bounce
Delay_5mS();
//if RA2 is still 1 then change the direction flag
if (RA2 == 1) direction = 0;
}
//Otherwise, keep the direction bit the same as it was
else direction = direction;
//Read PORTA to latch RA2 value for the next interrupt
PORTA = PORTA;