Documente Academic
Documente Profesional
Documente Cultură
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.
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.
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.
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.
-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
-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
-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
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
-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
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(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"