Logo Studenta

Pract6A-SumadorLeds - César Esquivel

¡Este material tiene más páginas!

Vista previa del material en texto

INSTITUTO POLITÉCNICO NACIONAL
Escuela Superior de Ingeniería Mecánica y Eléctrica UA
Interfaces Periféricas y Programables I
SEGUNDO DEPARTAMENTAL
PRÁCTICA 6A
“SUMADOR DE DOS CANTIDADES DE 4 Y 5 BITS”
PROFESOR: VALDÉS MARTÍNEZ RAMÓN
EQUIPO 7
CHÁVEZ CANTORIANO JORGE LUIS
ESQUIVEL GONZÁLEZ CÉSAR ANTAR
LARA TUFIÑO ERANDI ALELI
GRUPO: 7RM1
FECHA DE ENTREGA: 17 – OCTUBRE – 2018
OBJETIVO
Desarrollar una aplicación que nos permita la lectura de dos datos, uno de 4 bits y otro de 5 bits y así mismo haga la suma de ambos datos mostrándonos a la salida con leds el resultado de la suma realizada.
MARCO TEÓRICO
¿Cómo hacer y simular un programa en MPLAB?
1.- Abrimos MPLAB y damos clic en Project y posteriormente New:
2.- Le asignamos un nombre al proyecto y seleccionamos la carpeta en donde se va a guardar:
3.- Ahora seleccionamos en la barra principal la opción que dice File y después New:
4.- En la ventana que se abre escribimos nuestro código:
5.- Posteriormente debemos de simularlo, así que en la barra principal seleccionamos DebuggerSelect Tool MPLABSIM:
6.- Luego en Debugger nuevamente seleccionamos STIMULUS, en la ventana que aparece seleccionamos los puertos que utilizamos, y en Action nos aparecen las siguientes opciones:
· Set High: Establecer alto
· Set Low: Establecer bajo
· Toggle: Intercambia en cada pulso, primero uno alto y después uno bajo
· Pulse High: Pulso alto
· Pulse Low: Pulso bajo
En nuestra práctica seleccionaremos Toggle debido a su característica, entonces la ventana nos queda de esta forma:
7.- Después damos clic en View Watch, en la ventana que aparece seleccionamos PORTB en la parte superior y lo agregamos, podemos observar cómo se encuentra en hexadecimal y binario:
8.- Habiendo ya configurando lo anterior corremos nuestra simulación dando clic en el símbolo de “play” que se encuentra en la barra de herramientas, damos estímulos y finalmente verificamos el circuito con las combinaciones de las entradas:
¿Cómo realizar un programa en AVR Studio?
1. Abrimos el programa Atmel Studio. Después daremos clic en “File”, luego en “New” y por último en “Project…”:
2. Después se abrirá una ventana en la cual, pondremos un nombre y de desearlo, podemos decir la dirección en la que será guardado ese nuevo proyecto. También dejaremos la opción que nos da por default:
3. Ya que le dimos “ok”, a continuación nos dirigirá a la siguiente ventana, en la cual seleccionaremos el AVR que utilizaremos, que para este semestre es el ATmega328P, podemos buscarlo entre toda la gama de opciones que tiene el programa o en la parte superior derecha podemos poner el nombre del que deseamos y automáticamente comienza a buscar el que cumpla con la descripción:
4. Después de seleccionar el AVR, nos manda a la pantalla de programación, que mediante un lenguaje C y un sistema numérico hexadecimal, crearemos los programas para nuestro AVR:
5. Ahora mediante el uso de las instrucciones en C, creamos un programa en el cual declararemos que de un puerto B, sus 3 primeros pin serán entrada y el 4° será salida y para evitar algún corto, los pines que no ocuparemos, se ponen como entradas:
6. Una vez terminado el programa, procedemos a compilarlo (símbolo encerrado en rojo), es decir, pasarlo de un lenguaje ensamblador a uno máquina, o viceversa, de esta forma comprobamos que nuestro programa no tenga errores, ya que el programa los detecta y nos lo marca, de no tener ni un error, nos aparece en la barra de comentarios que tenemos una estructura correcta:
DESARROLLO
ENUNCIADO DE LA APLICACIÓN:
Diseñar una aplicación que simule a un sumador de 2 datos.
Considerando las líneas de entrada:
	Dato A
	Dato B
	RB4
	RB3
	RB2
	RB1
	RB0
	RC3
	RC2
	RC1
	RC0
	A4
	A3
	A2
	A1
	A0
	B3
	B2
	B1
	B0
