Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Download
Standard view
Full view
of .
Save to My Library
Look up keyword
Like this
194Activity
0 of .
Results for:
No results containing your search query
P. 1
Instrucciones del PIC 16F84

Instrucciones del PIC 16F84

Ratings:

5.0

(4)
|Views: 16,988 |Likes:
Published by tony

More info:

Published by: tony on Jul 08, 2008
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

08/20/2013

pdf

text

original

 
Instrucciones del PIC 16F84http://usuarios.lycos.es/sfriswolker/pic/siete.htm1 de 3022/05/2008 01:26 p.m.
7 LAS INTRUCCIONES DEL PIC 16F84
 
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 decirque tiene un juego de instrucciones reducido, en concreto de 35. Estas 35 instrucciones o nemónicos (delinglés mnemonics(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 aprendernostodas y a la vez su funcionamiento, pero a la hora de codificar nuestros programas deberemos tenerlas encuenta. Así, cuando tengamos dudas sobre su uso, esta guía será la chuleta ideal para recordarlo ;p.Las instrucciones fundamentalmente se dividen en tres tipos. Esta división viene dada por el tipo de datos conlos 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 de estas instrucciones, hay otro tipo de instrucciones usadas para simplificar la tarea de programar, y qgeneralmente están formadas por dos instrucciones básicas. Estas no las trataremos a fondo, pero las veremosen 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 deellos son irrelevantes y no son nuestro objetivo. En cambio otros, como la acción, la sintaxis, elfuncionamiento, la operación, el comportamiento del registro STATUS y los ejemplos, son imprescindiblespara comprender su funcionamiento. 
INSTRUCCIONES ORIENTADAS AL MANEJO DE BYTES (REGISTROS)
 
ADDWF Acción
Suma el contenido del acumulador y el registro dado, y el resultado loguarda en d
SintaxisADDWF f,dFuncionamiento
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 alcontenido de W donde f puede ser un registro cualquiera con undeterminado valor.
Comentarios
Aunque ya conocemos el funcionamiento del bit d, lo repetiré denuevo para el resto de instrucciones:
Anuncios Google
 
Instrucciones del PIC 16F84http://usuarios.lycos.es/sfriswolker/pic/siete.htm2 de 3022/05/2008 01:26 p.m.
-
 
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 a15.C vale 1 si el resultado de la operación es positivo o el bit 7 delregistro que contiene el resultado vale 0. En caso contrario C vale0 (resultado negativo).
Ejemplo
Tomamos como valores iniciales W = 5 y DATO = 10, donde dato esun registro cualquiera. ADDWF DATO ; DATO = 15 y W = 5.ADDWF DATO, 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
SintaxisANDWF f,dFuncionamiento
AND W with f 
Hexadecimal
05 ff 
Bits (OPCODE)
00 0101 dfff ffff 
Operació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 acumuladory el registro f. el resultado se guarda dependiendo del valor de d. Sieste 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 deBoole. Esta viene descrita en el apartado de electrónica digital. Paracomprender de nuevo cual es su comportamiento, recojo en lasiguiente tabla los valores de la tabla de verdad de esta operación. 
ENTRADASALIDAfWS
000010100111 La operación lógica es:
S = f · W
Esta instrucción realiza esta operación para cada uno de los 8 bits delos dos registros, dos a dos, guardando el resultado en el registrocorrespondiente.
 
Instrucciones del PIC 16F84http://usuarios.lycos.es/sfriswolker/pic/siete.htm3 de 3022/05/2008 01:26 p.m.
Registro STATUS
Modifica el bit Z.Z vale 1 si el resultado de la operación es 0.
Ejemplo 1
Supongamos que W= 00001111 y f = 11110000 antes de ejecutar lainstrucción ANDWF f,d
ENTRADARESULTADO
 
W
W · f 
Bit 7010Bit 6010Bit 5010Bit 4010Bit 3100Bit 2100Bit 1100Bit 0100
Ejemplo 2
Ahora en nuestro segundo ejemplo tenemos que W = 01110011 y f =00101001 antes de ejecutar la instrucción ANDWF f,d tenemos: 
ENTRADARESULTADO
 
W
W · f 
Bit 7000Bit 6100Bit 5111Bit 4100Bit 3010Bit 2000Bit 1100Bit 0111
Ciclos de máquina
1 
CLRF
 
Acción
Borra un registro
SintaxisCLRF Funcionamiento
Clear file register
Hexadecimal
01 8f 
Bits (OPCODE)
00 0001 1fff ffff 
Operación
F = 0
Descripción
Esta instrucción borra un registro específico, poniendo sus bits a cero
Comentarios
Ninguno
Registro STATUS
Modifica el bit Z y lo pone a 1 (ya que el resultado de la operación es0).
Ejemplo
Tenemos un registro que se llama dato y que vale 3F. Ponemos:CLRF datoAhora dato vale 00
Ciclos de máquina
1

Activity (194)

You've already reviewed this. Edit your review.
1 hundred reads
1 thousand reads
David Aguilar liked this
Paco Raudry liked this
ivan_092 liked this
CarlOz EnriQue liked this
Leider Caicedo liked this
Alain Nicolás liked this

You're Reading a Free Preview

Download
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->