Logo Studenta

Practica 09 - Hector Campos

¡Estudia con miles de materiales!

Vista previa del material en texto

Reporte 09 
Campos Serna Héctor 
215646659 
Ochoa Leos Melanie Alejandra 
217134388 
Fecha de entrega: 
jueves 26 de noviembre del 2020 
Sección: D11 
Profesor: 
García Hernández, Martín 
 
 
 
Programación de Micros 
Seminario de Solución de 
Problemas de Arquitectura de 
Computadoras 
Objetivo: 
Programar un circuito contador ascendente basado en el 
microcontrolador AVR 328 P. 
 
Introducción: 
Los principiantes en electrónica creen que un microcontrolador es igual a 
un microprocesador. Esto no es cierto. Difieren uno del otro en muchos 
sentidos. La primera y la más importante diferencia es su funcionalidad. Para 
utilizar al microprocesador en una aplicación real, se debe de conectar con 
otros componentes, en primer lugar, con la memoria. 
 El microcontrolador ejecuta el programa cargado en la memoria Flash. Esto 
se denomina el código ejecutable y está compuesto por una serie de ceros 
y unos, aparentemente sin significado. Dependiendo de la arquitectura del 
microcontrolador, el código binario está compuesto por palabras de 12, 14 
o 16 bits de anchura. Cada palabra se interpreta por la CPU como una 
instrucción a ser ejecutada durante el funcionamiento del microcontrolador. 
 
Desarrollo: 
 
Código: 
.INCLUDE "M64DEF.INC" 
.DEF mp = R16 
 
RJMP Start 
 
Start: 
 LDI MP, 0b11111111 
;0XFF 
 OUT DDRB, MP 
 LDI MP, 0b00000000 
 OUT PORTB, MP 
 
Programa: 
 CALL TEMPO 
 LDI MP, 0b00000001 
 OUT PORTB, MP 
 CALL TEMPO 
 LDI MP, 0b00000010 
 OUT PORTB, MP 
 CALL TEMPO 
 LDI MP, 0b00000011 
 OUT PORTB, MP 
 CALL TEMPO 
 LDI MP, 0b00000100 
 OUT PORTB, MP 
 CALL TEMPO 
 LDI MP, 0b00000101 
 OUT PORTB, MP 
 CALL TEMPO 
 LDI MP, 0b00000110 
 OUT PORTB, MP 
 CALL TEMPO 
 LDI MP, 0b00000111 
 OUT PORTB, MP 
 CALL TEMPO 
 LDI MP, 0b00001000 
 OUT PORTB, MP 
 CALL TEMPO 
 LDI MP, 0b00001001 
 OUT PORTB, MP 
 CALL TEMPO 
 LDI MP, 0b00001010 
 OUT PORTB, MP 
 CALL TEMPO 
 LDI MP, 0b00001011 
 OUT PORTB, MP 
 CALL TEMPO 
 LDI MP, 0b00001100 
 OUT PORTB, MP 
 CALL TEMPO 
 LDI MP, 0b00001101 
 OUT PORTB, MP 
 CALL TEMPO 
 LDI MP, 0b00001110 
 OUT PORTB, MP 
 CALL TEMPO 
 LDI MP, 0b00001111 
 OUT PORTB, MP 
 CALL TEMPO 
 CALL TEMPO 
 LDI MP, 0b00010000 
 OUT PORTB, MP 
 CALL TEMPO 
 LDI MP, 0b00010001 
 OUT PORTB, MP 
 CALL TEMPO 
 LDI MP, 0b00010010 
 OUT PORTB, MP 
 CALL TEMPO 
 LDI MP, 0b00010011 
 OUT PORTB, MP 
 CALL TEMPO 
 LDI MP, 0b00010100 
 OUT PORTB, MP 
 CALL TEMPO 
 LDI MP, 0b00010101 
 OUT PORTB, MP 
 CALL TEMPO 
 LDI MP, 0b00010110 
 OUT PORTB, MP 
 CALL TEMPO 
 LDI MP, 0b00010111 
 OUT PORTB, MP 
 CALL TEMPO 
 LDI MP, 0b00011000 
 OUT PORTB, MP 
 CALL TEMPO 
 LDI MP, 0b00011001 
 OUT PORTB, MP 
 CALL TEMPO 
 LDI MP, 0b00011010 
 OUT PORTB, MP 
 CALL TEMPO 
 LDI MP, 0b00011011 
 OUT PORTB, MP 
 CALL TEMPO 
 LDI MP, 0b00011100 
 OUT PORTB, MP 
 CALL TEMPO 
 LDI MP, 0b00011101 
 OUT PORTB, MP 
 CALL TEMPO 
 LDI MP, 0b00011110 
 OUT PORTB, MP 
 CALL TEMPO 
 LDI MP, 0b00011111 
 OUT PORTB, MP 
 CALL TEMPO 
 LDI MP, 0b00100000 
 OUT PORTB, MP 
 CALL TEMPO 
 RJMP Programa 
 
