void main() { // FUNCAO PRINCIPAL: MAIN ADCON1 = 0x07; // CONFIGURA ENTRADAS AN COMO E/S DIGITAIS CMCON = 7; // DESLIGA COMPARADORES // CONFIGURACOES E/S E ESTADOS INICIAIS [BINARIO] TRISA = 0b00000000; PORTA = 0b00000000; TRISB = 0b00000110; // PORTB = 0b00000000; TRISC = 0b00000000; PORTC = 0b00000000; // ESTADOS INICIAIS DOS ACESSORIOS BUZZER = 1; // MENSAGEM INICIAL NO LCD Lcd_Init(); // INICIA O LCD Lcd_Cmd(_LCD_CLEAR); // LIMPA A TELA DO LCD Lcd_Cmd(_LCD_CURSOR_OFF); // DESLIGA O CURSOR Lcd_Out(1, 1, msg_2); Lcd_Out(2, 1, msg_1); Delay_ms(1500); Lcd_Cmd(_LCD_CLEAR); // LIMPA A TELA DO LCD while (1) { if (!INT2) { BUZZER = 0; Delay_ms(15); BUZZER = 1; Delay_ms(50); BUZZER = 0; Delay_ms(15); BUZZER = 1; // SIRENE SOA DUAS VEZES CURTAS // EEPROM_Write(unsigned short address, unsigned short data); EEPROM_Write(0x08, 'K'); //ESCREVE "K" NA POSICAO 0x08 DA EEPROM Lcd_Cmd(_LCD_CLEAR); // LIMPA A TELA DO LCD Lcd_Out(1, 1, msg_1); Lcd_Out(2, 1, msg_3); Delay_ms(1000); Lcd_Cmd(_LCD_CLEAR); // LIMPA A TELA DO LCD } else if (!INT1) { BUZZER = 0; Delay_ms(15); BUZZER = 1; // SIRENE SOA UMA VEZ CURTA // EEPROM_Read(unsigned short address); INFO = EEPROM_Read(0x08); // LE A POSICAO 0x08 DA EEPROM ShortToStr (INFO, INFO_s); Lcd_Cmd(_LCD_CLEAR); // LIMPA A TELA DO LCD Lcd_Out(1, 1, msg_1); Lcd_Out(2, 1, msg_4); Delay_ms(1000); Lcd_Cmd(_LCD_CLEAR); // LIMPA A TELA DO LCD Lcd_Out(1,1,INFO_s); Lcd_Out_Cp(" = DECIMAL"); Lcd_Cmd(_LCD_SECOND_ROW); Lcd_Chr_Cp(0+INFO); Lcd_Out_Cp(" = CHARACTER"); Delay_ms(2500); Lcd_Cmd(_LCD_CLEAR);} // LIMPA A TELA DO LCD else { Lcd_Out(1, 1, msg_5); Lcd_Out(2, 1, msg_6); } // FIM ELSE } // FIM WHILE } // FIM MAIN
void main() { Lcd_Init(); INTCON=0b11000000; PIE1=0b00100000; UART1_Init(9600); // Initialize UART module at 9600 bps Delay_ms(300); // Wait for UART module to stabilize trisc=0b10000000; portc=255; portc.f1=0; portc.f2=0; trisd=0; uart1_write_text("ready"); for(;;){ if(x==1) { Lcd_Chr_Cp(rr); x=0; } }}