comprendo suky eso es verdad. ahorita prove lo siguiente en ccs, pero no me funciona del todo, por que cuando presiono los interruptores no lee la nueva entrada de datos, si no que se queda la anterior que leyo al iniciar el programa
void main (){
int8 valor;
TRISB=0x00;
TRISA=0x03; //ra0 y ra1 como entrada//
PORTB=0x00; //comienza apagado portb//
valor=(PORTA&0x03);
while(1){
if (valor==0)
PORTB=0;
else if (valor==1){
PORTB=1;}
else if (valor==2){
PORTB=2;}
else if (valor==3){
PORTB=3;}
}
}
no se si esta bien, pero no me funciona como quiero, es decir, cuando simulo en proteus si los dos interruptes estan pasados sera leido como "'0" y se cumplira la primera y estara apagado portb, pero en plena ejecucicon de simulacion cuando comienzo con los interruptores pasados, y digamos que dejo abierto uno que se leera como "1" no cambia la respuesta en portb, en assembler seria asi:
movf PORTA,W
andlw 0x03
addwf PCL,F
goto cero
goto uno
goto dos
goto tres
cero