TEMPO: 
 LDI R20, 250 
TEMPO2: 
 NOP 
 NOP 
 NOP 
 NOP 
 NOP 
 NOP 
 DEC R20 
 BRNE TEMPO2 
 DEC R19 
 BRNE TEMPO 
 RET 
 
Resultados: 
 
 
 
 
 
 
 
Contador en 0 
Contador en 2 
Contador en 1 
Contador en 3 
 
 
Contador en 4 Contador en 5 
Contador en 6 Contador en 7 
Contador en 11 Contador en 10 
Contador en 9 Contador en 8 
 
 
Contador en 12 Contador en 13 
Contador en 14 Contador en 15 
Contador en 16 Contador en 17 
Contador en 18 Contador en 19 
 
 
Contador en 26 
Contador en 25 Contador en 24 
Contador en 23 Contador en 22 
Contador en 21 Contador en 20 
Contador en 27 
 
 
Contador en 28 Contador en 29 
Contador en 30 Contador en 31 
Contador en 32 
Conclusiones: 
Héctor: 
Esta práctica nos ayudó a comprender como funciona la programación en 
ensamblador al principio si lo veía algo complicado pero con los materiales 
y videos que aporto el profesor fueron excelentes para su compresión, si algo 
he aprendido de la programación es que “no debes inventar la rueda dos 
veces” es decir que ya existe contenido que te apoya a realizar cosas, en 
este caso un contador, además de sirvieron mucho los temas anteriormente 
vistos para ver cómo funciona los componentes de un contador y eso facilito 
entender la codificación, una vez comprendido el tema la programación 
en ensamblador creo que facilita la creación del hardware y vuelve los 
procesos más eficientes. 
 
Melanie: 
Esta práctica se veía más difícil de lo que estuvo, sin embargo, con los 
recursos que se nos presentaron, se facilito todo. Es padre como ya vamos 
realizando cada vez actividades más “complejas”, a la par de que se esta 
convirtiendo mas sencillo buscar las soluciones de estas mismas, es decir, 
gracias a lo que con anterioridad hemos estado viendo, y poniendo en 
práctica, ahora contamos con ya muchos recursos los cuales nos facilitan la 
realización de actividades como esta. 
 
 
 
 
 
 
 
 
 
Referencias: 
Referencias 
García, M. (19 de noviembre de 2020). Classroom. Obtenido de 
https://classroom.google.com/u/1/c/MTM5MzkyOTc2OTY5/a/MjMxNDY1NTE1NTQx/deta
ils 
Marilyn, D. (13 de octubre de 2016). es.slideshare. Obtenido de 
https://es.slideshare.net/MicroprocesadorDenni/programacin-de-microcontroladores-
67104865 
Martino. (11 de noviembre de 2020). YouTube. Obtenido de 
https://www.youtube.com/watch?v=v-lvELLVR44&feature=emb_logo 
Sanchez, M. (11 de abril de 2016). YouTube. Obtenido de 
https://www.youtube.com/watch?v=_FDkXq4EZ10&feature=emb_logo

Continuar navegando