Está en la página 1de 5

Manual Rpido de Prcticas de la Materia:

Microprocesadores y Microcontroladores

Pgina 1

PRCTICA N -1
Prender y apagar leds (uso de los puertos paralelos como salida)

Objetivo:
El alumno aprender a configurar los puertos paralelos como entrada y como salida,
aprender a introducir datas al microcontrolador a travs de un puerto paralelo configurado
como entraday sacar datos a travs de otro puerto paralelo mostrndolos en ocho leds.

Lista de material: Lista de equipo:
N Descripcin N Descripcin
1
8
8
1
1
Microcontrolador
Leds
Resistencias de 330
Tablillas de experimentos
Metro de cable telefnico
1
1
1
1
1
1

Pinza de punta
Pinza de corte diagonal
Fuente de alimentacin
Programador universal USB
Computadora personal
Simulador AVR Studio


Marco terico
La mayora de los circuitos electrnicos que interactan con los humanos necesitan
interfaces de entrada y de salida, las cuales hacen posible; en la interface de entrada,
introduccin de datos, y en la interface de salida, mostrar datos o resultados. Esta prctica
est enfocada hacia la interface de salida. Una de las formas bsicas para mostrar
informacin es a travs de los dispositivos ms simples, los leds. Los leds son dispositivos que
nos ayudan a visualizar eventos de una manera simple y barata.

Todos los puertos paralelos de los microcontroladores AVR tienen tres registros
asociados. Estos registros son: el Registro de Direccin de Datos (DDRx), el Puerto Paralelo
de Salida (PORTx), y el Puerto Paralelo de Entrada (PINx). El Registro de Direccin de Datos
se utiliza para configurar el Puerto como salida, si se le escribe unos o como entrada, si se
le escribe ceros.

Los registros de los puertos paralelos se muestran en la figura 1.

Figura 1. Registros de 8-bits de los puertos paralelos.

PORTx (Puerto de salida)
PORTx7 PORTx6 PORTx5 PORTx4 PORTx3 PORTx2 PORTx1 PORTx0

DDRx (Registro para configurar el Puerto x como salita (Portx) o como entrada (Pinx))
DDRx7 DDRx6 DDRx5 DDRx4 DDRx3 DDRx2 DDRx1 DDRx0

PINx (Puerto de entrada)
PINx7 PINx6 PINx5 PINx4 PINx3 PINx2 PINx1 PINx0
Manual Rpido de Prcticas de la Materia:
Microprocesadores y Microcontroladores

Pgina 2

Donde x denota la letra que indica que puerto es; A, B, C, o D, por ejemplo PORTA,
PORTD, etc. Para esta prctica se le escribe unos al registro DDRx para configurar uno de los
puertos como salida, ya que en el conectaremos los ocho leds. Una de las consideraciones
que se debe de tener en cuenta cuando se conectan leds directamente a las terminales de los
microcontroladores es el voltaje de salida en las terminales ya que este puede que no sea el
de alimentacin, si no menos. As tambin se debe de considerar la cada de voltaje en
terminales del led, ya que este depende del color como se muestra en la tabla 1.

La tabla 1 muestra algunos leds y su cada de voltaje.
Tipo de diodo Diferencia de potencial tpica (voltios)
Rojo de bajo brillo 1.7 voltios
Rojo de alto brillo, alta eficiencia y baja corriente 1.9 voltios
Naranja y amarillo 2 voltios
Verde 2.1 voltios
Blanco brillante, verde brillante y azul 3.4 voltios
Azul brillante y LED especializados 4.6 voltios

Por lo tanto si las terminales del microcontrolador si proporcionan 5V de salida y se
utiliza un led rojo de alto brillo con una cada de tensin de 1.9V, y una corriente de excitacin
de 10mA, el clculo de la resistencia limitadora de corriente se realiza de de la siguiente
manera.

R =
vcc-vd
Id
R =
5v-1.9v
0.01Amp
R =
3.1v
0.01Amp
R = 310 330 o 270

Tambin se debe de revisar si el microcontrolador es capaz de proporcionar en sus
terminales la corriente que necesita el led (ver figura 2), indicado por las caractersticas
elctricas del microcontrolador. Tpicamente las hojas de datos tcnicos de los
microcontroladores AVR indican que se puede conectar directamente los leds a las terminales,
esto es sin resistencia limitadora, y que la corriente que proporciona es de 20mA, sin embargo
se recomienda verificar fsicamente que se cumplan estas condiciones.

Si las terminales del microcontrolador
no tienen la capacidad de proporcionar
el nivel de voltaje para que los leds
enciendan con unos, se procede a
invertir la posicin de los leds para que
los leds enciendan con ceros como
se muestra en las figura 3. Tambin se
recomienda que las terminales no
usadas se conecten a un nivel bien
ATMEGA8535
PA0
PA1
PA2
220
PA3


Manual Rpido de Prcticas de la Materia:
Microprocesadores y Microcontroladores

Pgina 3

determinado y no dejarse volando, para evitar excesivo consumo de corriente. Si las
terminales no usadas se conectan a un nivel de forma externa, se debe de hacer a travs de
una resistencia a +Vcc o a GND. No se recomienda conectar directamente las terminales a
Vcc o a GND.






vcvavv




Procedimiento:
1. En el editor del AVR estudio, escriba el programa iniciando con la directiva
.INCLUDE y en seguida entre comillas la definicin del procesador a utilizar
2. Escriba la directiva .ORG con la direccin del vector reset, acompaada de la
instruccin de salto al programa principal.
3. Escriba el programa principal.
4. Inicialice el apuntador de stack con la ultima direccin de la memoria SRAM interna
5. Ponga en unos los 8-bits del registro DDRx, para configurar al PUERTOx como
salida.
6. Escriba $FF en el PUERTOx para que prendan los leds.
7. Genere un retardo de 0.5 de segundo para poder observar prendidos los leds.
8. Escriba $00 en el PUERTOx para que se apaguen los leds.
9. Genere un retardo de 0.5 de segundo para poder observar apagados los leds.
10. Cicle el programa mediante la instruccin RJMP hacia el paso nmero 6.
11. Guarde el programa.
12. Ensamble el programa.
13. Simule el programa para comprobar que se lleva a cabo la ejecucin de cada una
de las instrucciones y verificar su funcionamiento.
14. Programe la memoria flash del microcontrolador.
15. Observe el efecto del programa en los leds.


Conclusiones:
Se puede observar en los leds el parpadeo causado por la instruccin OUT que
escribe $FF y $00 en el PUERTO seleccionado
+5Vcc
ATMEGA8535
PA0
PA1
PA2
220
PA3


Figura 3. La terminal del microcontrolador recibe corriente de la fuente
Manual Rpido de Prcticas de la Materia:
Microprocesadores y Microcontroladores

Pgina 4

Se puede comprobar el efecto del retardo generado por dos conjuntos de
instrucciones insertadas directamente entre el encendido del puerto y el apagado
del puerto, o insertando la instruccin de llamada a subrutina, generando un solo
conjunto de instrucciones llamado subrutina de retardo, la cual debe de terminar
con la instruccin de retorno de subrutina RET.

Programa: Utilizando subrutina Sin subrutina
.INCLUDE "M8535DEF.INC"
.ORG $0
RJMP INICIO
NOP
NOP
; Inicia programa principal inicializando el registro SP=025F
.ORG $15
INICIO: LDI R16,$5F
LDI R17,$02
OUT SPL,R16
OUT SPH,R17
;Se configura el PUERTO B como salida escribiendo $FF en el
registro de control DDRB.
LDI R18,$FF
OUT DDRB,R18
;Se escribe unos en el Puerto B
CICLO: LDI R19,$FF
OUT PORTB,R19
;Se manda llamar a la subrutina de retardo de 0.5 de segundo
RCALL RETARDO
;Se escribe ceros en el Puerto B
LDI R20,0
OUT PORTB,R20
;Se manda llamar a la subrutina de retardo de 0.5 de segundo
RCALL RETARDO
RJMP CICLO

;Se Scribe la subrutina de retardo de 0.5 de segundo
RETARDO: LDI R20,$10
DOS: LDI R21,$10
UNO: DEC R21
BRNE UNO
DEC R20
BRNE DOS
RET
.INCLUDE "M8535DEF.INC"
.ORG $0
RJMP INICIO
NOP
NOP
; Inicia programa principal inicializando el registro SP=025F
.ORG $15
INICIO: LDI R16,$5F
LDI R17,$02
OUT SPL,R16
OUT SPH,R17
;Se configura el PUERTO B como salida escribiendo $FF en el
registro de control DDRB.
LDI R18,$FF
OUT DDRB,R18
;Se escribe unos en el Puerto B
CICLO: LDI R19,$FF
OUT PORTB,R19
;Se genera un retardo de aproximadamente 0.5 de segundo
LDI R20,$10
DOS: LDI R21,$10
UNO: DEC R21
BRNE UNO
DEC R20
BRNE DOS
;Se escribe ceros en el Puerto B
LDI R20,0
OUT PORTB,R20
;Se genera un retardo de aproximadamente 0.5 de segundo
LDI R20,$10
TRES: LDI R21,$10
CUAT: DEC R21
BRNE CUAT
DEC R20
BRNE TRES
RJMP CICLO





Manual Rpido de Prcticas de la Materia:
Microprocesadores y Microcontroladores

Pgina 5















Bibliografa:
Atmel.com
Manual de datos tcnicos del microcontrolador ATmega8535
Manual de datos tcnicos del microcontrolador ATtiny2313
AVR- An Introductory Course.
AUTOR: John Morton EDITORIAL:
Programming and Customizing the AVR Microcontroller
AUTOR: Dhananjay V Gadre EDITORIAL:
Embedded C Programming & The Atmel AVR
AUTOR: Richard H. Barnett, Sarah A. Cox, Larry D. OCull
EDITORIAL: Delmar Learning
Hojas de datos tcnicos de los mdulos IR de SHARP
Hojas de datos tcnicos de los mdulos IR de VISHAY
Hojas de datos tcnicos de los mdulos IR de FAIRCHILD
Hojas de datos tcnicos de los leds IR
Hojas de datos tcnicos de los foto transistores
Boletn de aplicacin 213 de OPTEK technology


ATMEGA8535
RESET
+5Vcc
Vcc
GND
PA0
PA1
PA2
220 X7
PA3
PA4
PA5
PA6
PA7


Figura 4. Diagrama esquemtico microcontrolador y leds.

También podría gustarte