Sunteți pe pagina 1din 21

PIC 16F88X

La familia del PIC 16f88x cuenta con 35 pines disponibles de propsito general E/S.
dependiendo de que perifricos estn habilitados, algunos o todos de los pines pueden no
estar disponibles como propsito general E/S. En general, cuando un perifrico es habilitado,
el pasador asociado no puede ser utilizado como un pin de propsito general E/S.
Con el propsito de sincronizar el funcionamiento de los puertos de E/S con la organizacin
interna del microcontrolador de 8 bits, ellos se agrupan, de manera similar a los registros, en
cinco puertos denotados con A, B, C, D y E. Todos ellos tienen las siguientes caractersticas en
comn:
Por las razones prcticas, muchos pines de E/S son multifuncionales. Si un pin realiza una de
estas funciones, puede ser utilizado como pin de E/S de propsito general.
Cada puerto tiene su propio registro de control de flujo, o sea el registro TRIS correspondiente:
TRISA, TRISB, TRISC etc. lo que determina el comportamiento de bits del puerto, pero no
determina su contenido.
Al poner a cero un bit del registro TRIS (pin=0), el pin correspondiente del puerto se
configurar como una salida. De manera similar, al poner a uno un bit del registro TRIS (bit=1),
el pin correspondiente del puerto se configurar como una entrada. Esta regla es fcil de
recordar: 0 = Entrada 1 = Salida.

Puerto PORTA y registro TRISA


El puerto a tiene un ancho de 8 bits, este es un puerto bidireccional, su correspondiente
registro de direccin de datos es TRISA. Una configuracin del TRISA con el bit = 1 ara que el
pin correspondiente del Puerto a sea de entrada. Limpiando el bit del TRISA (bit = 0), hace que
el pin correspondiente sea de salida. Esto quiere decir que permite controlar la salida y pone
el contenido del latch de salida en el pin seleccionado.
Todas las operaciones de escritura son operaciones leer-modificar-escribir. Por lo tanto una
escritura en un puerto implica que los pines del puerto se leen este valor es modificado y
luego escribe en el puerto de retencin de datos.
El registro TRISA controla los drivers de salida de los pines del puerto A, incluso cuando se
utilizan como entradas analgicas. El usuario debe asegurarse de que los bits en el registro
TRISA se mantienen conjunto al usuario como entradas analgicas pines E/S configurados
como entradas analgicas siempre leen 0.
El registro ANSEL se debe inicializar para configurar un canal analgico como digital de
entrada. Pines configurados como entradas analgicas "0".
Los 8 pines del puerto A se pueden ser utilizados para lectura y escritura.

Pines de funcin adicional


RA0 tiene una opcin de dormir y despertador, las 3 secciones siguientes describen estas
funciones.

Registro ANSEL
El registro ANCEL se utiliza para configurar el modo de entrada analgico de un pin E/S.
cuando ANSEL es ajustado con bit en alto (1) har que todos los pines se lean de forma digital,
y cuando este es ajustado con un bit bajo (0) permite que las configuraciones sean de forma
analgica. El estado de los bits ANSEL no tienen efecto en las funciones de salida digitales.

UNIDAD ULPWU (Ultra Low-Power Wake-up)


El microcontrolador se utiliza generalmente en los dispositivos que funcionan peridicamente
y completamente independientes utilizando una fuente de alimentacin de batera. En tal

caso, el consumo de corriente mnimo es una de las prioridades. Los ejemplos tpicos de tales
aplicaciones son: termmetros, sensores de deteccin del fuego y similar. Es conocido que al
reducir frecuencia de reloj se reduce el consumo de corriente, pues una de las soluciones ms
convenientes a este problema es bajar la frecuencia de reloj, o sea utilizar el cristal de cuarzo
de 32KHz en vez de el de 20MHz.
Un pin se configura como salida y se le lleva un uno lgico (1). Esto causa una carga del
capacitor. Inmediatamente despus, el mismo pin se configura como entrada. El cambio de
estado lgico habilita una interrupcin y el microcontrolador entra en modo de reposo. Slo
ha quedado esperar que se descargue el capacitor por la corriente de fuga fluyendo por el pin
de entrada. Despus de la descarga, se produce una interrupcin y el microcontrolador
contina con la ejecucin de programa en modo normal. Todo el procedimiento se repite.
En teora, esto es una solucin perfecta. El problema es que todos los pines capaces de causar
una interrupcin son digitales y tienen una corriente de fuga relativamente alta cuando el
voltaje sobre ellos no est cerca de los valores lmites de Vdd (1) o VSS (0). En este caso, el
condensador se descarga en poco tiempo ya que la corriente es de varias centenas de
microamperios. Por esta razn se dise el circuito ULPWU, capaz de indicar una lenta cada
de voltaje con un consumo de corriente mnimo.
La salida genera una interrupcin, mientras que la entrada est conectada a uno de los pines
del microcontrolador. Es el pin RA0. Refirindose a la Figura (R=200 ohms, C=1nF), el tiempo
de descarga es aproximadamente 30mS, mientras que un consumo total de corriente del
microcontrolador es 1000 veces ms bajo (de varias centenas de nanoamperios).
Siga estos pasos para utilizar esta funcin:
a) Cargue el capacitor en RA0 configurando el pin RA0 a la salida (1).
b) Configure RA0 como entrada.
c) Establecer el bit ULPWUIE del registro PIE2 para habilitar la interrupcin.
d) Establezca el bit ULPWUE del registro PCON para comenzar la descarga del capacitor.
e) Ejecutar una instruccin SLEEP.
Cuando el voltaje en RA0 cae por debajo de VIL, se generar una interrupcin que har que el
dispositivo para despertar y ejecutar la siguiente instruccin.
Si el bit GIE del registro INTCON est establecido, el dispositivo luego llama al vector de
interrupcin (0004h).
Esta caracterstica proporciona una tcnica de baja potencia para despertarse peridicamente
el dispositivo de sueo. El tiempo de espera depende en el tiempo de descarga del circuito RC
en RA0.
Una resistencia en serie entre el condensador RA0 y el externo proporciona proteccin contra
sobre corriente para el RA0 / AN0 / ULPWU / pin C12IN0- y puede permitir la calibracin del
software del tiempo de espera.

