Beruflich Dokumente
Kultur Dokumente
Microprocesadores y Prácticas
Marzo 27 de 2020
I. Objetivo En los periféricos hay dispositivos que
generan la interrupción. No es posible
Realizar programas utilizando
desactivarlas y estás señales son manejas
interrupciones del microcontrolador.
por el circuito integrado.
II. Introducción
• Interrupciones de software:
En el microcontrolador MSP430G2553
Pueden ser activada directamente
existe la posibilidad de utilizar todas las
invocando el número de interrupción
entradas digitales como interrupciones
deseada con la instrucción INT. Hay dos
externas, lo cual nos ayuda a realizar
categorías de este tipo de interrupciones:
diversas aplicaciones, especialmente
DOS y BIOS. La diferencia entre ambas es
aquellas que involucran control.
la interrupción del sistema operativo, son
III. Marco teórico más fáciles, pero también lentas (DOS)
para lograr el cometido en cambio las
Una interrupción es una instrucción que
interrupciones BIOS son más rápidas, pero
suspende la ejecución de un programa,
tienen la desventaja de ser parte del
para que este ejecute un proceso
hardware muy especificas y pueden varias
prioritario. Las interrupciones son
según el fabricante.
sincronizaciones entre la ejecución del
programa y acontecimientos externos. IV. Procedimiento
Las interrupciones son señales recibidas Al grupo de ingenieros en formación se les
por el procesador de un ordenador, lo que solicita la realización de diferentes
indica la suspensión del curso actual y programas que le dieran solución a una
ejecutar un código especifico. Las problemática en particular, entre los
interrupciones están administradas en un cuales:
espacio de memoria, llamado memoria
Punto 1: Utilice 8 leds para mostrar 4
baja.
animaciones diferentes tipo “KITT el auto
Existen 3 tipos de interrupciones increíble”, altérnelas con una interrupción.
principales: Más de 10 animaciones diferentes se
pueden apreciar en el siguiente video:
• Interrupciones internas de https://youtu.be/t6FeyJoIXpU
hardware:
En el siguiente código se realizar la
Son generadas por ciertos eventos que inicialización para los puertos, en donde se
surgen a raíz de la ejecución de un indica todo el puerto 1 y será de uso digital,
programa. Son manejadas en su totalidad por otra parte, el puerto 2 será usado
por el hardware y no se pueden modificar. entrada y dentro de este también se digita
• Interrupciones externas de que en el P2.0 habrá una interrupción
hardware: externa, posteriormente se habilitan las
interrupciones globales y que se usará
como flanco de bajada. Además, se mueve
un #001h a un registro para poderle hacer Interrup inc R4
call #Retardo
las configuraciones solicitadas.
bic.b #001h, &P2IFG
mov.b #0FFh, &P1DIR reti
mov.b #000h, &P1SEL
mov.b #000h, &P2DIR El programa inicia con un #001h en R4,
mov.b #000h, &P2SEL por lo que por default salta a la etiqueta de
mov.b #001h, &P1OUT uno. En esta etiqueta se observa un
bis.b #001h, &P2IE
movimiento de los Leds ubicados en el
bic.b #001h, &P2IES
bic.b #000h, &P2IFG exterior, en ellos se indica un rla, que
bis.w #GIE, SR consiste en un desplazamiento del bit
Setup mov.b #001h, R4 inicial hacía la izquierda, seguido de una
comparación usada para indicar que llegó
En la etiqueta de Loop realizamos unas al último led y requiere saltar a la siguiente
comparaciones, por lo que, al ser igual en etiqueta. En la tercera etiqueta de esta
alguna de estas, saltará a una etiqueta sección del programa se indica la
correspondiente al proceso que deben de presencia de un rra, que consiste en el
ser mostrados en los Leds. Se realizan desplazamiento hacía la derecha del bit
cinco comparaciones en total, siendo la usado, éste cuenta con su contador que al
última la que nos permite reiniciar el igualarse con el número con el que se
programa y volver a empezar de cero, compara salta al Loop a ver en que parte
mientras se realiza nuevamente una debe de continuar.
interrupción.
Uno mov.w #008FFh, R15
Loop cmp #001h, R4 mov.b #000h, R6
jeq Uno proce rla &P1OUT
cmp #002h, R4 call #Retardito
jeq Dos inc R6
cmp #003h, R4 cmp #008h, R6
jeq Tres jne proce
cmp #004h, R4 mov.w #008FFh, R15
jeq Cuatro Proce rra &P1OUT
cmp #005h, R4 call #Retardito
jeq Setup dec R6
jmp Loop cmp #000h, R6
jne Proce
La interrupción del circuito va mediada jmp Loop
por un botón externo, que al ser presionado Si se realiza una interrupción, el registro
incrementa el registro R4, el cuál es
R4 tendrá #002h, y por lo tanto saltaría del
comparado y mandan el resultado por el
Loop a la etiqueta Dos, la cual ilustra una
puerto 1 de salida. Luego del incremento
anterior se llama a un retardo que se utiliza animación seccionada, por lo que se
como anti-rebote y se limpia la bandera de cargan 2 registros R7 y R8 en los cuales se
interrupción, lo que permite volver a les realiza un rra y un rla respectivamente,
interrumpir el programa e incrementar en con el fin de mostrar una secuencia de 4
otro momento. leds iguales, ambos empezando en el bit
más significativo y terminando en el
menos significativo. Realizando el mismo mov.w #0FFFFh, R15
Proce3 rrc R7
movimiento de forma contraria.
mov.b R7, &P1OUT
Dos mov.w #008FFh, R15 call #Retardito
mov.b #000h, R6 dec R6
mov.b #0F0h, R7 cmp #000h, R6
mov.b #00Fh, R8 jne Proce3
proce2 rra R7 jmp Loop
mov.b R7, &P1OUT
rla R8 Para finalizar, en este fragmento se
mov.b R8, &P1OUT encuentra la etiqueta Cuatro
call #Retardito correspondiente a la última animación,
inc R6
cmp #004h, R6
junto con los Retardos del programa,
jne proce2 siendo el primero un retardo variable y el
mov.w #008FFH, R15 último un retardo fijo de anti-rebote de la
Proce2 rla R7 interrupción. El programa encenderá 4 led
mov.b R7, &P1OUT
rra R8 y los apagará a una velocidad aproximada
mov.b R8, &P1OUT de 250 ms, por lo que se permitirá alternar
call #Retardito el encendido y apagado de los leds.
dec R6
cmp #000h, R6 Cuatro mov.w #0FFFFh, R15
jne Proce2 xor #00Fh, &P1OUT
jmp Loop call #Retardito
mov.w #0FFFFh, R15
En este fragmento de código se observa el xor #0F0h, &P1OUT
3er incremento proporcionado por ella call #Retardito
jmp Loop
interrupción. El retardo es diferente en
todos lo procesos y es por lo que cargamos Retardito dec R15
como #0FFFFh en R15, además de cmp #00000h, R15
inicializar el contador y R7 que será jne Retardito
ret
mostrado en las salidas del puerto 1. Para
comenzar, le hacemos rlc a R7 y al llegar Retardo mov.w #00FFFh, R15
al último led, se regresa mediante un rrc, Restar dec R15
cmp #00000h, R15
este proceso es mediado mediante
jne Restar
comparaciones que determinen el fin de ret
los leds lo que marca el inicio del siguiente
proceso. A continuación, el punto 2: - Realice un
dado electrónico del 0 al 9 (muestre su
Tres mov.w #0FFFFh, R15
resultado en un display de 7 segmentos).
mov.b #000h, R6
mov.b #001h, R7 -Comience con los leds apagados
proce3 rlc R7
mov.b R7, &P1OUT -Cuando oprima el botón1 (que funciona
call #Retardito
inc R6 como interrupción) muestre el número al
cmp #00Fh, R6 azar en los leds Un segundo botón “limpia
jne proce3 los leds” (no es interrupción).
Reporte diagrama de flujo.
Inicio mov.b #000h, R9
Inicialmente se define el puerto 1 como mov.b #000h, R5
salida, en este puerto estará ubicado el mov.w #Arreglo, R4
Arre bit.b #002h, &P2IN
display que recibirá las señales y las jnz Limpiar
ilustrará en el display. Se inicializa mov.b @R4+, R7
apagado y el puerto 2 se inicia como inc.b R5
cmp #00Ah, R5
digital y entrada. jne Arre
mov.b #0FFh, &P1DIR jmp Inicio
mov.b #000h, &P1OUT
Limpiar mov.b #000h, &P1OUT
mov.b #000h, &P1SEL
call #Retardo
mov.b #000h, &P2DIR
jmp Inicio
mov.b #000h, &P2SEL
En arreglo, lo único que contiene son los
Posteriormente indicamos que el vector de
valores que se mostraran mediante el
interrupción se encontrará en el puerto 2.0,
display de 7 segmentos.
se definirá como flanco de bajada y se
limpia la bandera, se realiza el uso de Arreglo .byte 03Fh, 006h, 05Bh,
interrupciones general mediante el #GIE, 04Fh, 066h, 06Dh, 07Dh, 047h, 07Fh,
SR. 067h
El código gray se utiliza para sistemas de 6.- ¿En qué consiste el proyecto “Precious
posición lineal o angular, principalmente Plastic”?
para la robótica para la información de
posición sobre un eje particular mediante Es un método de reciclado que se originó
discos codificados. (Electrónica Unicrom, en Holanda por Dave Hakkens, esto
s.f.) consiste en fomentar que los residuos
plásticos que están en plazas, parques, ríos
etc. Sean procesados mediante un proceso
de maquina el cual ayudaría a limpiar el
5.- Después de ver el video “Why medio ambiente, así como generar
programming is important” y “You should
empleos para la realización de estas
learn to program” responda de forma
máquinas y la manipulación y generar
individual las siguientes preguntas: ¿ud.
cree que programar es una habilidad ingreso a las personas que lleve a vender
necesaria o útil?, ¿por qué? su plástico recolectado, el proceso por el
que pasaría este plástico son 4 máquinas:
Trituradora, extrusora, inyectora,
Juan: Yo pienso que este tipo de moldeadora. (Gregorio, s.f.)
conocimientos si son importantes de
aprender, hoy por hoy son solo los
especializados quienes tienen buen manejo 7.- ¿Cuánto paga por cada clase de
de este tipo de herramientas, pero no es de Microprocesadores I y Prácticas?
sorprenderse que en un futuro se convierta
Al ser una materia de 9 créditos, el
en una habilidad útil. En la época antigua,
semestre cuesta $11,040.00 Pesos, por
Semana son $690.00 Pesos y por clase son
$230.00 Pesos. 3. Enrique, C. (9 de mayo de
2017). Algorítmica y Programas.
VI. Conclusiones Obtenido
de: https://sites.google.com/site/p
Juan: Las interrupciones son procesos ortafoliocarlosmacallums/unidad-
sumamente importantes en programas de i/lenguajeensamblador
alta complejidad y/o mediana
complejidad, pues este tipo de
herramientas permite dejar un proceso 4. Ramos, C. L. (29 de Enero de
principal corto y optimizado, y que al 2020). Computer Hoy. Obtenido
momento de detectar una interrupción éste de https://computerhoy.com/notici
priorice otra parte del programa que al as/tecnologia/little-peanut-robot-
brindarle solución retornará al programa cuarentena-coronavirus-571173
principal. Es decir, se puede usar un
programa optimizado y solamente 5. Electrónica Unicrom. (s.f.).
interrumpirlo para cumplir otras funciones Obtenido de Electrónica Unicrom:
complementarias. ¡MAGIC! jaja https://unicrom.com/codigo-gray/