SlideShare una empresa de Scribd logo
1 de 56
Descargar para leer sin conexión
El juego de instrucciones :
PIC 16F87x
El Set de Instrucciones
Introducción
• Los PIC 16F87x poseen un juego de 35
instrucciones de tipo RISC, siendo todas ellas de 14
bits. El tamaño de los datos es de 1 byte.
• Las instrucciones de los PIC 16F87x son
exactamente iguales a las del PIC 16f84
• En los 14 bits de cada instrucción se incluye el
código de operación y los operandos si estos
existen.
• Todas las instrucciones tardan en ejecutarse 1 ciclo
(4 golpes de reloj) excepto las de salto que tardan
2 ciclos.
CCFF DPE MÓDULO DE PROYECTOS

2
• Las instrucciones de los PIC son altamente
ortogonales. Esto quiere decir que casi todas las
instrucciones pueden usar cualquier registro como
como operando y como destino.
• El
número
total
de
instrucciones
del
microcontrolador es de 35. Clasificándose en los
siguiente tipos:
Instrucciones orientadas a bytes.
Instrucciones orientadas a bits.
Instrucciones de control y con literales.
CCFF DPE MÓDULO DE PROYECTOS

3
El Set de Instrucciones
Nomenclatura en las Instrucciones
• En las instrucciones orientadas a bytes o registros f
representa un registro y d representa el destino. Si d es
0, el resultado de la operación se almacena en el
registro de trabajo W, mientras que si d es 1, el
resultado se guarda en el registro f.
• En las instrucciones orientadas a bits, b representa en
binario la posición (0-7) del bit dentro del byte, f
representa el byte o registro. El bit 0 siempre es el de
menor peso.
• Para las instrucciones de control y con literales k
representa una constante o un literal, que según los
casos puede ser de 8 ó 11 bits.
4
El Set de Instrucciones
Formato de las instrucciones
Instrucciones orientadas a bytes o registros (18)

Donde:
Opcode es el código de operación.
( ) significa contenidos.
CCFF DPE MÓDULO DE PROYECTOS

5
Instrucciones orientadas a bits (4).

CCFF DPE MÓDULO DE PROYECTOS

6
Instrucciones de control y con literales (13).

CCFF DPE MÓDULO DE PROYECTOS

7
Instrucciones Orientadas a Bytes o Registros

CCFF DPE MÓDULO DE PROYECTOS

8
Instrucciones Orientadas a Bits.
Instrucciones Con Literales Y De
Control.

CCFF DPE MÓDULO DE PROYECTOS

9
ADDLW (Suma W con un literal)

CCFF DPE MÓDULO DE PROYECTOS

10
ADDWF (Suma W con un registro)

CCFF DPE MÓDULO DE PROYECTOS

11
ANDLW (AND de W con un literal)

CCFF DPE MÓDULO DE PROYECTOS

12
ANDWF (AND de W con un registro)

CCFF DPE MÓDULO DE PROYECTOS

13
BCF (pon a 0 un bit del registro f)

CCFF DPE MÓDULO DE PROYECTOS

14
BSF (pon a 1 un bit del registro f)

CCFF DPE MÓDULO DE PROYECTOS

15
BTFSC (Testea un Bit y Salta si Cero) (1)

Si se produce el salto (bit=0) la instrucción
tarda 2 ciclos en ejecutarse, por el contrario
si no se produce salto solo tarda 1 ciclo en
ejecutarse.
CCFF DPE MÓDULO DE PROYECTOS

16
BTFSC (Testea un Bit y Salta si Cero) (2)

CCFF DPE MÓDULO DE PROYECTOS

17
BTFSS (Testea un Bit y Salta si Set) (1)

Si se produce el salto (bit=1) la instrucción tarda 2 ciclos en
ejecutarse, por el contrario si no se produce salto solo tarda 1
ciclo en ejecutarse.
CCFF DPE MÓDULO DE PROYECTOS

18
BTFSS (Testea un Bit y Salta si Set) (2)

CCFF DPE MÓDULO DE PROYECTOS

19
CALL (Llamada a subrutina) (1)

• Tos es la cima de la pila
CCFF DPE MÓDULO DE PROYECTOS

20
CALL (Llamada a subrutina) (2)

• El cálculo de la dirección efectiva varía según la
familia de PIC.
21
CLRF (Pon a cero el registro f) (1)

CCFF DPE MÓDULO DE PROYECTOS

22
CLRW (Pon a cero el registro W)

CCFF DPE MÓDULO DE PROYECTOS

23
CLRWDT (Pon a cero el registro WDT) (1)

