Você está na página 1de 18

TCNICAS DIGITALES 2

PIC18F1320
USO DE LOS PUERTOS

Autor: Ing. GUILLERMO A. FERNNDEZ


Carrera de Ingeniera Electrnica Facultad de Ingeniera
Universidad Nacional de Misiones
Ober Misiones Argentina

- Ao 2013 -

INTRODUCCIN
Los microcontroladores pueden interactuar con el mundo exterior gracias a sus puertos. Los
mismos permiten el ingreso o salida de informacin. Los puertos estn constituidos por una serie
de lneas o pines que pueden configurarse individualmente como salida o entrada digital (y en
algunos casos como entradas analgicas). A continuacin se explica el procedimiento para utilizar
los puertos incluidos en el PIC18F1320.

DIAGRAMA DE PINES

PINES COMPARTIDOS
Como puede apreciarse en el diagrama de
pines, los puertos poseen lneas de E/S
compartidas con otras funciones que
corresponden a otros mdulos internos del
microcontrolador.

Puerto A (PORTA)

Puerto B (PORTB)

Este puerto posee 8 lneas de E/S (RA7:RA0).


De estas lneas, slo RA5 es entrada, el resto
puede configurarse individualmente como
entrada o salida. Las lneas RA3:RA0, estn
compartidas con las entradas analgicas
AN0.AN3. Las lneas RA6 y RA7, slo pueden
utilizarse si el micro est configurado para
funcionar con el oscilador interno.

Este puerto posee 8 lneas de E/S (RB7:RB0). Todas las lneas pueden configurarse individualmente como entrada o
salida. Las lneas RB0, RB1 y RB4, estn compartidas con las entradas analgicas AN4.AN6. Las lneas RB6 y RB7
son utilizadas para la programacin del microcontrolador.
U.Na.M. Facultad de Ingeniera Tcnicas Digitales 2 Ing. Guillermo A. Fernndez

CONFIGURACIN Y LECTURA/ESCRITURA DE LOS PUERTOS


Para configurar los puertos como lneas de E/S digitales y efectuar operaciones de lectura y escritura sobre los
mismos, los microcontroladores PIC18F1320 disponen de un par de registros denominados TRISx, PORTx y LATx
(con x = A o B) para cada puerto. Los registros TRISx permiten configurar individualmente las lneas como
entradas o salidas digitales. Mientras que la lectura o escritura de los puertos es efectuada a travs de los
registros PORTx y LATx. A continuacin veremos como se utilizan los registros mencionados.
Registros TRISx: Para configurar los pines
de los puertos.

0 Output
1 Input

Registros PORTx: Para leer o escribir en los pines de los


puertos.

Registros LATx: Para leer o escribir en los pines de los puertos.


Instrucciones de Lectura-Modificacin-Escritura

ESTRUCTURA INTERNA DE UN Pin I/O GENRICO

Todas las instrucciones destinadas a escribir sobre un registro GPR o SFR lleva a
cabo un proceso de lectura-modificacin-escritura. Cuando la escritura se har
sobre los puertos del micro, esta operacin puede ocasionar una falla. Por
ejemplo si se desea ejecutar la instruccin bsf PORTB,6 para poner a UNO el
bit 6 del puerto B (RB6), el micro internamente lee todos los pines del puerto B,
modifica el valor y luego escribe sobre todo este puerto. Si uno de los pines
(distinto de RB6) presenta una tensin fuera del rango permitido para 0 y 1
en las entradas (por ejemplo este pin es utilizado para encender un led, y la
corriente entrante al uC eleva el potencial del pin por encima de VILmax), al
ejecutarse la instruccin, la lectura del nivel lgico correspondiente al pin ser
indefinido. Por este motivo, la ejecucin de bsf PORTB,6, puede alterar
equivocadamente el estado lgico de la salida que presenta la tensin prohibida
(la que enciende el led). Para evitar este inconveniente, los PIC18Fxxx disponen
de los registros LAT. Los mismos contienen la salida del latch correspondiente al
puerto (PORT) y no la lectura de los estados lgicos de cada pin del puerto.
Entonces, ejecutando bsf LATB,6 en lugar de la instruccin indicada, en el
proceso de lectura del puerto para su modificacin, se leern las salidas de los
latch del puerto y no el estado lgico que viene de lo pines (la cual puede ser
incorrecta) asegurndose as el estado correcto a escribir en el puerto para
modificar el bit 6.

