#include <16F877A.h>
#device adc=10
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay (clock=4M)
#use fast_io(A)
#use rs232(baud=9600, xmit=pin_c6, rcv=pin_c7)
#use fast_io(E)
#int_rda
int valor=0;
void rda(){
disable_interrupts(GLOBAL);
valor=getc();}
void main() //Función principal
{
enable_interrupts(int_rda);
enable_interrupts(GLOBAL); //Habilito las interrupciones generales
setup_adc_ports(RA0_RA1_RA3_ANALOG);
setup_adc(ADC_CLOCK_INTERNAL );
while(1){
//Apago el watch dog timer
if(valor==1){
output_high(PIN_B2);}
if(valor==2){
output_high(PIN_B3);}
if(valor==3){
output_high(PIN_B7);}
if(valor==4){
output_low(PIN_B2);}
if(valor==5){
output_low(PIN_B3);}
if(valor==6){
output_low(PIN_B7);
}
// if(input_state(PIN_A4)==0);{
// output_toggle(PIN_B2);}
//if( input_state(PIN_A5)==0);{
// output_toggle(PIN_B3);}
// if(input_state(PIN_E1)==0);{
// output_toggle(PIN_B7);}
}
}
ese es el codigo creo q eso para mi el pic no interpreta bien lo q le llega