You are on page 1of 5

OBJETIVO:

Aprender a usar correctamente el programador para el Microcontrolador


ATMega164p. Implementar un circuito que permita sumar, o restar 2
nmeros de 8 bits utilizando el microcontrolador ATmega164p.
1. Consultar:
- Las caractersticas generales del microcontrolador ATMEL MEGA
164p, especialmente en la parte referente a la disposicin de
terminales (pines) generales de entrada/salida, los de alimentacin,
el RESET y los usados para la programacin del mismo.

Vcc: fuente de voltaje para la circuitera digital


Gnd: tierra
Puerto A (PA7:PA0): el puerto A sirve como entradas analgicas para el
convertidor A/D
El puerto A tambin sirve como puerto bidireccional de I/O de 7 bits con
resistencias Pull-Up
Puerto B (PB7:PB0): el puerto B tiene 8 bits direccionales de I/O con
resistencias Pull-Up internas
Puerto C (PC7:PC0): el puerto C tiene 8 bits direccionales de I/O con
resistencias Pull-Up internas
Puerto D (PD7:PD0): el puerto D tiene 8 bits direccionales de I/O con
resistencias Pull-Up internas
Reset: un nivel bajo en este pin durante un tiempo mayor que el ancho de
pulso mnimo generara un reset aun si no se activa el reloj
Xtal 1: entrada al oscilador amplificador inversor y entrada al circuito de
operacin del reloj interno
Xtal 2: salida del oscilador amplificador inversor

Avcc: es el pin de la fuente de voltaje para el puerto A y para el convertidor


A/D
Aref: es el pin de referencia analgica para el convertidor A/D

- El manejo de tablas en el AVR Atmega164p (uso de la instruccin


LPM). Esta instruccin se usar para realizar la conversin de
binario a hexadecimal. (Revisar el Anexo1)
El manejo de tablas es de gran ayuda cuando se tiene gran cantidad de
datos almacenados y necesitamos recuperar dichos datos de una ubicacin
especfica y de manera rpida.
LPM carga un byte apuntado por el registro Z. La memoria de programa est
organizada en palabras de 16 bit y el bit menos significativo del puntero Z
selecciona el byte bajo (0) o el byte alto (1). Esta instruccin puede dirigirse
a los primeros 64K bytes (32K palabras) de memoria de programa. El
registro puntero Z queda inalterado por el funcionamiento.
- La manera de configurar y usar los puertos de entrada/salida.
(Revisar el manual)
Los Atmega 164p poseen cuatro prticos A,B,C,D para entrada y salida
paralela
Cada prtico esta formado 3 registros: portx,ddrx,pinx
Contine 8 latches para los 8 bits
Portx: contiene losbits que aparecen en los pines cuando son programados
como salidas
Ddrx: son los bits que definen si los pines son programados como entradas o
como salidas
Pinx: contienen los bits que se encuentran en los pines, ya cuando son
entradas o salidas
- Las caractersticas de un display de 7 segmentos.
El displays de 7 segmentos, es un componente que se utiliza para la
representacin de nmeros en muchos dispositivos electrnicos.
Cada vez es ms frecuente encontrar LCDs en estos equipos todava hay
muchos que utilizan el display de 7 segmentos por su simplicidad.
Este elemento se ensambla o arma de manera que se pueda activar cada
segmento (diodo LED) por separado logrando de esta manera combinar los
elementos y representar todos los nmeros en el display (del 0 al 9).
El display de 7 segmentos ms comn es el de color rojo, por su facilidad de
visualizacin.
Cada elemento del display tiene asignado una letra que identifica su
posicin en el arreglo del display

El display nodo comn


En el display nodo comn, todos los nodos de los diodos LED unidos y
conectados a la fuente de alimentacin.
En este caso para activar cualquier elemento hay que poner el ctodo del
elemento a tierra a travs de una resistencia para limitar la corriente que
pasa por el elemento

El display ctodo comn


El display ctodo comn tiene todos los nodos de los diodos LED unidos y
conectados a tierra. Para activar un segmento de estos hay que poner el
nodo del segmento a encender a Vcc (tensin de la fuente) a travs de una
resistencia para limitar el paso de la corriente

2. Disear y armar en un protoboard un circuito que permita


ingresar 2 nmeros en binario mediante 2 dip switch de 8 bits cada
uno que sern conectados a los puertos PORTA y PORTB
respectivamente. Se manejar un par de displays de 7 segmentos
(nodo o ctodo comn) que sern conectados a los otros dos
puertos disponibles. No olvidar que los display de 7 segmentos
deben conectarse usando resistencias limitadoras de corriente,
revisar las caractersticas elctricas en cuanto a la capacidad de
manejo de corriente del microcontrolador para el diseo de las
mismas (seccin Caractersticas Elctricas del manual). En uno de
los dos pines sobrantes en los puertos de los display conectar un
interruptor para poder determinar si la operacin a realizar es una
suma o una resta (ser una entrada); en el otro pin sobrante
conectar un LED al que se enviar directamente el CARRY
resultante de la operacin (ser una salida) (Revisar Anexo 2).

3. Escribir un programa en Assembler que permita sumar o restar


(de acuerdo al switch de seleccin) los dos nmeros que se
ingresan en los dip switch y mostrar el resultado en los dos display
de 7 segmentos (NODO COMN) en hexadecimal. La decodificacin
de binario a hexadecimal se realizar por software dentro del
microcontrolador. El CARRY resultante de la operacin debe ser
enviado directamente al LED. (NO USAR DECODIFICADORES BCD a 7
segmentos EXTERNOS).
.include "m164pdef.inc"
.org 0x00
.cseg
clr r0
clr r20
clr r21
ldi r22,$80
ldi r18,$7f
ser r19
out ddra,r0
out ddrc,r18
out ddrd,r19
ingreso:
in r16,pina
in r17,pinb
sbic pinc,7
rjmp resta
suma:
add r16,r17
decodificador:
adc r20,r20
mov r19,r16

andi r19,$0f
ldi r30, low(tabla<<1)
ldi r31, high(tabla<<1)
add r30, r19
clr r0
adc r31,r0
lpm r0, z
out portc, r0
andi r16,$f0
swap r16
ldi r30, low(tabla<<1)
ldi r31, high(tabla<<1)
add r30, r16
clr r1
adc r31,r1
lpm r1, z
cpse r20,r21
add r1,r22
out portd, r1
rjmp ingreso
resta:
sub r16,r17
rjmp decodificador
tabla:
.db 0b1000000,0b1111001
.db 0b0100100,0b0110000
.db 0b0011001,0b0010010
.db 0b0000010,0b1111000
.db 0b0000000,0b0010000
.db 0b0001000,0b0000011
.db 0b1000110,0b0100001
.db 0b0000110,0b0001110
Bibliografa

http://es.slideshare.net/jevelarde/12-prticos-de-los-atmega
http://es.slideshare.net/jevelarde/07-familia-atmega
http://unicrom.com/Tut_display-7-segmentos.asp

You might also like