/* * File: Three_LED.c * * Compiler XC8 */ #define _XTAL_FREQ 2000000 #include // BEGIN CONFIG #pragma config FOSC = HS // Oscillator Selection bits (HS oscillator) #pragma config WDTE = ON // Watchdog Timer Enable bit (WDT enabled) #pragma config PWRTE = OFF // Power-up Timer Enable bit (PWRT disabled) #pragma config CP = OFF // Flash Program Memory Code Protection bit (Code protection off) //END CONFIG void main(void) { TRISA2 = 0; //RA2 as Output PIN - AUX TRISA1 = 0; //RA1 as Output PIN - Wireless TRISA0 = 0; //RA0 as Output PIN - Radio TRISB0 = 1; //RB0 as Input PIN - AUX TRISB1 = 1; //RB1 as Input PIN - Wireless TRISB2 = 1; //RB2 as Input PIN - Radio // RA2 = 0; // Initially AUX OFF // RA1 = 0; // Wireless OFF // RA0 = 0; // Initially Radio OFF do { if(RB0 == 0) // If AUX switch is pressed { __delay_ms(100); // Discard switch debouncing signal if(RB0 == 0) // If switch is still pressed { RA2 = 1; // AUX LED ON RA1 = 0; // Wireless OFF RA0 = 0; // Radio LED OFF } } if(RB1 == 0) // If Wireless switch is pressed { __delay_ms(100); // Discard switch debouncing signal if(RB1 == 0) // If switch is still pressed { RA2 = 0; // AUX LED OFF RA1 = 1; // Wireless ON RA0 = 0; // Radio LED OFF } } if(RB2 == 0) // If Radio switch is pressed { __delay_ms(100); // Discard switch debouncing signal if(RB2 == 0) // If switch is still pressed { RA2 = 0; // AUX LED OFF RA1 = 0; // Wireless OFF RA0 = 1; // Radio LED ON } } }while(1); }