hola, para que esto funcione solo tienes que grabarlo en 2 pic y conectar el pin_a4 al pin_b0 del otro y viseversa, y en los pines de entrada pon una recistencia de 470 a tierra para evitar pulsaciones falsas por corrientes parasitas.
#include <16F84A.h>
#use delay(clock=4000000)
#fuses XT
#nolist
#byte port_A=05
#byte port_b=06
#use fixed_io(A_OUTPUTS=PIN_A0,PIN_A1,PIN_A2,PIN_A3,PIN_A4)
#use fixed_io(B_OUTPUTS=PIN_B1,PIN_B2,PIN_B3,PIN_B6,PIN_B7)
#use rs232(baud=9600,xmit=PIN_A4,rcv=PIN_B0,invert)
char opcion;
#INT_EXT
resive_datos()
{
opcion=getc();
switch(opcion)
{
case "1":
output_high(pin_a0);
break;
case "2":
output_low(pin_a0);
break;
}
}
void main()
{
enable_interrupts(global);
enable_interrupts(INT_EXT);
setup_counters(RTCC_INTERNAL,RTCC_DIV_2);
port_a=0;
port_b=0;
port_a=0;
port_b=0;
while(TRUE)
{
if(input(pin_b4)==1)
{
printf("1"
;
}
if(input(pin_b5)==1)
{
printf("2"
;
}
}
}
saludos...
pd.: si me equivoke en algo porva corrijanme.
chau