Objetivos:
Describir la arquitectura de los puertos I/O, así como su configuración ya sea como entrada o salida digital.
Los PIC16F627A/628A/648A cuentan con dos puertos denominados PORTA y PORTB. Algunos pines de esos puertos de I/O cuentan con diversas funcionalidades multiplexadas (Oscilador, PWM, salida de reloj, comparadores y USART), configurables por software. En esta ocasión cubriremos el aspecto de entradas y salidas digitales.
El Puerto A
Este se compone de los registros PORTA y TRISA, PORTA está constituido por un latch de 8 bits, tiene la función de leer o escribir en los pines a través del latch. Una operación de escritura implica haber leído previamente el estado de los pines para posteriormente modificar el valor del latch. La figura 2.1 muestra la estructura general de PORTA.
Figura: 2.1 Estructura general de
PORTA
TRISA por otra parte se encarga de configurar si los pines del Puerto A serán entradas Schmitt Trigger o salidas CMOS, a excepción de RA5 que solo está habilitado solo como entrada Schmitt Trigger al carecer de un driver de salida CMOS tal como el resto del puerto.
Si se requiere configurar un pin como salida, habrá escribir un ‘0’ en el bit RA correspondiente de TRISA para que el dato de salida se escriba en el latch de ese pin. Por el contrario si se requiere que un pin actúe como entrada, habrá que escribir un ‘1’ en el bit RA correspondiente de TRISA, lo que provoca que el driver de salida de ese pin quede en alta impedancia y se habilite el buffer de entrada de lectura de datos.
Cabe mencionar aunque el Puerto A estuviese trabajando como entradas de comparador, sigue siendo controlado por TRISA, por lo que el usuario debe asegurarse de la correcta configuración de los pines.
A continuación se expondrá un ejemplo de cómo configurar el Puerto A
CLRF PORTA ; Inicializa PORTA limpiando el latch de datos.
MOVLW 0x07 ; Deshabilita los comparadores y habilita los pines
MOVWF CMCON ; como I/O
BCF STATUS, RP1
BSF STATUS, RP0 ; Selecciona el Banco 1 de memoria
MOVLW 0x1F ; Valor usado para configurar TRISA
MOVWF TRISA ; RA<4:0> quedan como entradas, TRISA<5> siempre
; será leído como ‘1’.
; El estado de TRISA<7:6> dependerá del modo de ; oscilador seleccionado.
BSF STATUS, RP1
BCF STATUS, RP0 ; Selecciona el Banco 0 de memoria.
La tabla 2.1 hace una descripción rápida de cada pin.
Tabla 2.1: Descripción de los pines de PORTA
Figura: 2.2
Diagrama a bloques de RA0 y RA1
Figura: 2.3 Diagrama a bloques de
RA2/AN2/VREF
El pin RA2 puede funcionar también como salida para
voltaje de referencia, cuando esto sucede VREF será una salida en
estado de muy alta impedancia.
El usuario deberá
configurar el bit TRISA<2> como entrada y usar cargas de alta impedancia.
Figura: 2.4 Diagrama a bloques de
RA3/AN3/CMP1
En uno de los modos de comparador definido por el registro
CMCON, los pines RA3 y RA4 se vuelven salidas de los comparadores. Los bits
TRISA<3:4> deben ser puestos a ‘0’
para habilitar las salidas y usar esa función.
Figura: 2.5 Diagrama a bloques de
RA4/T0CKI/CMP2
___
Figura: 2.6 Diagrama a bloques de
RA5/MCLR/VPP
El pin RA5 comparte funciones con VPP, cuando
se aplica un voltaje de magnitud VPP se aplican a RA5, el
microcontrolador PIC entrará en modo de programación
Figura: 2.7 Diagrama a bloques de
RA6/OSC2/CLKOUT
Figura: 2.8 Diagrama a bloques de
RA7/OSC1/CLKIN
Cuando los pines RA<6:7>, sean programados
como oscilador los datos en ellos serán ignorados y serán leídos como ‘0’.









No hay comentarios:
Publicar un comentario
Todos tus comentarios y aportaciones son bienvenidas en este sitio.