domingo, 2 de febrero de 2014

Práctica 2: Uso de los puertos I/O 1ª Parte



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.