Dependiendo del dispositivo seleccionado dentro de la familia PIC18Fxx20, se puede disponer de hasta nueve puertas de entrada/salida para los dispositivos de 80 patitas y siete para los de 64.
Todas estas líneas están multiplexadas, es decir, pueden realizar una función u otra según se con- figuren en el programa. Cada puerta tiene tres registros que comienzan por TRIS, PORT y LAT, y les sigue la letra que identifica a la puerta: A, B, C, D, E, F, G, H, J.
281
Periféricos y
recursos específicos
16
●
● TRIS: Para la configuración de las patitas como entrada/salida.
●
● PORT: Para almacenar los niveles lógicos de las patitas.
●
● LAT: Para inhibir la salida de los niveles.
En la Figura 16.1 se muestra un modelo simplificado de una puerta de entrada/salida sin las unio- nes con otros periféricos.
Como ya ocurriera con sus antecesores, la configuración de las puertas se realiza poniendo ‘0’ o
‘1’ en cada una de las posiciones del registro TRIS correspondiente: ‘0’ para configurar esa patita como salida y ‘1’ para configurarla como entrada. Si es entrada el valor que se encuentre en esa pa- tita pasará a PORT y si es salida ocurrirá al contrario. Los registros LAT sirven para inhibir la sali- da de los niveles lógicos.
16.1.1. La Puerta A
Esta puerta tiene 7 líneas. Todas ellas pueden ser entrada/salida digital configurando el registro AD- CON1 de manera adecuada. Además, cinco de ellas pueden ser entradas al conversor analógico/di- gital. RA2-RA3 pueden servir también como entradas de referencia a dicho conversor. La segunda función de RA4 es la de entrada de pulsos para el TMR0. RA5 podrá cumplir además la función de detección de voltaje bajo, o ser patita de entrada para la selección de esclavo en la comunicación serie síncrona. Por último, RA6 podrá funcionar como línea de reloj. La explicación detallada de
todas estas funciones se presenta en la tabla de la Figura 16.2. En la Figura 16.3 se muestran los re- gistros asociados para la configuración de todas estas funciones.
NOMBRE LÍNEA DESCRIPCIÓN
RA0/AN0 Entrada/salida digital o entrada analógica RA1/AN1 Entrada/salida digital o entrada analógica
RA2/AN2/VREF- Entrada/salida digital, entrada analógica o tensión de referencia negativa RA3/AN3/VREF+ Entrada/salida digital, entrada analógica o tensión de referencia positiva
RA4/T0CKI Entrada/salida digital o entrada externa de reloj para el TMR0. La salida es de colector abierto RA5/AN4/LVDIN Entrada/salida digital, selección de esclavo en MSSP, entrada analógica o detección de voltaje bajo OSC2/CLKO/RA6 Entrada/salida digital, salida de reloj o patita 2 del oscilador
NOMBRE BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 VALOR EN POR, BOR
PORTA — Registro de datos de la puerta A -x0x 0000
LATA — Registro cerrojo de la Puerta A -xx xxxx
TRISA — Registro de configuración de la Puerta A -111 1111
ADCON1 — — VCFG1 VCFG0 PCFG3 PCFG2 PCFG1 PCFG0 --00 0000
Figura 16.1. Modelo simplificado de puerta de entrada/salida.
Figura 16.2.Funciones de las líneas de la Puerta A.
Figura 16.3. Resumen de los bits de los registros que se utilizan en el manejo y programación de la Puerta A.
16.1.2. La Puerta B
Esta puerta tiene 8 líneas con resistencias de Pull-upinternas que se pueden habilitar con el bit RB- PU#. Todas ellas pueden ser entrada/salida digital. Conserva además las ya conocidas funciones de
servir de interrupción externa por flanco (RB0), aunque hay cuatro interrupciones externas (RB0 a RB3) en lugar de una. También se mantiene la interrupción por cambio de nivel (RB4-RB7). Las tres patitas para la programación serie en circuito (ICSPTM) están implementadas en esta puerta. Por último, una de las patitas sirve de entrada/salida para el módulo CCP2. Las Figuras 16.4 y 16.5 re- sumen las funciones y los registros que intervienen en el funcionamiento de la Puerta B.
NOMBRE LÍNEA DESCRIPCIÓN
RB0/INT0 Entrada/salida digital o entrada de interrupción externa 0 RB1/INT1 Entrada/salida digital o entrada de interrupción externa 1 RB2/INT2 Entrada/salida digital o entrada de interrupción externa 2
RB3/INT3/CCP2 Entrada/salida digital, entrada de interrupción externa 3 o entrada/salida de módulo CCP2 RB4/KBI0 Entrada/salida digital con interrupción por cambio
RB5/KBI1/PGM Entrada/salida digital con interrupción por cambio o habilitador de grabación en bajo voltaje ICSP RB6/KBI2/PGC Entrada/salida digital con interrupción por cambio o reloj para programación serie
RB7/KBI3/PGD Entrada/salida digital con interrupción por cambio o datos para programación serie
Figura 16.4. Funciones de las líneas de la Puerta B.
16.1.3. La Puerta C
Esta puerta tiene 8 líneas. Además de actuar como entradas/salidas digitales guardan relación con los módulos CCP, las comunicaciones del USART1 y del módulo MSSP, y el oscilador y entrada de pulsos del TMR1 y TMR1/TMR3. El funcionamiento con estos periféricos puede variar el valor asignado a las líneas de TRISC. Las Figuras 16.6 y 16.7 resumen las funciones y los registros que intervienen en el funcionamiento de la Puerta C.
NOMBRE BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 VALOR EN POR, BOR
PORTB Registro de datos de la puerta B xxxx xxxx
LATB Registro cerrojo de la Puerta B xxxx xxxx
TRISB Registro de configuración de la Puerta B 1111 1111
INTCON GIE/GIEH PEIE/GIEL INT0IE INT0IE RBIE TMR0IF INT0IF RBIF 0000 0000 INTCON2 RBPU INTEDG0 INTEDG1 INTEDG2 INTEDG3 TMR0IP INT3IP RBIP 1111 1111 INTCON3 INT2IP INT1IP INT3IP INT2IE INT1IE INT3IF INT2IF INT1IF 1100 0000
Figura 16.5. Resumen de los bits de los registros que se utilizan en el manejo y programación de la Puerta B.
Figura 16.6. Funciones de las líneas de la Puerta C.
NOMBRE LÍNEA DESCRIPCIÓN
RC0/T1OSO/T13CKI Entrada/salida digital, salida de oscilador del TMR1 o entrada de reloj de TMR1/TMR3 RC1/T1OSI/CCP2 Entrada/salida digital, entrada de oscilador del TMR1 o entrada/salida de módulo CCP2 RC2/CCP1 Entrada/salida digital o entrada/salida de módulo CCP1
RC3/SCK/SCL Entrada/salida digital o reloj para los modos SPI e I2C RC4/SDI/SDA Entrada/salida digital o línea de datos para los modos SPI e I2C RC5/SDO Entrada/salida digital o línea de datos para el modo SPI
RC6/TX1/CK1 Entrada/salida digital, o línea de transmisión asíncrona de datos o de reloj del USART1
RC7/RX1/DT1 Entrada/salida digital, o línea de recepción asíncrona de datos o línea síncrona de datos del USART1
16.1.4. La Puerta D
Esta puerta tiene 8 líneas. Mantienen la función de entrada/salida digital y si se usa el puerto para- lelo se utiliza como el puerto de datos. Todas sus líneas pueden configurarse además como bits del bus de dirección/dato. Las Figuras 16.8 y 16.9 resumen las funciones y los registros que intervienen en el funcionamiento de la Puerta D.
NOMBRE BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 VALOR EN POR, BOR
PORTC Registro de datos de la puerta C xxxx xxxx
LATC Registro cerrojo de la Puerta C xxxx xxxx
TRISC Registro de configuración de la Puerta C 1111 1111
Figura 16.7. Resumen de los bits de los registros que se utilizan en el manejo y programación de la Puerta C.
Figura 16.8. Funciones de las líneas de la Puerta D.
NOMBRE LÍNEA DESCRIPCIÓN
RD0/PSP0/AD0 Entrada/salida digital, bit 0 del puerto paralelo o bit 0 del bus de datos/direcciones RD1/PSP1/AD1 Entrada/salida digital, bit 1 del puerto paralelo o bit 1 del bus de datos/direcciones RD2/PSP2/AD2 Entrada/salida digital, bit 2 del puerto paralelo o bit 2 del bus de datos/direcciones RD3/PSP3/AD3 Entrada/salida digital, bit 3 del puerto paralelo o bit 3 del bus de datos/direcciones RD4/PSP4/AD4 Entrada/salida digital, bit 4 del puerto paralelo o bit 4 del bus de datos/direcciones RD5/PSP5/AD5 Entrada/salida digital, bit 5 del puerto paralelo o bit 5 del bus de datos/direcciones RD6/PSP6/AD6 Entrada/salida digital, bit 6 del puerto paralelo o bit 6 del bus de datos/direcciones RD7/PSP7/AD7 Entrada/salida digital, bit 7 del puerto paralelo o bit 7 del bus de datos/direcciones
16.1.5. La Puerta E
Esta puerta tiene 8 líneas. Junto con la función de entrada/salida digital, se encuentran las de servir de líneas de control en la comunicación paralela o ser bits de dirección/dato. RE7 funciona además con el módulo CCP2. Las Figuras 16.10 y 16.11 resumen las funciones y los registros que intervie- nen en el funcionamiento de la Puerta E.
NOMBRE BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 VALOR EN POR, BOR
PORTD Registro de datos de la puerta D xxxx xxxx
LATD Registro cerrojo de la Puerta D xxxx xxxx
TRISD Registro de configuración de la Puerta D 1111 1111
PSPCON IBF OBF IBOV PSPMODE — — — — 0000 ----
MEMCON EBDIS — WAIT1 WAIT0 — — WM1 WM0 0-00 --00
Figura 16.9. Resumen de los bits de los registros que se utilizan en el manejo y programación de la Puerta D.
16.1.6. La Puerta F
Consta de 8 líneas. Además de entrada/salida digital, siete de sus líneas pueden ser entradas analó- gicas para el conversor y la octava servir para la selección de esclavo cuando se trabaja con el mó- dulo MSSP. De esas siete, seis guardan relación con el comparador pues actúan como entrada, sali- da o tensión de referencia de éste. Si se quieren utilizar como líneas normales el comparador deberá estar deshabilitado. Las Figuras 16.12 y 16.13 resumen las funciones y los registros que intervienen en el funcionamiento de la Puerta F.
Figura 16.10.Funciones de las líneas de la Puerta E.
NOMBRE LÍNEA DESCRIPCIÓN
RE0/RD#/AD8 Entrada/salida digital, línea de control de lectura del Puerto Paralelo Esclavo o bit 8 del bus de datos/direcciones RE1/WR#/AD9 Entrada/salida digital, línea de control de escritura del Puerto Paralelo Esclavo o bit 9 del bus de datos/direcciones RE2/RD#/AD10 Entrada/salida digital, línea de control de selección del Puerto Paralelo Esclavo o bit 10 del bus de datos/direcciones RE3/AD11 Entrada/salida digital o bit 11 del bus de datos/direcciones
RE4/AD12 Entrada/salida digital o bit 12 del bus de datos/direcciones RE5/AD13 Entrada/salida digital o bit 13 del bus de datos/direcciones RE6/AD14 Entrada/salida digital o bit 14 del bus de datos/direcciones
RE7/CCP2/AD15 Entrada/salida digital, entrada/salida de módulo CCP2 o bit 15 del bus de datos/direcciones
NOMBRE BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 VALOR EN POR, BOR
TRISE Registro de configuración de la Puerta E 1111 1111
PORTE Registro de datos de la puerta E xxxx xxxx
LATE Registro cerrojo de la Puerta E xxxx xxxx
PSPCON IBF OBF IBOV PSPMODE — — — — 0000 ----
MEMCON EBDIS — WAIT1 WAIT0 — — WM1 WM0 0-00 --00
Figura 16.11.Resumen de los bits de los registros que se utilizan en el manejo y programación de la Puerta E.
Figura 16.12.Funciones de las líneas de la Puerta F.
NOMBRE LÍNEA DESCRIPCIÓN
RF0/AN5 Entrada/salida digital o entrada analógica
RF1/AN6/C2OUT Entrada/salida digital, entrada analógica o salida 2 del comparador RF2/AN7/C1OUT Entrada/salida digital, entrada analógica o salida 1 del comparador RF3/AN8 Entrada/salida digital, entrada analógica o entrada al comparador RF4/AN9 Entrada/salida digital, entrada analógica o entrada al comparador
RF5/AN10/CVREF Entrada/salida digital, entrada analógica, entrada al comparador o salida de referencia del comparador RF6/AN11 Entrada/salida digital, entrada analógica o entrada al comparador
RF7/SS# Entrada/salida digital o patita de selección de esclavo en módulo MSSP
16.1.7. La Puerta G
Esta puerta tiene 5 líneas. Cada una tiene dos funciones: entrada/salida digital y ser entrada/salida de uno de los módulos CCP o participar en la comunicación del USART2. Las Figuras 16.14 y 16.15 resumen las funciones y los registros que intervienen en el funcionamiento de la Puerta G.
NOMBRE BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 VALOR EN POR, BOR
TRISF Registro de configuración de la Puerta F 1111 1111
PORTF Registro de datos de la puerta F xxxx xxxx
LATF Registro cerrojo de la Puerta F xxxx xxxx
ADCON1 — — VCFG1 VCFG0 PCFG3 PCFG2 PCFG1 PCFG0 --00 0000
CVRCON CVREN CVROE CVRR CVRSS CVR3 CVR2 CVR1 CVR0 0000 0000
CMCON C2OUT C1OUT C2INV C1INV CIS CM2 CM1 CM0 0000 0000
Figura 16.13.Resumen de los bits de los registros que se utilizan en el manejo y programación de la Puerta F.
Figura 16.14.Funciones de las líneas de la Puerta G.
NOMBRE LÍNEA DESCRIPCIÓN
RG0/CCP3 Entrada/salida digital o entrada/salida de módulo CCP3
RG1/TX2/CK2 Entrada/salida digital, o línea de transmisión asíncrona de datos o de reloj del USART2
RG2/RX2/DT2 Entrada/salida digital, o línea de recepción asíncrona de datos o línea síncrona de datos del USART2 RG3/CCP4 Entrada/salida digital o entrada/salida de módulo CCP4
RG4/CCP5 Entrada/salida digital o entrada/salida de módulo CCP5
16.1.8 La Puerta H
Tiene 8 líneas. Además de funcionar cómo entrada/salida digital, cuatro de ellas pueden ser entra- das analógicas y las otras cuatro, bits de dirección para el interfaz de memoria externa. Las Figu- ras 16.16 y 16.17 resumen las funciones y los registros que intervienen en el funcionamiento de la Puerta H.
NOMBRE BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 VALOR EN POR, BOR
PORTG — — — Registro de datos de la puerta G ---x xxxx
TRISG — — — Registro de configuración de la Puerta G ---1 1111
LATG — — — Registro cerrojo de la Puerta G ---x xxxx
Figura 16.15.Resumen de los bits de los registros que se utilizan en el manejo y programación de la Puerta G.
16.1.9. La Puerta J
Dispone de 8 líneas que se dedican a ser entrada/salida digital o a participar en el control del inter- faz de memoria externa. Las Figuras 16.18 y 16.19 resumen las funciones y los registros que inter- vienen en el funcionamiento de la Puerta J.
NOMBRE BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 VALOR EN POR, BOR
TRISH Registro de configuración de la Puerta H 1111 1111
PORTH Registro de datos de la puerta H xxxx xxxx
LATH Registro cerrojo de la Puerta H xxxx xxxx
ADCON1 — — VCFG1 VCFG0 PCFG3 PCFG2 PCFG1 PCFG0 --00 0000
MEMCON EBDIS — WAIT1 WAIT0 — — WM1 WM0 0-00 --00
NOMBRE PATITA DESCRIPCIÓN
RH0/A16 Entrada/salida digital o bit 16 de dirección para interfaz de memoria externa RH1/A17 Entrada/salida digital o bit 17 de dirección para interfaz de memoria externa RH2/A18 Entrada/salida digital o bit 18 de dirección para interfaz de memoria externa RH3/A19 Entrada/salida digital o bit 19 de dirección para interfaz de memoria externa RH4/AN12 Entrada/salida digital o entrada analógica
RH5/AN13 Entrada/salida digital o entrada analógica RH6/AN14 Entrada/salida digital o entrada analógica RH7/AN15 Entrada/salida digital o entrada analógica
Figura 16.16.Funciones de las líneas de la Puerta H.
Figura 16.17.Resumen de los bits de los registros que se utilizan en el manejo y programación de la Puerta H.
Figura 16.18.Funciones de las líneas de la Puerta J.
NOMBRE PATITA DESCRIPCIÓN
RJ0/ALE Entrada/salida digital o control de habilitación de dirección para interfaz de memoria externa RJ1/OE Entrada/salida digital o control de habilitación de salida para interfaz de memoria externa RJ2/WRL Entrada/salida digital o control de escritura del byte bajo para interfaz de memoria externa RJ3/WRH Entrada/salida digital o control de escritura del byte alto para interfaz de memoria externa RJ4/BA0 Entrada/salida digital o control de byte de dirección 0 para interfaz de memoria externa RJ5/CE Entrada/salida digital o control de selección de dispositivo para interfaz de memoria externa RJ6/LB Entrada/salida digital o control de selección de byte inferior para interfaz de memoria externa RJ7/UB Entrada/salida digital o control de selección de byte superior para interfaz de memoria externa
Figura 16.19.Resumen de los bits de los registros que se utilizan en el manejo y programación de la Puerta J.
NOMBRE BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 VALOR EN POR, BOR
PORTJ Registro de datos de la puerta J xxxx xxxx
LATJ Registro cerrojo de la Puerta J xxxx xxxx
TRISJ Registro de configuración de la Puerta J 1111 1111