U.Na.M. Facultad de Ingeniera Tcnicas Digitales 2 Ing. Guillermo A. Fernndez

CONFIGURACIN Y LECTURA/ESCRITURA DE LOS PUERTOS


Configuracin y utilizacin del Puerto A
Para configurar el puerto A, debe cargarse el registro
TRISA con un cdigo binario. Cada bit de este registro
(TRISAx) est relacionado con un lnea del puerto A
(RAx), y permite determinar si dicha lnea o pin ser una
entrada o una salida. De esta forma tenemos:

TRISAx = 0 RAx = SALIDA


TRISAx = 1 RAx = ENTRADA
Para efectuar la lectura/escritura del puerto A, basta
con leer o escribir sobre el registro PORTA. La escritura
puede efectuase sobre el puerto completo utilizando la
instruccin movwf PORTA,0, o sobre una lnea del
mismo a travs de bsf PORTA,RAx o bcf PORTA,RAx
(con x= 07; excluyendo 5).

Tambin pueden utilizarse las instrucciones btfsc


PORTA,RAx y btfss PORTA,RAx para leer el estado de
una lnea del puerto A.
Ejemplo:
movlw
movwf

b00011100
TRISA,0

movf

PORTA,W,0

bsf

PORTA,RA0

; Configura RA1:RA0 como


; salidas, RA4:RA2 como
; entradas RA7:RA6 como
; salidas.
; Lee el puerto A. En este
; caso los bits 7, 6, 1 y 0 debern
; descartarse.
; Pone un 1 en la salida RA0

U.Na.M. Facultad de Ingeniera Tcnicas Digitales 2 Ing. Guillermo A. Fernndez

CONFIGURACIN Y LECTURA/ESCRITURA DE LOS PUERTOS


Funciones de las lneas del Puerto A

Pg. 89
(Data Sheet)
RA4: Salida
Drenador
Abierto

Registros asociados con el Puerto A


ENTRADAS POR DEFECTO
Luego de un RESET (de cualquier tipo),
todas lneas del Puerto A quedan
configuradas como entradas.

Pg. 89
(Data Sheet)

ENTRADAS ANALGICAS POR DEFECTO


Luego de un RESET (de cualquier tipo),
algunas de las lneas del Puerto A
quedan configuradas como entradas
ANALGICAS. Por lo tanto, en el registro
ADCON1 deben configurarse como
lneas DIGITALES (ver NOTA1).

U.Na.M. Facultad de Ingeniera Tcnicas Digitales 2 Ing. Guillermo A. Fernndez

CONFIGURACIN Y LECTURA/ESCRITURA DE LOS PUERTOS


Configuracin y utilizacin del Puerto B
Para configurar el puerto B, debe procederse
de igual forma que en el puerto anterior
cargndose el registro TRISB un cdigo binario.
Cada bit de este registro (TRISBx) est
relacionado con un lnea del puerto B (RBx), y
permite determinar si dicha lnea o pin ser
una entrada o una salida. De esta forma
tenemos:

TRISBx = 0 RBx = SALIDA


TRISBx = 1 RBx = ENTRADA

Ejemplo:
movlw
movwf

b00001111
TRISB,0

movf

PORTB,W,0

bsf
btfss

PORTB,RB4
PORTB,RB0

; Configura RB3:RB0 como


; entradas y RB7:RB4 como
; salidas.
; Lee el puerto A. En este
; caso los bits 7 a 4 debern
; descartarse.
; Pone un 1 en la salida RB4.
; Lee el estado de RB0 y saltea
; la siguiente instruccin si
; RB0=1.

Para efectuar la lectura/escritura del puerto B,


se utilizan las mismas instrucciones que en el
puerto A, pero haciendo referencia al registro
PORTB.

U.Na.M. Facultad de Ingeniera Tcnicas Digitales 2 Ing. Guillermo A. Fernndez

CONFIGURACIN Y LECTURA/ESCRITURA DE LOS PUERTOS


Funciones de las lneas del Puerto B

Pg. 98
(Data Sheet)

