#include /* Demo program - flashes LEDs on Port B, responds to switch press on RA1 */ #define PORTBIT(adr, bit) ((unsigned)(&adr)*8+(bit)) static bit button @ PORTBIT(PORTA, 1); main(void) { unsigned i; unsigned char j; TRISB = 0; /* all bits output */ j = 0; for(;;) { PORTB = 0x00;/* turn all on */ for(i = 16000; --i ; ) continue; PORTB = ~j; /*output value of j */ for(i = 16000; --i ; ) continue; if(button == 0) /* if switch pressed, increment */ j++; } }