#include <18F258.h>
#fuses HS, NOPROTECT, NOWDT
#use delay(clock=20000000)
#use rs232(baud=19200, parity=N, xmit=PIN_C6, rcv=PIN_C7, bits=8)
#use fast_io(A) //configura puerto A como I/O digital
#use fast_io(B) //configura puerto B como I/O digital
char cmd;
void main() {
setup_adc_ports(NO_ANALOGS);
setup_adc(ADC_OFF);
setup_spi(SPI_SS_DISABLED);
setup_wdt(WDT_OFF);
setup_timer_0(RTCC_INTERNAL);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_timer_3(T3_DISABLED|T3_DIV_BY_1);
setup_low_volt_detect(FALSE);
set_tris_a(0xFF); //configura puerto a como entrada
set_tris_b(0x00); //configura puerto b como salida
OUTPUT_B(0x00); //puerto B inicialmente en bajo
while(true){
if (kbhit()) {
cmd = getc();
printf("%c",cmd);
if(cmd == 'a'){ output_high(PIN_B7);}
if(cmd == 's'){ output_low(PIN_B7); }
}
if (input(PIN_A1)==1) { output_high(PIN_B6); printf(" pin_A1 alto");}
else { output_low(PIN_B6); }
if (input(PIN_A2)==1) { output_high(PIN_B5); printf(" pin_A2 alto");}
else { output_low(PIN_B5); }
if (input(PIN_A3)==1) { output_high(PIN_B4); printf(" pin_A3 alto");}
else { output_low(PIN_B4); }
if (input(PIN_A4)==1) { output_high(PIN_B3); printf(" pin_A4 alto");}
else { output_low(PIN_B3); }
if (input(PIN_A5)==1) { output_high(PIN_B2); printf(" pin_A5 alto");}
else { output_low(PIN_B2); }
} //fin while
} //fin programa principal