Descripciones de los pines y esquemas.


Cada pin del puerto A se multiplexea con otras funciones. Los pines y sus funciones
combinadas se describen a continuacin.
-RA0/AN0/ULPWU/C12IN0Este pin es configurable para funcionar como:
-propsito general E/S
-entrada analgica para el ADC (convertidor analgico digital)
-una entrada analgica negativa al comparador c1 o c2
-una entrada analgica para el ULPWU

-RA1 / AN1 / C12IN1Este pin es configurable para funcionar como:


-propsito general E/S
-entrada analgica para el ADC
-una entrada analgica negativa al comparador c1 o c2

-RA2 / AN2 / VREF- / CVREF / C2IN +


Este pin es configurable para funcionar como:
-propsito general E/S
-entrada analgica para el ADC
-una entrada de referencia de voltaje negativo para el ADC y CVREF
-una salida de voltaje de referencia comparador
-una entrada analgica positiva al Comparador C2

-RA3 / AN3 / VREF + / C1IN +


Este pin es configurable para funcionar como:
-propsito general E/S
-entrada analgica para el ADC
-una entrada positiva referencia de tensin para el ADC y CVREF
-una entrada analgica positiva al comparador C1

-RA4 / T0CKI / C1OUT


Este pin es configurable para funcionar como:
-propsito general de E / S
-una entrada de reloj para Timer0
-una salida digital del comparador C1

-RA5 / AN4 / SS / C2OUT


Este pin es configurable para funcionar como:
-propsito general de E / S
-una entrada analgica para el ADC
-una seleccin de entrada de slave
-una salida digital desde Comparador C2

-RA6 / OSC2 / CLKOUT


Este pin es configurable para funcionar como:
-propsito general de E / S
-una conexin cristal/resonador
-una salida de reloj

-RA7 / OSC1 / CLKIN


Este pin es configurable para funcionar como:
-propsito general de E / S
-una conexin cristal/resonador
-una entrada de reloj

Puerto PORTB y registro TRISB


El puerto PORTB es un puerto bidireccional, de 8 bits de anchura. Los bits del registro TRISB
determinan la funcin de sus pines.
Similar al puerto PORTA, un uno lgico (1) en el registro TRISB configura el pin apropiado en el
puerto PORTB y al revs.
Los bits del registro ANSELH determinan si estos pines sern configurados como entradas
analgicas o entradas/salidas digitales.

Registro ANSELH
Se utiliza para configurar el modo de entrada de un pin de E / S a analgico. Ajustando el bit a
alto (1) har que todos los pines se lean de forma digital, y ajustndolo como bajo (0) permite
que se lean como analgicas.

weak pull-ups
Cada uno de los pines del puerto b tiene una resistencia de pull-up interna individualmente
configurable. Cada pull-up se apaga automticamente cuando el pin de puerto es configurado
como una salida. Todos los pull-ups se desactivan en un Restablecimiento al encendido por el
poco RBPU del registro OPCIN.

INTERRUPT-ON-CHANGE (interrupcin-en-cambio)
Todos los pines de PORTB son configurables individualmente como un pin de interrupcin-alcambiar. Bits de control IOCB <7: 0> activa o desactiva la funcin de interrupcin para cada
pin.
Esta interrupcin puede despertar el dispositivo del sueo. El usuario, en la rutina de servicio
de interrupcin, borra la interrupcin a travs de:
a) Cualquier lectura o escritura de PORTB. Esto pondr fin a la condicin de conflicto.
b) Desactive la RBIF bit de bandera.

Descripcin de los pines del puerto B


