You are on page 1of 6

UABC

Ingeniera Electrnica Manual de prcticas de laboratorio de Microcontroladores

FCQI - Tijuana

Prctica #3. Instrucciones y programas Competencia: Identificar el funcionamiento de las instrucciones del microcontrolador, a travs de la observacin de los registros internos del CPU y de las localidades de memoria, para escribir programas en bajo nivel con abstraccin y actitud analtica. Tiempo Estimado: 4 horas Trabajo Previo: Realice una lectura general de la actividad. Recopilacin de la siguiente informacin en el cuaderno de cada uno de los integrantes de laboratorio (utilizando como referencia libros, pginas de internet -no wikipedia ni tipo buenastareas.com): Hablando de un microcontrolador, qu es un conjunto de instrucciones? En el contexto de una instruccin, qu es un ciclo de reloj? qu es la longitud de una instruccin? qu es un op-code? Cul 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 instalacin). Obtenga los programas de prueba que se van a simular de BlackBoard (seccin /Documentos/Laboratorio/Prctica 3). Consulte el documento Creacin de un Proyecto en STVD disponible en BlackBoard (seccin /Documentos/Laboratorio/Prctica 3). Teora: Cada fabricante asigna a su microcontrolador su propio conjunto de instrucciones (instruction set), de acuerdo con la arquitectura que posee, la distribucin de sus secciones de memoria y con base en la manera en que opera el CPU y los perifricos. Aunque en sentido estricto se llaman mnemnicos de instrucciones, para efectos prcticos se les conoce simplemente como instrucciones y es como nos referiremos a ellas durante el curso y durante la prctica. 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' sera muy tedioso y las probabilidades de cometer errores seran muy altas. Por lo tanto, se utilizan abreviaturas o palabras (generalmente en idioma ingls), 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 cdigo en binario (que el CPU puede decodificar y ejecutar) y un mnemnico de instruccin (que un usuario programador puede utilizar para construir programas). Una vez que el usuario ha construido su programa, se utiliza un ensamblador que bsicamente es una aplicacin que traduce las instrucciones en un cdigo que el CPU va a ejecutar. Este cdigo que se obtiene como resultado se conoce como cdigo mquina o lenguaje mquina. (Si
Microcontroladores 1 de 6

UABC

Ingeniera Electrnica Manual de prcticas de laboratorio de Microcontroladores

FCQI - Tijuana

se revisa la zona de memoria donde queda almacenado el programa -ya ensamblado- se observarn dgitos 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: aritmticas, lgicas, de comparacin, de brinco, de salto, de transferencia, de acceso a memoria, entre otras. La combinacin 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 prctica se revisarn algunas instrucciones del microcontrolador, mismas que el alumno deber teclear dentro del ambiente de desarrollo ST Visual Develop para verificar su operacin y responder las preguntas indicadas. Esta actividad de laboratorio se planea para una sesin 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 continuacin se muestra una seleccin 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 instruccin tecleada, una por una (Si no recuerda cmo introducir las instrucciones, ensamblar o simular el programa, o comenzar a simular a partir de la primera instruccin de su programa, refirase a la prctica correspondiente). IMPORTANTE: Es indispensable observar los registros, localidades de memoria y banderas para lograr identificar la tarea de la instruccin. Para observar los registros del CPU, y las localidades de memoria, consulte el documento Creacin 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 instruccin, 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 razn no observa lo que la instruccin realiza, puede indicarle al simulador que el programa vuelva a ejecutar la instruccin 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.
Microcontroladores 2 de 6

UABC

Ingeniera Electrnica Manual de prcticas de laboratorio de Microcontroladores

FCQI - Tijuana

Cada uno de los integrantes del equipo debe escribir la instruccin en su cuaderno con su respuesta correcta respectiva. ADEMS, DEBE INCLUIRSE UNA BREVE DESCRIPCIN QUE EXPLIQUE PORQU EL EQUIPO SELECCION DICHA RESPUESTA COMO LA CORRECTA (Cules localidades / registros / banderas se observaron? Cules cambios se registraron en esos elementos?). Tabla 1.- Instrucciones a ser introducidas y simuladas 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

SCF

MOV $03F0,#$D2

a) Copia el contenido de la localidad D216 a la localidad 03F016 b) Carga el nmero 03F016 a la localidad D216 c) Copia el contenido de la localidad 03F016 a la localidad D216 d) Carga el nmero 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 nmero 03F016

BSET $03F0,#6

a) Pone en 1 el bit nmero 6 del contenido de la localidad de memoria 03F016 b) Pone en 0 el bit nmero 6 del contenido de la localidad de memoria 03F016 c) Pone en 1 el bit nmero 6 del nmero 03F016 d) Pone en 0 el bit nmero 6 del nmero 03F016

EXG A,$03F0

a) Intercambia el contenido del acumulador y el del nmero 03F016 b) Carga el acumulador con el nmero 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
3 de 6

Microcontroladores

UABC

Ingeniera Electrnica Manual de prcticas de laboratorio de Microcontroladores

FCQI - Tijuana

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 nmero 150016. d) Carga en el nmero 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.

Microcontroladores

4 de 6

UABC

Ingeniera Electrnica Manual de prcticas de laboratorio de Microcontroladores

FCQI - Tijuana

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 el registro 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 prctica). 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 pueden ser vlidas (utilice el manual de programacin del microcontrolador para apoyarse). No es necesario que las introduzca en el simulador. Tabla 2.- Ejemplos de Instrucciones. CORRECTA

INSTRUCCIN

INCORRECTA

LD A,X SWAPW X INC XL ADD A,$03FF LD $80,Y INC A LDW A,$50 CCF MOV $05FF,#$D3 CLR W

Microcontroladores

5 de 6

UABC

Ingeniera Electrnica Manual de prcticas de laboratorio de Microcontroladores

FCQI - Tijuana

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 explicacin 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 o Grupo 651-1: Lunes 23 de septiembre de 2013. Grupo 651-2: Martes 24 de septiembre de 2013.

Fecha de entrega del reporte* o o Grupo 651-1: Lunes 30 de septiembre de 2013. Grupo 651-2: Martes 1 de octubre de 2013.

* Para el contenido del reporte de esta actividad de laboratorio, consulte la seccin Documentos en el sitio BlackBoard de la asignatura.

Microcontroladores

6 de 6

You might also like