CCFF DPE MÓDULO DE PROYECTOS

24
CLRWDT (Pon a cero el registro WDT) (2)

• T0 y PD se ponen a 1 también cuando se ejecuta
la instrucción SLEEP
CCFF DPE MÓDULO DE PROYECTOS

25
COMF (COMplementa F)

CCFF DPE MÓDULO DE PROYECTOS

26
DECF (DECrementa F)
• En el caso de que
d=0, el resultado se
almacena en W,y f
no modifica su valor.
• Recuérdese que al
decrementar 00h, se
obtiene 0FFH.

CCFF DPE MÓDULO DE PROYECTOS

27
DECFSZ (DECrementa F y Salta si Zero)
• En el caso de que
d=0, el resultado
se almacena en
W,y f no modifica
su valor.
• Si el resultado es
cero se ignora la
siguiente
instrucción ( se
salta), y la
Instrucción tarda
en ejecutarse 2
ciclos.
CCFF DPE MÓDULO DE PROYECTOS

28
DECFSZ (DECrementa F y Salta si Zero)
• En el caso de que
d=1, el resultado se
almacena en f
modificándose su
valor.

CCFF DPE MÓDULO DE PROYECTOS

• Si el resultado es
distinto de cero se
ejecuta la siguiente
instrucción ( no se
salta), y la
Instrucción tarda
en ejecutarse 1
ciclo.
29
GOTO (Salto incondicional a la dirección )

• Goto es una
instrucción que
tarda en
ejecutarse dos
ciclos

CCFF DPE MÓDULO DE PROYECTOS

30
INCF (INCrementa F )
• En el caso de que d=0,
el resultado se almacena
en W,y f no modifica su
valor.
• En el caso de que d=1,
el resultado se almacena
en f modificándose su
valor.
• Recuérdese que al
incrementar 0FFh, se
obtiene 00H.
CCFF DPE MÓDULO DE PROYECTOS

31
INCFSZ (INCrementa F y Salta si Zero) (1)
• En el caso de que
d=0, el resultado se
almacena en W,y f no
modifica su valor.
• En el caso de que
d=1, el resultado se
almacena en f
modificándose su
valor.
• Recuérdese que al
incrementar 0FFh, se
obtiene 00H.
CCFF DPE MÓDULO DE PROYECTOS

32
INCFSZ (INCrementa F y Salta si Zero)(2)
Si el resultado es cero se
ignora
la
siguiente
instrucción ( se salta), y
la Instrucción tarda en
ejecutarse 2 ciclos.
Si el resultado es distinto
de cero se ejecuta la
siguiente instrucción ( no
se salta), y la Instrucción
tarda en ejecutarse 1
ciclo.
CCFF DPE MÓDULO DE PROYECTOS

33
IORLW (OR Lógica de W con un Literal)

CCFF DPE MÓDULO DE PROYECTOS

34
IORWF (OR Lógica de W con un registro F)

CCFF DPE MÓDULO DE PROYECTOS

35
MOVLW (MOVer un Literal a W )

CCFF DPE MÓDULO DE PROYECTOS

36
MOVF (MOVer un registro Fsr)
Al ejecutar la instrucción
MOVF FSR, 1
No realizamos ningún
cambio ya que el
registro se queda como
estaba, pero sin
embargo nos sirve para
chequear su contenido
ya que el FLAG Z se
actualiza.

CCFF DPE MÓDULO DE PROYECTOS

37
NOP (No OPeración)

Esta instrucción
no hace nada,
simplemente
consume un ciclo
de instrucción.

CCFF DPE MÓDULO DE PROYECTOS

38
RETFIE (Retorno de interrupción)
Carga el PC con el valor
que se encuentra en la
cima de la pila (TOS).
Pone a 1 el bit GIE, con
el fin de autorizar de
nuevo las
interrupciones.
Esta es una instrucción
que tarda en ejecutarse
2 ciclos de instrucción

CCFF DPE MÓDULO DE PROYECTOS

39
RETLW (Retorno y carga un literal en W)
Carga el registro W
con el literal k,
después Carga el PC
con el valor que se
encuentra en la cima
de la pila (TOS),
efectuando un retorno
de subrutina.

CCFF DPE MÓDULO DE PROYECTOS

40
RETLW (Retorno y carga un literal en W)

Es una instrucción
que tarda en
ejecutarse 2 ciclos.

CCFF DPE MÓDULO DE PROYECTOS

41
RETURN (Retorno de subrutina)
Carga el PC con el
valor que se
encuentra en la cima
de la pila
Es una instrucción
que tarda en
ejecutarse 2 ciclos.

