Está en la página 1de 4

ESCUELA POLITÉCNICA NACIONAL

LABORATORIO DE SISTEMAS MICROPROCESADOS


PRÁCTICA N° 6
NOMBRE: Hansel Lara GRUPO: GR2-1
1. TEMA

INSTRUCCIONES DE SALTO, LAZOS DE REPETICIÓN Y CREACIÓN DE


TABLAS DE DATOS EN LA FLASH.
2. OBJETIVOS
Desarrollar programas para resolver problemas utilizando lazos de repetición, tomando en cuenta
que se producen casos diferentes; por lo que se recurre al uso de instrucciones que producen
bifurcaciones en el programa.

3. INFORME

3.1. Presentar los resultados de las comprobaciones mediante capturas de pantallas.


Los resultados se presentan en las siguientes imágenes:
Primer código:

El resultado es Z=0; C=1 esto significa que R16 es menor que R17.

Segundo código:
El resultado es Z=1; C=0 esto significa que R16 es igual que R17.

Tercer código:
El tercer código se trata de que el pin PA0 es la entrada y se asocia a ella un switch en base a si el
switch está abierto (1L) se enviará a la salida (El puerto C) el número 255 en decimal o FF en
hexadecimal y en caso de que el switch esté cerrado (0L) se enviará el número 0 al puerto C, el
código se muestra a continuación:

Cuando está en 0L la salida es cero:


Cuando está en 1L la salida es 255 en decimal o FF en hexadecimal:

3.2 Presentar adicionalmente lo que el instructor solicite.


Escribir un programa que calcule la suma de los números impares hasta el 27 es decir:
𝑺𝒖𝒎𝒂 = 𝟏 + 𝟑 + 𝟓 + ⋯ + 𝟐𝟕 = 𝟏𝟗𝟔

El programa se presenta a continuación:

LDI R20,255 ; Se carga inmediatamente a R20 el valor de 255


OUT DDRA,R20 ; Se establece el puerto A como salida
LDI R17,1 ; Se carga inmediatamente a R17 el valor de 1
LDI R19,29 ; Se carga inmediatamente a R19 el valor de 29
Suma:
MOV R16,R21 ; Se copia R21 en R16
LSL R16 ; Se desplaza los bits de R16 hacia la izquierda, es equivalente
a multiplicar por 2
OR R16,R17 ; Se realiza la operación lógica OR entre los registros 16 y 17,
equivalente a sumar 1
CP R16,R19 ; Se compara el registro 16 y 19
BREQ Respuesta ; Si el R16 es igual a 29 salta a respuesta
ADD R18,R16 ; Se suma el R16 a R18
INC R21 ; Se incrementa en 1 el registro R21
rjmp Suma
Respuesta:
OUT PORTA,R18 ;Se envía la respuesta de la suma al puerto A

La respuesta es la siguiente:

Donde C4 en hexadecimal es 196 en decimal.

3.4. Conclusiones y Recomendaciones


Conclusiones:

• La creación de tablas en el entorno de Microchip Studio facilita la obtención de datos de la


misma esto hace que el programa sea más versátil al momento de que se requieran de datos
específicos.
• El manejo de periféricos (Puertos) es importante dado que a partir de estos es que se obtiene
la comunicación con elementos que constituyen el exterior del microprocesador, es
importante cuando un puerto está definido como entrada o como salida.
• Los lazos de repetición son muy importantes dado que gracias a ellos se puede ejecutar una
parte del código especifica debido a las condiciones de salto que se pueden especificar.
Recomendaciones:

• Es recomendable que al momento de especificar un puerto como entrada o salida se tenga en


cuenta las especificaciones eléctricas del microprocesador como las condiciones de corriente
entre otras.
• Se debe conocer bien los lazos de repetición y bajo qué condiciones estos se ejecutaran se
recomienda revisar los saltos Branch o Skip en el set de instrucciones.

Referencias:
[1]. Atmel, “AVR Instruction Set”, [En línea], Disponible en:
http://ww1.microchip.com/downloads/en/devicedoc/atmel-0856-avr-instruction-set-manual.pdf,
[Ultimo acceso: 30/06/2022]

También podría gustarte