#include __CONFIG(0x3FF1); /*** FOR FUTURE USE ***/ #define PORTBIT(adr, bit) ((unsigned)(&adr)*8+(bit)) static bit IN0 @ PORTBIT(PORTA, 0); static bit IN1 @ PORTBIT(PORTA, 1); static bit IN2 @ PORTBIT(PORTA, 2); static bit IN3 @ PORTBIT(PORTA, 3); static bit IN4 @ PORTBIT(PORTA, 4); void mode_1(void); void mode_2(void); void pause_1(void); void pause_2(void); unsigned int r; unsigned int i; //for loop pause variable unsigned int p; main(void) { TRISA = (0xF8); PORTA = (0b11111000); TRISB = (0x00); PORTB = (0b00000000); while(1) { mode_1(); mode_2(); }; } void mode_1() { for(r=0; r<10; r++) { PORTB = (0b11110000); pause_1(); PORTB = (0b00001111); pause_1(); }; }; void mode_2() { for(r=0; r<10; r++) { PORTB=(0b00000001); pause_2(); PORTB=(0b00000010); pause_2(); PORTB=(0b00000100); pause_2(); PORTB=(0b00001000); pause_2(); PORTB=(0b00010000); pause_2(); PORTB=(0b00100000); pause_2(); PORTB=(0b01000000); pause_2(); PORTB=(0b10000000); pause_2(); PORTB=(0b01000000); pause_2(); PORTB=(0b00100000); pause_2(); PORTB=(0b00010000); pause_2(); PORTB=(0b00001000); pause_2(); PORTB=(0b00000100); pause_2(); PORTB=(0b00000010); pause_2(); }; }; void pause_1() { for(p=0; p<8; p++) { for(i=0; i<3000; i++); }; }; void pause_2() { for(p=0; p<4; p++) { for(i=0; i<3000; i++); }; };