Upload
elpinchejavi
View
213
Download
0
Embed Size (px)
Citation preview
7/29/2019 Práctica 3_Instrucciones y programas
http://slidepdf.com/reader/full/practica-3instrucciones-y-programas 1/6
UABC Ingeniería Electrónica FCQI - Tijuana
Manual de prácticas de laboratorio de Microcontroladores
Microcontroladores 1 de 6
Práctica #3. Instrucciones y programas
Competencia: Identificar el funcionamiento de las instrucciones del microcontrolador, a través de la
observación de los registros internos del CPU y de las localidades de memoria, para escribir
programas en bajo nivel con abstracción y actitud analítica.
Tiempo Estimado:
4 horas
Trabajo Previo:
□ Realice una lectura general de la actividad.
□ Recopilación de la siguiente información en el cuaderno de cada uno de los integrantes de
laboratorio (utilizando como referencia libros, páginas de internet -no wikipedia ni tipobuenastareas.com):
□ Hablando de un microcontrolador, ¿qué es un conjunto de instrucciones?
□ En el contexto de una instrucción, ¿qué es un ciclo de reloj? ¿qué es la longitud de una
instrucción? ¿qué es un op-code?
□ ¿Cuál es la tarea de un ensamblador?
□ Asegurarse de que la computadora de trabajo (laptop o escritorio), tiene instalado el ambiente
ST Visual Develop (revise en Bb las instrucciones para su instalación).
□ Obtenga los programas de prueba que se van a simular de BlackBoard (sección
/Documentos/Laboratorio/Práctica 3).
□ Consulte el documento Creación de un Proyecto en STVD disponible en BlackBoard (sección
/Documentos/Laboratorio/Práctica 3).
Teoría: Cada fabricante asigna a su microcontrolador su propio conjunto de instrucciones ( instruction
set ), de acuerdo con la arquitectura que posee, la distribución de sus secciones de memoria y con
base en la manera en que opera el CPU y los periféricos. Aunque en sentido estricto se llaman
mnemónicos de instrucciones, para efectos prácticos se les conoce simplemente como instrucciones
y es como nos referiremos a ellas durante el curso y durante la práctica.
El CPU del microcontrolador únicamente puede decodificar y ejecutar instrucciones en forma
de '0' y '1'. Pero para un ser humano, construir un programa en lenguaje de '0' y '1' sería muy tediosoy las probabilidades de cometer errores serían muy altas. Por lo tanto, se utilizan abreviaturas o
palabras (generalmente en idioma inglés), que representan las diferentes operaciones y acciones que
el CPU puede realizar (por ejemplo, sumar, restar, transferir datos, comparar dos operandos, etc).
Para cada una de estas operaciones existe un código en binario (que el CPU puede decodificar y
ejecutar) y un mnemónico de instrucción (que un usuario programador puede utilizar para construir
programas). Una vez que el usuario ha construido su programa, se utiliza un ensamblador que
básicamente es una aplicación que traduce las instrucciones en un código que el CPU va a ejecutar.
Este código que se obtiene como resultado se conoce como código máquina o lenguaje máquina. (Si
7/29/2019 Práctica 3_Instrucciones y programas
http://slidepdf.com/reader/full/practica-3instrucciones-y-programas 2/6
UABC Ingeniería Electrónica FCQI - Tijuana
Manual de prácticas de laboratorio de Microcontroladores
Microcontroladores 2 de 6
se revisa la zona de memoria donde queda almacenado el programa -ya ensamblado- se observarán
dígitos hexadecimales que representan cada una de las instrucciones empleadas por el usuario
programador).
Hablando del conjunto de instrucciones del microcontrolador, existen diferentes tipos de
instrucciones: aritméticas, lógicas, de comparación, de brinco, de salto, de transferencia, de acceso a
memoria, entre otras. La combinación de estas instrucciones le ofrece la oportunidad al usuario
programador de construir sus programas y luego ensamblarlos para que sean descargados en la
memoria de programa del microcontrolador.
En esta práctica se revisarán algunas instrucciones del microcontrolador, mismas que el
alumno deberá teclear dentro del ambiente de desarrollo ST Visual Develop para verificar su
operación y responder las preguntas indicadas. Esta actividad de laboratorio se planea para una
sesión de trabajo. Material:
□ DataSheet_STM8S105xx_CD00200092 .
□ RM0016_STM8 Reference manual CD00190271.
□ UM0817_STM8S-DISCOVERY_CD00250600.
□ Computadora con ambiente STVD.
□ Kit de desarrollo STM8SDISCOVERY.
□ Cable USB
Procedimiento:
1. Arrancar la computadora, iniciar el ambiente STVD y crear un proyecto.
2. A continuación se muestra una selección de instrucciones, cada una con 4 respuestas
posibles. El equipo deberá seleccionar la respuesta correcta. Para lograr esto, se deben teclear cada
una de las instrucciones dentro del proyecto, ensamblar el programa y comenzar a simularlo desde
la primera instrucción tecleada, una por una (Si no recuerda cómo introducir las instrucciones,
ensamblar o simular el programa, o comenzar a simular a partir de la primera instrucción de su
programa, refiérase a la práctica correspondiente).
IMPORTANTE: Es indispensable observar los registros, localidades de memoria y banderas para
lograr identificar la tarea de la instrucción. Para observar los registros del CPU, y las localidadesde memoria, consulte el documento Creación de un proyecto en STVD. Para determinar el
estado de cada una de las banderas del CCR que se activan / no se activan en cada instrucción,
observe la ventana CPU Registers. Si la bandera se activa, aparece una palomita en la cajita
correspondiente; si no se activa, la cajita permanece en blanco.Si por alguna razón no observa lo
que la instrucción realiza, puede indicarle al simulador que el programa vuelva a ejecutar la
instrucción indicada, pero antes deberá a) cerrar y abrir de nuevo el simulador o b) reiniciar el
programa (chip reset ) y reiniciar cada registro o localidad como se indica.
7/29/2019 Práctica 3_Instrucciones y programas
http://slidepdf.com/reader/full/practica-3instrucciones-y-programas 3/6
UABC Ingeniería Electrónica FCQI - Tijuana
Manual de prácticas de laboratorio de Microcontroladores
Microcontroladores 3 de 6
Cada uno de los integrantes del equipo debe escribir la instrucción en su cuaderno con surespuesta correcta respectiva. ADEMÁS, DEBE INCLUIRSE UNA BREVE DESCRIPCIÓN QUEEXPLIQUE PORQUÉ EL EQUIPO SELECCIONÓ DICHA RESPUESTA COMO LA CORRECTA(¿Cuáles localidades / registros / banderas se observaron? ¿Cuáles cambios se registraron enesos elementos?).
Tabla 1.- Instrucciones a ser introducidas y simuladas
SCF
a) Complementa a 2 la bandera de acarreo
b) Pone en ‘1’ la bandera de acarreo
c) Pone en ‘0’ la bandera de acarreo
d) Invierte la bandera de acarreo
MOV $03F0,#$D2
a) Copia el contenido de la localidad D216 a la localidad
03F016
b) Carga el número 03F016 a la localidad D216
c) Copia el contenido de la localidad 03F016 a la localidad
D216
d) Carga el número D216 a la localidad 03F016
CPL $03F0
a) Complementa a 1 el contenido de la localidad 03F016
b) Complementa a 1 el contenido del acumulador
c) Complementa a 1 el contenido de una localidad de
memoria.
d) Complementa a 1 el número 03F016
BSET $03F0,#6
a) Pone en ‘1’ el bit número 6 del contenido de la localidad
de memoria 03F016
b) Pone en ‘0’ el bit número 6 del contenido de la localidad
de memoria 03F016
c) Pone en ‘1’ el bit número 6 del número 03F016
d) Pone en ‘0’ el bit número 6 del número 03F016
EXG A,$03F0
a) Intercambia el contenido del acumulador y el del
número 03F016
b) Carga el acumulador con el número 03F016
c) Carga la localidad de memoria 03F016 con el contenido
del acumulador.
d) Intercambia el contenido del acumulador y el de la
localidad de memoria 03F016
7/29/2019 Práctica 3_Instrucciones y programas
http://slidepdf.com/reader/full/practica-3instrucciones-y-programas 4/6
UABC Ingeniería Electrónica FCQI - Tijuana
Manual de prácticas de laboratorio de Microcontroladores
Microcontroladores 4 de 6
SWAP A
a) Intercambia los ‘medios bytes’ (nibbles) del acumulador.
El bit 7 se intercambia con el bit 3, el bit 6 se intercambia
con el bit 2, el bit 5 se intercambia con el bit 1 y el bit 4 se
intercambia con el bit 0.
b) Intercambia los ‘medios bytes’ (nibbles) del acumulador.
El bit 7 se intercambia con el bit 0, el bit 6 se intercambia
con el bit 1, el bit 5 se intercambia con el bit 2 y el bit 4 se
intercambia con el bit 3.
c) Intercambia los ‘medios bytes’ (nibbles) del acumulador.
El bit 7 se intercambia con el bit 6, el bit 5 se intercambia
con el bit 4, el bit 3 se intercambia con el bit 2 y el bit 1 se
intercambia con el bit 0.
d) Intercambia los ‘medios bits’ (nibbles) del acumulador.
El bit 7 se intercambia con el bit 4, el bit 6 se intercambia
con el bit 5, el bit 3 se intercambia con el bit 0 y el bit 2 se
intercambia con el bit 1.
LDW X,#$1500
a) Carga en el registro índice X el contenido de la
localidad de memoria 150016.
b) Carga en la localidad de memoria 150016 el contenido
del registro índice X.
c) Carga en el registro índice X el número 150016.
d) Carga en el número 150016 el contenido del registro
índice X.
DECW X
a) Decrementa en 1 el contenido del registro índice X
parte baja.
b) Decrementa en 1 el contenido del registro índice X.
c) Decrementa en 1 el contenido del registro índice X
parte alta.
d) Decrementa el contenido del registro índice X.
CLRW X
a) Limpia (pone 000016) en el registro índice X parte alta.
b) Limpia (pone FFFF16) en el registro índice X.
c) Limpia (pone 000016) en el registro índice X.
d) Limpia (pone 000016) en el registro índice X parte baja.
7/29/2019 Práctica 3_Instrucciones y programas
http://slidepdf.com/reader/full/practica-3instrucciones-y-programas 5/6
UABC Ingeniería Electrónica FCQI - Tijuana
Manual de prácticas de laboratorio de Microcontroladores
Microcontroladores 5 de 6
LD YL,A
a) Carga el contenido del registro acumulador en el
registro índice Y.
b) Intercambia el contenido del registro índice Y parte baja
con el contenido del registro acumulador.
c) Carga el contenido del registro índice Y parte baja en elregistro acumulador.
d) Carga el contenido del registro acumulador en el
registro índice Y parte baja.
3. Una vez que se haya seleccionado la respuesta correcta y anotado en el cuaderno, proceda a
insertar comentarios al lado de cada una de las instrucciones tecleadas (puede copiar el texto de la
respuesta correcta del documento de la práctica). NOTA: Para insertar comentarios dentro del
archivo .ASM utilice el punto y coma “;” y luego escriba el comentario, que deberá ser iluminado de
color verde claro.
4. Construya la siguiente tabla en su cuaderno y explique si las siguientes instrucciones puedenser válidas (utilice el manual de programación del microcontrolador para apoyarse). No es necesario
que las introduzca en el simulador.
Tabla 2.- Ejemplos de Instrucciones.
INSTRUCCIÓN CORRECTA INCORRECTA
LD A,X
SWAPW X
INC XL ADD A,$03FF
LD $80,Y
INC A
LDW A,$50
CCF
MOV $05FF,#$D3CLR W
7/29/2019 Práctica 3_Instrucciones y programas
http://slidepdf.com/reader/full/practica-3instrucciones-y-programas 6/6
UABC Ingeniería Electrónica FCQI - Tijuana
Manual de prácticas de laboratorio de Microcontroladores
Microcontroladores 6 de 6
¿Qué se debe entregar?
Se debe mostrar:
la carpeta con el proyecto creado.
el archivo .ASM con las instrucciones introducidas y comentadas. las respuestas seleccionadas como correctas, anotadas en el cuaderno y la
explicación de qué fue lo que se observó en cada caso para elegirla como tal.
la tabla 2 construida en el cuaderno de cada integrante.
Fecha de entrega programada de la actividad de laboratorio
o Grupo 651-1: Lunes 23 de septiembre de 2013.
o Grupo 651-2: Martes 24 de septiembre de 2013.
Fecha de entrega del reporte*
o Grupo 651-1: Lunes 30 de septiembre de 2013.
o Grupo 651-2: Martes 1 de octubre de 2013.
* Para el contenido del reporte de esta actividad de laboratorio, consulte la sección Documentos en el
sitio BlackBoard de la asignatura.