Un cordial saludo a todos...
Temo malograr alguna parte del micro-controlador por mi desconocimiento, así que recurro a vosotros para disipar esta duda.
Que ocurre si al definir el puerto B así ( Nibble más significativo como salida, Nibble menos significativo como entrada ):
BSF STATUS,RP0 ; Posición: banco 1; { Configurar entradas/Salidas}
CLRF PORTB ; 0x00 en el puerto B ¿No se si esto sea necesario?, TRISB reporta warning. Funciona bien con PORTB ¿desconosco porque?
MOVLW B'00001111' ; W=0x0F - Nibble más significativo como salida, Nibble menos significativo como entrada
MOVWF PORTB ; PORTB = W ; { PORTB=0x0F }
BCF STATUS,RP0 ; Posición: banco 0
En algún momento cuando me encuentre ubicado en el banco 0, envió la siguiente instrucción:
MOVLW B'11001100' ; W=0xCC
MOVWF PORTB ; PORTB = W ; { PORTB=0xCC }
Tengo entendido que el nibble más significativo (los pines <PB4:PB7>) que son salidas tomarían los siguiente valores:
| PUERTO_PIN | I/O | Valor | Voltaje |
| PuertoB_7 | Salida | 1 | +5 |
| PuertoB_6 | Salida | 1 | +5 |
| PuertoB_5 | Salida | 0 | 0 |
| PuertoB_4 | Salida | 0 | 0 |
Pero... ¿que ocurriría en el nibble menos significativo que son entradas?
| PUERTO_PIN | I/O | Valor | Voltaje |
| PuertoB_3 | Entrada | 1 | ¿? |
| PuertoB_2 | Entrada | 1 | ¿? |
| PuertoB_1 | Entrada | 0 | ¿? |
| PuertoB_0 | Entrada | 0 | ¿? |
Agradezco sus comentarios al respecto, muchas gracias.