Escolar Documentos
Profissional Documentos
Cultura Documentos
ELECTRÓNICA
Carrera de Ingeniería Electrónica y Control
Carrera de Ingeniería Electrónica y Telecomunicaciones
Carrera de Ingeniería Electrónica y Redes de Información
Carrera de Ingeniería Eléctrica
PRÁCTICA N°6
1. TEMA :
PROGRAMACIÓN DE LOS MICROCONTROLADORES ATMEL
2. OBJETIVO:
Implementar un circuito que permita dividir dos números de 8 bits, con el microcontrolador
ATmega164p.
3. MARCO TEÓRICO
DDRx, de ocho bits, cada uno de los cuales está asignado a uno de los pines del
puerto. Cada bit permite configurar en forma individual si el pin va a ser entrada o
salida de la siguiente manera: Si el bit se pone a 0, ese pin será una entrada, y si se pone 1,
ese pin será salida.
PORTx de ocho bits. Cada bit está signado también a un pin. Para poner un valor lógico en
un pin, se debe colocar ese valor en el bit correspondiente en este registro, y si ese pin está
configurado como salida ese valor aparece físicamente en esa patita. Si la patita está
definida como entrada y se escribe un valor en ella, simplemente este valor no es mostrado
en ese pin.
PINx de ocho bits. Si se desea leer un pin que ha sido definido como entrada se debe leer
este registro. Si se lee el registro PORTx, no se lee lo que físicamente está en los pines, si
no lo que haya escrito con anterioridad en el registro PORTx.
4. TRABAJO PREPARATORIO
4.1 Consultar:
4.1.1 Las características generales del microcontrolador ATMEGA 164p,
especialmente en la parte referente a la disposición de terminales (pines)
generales de entrada/salida, los de alimentación, el RESET y los usados
para la programación del mismo
4.1.2 La manera de configurar y usar los puertos de entrada/salida.
4.1.3 El manejo de tablas en el AVR Atmega164p (uso de la instrucción LPM).
Esta instrucción se usará para realizar la conversión de binario a hexadecimal.
(Revisar el anexo al final)
4.2 Diseñar y armar en protoboard un circuito que permita ingresar 2 números de 8
bits mediante 2 dip switch que serán conectados el primero a PORTA y el segundo a
PORTB. Se sugiere que se habiliten los PULL UP internos para no usar resistencias
externas y conectar los interruptores a tierra. Se manejará un par de displays de 7
segmentos(ánodo o cátodo común) que serán conectados al PORTC y al PORTD. No
olvidar que los display de 7 segmentos deben conectarse usando resistencias
limitadoras de corriente, revisar las características eléctricas en cuanto a la capacidad
de manejo de corriente del microcontrolador para el diseño de las mismas (sección
Características Eléctricas del manual). En el pin sobrante en PORTC conectar un
interruptor el cual funcionara como selector, y el pin sobrante de PORTD colocar un
LED.
4.3 Escribir un programa en Assembler que permita dividir el número de PORTA para el del
PORTB; (este programa es el programa que se depuró y simuló en la práctica 3). En los
display se mostrará lo siguiente en hexadecimal. Si la entrada del interruptor del PORTC
está en 0L se mostrará la parte entera de la división y el LED del PORTD estará apagado
: mientras que si está en 1L se mostrará la parte fraccionaria y el LED estará encendido.
La decodificación de binario a hexadecimal se realizará por software dentro del
microcontrolador. (Tomar como referencia el anexo que está al final de esta hoja
guía…NO USAR DECODIFICADORES BCD a 7 segmentos EXTERNOS).
5. EQUIPO Y MATERIALES
Material de escritorio.
Protoboard, leds, dip switch
Microcontrolador ATmega164P
6. PROCEDIMIENTO
6.2 Probar el correcto funcionamiento del circuito diseñado y realizar los cambios en
programación pedidos por cada instructor.
7. INFORME:
7.1 Comentarios y conclusiones
7.2 Realizar lo que el instructor solicite.
ANEXO 1