U.Na.M. Facultad de Ingeniera Tcnicas Digitales 2 Ing. Guillermo A. Fernndez

CONFIGURACIN Y LECTURA/ESCRITURA DE LOS PUERTOS


Registros asociados con el Puerto B
Pg. 98
(Data Sheet)

ENTRADAS ANALGICAS POR DEFECTO


Luego de un RESET (de cualquier tipo), algunas de las
lneas del Puerto B quedan configuradas como entradas
ANALGICAS. Por lo tanto, en el registro ADCON1
deben configurarse como lneas DIGITALES (ver NOTA1).

ENTRADAS POR DEFECTO


Luego de un RESET (de cualquier
tipo), todas lneas del Puerto B
quedan configuradas como entradas.

NOTA1
Para configurar todas las lneas de los puertos como E/S digitales, antes de utilizarlos debe cargarse el registro
ADCON1 con el valor FF.
Ejemplo:
movlw
movwf
movlw
movwf
clrf

FFh
ADCON1,0
b00001111
TRISB,0
PORTB,0

; Las lneas RA3:RA0 , RB1:RB0 y RB4


; quedan configuradas como E/S digitales.
; Configura RB3:RB0 como entradas
; y RB7:RB4 como salidas.
; Borra el puerto B.

U.Na.M. Facultad de Ingeniera Tcnicas Digitales 2 Ing. Guillermo A. Fernndez

CARACTERSTICAS ELCTRICAS
IMPORTANTE: EN TODO DISEO CON MICROCONTROLADORES DEBEN CONSIDERARSE LAS CARACTERSTICAS ELCTRICAS DEL
DISPOSITIVO QUE VA A UTILIZARSE. POR TAL MOTIVO, A CONTINUACIN SE INDICAN ALGUNAS DE LAS CARACTERSTICAS DEL
PIC18F1320, LAS CUALES DEBERN CONSIDERARSE A LA HORA DE DISEAR UN SISTEMA EMBEBIDO.

Valores Mximos Absolutos


Estos valores son muy importantes ya que son los mximos que nunca deben alcanzarse.
La temperatura de trabajo del micro
siempre deber estar entre -40C y
+125C.
El voltaje de alimentacin nunca
debe alcanzar +5,5V.

El voltaje de programacin Vpp


nunca debe alcanzar 13,25V.

Las corrientes en las lneas de los


puertos nunca deber alcanzar
25mA, tanto entrante (sink) como
saliente (source). EN LO POSIBLE NO
DEBER ALCANZAR LOS 20mA.

Pg. 237
(Data Sheet)
U.Na.M. Facultad de Ingeniera Tcnicas Digitales 2 Ing. Guillermo A. Fernndez

CARACTERSTICAS ELCTRICAS
Valores Normales de Funcionamiento
VDD: Voltaje de Alimentacin.

VIL: Voltaje de entrada mximo,


considerado como CERO.

VIH: Voltaje de entrada mnimo,


considerado como UNO.

II: Corriente entrante o saliente,


cuando la lnea del puerto se
encuentra configurada como entrada.

Pg. 250
(Data Sheet)
U.Na.M. Facultad de Ingeniera Tcnicas Digitales 2 Ing. Guillermo A. Fernndez

CARACTERSTICAS ELCTRICAS

VOL: Voltaje de Salida, cuando hay un


CERO en la salida (depende de las
condiciones de carga que presenta la
salida).

VOH: Voltaje de Salida, cuando hay


un UNO en la salida (depende de
las condiciones de carga que
presenta la salida).

U.Na.M. Facultad de Ingeniera Tcnicas Digitales 2 Ing. Guillermo A. Fernndez

EJEMPLO DE APLICACIN
Para comprender la configuracin y utilizacin de los puertos del microcontrolador, a continuacin se presenta un ejemplo. En el
mismo, un LED es encendido de forma intermitente segn un cdigo ingresado en el puerto A del micro. Este cdigo es de dos bits y
permite modificar la frecuencia de la intermitencia del LED en cuatro valores distintos. El LED es activado a travs de RB3 y el cdigo
puede ingresarse en RA1:RA0. El esquema elctrico del circuito para esta aplicacin, est indicado a continuacin.

ESQUEMA ELCTRICO