CCFF DPE MÓDULO DE PROYECTOS

42
RLF (Rota un bit a la izquierda el Registro
F, pasando por el bit de Carry) (1)
Si d=0 el resultado
se almacena en W,
no modificándose el
valor de f.
Si d=1 el resultado
se almacena en f.
El único flag que se
modifica es el Carry.

CCFF DPE MÓDULO DE PROYECTOS

43
RLF (Rota un bit a la izquierda el Registro
F, pasando por el bit de Carry) (2)

CCFF DPE MÓDULO DE PROYECTOS

44
RRF (Rota un bit a la derecha el Registro
F, pasando por el bit de Carry) (1)

CCFF DPE MÓDULO DE PROYECTOS

45
RRF (Rota un bit a la derecha el Registro
F, pasando por el bit de Carry) (2)

CCFF DPE MÓDULO DE PROYECTOS

46
SLEEP (Modo de bajo consumo)
Las maneras de salir
del modo de bajo
consumo son:
Por un RESET,
activando MCLR
Por desbordamiento
de WDT si éste
quedó operativo al
entrar en el modo
reposo.

CCFF DPE MÓDULO DE PROYECTOS

47

Activación de una
interrupción que no
sea TMR0, ya que
esta se desactiva al
entrar en reposo.
SUBLW (Resta al literal k el contenido de W)

CCFF DPE MÓDULO DE PROYECTOS

48
SUBLW (Resta al literal k el contenido de W)
• La resta se efectúa
en complemento a
dos
• Z se pone a 1 si el
resultado de la
opración es 0
• C se pone a 0 si se
genera un debe en el
bit de mayor peso

CCFF DPE MÓDULO DE PROYECTOS

• DC se pone a 1 si
genera un acarreo
del bit 3 al bit 4.
49
SUBWF (Resta al R. F el contenido de W)

CCFF DPE MÓDULO DE PROYECTOS

50
SUBWF (Resta al R. F el contenido de W)
• La resta se efectúa
en complemento a
dos.
• Si d=0 el resultado
queda en W, y si
d=1, el resultado se
guarda en f.
• Los flag afectados
como en la
instrucción anterior
son Z, C y DC
CCFF DPE MÓDULO DE PROYECTOS

51
SWAPF (Intercambia nibbles en F)
• Los 4 bits de menor
peso del registro f
se intercambian con
los 4 de mayor peso
• Si d=0 el resultado
queda en W
• Si d=1, el resultado
se guarda en f.

CCFF DPE MÓDULO DE PROYECTOS

52
XORLW (O-exclusiva entre W y un literal)

CCFF DPE MÓDULO DE PROYECTOS

53
XORWF (O-exclusiva entre W y f)

CCFF DPE MÓDULO DE PROYECTOS

54
OPTION (Inicializa el registro option)

CCFF DPE MÓDULO DE PROYECTOS

55
TRIS(Inicializa un registro TRIS)

CCFF DPE MÓDULO DE PROYECTOS

56

Más contenido relacionado

La actualidad más candente

Ejemplo d h puma 560 paso a paso
Ejemplo d h puma 560 paso a pasoEjemplo d h puma 560 paso a paso
Ejemplo d h puma 560 paso a paso
Sandra Covelo
 

La actualidad más candente (16)

Transparencias dinamica orden
Transparencias dinamica ordenTransparencias dinamica orden
Transparencias dinamica orden
 
Arboles con raiz
Arboles con raizArboles con raiz
Arboles con raiz
 
Ejemplo d h puma 560 paso a paso
Ejemplo d h puma 560 paso a pasoEjemplo d h puma 560 paso a paso
Ejemplo d h puma 560 paso a paso
 
Sesion 7 S Dbos
Sesion 7 S DbosSesion 7 S Dbos
Sesion 7 S Dbos
 
Ingeniería de control: Tema 2. compensación LGR
Ingeniería de control: Tema 2. compensación LGRIngeniería de control: Tema 2. compensación LGR
Ingeniería de control: Tema 2. compensación LGR
 
9077262.ppt
9077262.ppt9077262.ppt
9077262.ppt
 
Circuitos integrados
Circuitos integradosCircuitos integrados
Circuitos integrados
 
CDVS/CDVA
CDVS/CDVACDVS/CDVA
CDVS/CDVA
 
Arboles y grafos
Arboles y grafosArboles y grafos
Arboles y grafos
 
5to laboratorio
5to laboratorio5to laboratorio
5to laboratorio
 
Manual ttl esp
Manual ttl espManual ttl esp
Manual ttl esp
 
