Hola:
Estoy intentando pasar la configuración del PIC16F84A al 16F88, ambos usan el oscilador externo a 4 MHz. La idea del PIC16F88 es que los puertos A y B son digitales, PORTA como salida digital y PORTB como entrada digital, no se usa para nada entradas analógicas.
Este código del 16F84 quiero convertirlo al 16F88.
Por ahora estoy liado y no logro poner el PORTB como entradas. De momento he hecho esto.
Se que no está bien porque no logro poner el PORTB en entrada digital y no se como hacerlo.
Un cordial saludo.
EDITO:
Me respondo a mi mismo.
Para cambiar de bancos debo usar dos instrucciones siempre:
He comprobado que usando una directiva te ahorra una línea de códigos. Si el proyecto es largo en ensamblador.
Las directivas las puedes ver en la ayuda del MPLAB o en Web por ahí como este:
http://www.terra.es/personal/fremiro/directivas.htm
Saludo.
Estoy intentando pasar la configuración del PIC16F84A al 16F88, ambos usan el oscilador externo a 4 MHz. La idea del PIC16F88 es que los puertos A y B son digitales, PORTA como salida digital y PORTB como entrada digital, no se usa para nada entradas analógicas.
Este código del 16F84 quiero convertirlo al 16F88.
Código:
bsf STATUS,RP0 ; Accede al Banco 1.
clrf PORTA ; Puerto A como salidas.
movlw b'11111111' ; Las 8 líneas del puerto B se configura como entradas.
movwf PORTB
bcf STATUS,RP0 ; Accede al Banco 0.
clrf PORTA ; Supuestamente la lámpara y Led apagadas.
Código:
bcf STATUS,RP1 ; Accede al banco 1.
bsf STATUS,RP0
movlw b'00000000'
movwf ANSEL ; Configura como I/O digitales.
clrf TRISA ; Poner TRISA para salida o PORTA en salid digital.
movlw b'11111111'
movwf TRISB ; Entrada digital.
bcf STATUS,RP1 ; Accede al banco 0.
bcf STATUS,RP0
clrf PORTA ; Salida digital del PORTA.
movlw b'11111111'
movwf PORTB ; Entrada digital del PORTB
Un cordial saludo.
EDITO:
Me respondo a mi mismo.
Código:
bcf STATUS,RP1 ; Accede al banco 1.
bsf STATUS,RP0
movlw b'00000000'
movwf ANSEL ; Configura como I/O digitales.
movlw b'00000000'
movwf TRISA ; Poner TRISA para salida o PORTA en salid digital.
movlw b'11111111'
movwf TRISB ; Entrada digital.
bcf STATUS,RP1 ; Accede al banco 0.
bcf STATUS,RP0
clrf PORTA ; Supuestamente la lámpara y Led apagadas.
Para cambiar de bancos debo usar dos instrucciones siempre:
Código:
bcf STATUS,RP1 ; Accede al banco 1.
bsf STATUS,RP0
He comprobado que usando una directiva te ahorra una línea de códigos. Si el proyecto es largo en ensamblador.
Código:
BANKSEL ANSEL
movlw b'00000000'
movwf ANSEL ; Configura como I/O digitales.
movlw b'00000000'
movwf TRISA ; Poner TRISA para salida o PORTA en salid digital.
movlw b'11111111'
movwf TRISB ; Entrada digital.
BANKSEL PORTA
Las directivas las puedes ver en la ayuda del MPLAB o en Web por ahí como este:
http://www.terra.es/personal/fremiro/directivas.htm
Saludo.
Última edición: