Entonces voy a ponerte el codigo del programa que tengo:
list p=16F84A
#include P16F84A.inc
Led equ 0 ; Definimos Led como el bit cero de un registro, en este caso PORTB.-
Pulsador equ 0 ; Definimos Pulsador como el bit 0, en este caso será para PORTA
org 0x00 ; Aquí comienza el micro.-
goto Inicio ; Salto a inicio de mi programa.-
org 0x05 ; Origen del código de programa.-
Inicio
bsf STATUS,RP0 ; Pasamos de Banco 0 a Banco 1.-
movlw b'11111' ; Muevo 11111 a W.-
movwf TRISA ; Cargo en TRISA.-
movlw b'11111110'
movwf TRISB
bcf STATUS,RP0 ; Paso del Banco 1 al Banco 0
bcf PORTB,Led ; Comienza apagado.-
;**** Control de Led ****
Bucle
btfsc PORTA,Pulsador ; Preguntamos si esta en 0 lógico.-
goto Apagar ; Esta a 1 lógico, Apagamos Led.-
bsf PORTB,Led ; Esta a 0 lógico, Encendemos Led.-
goto Bucle ; Testeamos nuevamente la condición del Pulsador.-
Apagar
bcf PORTB,Led ;Apagamos Led.-
goto Bucle ;Testeamos nuevamente la condición del Pulsador.-
End
Asi tal como esta si me corre pero estoy ocupando los dos ppuertos del pic..
como debo hacer para solamente ocupar el puerto B
Es decir por ejemplo RB1 sea la entrada del pulsador
y RB7 sea la salida al Led..
gracias Fer_TACA