6
OBJETIVO: Aprender a usar correctamente el programador para el Microcontrolador ATMega164p. Implementar un circuito que permita sumar, o restar 2 números de 8 bits utilizando el microcontrolador ATmega164p. 1. Consultar: - Las características generales del microcontrolador ATMEL MEGA 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. Vcc: fuente de voltaje para la circuitería digital Gnd: tierra Puerto A (PA7:PA0): el puerto A sirve como entradas analógicas para el convertidor A/D El puerto A también 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

PREPA 6micros

Embed Size (px)

DESCRIPTION

laboratorio

Citation preview

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 digitalGnd: tierraPuerto A (PA7:PA0): el puerto A sirve como entradas analgicas para el convertidor A/DEl puerto A tambin sirve como puerto bidireccional de I/O de 7 bits con resistencias Pull-UpPuerto 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 paralelaCada prtico esta formado 3 registros: portx,ddrx,pinxContine 8 latches para los 8 bits Portx: contiene losbits que aparecen en los pines cuando son programados como salidasDdrx: 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.Eldisplays de 7 segmentos, es un componente que se utiliza para la representacin de nmeros en muchos dispositivos electrnicos.Cada vez es ms frecuente encontrarLCDsen estos equipos todava hay muchos que utilizan eldisplay de 7 segmentospor 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 eldisplay(del 0 al 9).Eldisplay de 7 segmentosms comn es el de color rojo, por su facilidad de visualizacin.Cada elemento deldisplaytiene asignado una letra que identifica su posicin en el arreglo deldisplay

El display nodo comnEn eldisplay nodo comn, todos los nodos de losdiodos LEDunidos y conectados a lafuente de alimentacin.En este caso para activar cualquier elemento hay que poner el ctodo del elemento a tierra a travs de unaresistenciapara limitar lacorrienteque pasa por el elemento

El display ctodo comnEldisplay ctodo comntiene todos los nodos de losdiodos LEDunidos y conectados a tierra. Para activar un segmento de estos hay que poner el nodo del segmento a encender a Vcc (tensinde 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.csegclr r0clr r20clr r21ldi r22,$80ldi r18,$7fser r19out ddra,r0out ddrc,r18out ddrd,r19ingreso:in r16,pinain r17,pinbsbic pinc,7rjmp restasuma:add r16,r17decodificador:adc r20,r20mov r19,r16andi r19,$0fldi r30, low(tabla