DESARROLLO PARA PIC EN MPLAB 
ALGORITMO
1.- Limpiar cada uno de los puertos.
2.- Configurar entradas y salidas y declarar que sean digitales.
3.- Declarar las nuevas variables a utilizar.
4.- Leer y guardar lo del registro B en W y posteriormente lo de W a nuestra primera variable creada.
5.- Leer y guardar lo del registro C en W y posteriormente lo de W a nuestra segunda variable creada.
6.- Usar la operación lógica en ambas variables para cerciorarnos que no haya alguna interferencia.
7.- Sumar ambas variables mediante la instrucción ADDWF recordando que debemos utilizar como intermediario el registro de trabajo.
8.- Asignarle al puerto D el resultado de la suma de ambas variables. 
9.- Regresar al paso 4.
INSTRUCCIONES
· ADDWF f, d: Suma lo de W y f, si d es 0 el resultado es almacenado en W y si d es 1 el resultado es almacenado devuelta en el registro f. 
Los bits afectados en el STATUS son: C, DC, Z.
DIAGRAMA DE FLUJO
CÓDIGO
SIMULACIÓN EN PROTEUS
ARMADO EN PROTOBOARD
DESARROLLO PARA AVR EN AVR STUDIO 
ALGORITMO
1.- Definir o crear tres variables
2.- Configurar puertos de entrada y salida, al igual que las entradas analógicas o digitales.
3.- Mover de puerto B a nuestra primera variable.
4.- Mover de puerto C a nuestra segunda variable.
5.- Sumar ambas variables y almacenar el resultado en una tercera variable.
6.- Enviar el resultado de la suma almacenado en la tercera variable a nuestro puerto D 
7.- Regresar al punto 3.
INSTRUCCIONES
· INT
Denota un tipo entero que almacena valores según el tamaño y el intervalo especificado en la tabla de instrucciones.
· DDRX
Define como entradas o salidas los bits del puerto seleccionado, esto se puede hacer mediante denotación en sistema hexadecimal o binaria.
DIAGRAMA DE FLUJO
CÓDIGO
SIMULACIÓN EN PROTEUS
ARMADO EN PROTOBOARD
CONCLUSIONES:
Chávez Cantoriano Jorge Luis
Está práctica no estuvo tan complicada, ya que solo era sumar dos cantidades y arrojarla en un puerto de salida donde el resultado lo veríamos en leds que se encenderían según fuera el bit que les correspondieran mostrando la cantidad en binario, y como el microcontrolador trabaja en este lenguaje, solo era realizar la suma y automáticamente mostraba la cantidad.
Esquivel González César Antar
Esta práctica me resulto bastante sencilla ya que realmente lo único que se tenía que hacer era hacer una mezcla de prácticas anteriores, entonces solo se buscaba leer dos datos de entrada y mostrar un tercero a la salida que sería la suma de los dos anteriores, hubieron pequeños inconvenientes al momento del armado de los circuitos debido a fallas en una de las protoboards pero logramos identificar el error y solucionarlo sin mayor inconveniente.
Lara Tufiño Erandi Aleli
La práctica que realizamos no resultó tan compleja ya que el resultado también se mostró en binario por lo cual no implicó un cambio de sistema numérico después de haber obtenido el resultado. Al momento de armar el circuito en la protoboard hubo diversos problemas que a pesar de estar bien la conexión no funcionó a la primera como lo esperábamos pero se debió a las cargas electrostáticas almacenadas en la proto, habiéndola limpiado y cambiado pudimos armar el circuito y funcionó sin problema alguno.

Continuar navegando