Arquivo: 16F628A.c
#include <16F628A.h>
#fuses INTRC, NOWDT, NOMCLR
#use delay(clock = 4MHz)
#use rs232(baud= 9600, xmit= PIN_B2, rcv= PIN_B1)
void main(){
int1 btn1, btn2, btn3;
while(true){
btn1 = input(PIN_A0);
btn2 = input(PIN_A1);
btn3 = input(PIN_A2);
if( btn1 == 1 && btn2 == 0 && btn3 == 0 ){
printf("#AUTO");
}else if( btn1 == 0 && btn2 == 1 && btn3 == 0 ){
printf("#ECONOMICO");
}else if( btn1 == 0 && btn2 == 0 && btn3 == 1 ){
printf("#DESEMPENHO");
}
delay_ms(1000);
}
}
Arquivo: 18F4550.c
#include <18F4550.h>
#fuses INTRC, NOWDT, NOMCLR
#use delay(clock = 4MHz)
#use rs232(baud = 9600, xmit= PIN_C6, rcv= PIN_C7)
#include <lcd.c>
#INT_RDA
void serial_init(){
char temp;
while( kbhit() ){ // verificar se tem dados no banco
temp = getc();
if( temp == '#'){
printf( LCD_PUTC, "\f");
}else {
printf(LCD_PUTC, "%c", temp);
}
}
}
void main(){
lcd_init();
enable_interrupts( GLOBAL );
enable_interrupts( INT_RDA);
printf( LCD_PUTC, "\fINICIANDO ...");
delay_ms(1000);
while(TRUE){
}
}
Saída gerada no Proteus |
Nenhum comentário:
Postar um comentário