U.Na.M. Facultad de Ingeniera Tcnicas Digitales 2 Ing. Guillermo A. Fernndez

EJEMPLO DE APLICACIN
DIAGRAMA DE FLUJO

U.Na.M. Facultad de Ingeniera Tcnicas Digitales 2 Ing. Guillermo A. Fernndez

USO DE ESTMULOS EN LA SIMULACIN CON MPLAB-SIM


Estmulos que se
pueden simular en
MPLAB-SIM

Tipos de estmulos
en MPLAB-SIM

Aplicacin de los
estmulos

Cambios de nivel o pulsos en un pin I/O.

Cambios de valores en registros de propsito general


(GPR) y de uso especial (SFR).

ASINCRNICO: Puede realizarse el cambio de estado en


un pin I/O en cualquier instante, durante la ejecucin
del programa.

SINCRNICO: Puede inyectarse una seal predefinida en


un pin I/O, o pueden alterarse los registros SFR y GPR
mediante una secuencia preestablecida.

Pueden requerir una duracin especificada en tiempo o


en ciclos de mquina.

Pueden configurarse para ocurrir cuando se satisface


alguna condicin. Por ejemplo cuando el programa llega
hasta cierta direccin de instruccin.

U.Na.M. Facultad de Ingeniera Tcnicas Digitales 2 Ing. Guillermo A. Fernndez

USO DE ESTMULOS EN LA SIMULACIN CON MPLAB-SIM


Para utilizar los estmulos en la simulacin, deben realizarse los siguientes pasos:

PASO A: ABRIR VENTANA DE ESTMULOS

Men Debugger NewWorkbook

ESTMULOS SINCRNICOS
ESTMULOS
ASINCRNICOS
VENTANA DE
EDICIN Y
APLICACIN DE
ESTMULOS
Guardar
Borrar todos los
fila estmulos

Opciones
avanzadas

Aplicar
Remover
cambios a estmulo
estmulos previamente
aplicado

Cerrar
ventana de
estmulos

U.Na.M. Facultad de Ingeniera Tcnicas Digitales 2 Ing. Guillermo A. Fernndez

USO DE ESTMULOS EN LA SIMULACIN CON MPLAB-SIM


PASO B: CONFIGURAR LOS ESTMULOS
Para nuestro caso deseamos modificar el estado lgico de la entradas RA0 y RA1, simulando el accionamiento de las llaves
S1 y S2 para cambiar la frecuencia de encendido del LED. Por tal motivo se configura estmulos del tipo TOGGLE para RA0 y
RA1.
Hacer click en la primera
celda y seleccionar RA0

Hacer click en la segunda


celda y seleccionar Toggle

Idem para RA1

PASO C: GUARDAR LOS ESTMULOS


Hacer click en el botn Save de la ventana de configuracin de estmulos. Poner un nombre y guardar.
U.Na.M. Facultad de Ingeniera Tcnicas Digitales 2 Ing. Guillermo A. Fernndez

USO DE ESTMULOS EN LA SIMULACIN CON MPLAB-SIM


PASO D: VISUALIZAR ESTIMULOS Y SALIDAS DEL MICRO

Men View Simulator Logic Analyzer

Botn para seleccionar


entradas y salidas del
micro, que se desean
seleccionar

Ventana de visualizacin

PASO E: VISUALIZAR SEALES


Hacer click en el botn Channels. Seleccionar los pines del micro que se desean ver. Para el ejemplo presentado sera
RA0, RA1 (estado de las llaves) y RB3 (salida que enciende el LED).

U.Na.M. Facultad de Ingeniera Tcnicas Digitales 2 Ing. Guillermo A. Fernndez

USO DE ESTMULOS EN LA SIMULACIN CON MPLAB-SIM


PASO F: APLICAR ESTMULOS
Una vez ensamblado el programa, correr la simulacin de forma animada.
Botn para seleccionar
entradas y salidas del
micro, que se desean
seleccionar

Para aplicar los estmulos a las entradas RA0 y RA1, debe hacerse click en:

Haciendo click ac, se togglea RA0


Haciendo click ac, se togglea RA1
U.Na.M. Facultad de Ingeniera Tcnicas Digitales 2 Ing. Guillermo A. Fernndez

Você também pode gostar