lenguaje básico programación de micro controladores

Páginas: 8 (1910 palabras) Publicado: 19 de noviembre de 2013
Como ya hemos visto, para que el microcontrolador lleve acabo una tarea, debemos indicarle exactamente que debe hacer, o en otras palabras, debemos escribir el programa que el micro ejecutara. Ya hemos visto varios ejemplos y muchas de las instrucciones del pic, pero ahora veremos las 35 instrucciones del ensamblador mpasm. Estas 35 instrucciones son las mismas para toda la gama media de losmicrocontroladores pic asi que si mas adelante se quiere realizar un programa para un pic 16F877 se usaran las mismas instrucciones.

Antes de continuar es necesario definir algunos terminos que se usaran para explicar las instrucciones:
f: cualquier registro del microcontrolador
W: registro de trabajo
b: posicion de un bit en el registro 'f'
d: destino, puede ser 'f' (d=1) o 'W' (d=0)etiqueta: grupo de caracteres que marcan el inicio de una parte del programa
[]: opcional
: posicion de un bit dentro de un registro

Instrucciones orientadas a registros

ADDWF: Suma W y f
Suma el contenido del registro 'W' y el registro 'f'. Si "d" es 0, el resultado se almacena en el registro W. Si 'd' es 1 el resutado se almacena en el registro 'f'.
Sintaxis: [etiqueta] ADDWF f,d
Operación:(W) + (f) --> (destino)
Flags afectados: C, DC, Z
Ejemplo: ADDWF REG,1
Antes de la instrucción: W=0x03, REG=0x04
Después de la instrucción: W=0x03, REG=0x07

ANDWF: W AND f
Realiza la operación lógica AND entre el registro W y el registro "f". Si "d" es 0 el resultado se almacena en el registro W. Si "d" es 1, el resultado se almacena en el registro "f".
Sintaxis: [etiqueta] ANDWF f,dOperación: (W) AND (f) --> (destino)
Flags afectados: Z
Ejemplo: ANDWF REG,1
Antes de la instrucción: W=0x17, REG= 0xC2
Después de la instrucción: W=0x17, REG= 0x02

CLRF: Borra un registro
Borra el contenido del registro 'f' y se activa el flag Z.
Sintaxis: [etiqueta] CLRF f
Flags afectados: Z
Ejemplo: CLRF REG
Antes de la instrucción: REG=0x54
Después de la instrucción: REG=0x00, Z=1CLRW: Borra el registro de trabajo W
Borra el contenido del registro 'W' y se activa el flag Z. Esta instruccion no tiene operandos.
Sintaxis: [etiqueta] CLRW
Flags afectados: Z
Ejemplo: CLRW
Antes de la instrucción: W=0x54
Después de la instrucción: W=0x00, Z=1

COMF: Complementa el registro f
El contenido del registro 'f' se complementa. Si d=0 el resultado se almacena en el registroW. Si d=1 el resultado se almacena en el registro 'f'.
Sintaxis: [etiqueta] COMF f,d
Flags afectados: Z
Ejemplo: COMF REG,0
Antes de la instruccion: REG=0x13
Después de la instrucción: REG=0x13, W=0xEC

DECF: Decrementa f en 1
De decrementa en uno el contenido del registro 'f'. Si d=0, el resultado se almacena en W. Si d=1, el resultado se almacena en 'f'.
Sintaxis: [etiqueta] DECF f,dFlags afectados: Z
Ejemplo: DEC CONT, 1
Antes de la instrucción: CONT=0x01, Z=0
Después de la instrucción: CONT=0x00, Z=1

DECFSZ: Decrementa en 1 y salta si el resultado es 0
El contenido del registro 'f' se decrementa. Si 'd=0, el resultado se coloca en el registro W. Si d=1, el resultado se coloca en el registro 'f'. Si el resultado es 0, se salta la siguiente instrucción y se continúa conla ejecución.
Sintaxis: [etiqueta] DECFSZ f,d
Flags afectados: Ninguno

INCF: Incrementa el registro f
Incrementa en uno el contenido del registro 'f'. Si d=0, el resultado se almacena en W. Si d=1, el resultado se almacena en 'f'.
Sintaxis: [label] INCF f,d
Flags afectados: Z
Ejemplo: INCF CONT,1
Antes de la instrucción: CONT=0xFF, Z=0
Después de la instrucción: CONT=0x00, Z=1INCFSZ: Incrementa en 1 y salta si el resultado es 0
El contenido del registro 'f' se incrementa. Si d=0, el resultado se coloca en el registro W. Si d=1, el resultado se coloca en el registro 'f'. Si el resultado es 0, se salta la siguiente instrucción y se continúa con la ejecución.
Sintaxis: [etiqueta] DECFSZ f,d
Flags afectados: Ninguno

IORWF: W OR f
Realiza la operación lógica OR entre el...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • LENGUAJE DE PROGRAMACIÓN VISUAL BASIC
  • Lenguaje C programación Basica
  • lenguaje de programacion basic
  • Control De Lenguaje 3 Básico
  • CONCEPTOS BÁSICOS DEL LENGUAJE DE PROGRAMACIÓN C++
  • Elementos Básicos y Comparativa De Lenguajes De Programación
  • Lenguaje Para Aprender Programación Básica En Java?
  • Lenguaje De Programación Basic

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS