1: #include 2: #include 3: #include 4: 5: #include "lcd.h" 6: 7: 8: void rs232_init(void) 9: { 10: SPEN = 0; // Serial Port Enable Bit... 0 = disabled 11: TRISC6 = 0; 12: TRISC7 = 1; 13: SYNC = 0; // SYNC switches between async(0) and sync(1) mode. 14: SPBRG = 25; 15: TXSTA = 0x24; 16: RCSTA = 0x90; 17: SPEN = 1; 18: } 19: 20: void interrupt_init(void) 21: { 22: // Assumes that all interrupts default is 0 23: PEIE = 1; 24: GIE = 1; 25: RCIE = 1; 26: } 27: 28: void pic18_io_init(void) 29: { 30: TRISA0 = 1; 31: TRISB1 = 1; 32: TRISB2 = 1; 33: TRISB3 = 1; 34: TRISB4 = 1; 35: } 36: 37: void interrupt_recieve_handler(void) 38: { 39: // Handle recieve inputs... 40: } 41: 42: void interrupt interrupt_handler(void) 43: { 44: if(RCIF == 1) 45: { 46: interrupt_recieve_handler(); 47: RCIF = 0; 48: } 49: } 50: 51: 52: void main() 53: { 54: rs232_init(); 55: pic18_io_init(); 56: }