-RB0/AN12/INT
Este pin es configurable para ser usado como:
-propsito general de E/S
-una entrada analgica para el ADC
-un borde externo comunicado con interrumpir
-RB1/AN10/P1C(1)/C12IN3Este pin es configurable para ser usado como:
-propsito general de E/S
-una entrada analgica para el ADC
-una salida PWM
-una entrada analgica al comparador C1 o C2
- RB2/AN8/P1B(1)
Este pin es configurable para ser usado como:
-propsito general de E/S
-una entrada analgica para el ADC
-una salida PWM
-RB3/AN9/PGM/C12IN2Este pin es configurable para ser usado como:
-propsito general de E/S
-una entrada analgica para el ADC
-habilitador de pin de baja tensin en circuito de programacin en serie
-una entrada analgica al comparador c1 o c2

-RB4/AN11/P1D(1)
Este pin es configurable para ser usado como:
-propsito general de E/S
-una entrada analgica para el ADC
-una salida PWM
- RB5/AN13/T1G
Este pin es configurable para ser usado como:
-propsito general de E/S
-una entrada analgica para el ADC
-entrada para el timer 1
-RB6/ICSPCLK

Este pin es configurable para ser usado como:


-propsito general de E/S
-un circuito serie de reloj programable
-RB7/ICSPDAT
Este pin es configurable para ser usado como:
-propsito general de E/S
-circuito de programacin serie de datos

Puerto PORTC y registro TRISC


El puerto PORTC es un puerto bidireccional, de 8 bits de anchura. Los bits del registro TRISC
determinan la funcin de sus pines. Similar a otros puertos, un uno lgico (1) en el registro
TRISC configura el pin apropiado del puerto PORTC como entrada.

Descripcin de los pines del puerto C

-RC0/T1OSO/T1CKI
Este pin es configurable para ser usado como:
-propsito general de E/S
-una salida del oscilador del timer 1
-una entrada del reloj timer 1

-RC1/T1OSI/CCP2
Este pin es configurable para ser usado como:
-propsito general de E/S

-una salida del oscilador del timer 1


-una entrada de Captura y Comparar salida / PWM para el Comparador C2

-RC2/P1A/CCP1
Este pin es configurable para ser usado como:
-propsito general de E/S
-una salida PWM
-una entrada de Captura y Comparacin de salida para el Comparador C1

-RC3/SCK/SCL
Este pin es configurable para ser usado como:
-propsito general de E/S
-un reloj SPI
-un reloj I2C

-RC4/SDI/SDA
Este pin es configurable para ser usado como:
-propsito general de E/S
-un SPI de datos de E/S
-un I2C de datos E/S

-RC5/SDO
Este pin es configurable para ser usado como:
-propsito general de E/S
-una salida de datos en serie

-RC6/TX/CK
Este pin es configurable para ser usado como:
-propsito general de E/S
-una salida serie asncrono
-un reloj sncrono de E/S

-RC7/RX/DT
Este pin es configurable para ser usado como:
-propsito general de E/S
-una entrada serie asncrono
-una serie de datos E/S sncrona

Puerto PORTD y registro TRISD

El puerto PORTD es un puerto bidireccional de 8 bits de anchura. Los bits del registro TRISD
determinan la funcin de sus pines. Similar a otros puertos, un uno lgico (1) en el registro
TRISD configura el pin apropiado del puerto PORTD como entrada.
Este puesto esta solo proporcionado en los PIC 16f884/887

Descripcin de los pines del puerto c

-RD<4:0>
Estos 5 pines estn configurados como propsito general de E/S

-RD5/P1B(1)
Este pin es configurable para ser usado como:
-propsito general de E/S
-una salida PWM
-RD6 / P1C (1)
Este pin es configurable para ser usado como:
-propsito general de E/S
-una salida PWM
-RD7/P1D(1)
Este pin es configurable para ser usado como:
-propsito general de E/S
-una salida PWM

Puerto PORTE y registro TRISE

El puerto PORTE es un puerto bidireccional, de 4 bits de anchura. Los bits del registro TRISE
determinan la funcin de sus pines. Similar a otros puertos, un uno lgico (1) en el registro
TRISE configura el pin apropiado del puerto PORTE como entrada.
La excepcin es el pin RE3, que siempre est configurado como entrada.

Similar a los puertos PORTA y PORTB, en este caso los tres pines se pueden configurar como
entradas analgicas. Los bits del registro ANSEL determinan si estos pines sern configurados
como entradas analgicas (AN) o entradas/salidas digitales:

RE0 = AN5 (determinado por el bit ANS5 del registro ANSEL);


RE1 = AN6 (determinado por el bit ANS6 del registro ANSEL); y
RE2 = AN7 (determinado por el bit ANS7 del registro ANSEL).
Este puerto esta solo proporcionado a los PICS 16f884/887.

Descripcin de los pines del puerto e

-RE0/AN5(1)
Este pin es configurable para ser usado como:
-propsito general de E/S
-una entrada analgica para el ADC

-RE1/AN6(1)
Este pin es configurable para ser usado como:
-propsito general de E/S
-una entrada analgica para el ADC

-RE2/AN7(1)
Este pin es configurable para ser usado como:
-propsito general de E/S
-una entrada analgica para el ADC

-RE3/MCLR/VPP
Este pin es configurable para ser usado como:
-propsito general de E/S
-restablecer como borrador con "weak pull-up"

S-ar putea să vă placă și