Instrucciones avr
Instrucciones avrInstrucciones avr
Instrucciones avr
 
SPICE LEVEL I/LEVEL II/LEVEL III AND BSIM MODELS
SPICE LEVEL I/LEVEL II/LEVEL III AND BSIM MODELSSPICE LEVEL I/LEVEL II/LEVEL III AND BSIM MODELS
SPICE LEVEL I/LEVEL II/LEVEL III AND BSIM MODELS
 
Control digital: Teoría y practica parte 1
Control digital: Teoría y practica parte 1Control digital: Teoría y practica parte 1
Control digital: Teoría y practica parte 1
 
Silenziamento genico
Silenziamento genicoSilenziamento genico
Silenziamento genico
 
Ingeniería de control: Tema 3. El método del espacio de estados
Ingeniería de control: Tema 3. El método del espacio de estadosIngeniería de control: Tema 3. El método del espacio de estados
Ingeniería de control: Tema 3. El método del espacio de estados
 

Destacado

C:\Documents And Settings\Earias\Escritorio\Pic 32\Iniciacion A La Programaci...
C:\Documents And Settings\Earias\Escritorio\Pic 32\Iniciacion A La Programaci...C:\Documents And Settings\Earias\Escritorio\Pic 32\Iniciacion A La Programaci...
C:\Documents And Settings\Earias\Escritorio\Pic 32\Iniciacion A La Programaci...
ezequiel
 
Introduccion a las herramientas libres GNU/Linux para la programacion de micr...
Introduccion a las herramientas libres GNU/Linux para la programacion de micr...Introduccion a las herramientas libres GNU/Linux para la programacion de micr...
Introduccion a las herramientas libres GNU/Linux para la programacion de micr...
georgeguitar
 
Presentacion pic 16f887 y 18f4550
Presentacion pic 16f887 y 18f4550 Presentacion pic 16f887 y 18f4550
Presentacion pic 16f887 y 18f4550
Alejandra Ruiz
 

Destacado (20)

Pic problemas resueltos
Pic problemas resueltos Pic problemas resueltos
Pic problemas resueltos
 
PEP Comida - Jasone
PEP Comida - JasonePEP Comida - Jasone
PEP Comida - Jasone
 
Programador usb 2011_pickit2 modificado
Programador usb 2011_pickit2 modificadoProgramador usb 2011_pickit2 modificado
Programador usb 2011_pickit2 modificado
 
Diapositivas pic 18f452 microprocesadores
Diapositivas pic 18f452  microprocesadoresDiapositivas pic 18f452  microprocesadores
Diapositivas pic 18f452 microprocesadores
 
Gea fuente de_voltaje
Gea fuente de_voltajeGea fuente de_voltaje
Gea fuente de_voltaje
 
Presentacion
PresentacionPresentacion
Presentacion
 
Comunicación via bluetooth
Comunicación via bluetoothComunicación via bluetooth
Comunicación via bluetooth
 
C:\Documents And Settings\Earias\Escritorio\Pic 32\Iniciacion A La Programaci...
C:\Documents And Settings\Earias\Escritorio\Pic 32\Iniciacion A La Programaci...C:\Documents And Settings\Earias\Escritorio\Pic 32\Iniciacion A La Programaci...
C:\Documents And Settings\Earias\Escritorio\Pic 32\Iniciacion A La Programaci...
 
Tutorial de diseño de circuitos impresos por técnica de termotransferible
Tutorial de diseño de circuitos impresos por técnica de termotransferibleTutorial de diseño de circuitos impresos por técnica de termotransferible
Tutorial de diseño de circuitos impresos por técnica de termotransferible
 
Tutorial ii proyectos en basic proton
Tutorial ii   proyectos en basic protonTutorial ii   proyectos en basic proton
Tutorial ii proyectos en basic proton
 
Introduccion a las herramientas libres GNU/Linux para la programacion de micr...
Introduccion a las herramientas libres GNU/Linux para la programacion de micr...Introduccion a las herramientas libres GNU/Linux para la programacion de micr...
Introduccion a las herramientas libres GNU/Linux para la programacion de micr...
 
pic 18f4550
pic 18f4550 pic 18f4550
pic 18f4550
 
Tutorial comunicación bluetooth con módulos rn42 y rn41_by_ editronikx
Tutorial comunicación bluetooth con módulos rn42 y rn41_by_ editronikxTutorial comunicación bluetooth con módulos rn42 y rn41_by_ editronikx
Tutorial comunicación bluetooth con módulos rn42 y rn41_by_ editronikx
 
50824079 datasheet-pic18f4550-espanol
50824079 datasheet-pic18f4550-espanol50824079 datasheet-pic18f4550-espanol
50824079 datasheet-pic18f4550-espanol
 
Contadores y visualización por display 2
Contadores y visualización por display 2Contadores y visualización por display 2
Contadores y visualización por display 2
 
Presentacion pic 16f887 y 18f4550
Presentacion pic 16f887 y 18f4550 Presentacion pic 16f887 y 18f4550
Presentacion pic 16f887 y 18f4550
 
Interrupciones y Temporizadores
Interrupciones y TemporizadoresInterrupciones y Temporizadores
Interrupciones y Temporizadores
 
Bootloader USB Multiplataforma para pic18f4550
Bootloader USB Multiplataforma para pic18f4550Bootloader USB Multiplataforma para pic18f4550
Bootloader USB Multiplataforma para pic18f4550
 
Control lcd 16X2 proton
Control lcd 16X2 protonControl lcd 16X2 proton
Control lcd 16X2 proton
 
Ejemplos de diagramas
Ejemplos de diagramasEjemplos de diagramas
Ejemplos de diagramas
 

Similar a Juego de instrucciones: PIC 16F87x

Micc leccion04 nov26_2009
Micc leccion04 nov26_2009Micc leccion04 nov26_2009
Micc leccion04 nov26_2009
Jair BG
 
Parcial dic 13 t2 2008 sol
Parcial dic 13 t2 2008 solParcial dic 13 t2 2008 sol
Parcial dic 13 t2 2008 sol
Jair BG
 
Parcial t1 2010 sol
Parcial t1 2010 solParcial t1 2010 sol
Parcial t1 2010 sol
Jair BG
 
Micc parcial dic9_2010 - copia (2)_sol
Micc parcial dic9_2010 - copia (2)_solMicc parcial dic9_2010 - copia (2)_sol
Micc parcial dic9_2010 - copia (2)_sol
Jair BG
 
Organizacion de la unidad central de procesamiento
Organizacion de la unidad central de procesamientoOrganizacion de la unidad central de procesamiento
Organizacion de la unidad central de procesamiento
Harold Torres
 
Guía de ejercicios resueltos tema 2
Guía de ejercicios resueltos tema 2Guía de ejercicios resueltos tema 2
Guía de ejercicios resueltos tema 2
Luis Zurita
 

Similar a Juego de instrucciones: PIC 16F87x (20)

Instrucciones para programar el PIC16F877 (1).pdf
Instrucciones para programar el PIC16F877 (1).pdfInstrucciones para programar el PIC16F877 (1).pdf
Instrucciones para programar el PIC16F877 (1).pdf
 
Curso Micro Tema 2
Curso Micro Tema 2Curso Micro Tema 2
Curso Micro Tema 2
 
Tarea final
Tarea finalTarea final
Tarea final
 
pic-16F628 generalidades y prog 1y2.pdf
pic-16F628 generalidades y prog 1y2.pdfpic-16F628 generalidades y prog 1y2.pdf
pic-16F628 generalidades y prog 1y2.pdf
 
Técnicas de programación en ensamblador pic16f877a repertorio 35 instrucciones
Técnicas de programación en ensamblador pic16f877a repertorio 35 instrucciones Técnicas de programación en ensamblador pic16f877a repertorio 35 instrucciones
Técnicas de programación en ensamblador pic16f877a repertorio 35 instrucciones
 
Micc leccion04 nov26_2009
Micc leccion04 nov26_2009Micc leccion04 nov26_2009
Micc leccion04 nov26_2009
 
Curso Micro Tema 3 2
Curso Micro Tema 3 2Curso Micro Tema 3 2
Curso Micro Tema 3 2
 
Lab.270910.instrucciones basicas del pic 16 f84a
Lab.270910.instrucciones basicas del pic 16 f84aLab.270910.instrucciones basicas del pic 16 f84a
Lab.270910.instrucciones basicas del pic 16 f84a
 
Proyectos con el pic16 f84 cekit
Proyectos con el pic16 f84 cekitProyectos con el pic16 f84 cekit
Proyectos con el pic16 f84 cekit
 
Proye84
Proye84Proye84
Proye84
 
Parcial dic 13 t2 2008 sol
Parcial dic 13 t2 2008 solParcial dic 13 t2 2008 sol
Parcial dic 13 t2 2008 sol
 
Parcial t1 2010 sol
Parcial t1 2010 solParcial t1 2010 sol
Parcial t1 2010 sol
 
Micc parcial dic9_2010 - copia (2)_sol
Micc parcial dic9_2010 - copia (2)_solMicc parcial dic9_2010 - copia (2)_sol
Micc parcial dic9_2010 - copia (2)_sol
 
Curso Micro Tema 3
Curso Micro Tema 3Curso Micro Tema 3
Curso Micro Tema 3
 
Atmel
AtmelAtmel
Atmel
 
Organizacion de la unidad central de procesamiento
Organizacion de la unidad central de procesamientoOrganizacion de la unidad central de procesamiento
Organizacion de la unidad central de procesamiento
 
Conjunto de 35 instrucciones
Conjunto de 35 instruccionesConjunto de 35 instrucciones
Conjunto de 35 instrucciones
 
Todas las instrucciones son de un ciclo salvo aquellas que incluyen saltos qu...
Todas las instrucciones son de un ciclo salvo aquellas que incluyen saltos qu...Todas las instrucciones son de un ciclo salvo aquellas que incluyen saltos qu...
Todas las instrucciones son de un ciclo salvo aquellas que incluyen saltos qu...
 
Guía de ejercicios resueltos tema 2
Guía de ejercicios resueltos tema 2Guía de ejercicios resueltos tema 2
Guía de ejercicios resueltos tema 2
 
Niple diapopsitiva
Niple   diapopsitivaNiple   diapopsitiva
Niple diapopsitiva
 

Último

PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
lupitavic
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
patriciaines1993
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Fernando Solis
 

Último (20)

BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonables
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 
Tema 11. Dinámica de la hidrosfera 2024
Tema 11.  Dinámica de la hidrosfera 2024Tema 11.  Dinámica de la hidrosfera 2024
Tema 11. Dinámica de la hidrosfera 2024
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
 

Juego de instrucciones: PIC 16F87x

  • 1. El juego de instrucciones : PIC 16F87x
  • 2. El Set de Instrucciones Introducción • Los PIC 16F87x poseen un juego de 35 instrucciones de tipo RISC, siendo todas ellas de 14 bits. El tamaño de los datos es de 1 byte. • Las instrucciones de los PIC 16F87x son exactamente iguales a las del PIC 16f84 • En los 14 bits de cada instrucción se incluye el código de operación y los operandos si estos existen. • Todas las instrucciones tardan en ejecutarse 1 ciclo (4 golpes de reloj) excepto las de salto que tardan 2 ciclos. CCFF DPE MÓDULO DE PROYECTOS 2
  • 3. • Las instrucciones de los PIC son altamente ortogonales. Esto quiere decir que casi todas las instrucciones pueden usar cualquier registro como como operando y como destino. • El número total de instrucciones del microcontrolador es de 35. Clasificándose en los siguiente tipos: Instrucciones orientadas a bytes. Instrucciones orientadas a bits. Instrucciones de control y con literales. CCFF DPE MÓDULO DE PROYECTOS 3
  • 4. El Set de Instrucciones Nomenclatura en las Instrucciones • En las instrucciones orientadas a bytes o registros f representa un registro y d representa el destino. Si d es 0, el resultado de la operación se almacena en el registro de trabajo W, mientras que si d es 1, el resultado se guarda en el registro f. • En las instrucciones orientadas a bits, b representa en binario la posición (0-7) del bit dentro del byte, f representa el byte o registro. El bit 0 siempre es el de menor peso. • Para las instrucciones de control y con literales k representa una constante o un literal, que según los casos puede ser de 8 ó 11 bits. 4
  • 5. El Set de Instrucciones Formato de las instrucciones Instrucciones orientadas a bytes o registros (18) Donde: Opcode es el código de operación. ( ) significa contenidos. CCFF DPE MÓDULO DE PROYECTOS 5
  • 6. Instrucciones orientadas a bits (4). CCFF DPE MÓDULO DE PROYECTOS 6
  • 7. Instrucciones de control y con literales (13). CCFF DPE MÓDULO DE PROYECTOS 7
  • 8. Instrucciones Orientadas a Bytes o Registros CCFF DPE MÓDULO DE PROYECTOS 8
  • 9. Instrucciones Orientadas a Bits. Instrucciones Con Literales Y De Control. CCFF DPE MÓDULO DE PROYECTOS 9
  • 10. ADDLW (Suma W con un literal) CCFF DPE MÓDULO DE PROYECTOS 10
  • 11. ADDWF (Suma W con un registro) CCFF DPE MÓDULO DE PROYECTOS 11
  • 12. ANDLW (AND de W con un literal) CCFF DPE MÓDULO DE PROYECTOS 12
  • 13. ANDWF (AND de W con un registro) CCFF DPE MÓDULO DE PROYECTOS 13
  • 14. BCF (pon a 0 un bit del registro f) CCFF DPE MÓDULO DE PROYECTOS 14
  • 15. BSF (pon a 1 un bit del registro f) CCFF DPE MÓDULO DE PROYECTOS 15
  • 16. BTFSC (Testea un Bit y Salta si Cero) (1) Si se produce el salto (bit=0) la instrucción tarda 2 ciclos en ejecutarse, por el contrario si no se produce salto solo tarda 1 ciclo en ejecutarse. CCFF DPE MÓDULO DE PROYECTOS 16
  • 17. BTFSC (Testea un Bit y Salta si Cero) (2) CCFF DPE MÓDULO DE PROYECTOS 17
  • 18. BTFSS (Testea un Bit y Salta si Set) (1) Si se produce el salto (bit=1) la instrucción tarda 2 ciclos en ejecutarse, por el contrario si no se produce salto solo tarda 1 ciclo en ejecutarse. CCFF DPE MÓDULO DE PROYECTOS 18
  • 19. BTFSS (Testea un Bit y Salta si Set) (2) CCFF DPE MÓDULO DE PROYECTOS 19
  • 20. CALL (Llamada a subrutina) (1) • Tos es la cima de la pila CCFF DPE MÓDULO DE PROYECTOS 20
  • 21. CALL (Llamada a subrutina) (2) • El cálculo de la dirección efectiva varía según la familia de PIC. 21
  • 22. CLRF (Pon a cero el registro f) (1) CCFF DPE MÓDULO DE PROYECTOS 22
  • 23. CLRW (Pon a cero el registro W) CCFF DPE MÓDULO DE PROYECTOS 23
  • 24. CLRWDT (Pon a cero el registro WDT) (1) CCFF DPE MÓDULO DE PROYECTOS 24
  • 25. CLRWDT (Pon a cero el registro WDT) (2) • T0 y PD se ponen a 1 también cuando se ejecuta la instrucción SLEEP CCFF DPE MÓDULO DE PROYECTOS 25
  • 26. COMF (COMplementa F) CCFF DPE MÓDULO DE PROYECTOS 26
  • 27. DECF (DECrementa F) • En el caso de que d=0, el resultado se almacena en W,y f no modifica su valor. • Recuérdese que al decrementar 00h, se obtiene 0FFH. CCFF DPE MÓDULO DE PROYECTOS 27
  • 28. DECFSZ (DECrementa F y Salta si Zero) • En el caso de que d=0, el resultado se almacena en W,y f no modifica su valor. • Si el resultado es cero se ignora la siguiente instrucción ( se salta), y la Instrucción tarda en ejecutarse 2 ciclos. CCFF DPE MÓDULO DE PROYECTOS 28
  • 29. DECFSZ (DECrementa F y Salta si Zero) • En el caso de que d=1, el resultado se almacena en f modificándose su valor. CCFF DPE MÓDULO DE PROYECTOS • Si el resultado es distinto de cero se ejecuta la siguiente instrucción ( no se salta), y la Instrucción tarda en ejecutarse 1 ciclo. 29
  • 30. GOTO (Salto incondicional a la dirección ) • Goto es una instrucción que tarda en ejecutarse dos ciclos CCFF DPE MÓDULO DE PROYECTOS 30
  • 31. INCF (INCrementa F ) • En el caso de que d=0, el resultado se almacena en W,y f no modifica su valor. • En el caso de que d=1, el resultado se almacena en f modificándose su valor. • Recuérdese que al incrementar 0FFh, se obtiene 00H. CCFF DPE MÓDULO DE PROYECTOS 31
  • 32. INCFSZ (INCrementa F y Salta si Zero) (1) • En el caso de que d=0, el resultado se almacena en W,y f no modifica su valor. • En el caso de que d=1, el resultado se almacena en f modificándose su valor. • Recuérdese que al incrementar 0FFh, se obtiene 00H. CCFF DPE MÓDULO DE PROYECTOS 32
  • 33. INCFSZ (INCrementa F y Salta si Zero)(2) Si el resultado es cero se ignora la siguiente instrucción ( se salta), y la Instrucción tarda en ejecutarse 2 ciclos. Si el resultado es distinto de cero se ejecuta la siguiente instrucción ( no se salta), y la Instrucción tarda en ejecutarse 1 ciclo. CCFF DPE MÓDULO DE PROYECTOS 33
  • 34. IORLW (OR Lógica de W con un Literal) CCFF DPE MÓDULO DE PROYECTOS 34
  • 35. IORWF (OR Lógica de W con un registro F) CCFF DPE MÓDULO DE PROYECTOS 35
  • 36. MOVLW (MOVer un Literal a W ) CCFF DPE MÓDULO DE PROYECTOS 36
  • 37. MOVF (MOVer un registro Fsr) Al ejecutar la instrucción MOVF FSR, 1 No realizamos ningún cambio ya que el registro se queda como estaba, pero sin embargo nos sirve para chequear su contenido ya que el FLAG Z se actualiza. CCFF DPE MÓDULO DE PROYECTOS 37
  • 38. NOP (No OPeración) Esta instrucción no hace nada, simplemente consume un ciclo de instrucción. CCFF DPE MÓDULO DE PROYECTOS 38
  • 39. RETFIE (Retorno de interrupción) Carga el PC con el valor que se encuentra en la cima de la pila (TOS). Pone a 1 el bit GIE, con el fin de autorizar de nuevo las interrupciones. Esta es una instrucción que tarda en ejecutarse 2 ciclos de instrucción CCFF DPE MÓDULO DE PROYECTOS 39
  • 40. RETLW (Retorno y carga un literal en W) Carga el registro W con el literal k, después Carga el PC con el valor que se encuentra en la cima de la pila (TOS), efectuando un retorno de subrutina. CCFF DPE MÓDULO DE PROYECTOS 40
  • 41. RETLW (Retorno y carga un literal en W) Es una instrucción que tarda en ejecutarse 2 ciclos. CCFF DPE MÓDULO DE PROYECTOS 41
  • 42. RETURN (Retorno de subrutina) Carga el PC con el valor que se encuentra en la cima de la pila Es una instrucción que tarda en ejecutarse 2 ciclos. CCFF DPE MÓDULO DE PROYECTOS 42
  • 43. RLF (Rota un bit a la izquierda el Registro F, pasando por el bit de Carry) (1) Si d=0 el resultado se almacena en W, no modificándose el valor de f. Si d=1 el resultado se almacena en f. El único flag que se modifica es el Carry. CCFF DPE MÓDULO DE PROYECTOS 43
  • 44. RLF (Rota un bit a la izquierda el Registro F, pasando por el bit de Carry) (2) CCFF DPE MÓDULO DE PROYECTOS 44
  • 45. RRF (Rota un bit a la derecha el Registro F, pasando por el bit de Carry) (1) CCFF DPE MÓDULO DE PROYECTOS 45
  • 46. RRF (Rota un bit a la derecha el Registro F, pasando por el bit de Carry) (2) CCFF DPE MÓDULO DE PROYECTOS 46
  • 47. SLEEP (Modo de bajo consumo) Las maneras de salir del modo de bajo consumo son: Por un RESET, activando MCLR Por desbordamiento de WDT si éste quedó operativo al entrar en el modo reposo. CCFF DPE MÓDULO DE PROYECTOS 47 Activación de una interrupción que no sea TMR0, ya que esta se desactiva al entrar en reposo.
  • 48. SUBLW (Resta al literal k el contenido de W) CCFF DPE MÓDULO DE PROYECTOS 48
  • 49. SUBLW (Resta al literal k el contenido de W) • La resta se efectúa en complemento a dos • Z se pone a 1 si el resultado de la opración es 0 • C se pone a 0 si se genera un debe en el bit de mayor peso CCFF DPE MÓDULO DE PROYECTOS • DC se pone a 1 si genera un acarreo del bit 3 al bit 4. 49
  • 50. SUBWF (Resta al R. F el contenido de W) CCFF DPE MÓDULO DE PROYECTOS 50
  • 51. SUBWF (Resta al R. F el contenido de W) • La resta se efectúa en complemento a dos. • Si d=0 el resultado queda en W, y si d=1, el resultado se guarda en f. • Los flag afectados como en la instrucción anterior son Z, C y DC CCFF DPE MÓDULO DE PROYECTOS 51
  • 52. SWAPF (Intercambia nibbles en F) • Los 4 bits de menor peso del registro f se intercambian con los 4 de mayor peso • Si d=0 el resultado queda en W • Si d=1, el resultado se guarda en f. CCFF DPE MÓDULO DE PROYECTOS 52
  • 53. XORLW (O-exclusiva entre W y un literal) CCFF DPE MÓDULO DE PROYECTOS 53
  • 54. XORWF (O-exclusiva entre W y f) CCFF DPE MÓDULO DE PROYECTOS 54
  • 55. OPTION (Inicializa el registro option) CCFF DPE MÓDULO DE PROYECTOS 55
  • 56. TRIS(Inicializa un registro TRIS) CCFF DPE MÓDULO DE PROYECTOS 56