0% encontró este documento útil (0 votos)
54 vistas30 páginas

Instrucciones RISC para Microcontroladores PIC

El documento describe las características de las instrucciones RISC utilizadas en microcontroladores PIC. Explica que las instrucciones son rápidas, simples y ortogonales, y tienen una longitud constante. Además, clasifica las instrucciones en cinco grupos: operaciones de registros, bits, valores inmediatos, saltos condicionales y control de flujo. Por último, ofrece ejemplos de diferentes instrucciones y su formato.

Cargado por

juan carlos
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
54 vistas30 páginas

Instrucciones RISC para Microcontroladores PIC

El documento describe las características de las instrucciones RISC utilizadas en microcontroladores PIC. Explica que las instrucciones son rápidas, simples y ortogonales, y tienen una longitud constante. Además, clasifica las instrucciones en cinco grupos: operaciones de registros, bits, valores inmediatos, saltos condicionales y control de flujo. Por último, ofrece ejemplos de diferentes instrucciones y su formato.

Cargado por

juan carlos
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Docente: Ing. Paúl Romero R. Ph.D.

REPERTORIO DE
INSTRUCCIONES RISC

◼Las Instrucciones son Rápidas y


Simples

◼Las instrucciones son


Ortogonales

◼La longitud de las instrucciones


y datos es constante
Ejemplo
Un Microcontrolador PIC que trabaja con un cristal de cuarzo de 10 MHz tarda 600 uS en ejecutar un
programa que tiene el 50% de instrucciones de salto.
a. De cuantas instrucciones se conforma el programa?
b. Cuantas posiciones ocupa el código en la M. de Programa?

[Link]=Xinstruc.*C.M
DATOS:
En el caso que todas las instruc. Sean normales.
Fosc=10 MHz
C.M=4CLK=4*Tosc
Tejec=600uS
T=1/Fosc
Ins. Salto=50%=500
T=1/10Mhz
[Link]=50%=500
T=100nS=0.1uS
Total Instrucc=X=?=1000
C.M=0.4us
No. Pos. Mem. Programa=1000
RESUMEN Xtotal=Xinst_normales+Xinst_salto
[Link] o de salto [Link]=Xinst_normales*C.M+Xinst_salto*2*C.M
ocupan la misma longitud de X=Xinst_normales= Xinst_salto
palabra. En gama media 14 600uS=X*0.4uS+X*2*0.4uS
bits. X=600uS/1.2us
[Link]=1 C.M X=500
[Link]= 2 C.M
TIPOS DE FORMATO
Las instrucciones de los PIC de la gama media, entre los que se encuentran los
modelos PIC 16X8X, tienen 14 bits de longitud. Dicho formato se divide en
diferentes campos de bits.
a. CAMPO DEL CODIGO OP
 Los bits de este campo sirven para definir la operación que realiza la instrucción.
b. CAMPOS DE LOS OPERNADOS FUENTE(f) Y DESTINO(d)
 Estos campos de bits definen los registros que actúan como operandos en la instrucción. Suelen
referenciar la dirección que ocupan en la memoria de datos.
c. CAMPO DE OPERANDO INMEDIATO O LITERAL (k)
 Es un campo de bits que contiene el valor de un operando inmediato.
d. CAMPO DE REFERENCIA A UN BIT (b)
 Suele ser un campo de 3 bits que indica la posición de un bit concreto dentro de un registro de 8
bits.
e. CAMPO DE DIRECCIÓN DE SALTO
 En las instrucciones de salto CALL y GOTO hay un campo de bits que contiene la dirección de la
siguiente instrucción que hay que ejecutar. Dicho campo de bits se carga en el PC en las
instrucciones de salto incondicional.
CLASIFICACIÓN DE LAS
INSTRUCCIONES RISC
Para estudiar los diversos formatos que admiten las instrucciones del
repertorio de los PIC 16X8X se clasifican en cinco grandes grupos,
atendiendo al tipo de operación que desarrollan.

• Operaciones orientadas a manejar registros


