Pic16f84
Introducción
Ya llegamos a la parte más interesante e importante del manejo de un microcontrolador: las instrucciones. Nuestro microcontrolador, como ya sabemos, pertenece a la gama media y es de tipo RISC; esto quiere decir que tiene un juego de instrucciones reducido, en concreto de 35. Estas 35 instrucciones o nemónicos (del inglésmnemonics(os recuerda a la película ;) ?) y a su vez proveniente del juego de palabras: Nem On Icks) serán la base de funcionamiento del PIC. Al igual que los bits de los registros, será imposible aprendernos todas y a la vez su funcionamiento, pero a la hora de codificar nuestros programas deberemos tenerlas en cuenta. Así, cuando tengamos dudas sobre su uso, esta guía será la chuleta ideal pararecordarlo ;p.
Las instrucciones fundamentalmente se dividen en tres tipos. Esta división viene dada por el tipo de datos con los que trabajan:
- Instrucciones orientadas a los bytes (byte-oriented operations)
- Instrucciones orientadas a los bits (bit-oriented operations)
- Operaciones con literales y de control (literal and control operations)
Aparte deestas instrucciones, hay otro tipo de instrucciones usadas para simplificar la tarea de programar, y q generalmente están formadas por dos instrucciones básicas. Estas no las trataremos a fondo, pero las veremos en un resumen después de comprender el funcionamiento de las 35 instrucciones básicas.
En los tres apartados siguientes veremos todos los datos que se pueden dar acerca de una función.Algunos de ellos son irrelevantes y no son nuestro objetivo. En cambio otros, como la acción, la sintaxis, el funcionamiento, la operación, el comportamiento del registro STATUS y los ejemplos, son imprescindibles para comprender su funcionamiento.
INSTRUCCIONES ORIENTADAS AL MANEJO DE BYTES (REGISTROS)
ADDWF
Acción
Suma el contenido del acumulador y elregistro dado, y el resultado lo guarda en d
Sintaxis
ADDWF f,d
Funcionamiento
Add W to file register (Añade W al registro)
Hexadecimal
07 ff
Bits (OPCODE)
00 0111 dfff ffff
Operación
d = W + f (d puede ser W ó f).
Descripción
Esta instrucción suma el contenido de un registro específico al contenido de W donde f puede ser un registrocualquiera con un determinado valor.
Comentarios
Aunque ya conocemos el funcionamiento del bit d, lo repetiré de nuevo para el resto de instrucciones:
- Si vale 1, el resultado se guarda en el registro f
- Si vale 0, el resultado se guarda en el acumulador W
Registro STATUS
Modifica los bits Z, DC y C.
Z vale 1 si el resultado de la operación es 0.DC vale 1 si el resultado de la operación es un número superior a 15.
C vale 1 si el resultado de la operación es positivo o el bit 7 del registro que contiene el resultado vale 0. En caso contrario C vale 0 (resultado negativo).
Ejemplo
Tomamos como valores iniciales W = 5 y DATO = 10, donde dato es un registro cualquiera.
ADDWF DATO ; DATO = 15 y W = 5.
ADDWFDATO, 1 ; DATO = 15 y W = 5.
ADDWF DATO, 0 ; W = 15 y DATO = 10.
ADDWF DATO, W ; W = 15 y DATO = 10.
Ciclos de máquina
1
ANDWF
Acción
Realiza la operación AND entre un registro y W
Sintaxis
ANDWF f,d
Funcionamiento
AND W with f
Hexadecimal
05 ff
Bits (OPCODE)
00 0101 dfff ffffOperación
d = W AND f (d puede ser W o f).
Descripción
Esta instrucción realiza la operación lógica AND entre el acumulador y el registro f. el resultado se guarda dependiendo del valor de d. Si este se omite, el valor por defecto es 1 y se guarda en f
Comentarios
La operación AND es una de las operaciones básicas del álgebra de Boole. Esta viene descrita en el apartado...
Regístrate para leer el documento completo.