Vous êtes sur la page 1sur 10

ELEKTRONIKA INDUXTRIAL MIKROKONTROLADORES I

GESTION DE PUERTOS
PUERTOS DE ENTRADA/SALIDA

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 PORTA es un puerto bidireccional, de 8 bits de anchura. Los bits de los registros
TRISA y ANSEL controlan los pines del PORTA. Todos los pines del PORTA se comportan
como entradas/salidas digitales. Cinco de ellos pueden ser entradas analgicas
(denotadas por AN):

Tec. NICANOR ALMIDON 956410288


ELEKTRONIKA INDUXTRIAL MIKROKONTROLADORES I

RA0 = AN0 (determinado por el bit ANS0 del registro ANSEL)


RA1 = AN1 (determinado por el bit ANS1 del registro ANSEL)
RA2 = AN2 (determinado por el bit ANS2 del registro ANSEL)
RA3 = AN3 (determinado por el bit ANS3 del registro ANSEL)
RA5 = AN4 (determinado por el bit ANS4 del registro ANSEL)

Similar a que los bits del registro TRISA determinan cules pines sern configurados
como entradas y cules sern configurados como salidas, los bits apropiados del registro
ANSEL determinan si los pines sern configurados como entradas analgicas o
entradas/salidas digitales.

Una de las peculiaridades del PORTA es el pin


RA4/TOCKI. Este pin puede ser configurado como
entrada/salida digital o bien como entrada de
temporizador/contador. El quebradero de cabeza de
todo programador que comienza en el mundo de los
PICs es el uso del RA4 como salida/entrada digital.

El pin RA4 configurado como I/O se comporta como


colector abierto, por lo tanto, se debe conectar una
resistencia de pull-up (resistencia conectada entre el
pin y VDD). Por esto, cabe destacar, que como salida
se comporta al contrario que otro pin. Un 1 lgico en la salida corresponde a un 0 por
software. Adems como salida no puede soportar grandes cargas de fuente, solo en modo
sumidero.

Tec. NICANOR ALMIDON 956410288


ELEKTRONIKA INDUXTRIAL MIKROKONTROLADORES I

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 seis pines de este puerto se pueden
comportar como las entradas analgicas (AN). Los bits del registro ANSELH determinan
si estos pines sern configurados como entradas analgicas o entradas/salidas digitales:

RB0 = AN12 (determinado por el bit ANS12 del registro ANSELH)


RB1 = AN10 (determinado por el bit ANS10 del registro ANSELH)
RB2 = AN8 (determinado por el bit ANS8 del registro ANSELH)
RB3 = AN9 (determinado por el bit ANS9 del registro ANSELH)
RB4 = AN11 (determinado por el bit ANS11del registro ANSELH)
RB4 = AN11 (determinado por el bit ANS11del registro ANSELH)

Cada bit de este puerto tiene una funcin adicional relacionada a algunas unidades
perifricas integradas, que vamos a describir en las siguientes lecciones.

Este puerto dispone de varias caractersticas por las que se distingue de otros puertos y
por las que sus pines se utilizan con frecuencia:

Todos los pines del puerto PORTB tienen las resistencias pull-up integradas, que los
hacen perfectos para que se conecten con los botones de presin (con el teclado),
interruptores y optoacopladores. Con el propsito de conectar las resistencias a los
puertos del microcontrolador, el bit apropiado del registro WPUB debe estar a uno.

Tec. NICANOR ALMIDON 956410288


ELEKTRONIKA INDUXTRIAL MIKROKONTROLADORES I

Al tener un alto nivel de resistencia (varias decenas de kiloohmios), estas resistencias


"virtuales" no afectan a los pines configurados como salidas, sino que sirven de un
complemento til a las entradas. Estas resistencias estn conectados a las entradas de los
circuitos lgicos CMOS. De lo contrario, se comportaran como si fueran flotantes gracias
a su alta resistencia de entrada.

Adems de los bits del registro WPUB, hay otro bit que afecta a la instalacin de las
resistencias pull-up. Es el bit RBPU del registro OPTION_REG.

Al estar habilitado, cada bit del puerto PORTB configurado como una entrada puede
causar una interrupcin al cambiar su estado lgico. Con el propsito de habilitar
que los terminales causen una interrupcin, el bit apropiado del registro IOCB debe
estar a uno.

Tec. NICANOR ALMIDON 956410288


ELEKTRONIKA INDUXTRIAL MIKROKONTROLADORES I

Gracias a estas caractersticas, los pines del puerto PORTB se utilizan con frecuencia para
comprobar los botones de presin en el teclado ya que detectan cada apretn de botn
infaliblemente. Por eso, no es necesario examinar todas las entradas una y otra vez.

Cuando los pines X,Y y Z se configuran como entradas de puesta a uno (1), slo se
necesita esperar una peticin de interrupcin que aparece al apretar un botn. Ms tarde,
se comprueba cul botn fue activado al combinar ceros y unos en las entradas.

PIN RB0/INT

El pin RB0/INT es la nica fuente verdadera de la interrupcin externa. Se puede


configurar de manera que reaccione al borde ascendente de seal (transicin de cero a
uno) o al borde descendente de seal (transicin de uno a cero). El bit INTEDG del
registro OPTION_REG selecciona la seal apropriada.

PINES RB6 Y RB7

Tec. NICANOR ALMIDON 956410288


ELEKTRONIKA INDUXTRIAL MIKROKONTROLADORES I

El PIC16F887 no dispone de ningn pin especial para la programacin (el proceso de


escribir un programa en la ROM). Los pines que generalmente estn disponibles como los
pines de E/S de propsito general, se utilizan para este propsito. Para decir con ms
precisin, son los pines del puerto PORTB utilizados para la transmisin de seal de reloj
(RB6) y de datos (RB7) al cargar el programa. Adems, es necesario suministrar el voltaje
de alimentacin Vdd (5V) as como el voltaje apropiado Vpp (12-14V) para la
programacin de memoria FLASH. Durante la programacin, el voltaje Vpp se aplica al
pin MCLR. No se preocupe de los detalles relacionados a este proceso, tampoco se
preocupe de cul voltaje se aplica primero puesto que los componentes del programador
se encargan de eso. Lo que es
muy importante es que el
programa se puede cargar al
microcontrolador an despus
de haber sido soldado en el
dispositivo destino. Por
supuesto, el programa cargado
se puede cambiar de la misma
manera. Esta funcin se le
denomina ICSP (In-Circuit Serial
Programming - Programacin serial en circuito)

Para utilizarlo correctamente es necesario planificar con antelacin. Es pan comido! Slo
es necesario instalar un conector miniatura de 5 pines en el dispositivo destino para
suministrar al microcontrolador un voltaje de
programacin necesario. Para evitar la interferencia
entre los voltajes y los componentes del dispositivo
conectados a los pines del microcontrolador, todos los
perifricos adicionales deben estar desconectados
durante la programacin (utilizando las resistencias o
los puentes).

Como hemos visto, los voltajes aplicados a los pines del


zcalo del programador son los mismos que los
utilizados durante la programacin ICSP.

Tec. NICANOR ALMIDON 956410288


ELEKTRONIKA INDUXTRIAL MIKROKONTROLADORES I

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.

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.

Tec. NICANOR ALMIDON 956410288


ELEKTRONIKA INDUXTRIAL MIKROKONTROLADORES I

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).

Tec. NICANOR ALMIDON 956410288


ELEKTRONIKA INDUXTRIAL MIKROKONTROLADORES I

Caractersticas Elctricas de los Puertos.


En la siguiente tabla de especificaciones elctricas, podemos observar todos los valores
mximos de corriente y voltaje de los pines de los diferentes puertos de PIC.

Como vemos la corriente mxima de entrada y de salida en cualquier pin I/O es de 25mA.
Pero en el global del puerto slo es de 100mA de entrada y salida tanto en el PORTA
como en el PORTB.
Tambin vemos que la mxima corriente de entrada en el pin VDD es de 200mA y en Vss
es tambin 200mA pero en esta ocasin de salida.
Todos estos valores mximos hay que tenerlos en cuenta a la hora de disear un
circuito con el PIC.

Las salidas del PIC pueden entregar niveles TTL siempre y cuando el voltaje de
alimentacin aplicado a VDD sea de 5V.

Tec. NICANOR ALMIDON 956410288


ELEKTRONIKA INDUXTRIAL MIKROKONTROLADORES I

CONEXIONES BASICAS DEL MICROCONTROLADOR


PIC16F877A

Tec. NICANOR ALMIDON 956410288