de tamaño byte
• Operaciones orientadas a manejar bits
• Operaciones que manejan valores
inmediatos
• Operaciones de salto condicional
• Operaciones incondicionales de control de
flujo de programa
OPERACIONES ORIENTADAS A MANEJAR
REGISTROS DE TAMAÑO BYTE
EJEMPLO
ADDWF f,d

ADDWF 0X0F,0 ;W=W+[0X0F]


ADDWF 0X0F,1 ; [0X0F]= W+[0X0F]

VAR1 EQU 0X0F


VAR2 EQU 0X10
W=0
W=VAR1+W
W=VAR2+W

ADDWF VAR1,w ;W=W+VAR1


ADDWF VAR1,f ;[0X0F]= W+VAR1

0W
1F
OPERACIONES ORIENTADAS A
MANEJAR BITS
Formato

B9 B8 B7 Posi
cion
0 0 0 0

0 0 1 1

1 1 1 7
Ejemplo

EJEMPLO
BCF f,b

BSF 0x0F,0 ; Ponga “0” en el Bit 0 del Reg.[0x0f]

VAR3 EQU 0X0F


BCF VAR3,5; Ponga “0” en el Bit 5 del Reg.VAR3
EJEMPLO
BCF f,b

BCF 0x0F,7 ; Ponga “0” en el Bit 7 del Reg.[0x0f]

VAR3 EQU 0X0F


BCF VAR3,5; Ponga “0” en el Bit 5 del Reg.VAR3
EJEMPLO
BCF f,b

BCF 0x0F,7 ; Ponga “0” en el Bit 7 del Reg.[0x0f]

VAR3 EQU 0X0F


BCF VAR3,5; Ponga “0” en el Bit 5 del Reg.VAR3

EJEMPLO
BSF f,b
BSF 0x0F,7 ; Ponga “1” en el Bit 7 del Reg.[0x0f]

VAR3 EQU 0X0F


BSF VAR3,5; Ponga “0” en el Bit 5 del Reg.VAR3
OPERACIONES QUE MANEJAN
VALORES INMEDIATOS
Formato
EJEMPLO

ADDLW K
ADDLW 0X0F ; W W+15
ADDLW 0x05 ; W W+5
;FORMATO HEX
MOVLW 0X02 ;W 2
;FORMATO BIN
MOVLW b’00000010’ ;W 2
;FORMATO DEC
MOVLW d’2 ;W 2
OPERACIONES DE SALTO
CONDICIONAL
Formato
Ejemplo
 BTFSC f,d
 BTFSC 0X03,2 ; Explora el Bit 2 del Reg.[0x03] y salta
una instruccion. Si el bit2 =“0”
 GOTO PROC1
 GOTO PROC2

 BTFSS STATUS,5 ; Explora el Bit 5 del [Link] y salta


una instruccion. Si el bit5 =“1”
 GOTO PROC1
 GOTO PROC2
OPERACIONES INCONDICIONALES
DE CONTROL DE FLUJO DE
PROGRAMA
Formato
Ejemplo

EJEMPLOS
 CALL SUBRUTINA_1 ; Llamar a la “Subrutina_1”(salta a otra posición del programa)
 GOTO Inicio ; Va o salta a la Etiqueta “Inicio” (salta a otra posición del programa)
 GOTO Fin ; Va o salta a la Etiqueta “Fin” (salta a otra posición del programa)
 RETURN
 SLEEP
 CLRWDT
EJEMPLO
Un Microcontrolador PIC funciona con un cristal de cuarzo de 4
MHz y el Perro Guardián (Watch Dog Time – WDT) está
programado para que se desborde cada 18 mS. ¿Calcular cada
cuantas instrucciones como máximo deberá refrescarse el
registro Perro Guardián con la instrucción CLRWDT?

 FOSC 1/(10* 106) = 250 nS


 CM = 4* FOSC = 1000 ns = 1uS
 18mS= 18000 uS
 Se Refrescará c/18000 instrucciones normales como máximo
“Es más importante, la imaginación que el conocimiento”

A. Einstein

También podría gustarte