Documentos de Académico
Documentos de Profesional
Documentos de Cultura
GPRs
Banco 1
GPRs
Banco 2 . . . Banco F
GPRs
SFRs
000 07F 080 0FF 100 . . 1FF 200 . . . . EFF F00 F7F F80 FFF
El acumulador WREG
El registro WREG, adems de intervenir de forma implcita en mltiples instrucciones, es un registro direccionable (0xFE8), por lo que se le puede utilizar de forma explcita y as ser el parmetro FILE de cualquier instruccin, por ejemplo:
COMF DECFSZ DCFSNZ RLCF RLNCF BTFSC BTG WREG WREG WREG WREG WREG WREG, b WREG, b NEGF INCFSZ INFSNZ RRCF RRNCF BTFSS SWAPF WREG WREG WREG WREG WREG WREG, b WREG . . .
El registro de estados
STATUS, N: bit de negativo. STATUS, OV: bit de rebase. STATUS, Z: bit de cero. STATUS, DC: bit de acarreo decimal. STATUS, C: bit de acarreo. STATUS Register
N OV Z DC C
GPRs
Banco 1
GPRs
Banco 2 . . . Banco F
GPRs
SFRs
000 07F 080 0FF 100 . . 1FF 200 . . . . EFF F00 F7F F80 FFF
Direccionamiento de datos
Las instrucciones aritmtico-lgicas tienen un nuevo formato: opcode d a f f f f f f f f Por ejemplo: ADDWF f, d, a El parmetro f (8 bits) contiene la direccin del registro. El parmetro d indica el destino de la operacin:
Cuando d = 1 , el resultado se coloca en el registro f. Cuando d = 0 , el resultado se coloca en el registro w.
Access bit = 1
Cuando a = 1 , el contenido del BSR determina el banco.
Suponiendo BSR = 0001
Banco 0
GPRs
Banco 1
GPRs
ADDWF f, d, a 0010 01d1 f f f f f f f f
Banco 2 . . .
GPRs
Banco F
SFRs
000 07F 080 0FF 100 . . 1FF 200 . . . . EFF F00 F7F F80 FFF
Access bit = 0
Cuando a = 0, en lugar de determinar el banco por el contenido del registro BSR, se utiliza el Access Bank y se selecciona un registro de los 256 entre A.RAM & A.SFRs.
ADDWF f, d, a 0010 01d0 f f f f f f f f
A.RAM
GPRs
GPRs GPRs
SFRs A.SFRs
Sagitrn Jornadas MMIV / 3-PIC18s / 10
2002 Microchip Technology Incorporated. All Rights Reserved.
=00 =7F 080 0FF 100 . . 1FF 200 . . . . EFF F00 F7F =80 =FF
El Access Bank
El Access Bank es un banco virtual de 256 registros formado por:
Los registros A.RAM de la parte baja del Banco 0. Los registros A.SFRs de la parte alta del Banco F.
Los A.RAM son GPRs que tienen la cualidad de pertenecer al Access Bank . Los A.SFRs y los A.RAM estn siempre accesibles, independientemente del contenido del BSR. La conmutacin de bancos se minimiza gracias a la posibilidad de operar con los A.SFRs y los A.RAM sin necesidad de modificar el contenido del BSR.
Sagitrn Jornadas MMIV / 3-PIC18s / 11
2002 Microchip Technology Incorporated. All Rights Reserved.
De Memoria a Memoria
MOVFF mueve un dato desde cualquier registro hasta cualquier registro.
MOVFF fs, fd
SFRs
DOBLE PALABRA
Sagitrn Jornadas MMIV / 3-PIC18s / 12
2002 Microchip Technology Incorporated. All Rights Reserved.
A.SFRs
000 07F 080 0FF 100 . . 1FF 200 . . . . EFF F00 F7F F80 FFF
Punteros indirectos
Hay tres punteros indirectos:
FSR0H, FSR0L FSR1H, FSR1L FSR2H, FSR2L
A.RAM
GPRs
GPRs GPRs
Sus 12 bits direccionan linealmente 4 K SIN USAR BANCOS. Se pueden utilizar de 5 modos:
INDFn: Sin cambio del valor del puntero. POSTINCn: Con auto-post-incremento. POSTDECn: Con auto-post-decremento. PREINCn:Con auto-pre-incremento. PLUSWn: Indexando con WREG signo.
2002 Microchip Technology Incorporated. All Rights Reserved.
SFRs A.SFRs
000 07F 080 0FF 100 . . 1FF 200 . . . . EFF F00 F7F F80 FFF
Memoria de programa
Se pueden direccionar hasta 1 MWord = 2 MBytes.
Word
0x000000 0x000002 0x000004 . . .
Byte H
0x000001 0x000003 0x000005 . . . . . . 0x0F 0xC1 0xF4 0xEF 0xF4 0xEF 0xF9 . . .
Byte L
0x000000 0x000002 0x000004 . . . . . . 0x55 0x23 0x56 0x10 0x32 0x2B 0x1A . . . . . . 0x1FFFFC 0x1FFFFE
Instrucciones MOVLW MOVFF GOTO GOTO 0x55 0x123, 0x456 0x086420 0x123456
. . .
Contador de programa
El PC tiene 21 bits (PCU, PCH y PCL). El bit menos significativo del PC apunta a BYTEs, no a WORDs, por lo que es 0. El PC se incrementa de dos en dos. Se dispone de los correspondientes registros auxiliares PCLATU y PCLATH para actuar de forma combinada con el PC cuando ste se escribe o se lee.
STKPTR
PCU
PCH
PCL
TOSU
TOSH
TOSL
Cada fuente de interrupcin se puede asignar de forma independiente a una u otra prioridad. Se puede forzar el modo compatible slo alta prioridad, mediante el bit IPEN = 0.
Sagitrn Jornadas MMIV / 3-PIC18s / 18
2002 Microchip Technology Incorporated. All Rights Reserved.
Juego de instrucciones
Se mantiene el conjunto de instrucciones de la gama media y de la gama alta, amplindolo con:
SUBFWB: Resta inversa con acarreo. RCALL: Llamada a rutina relativa. BRA: Salto incondicional relativo. BC, BNC, BN, BNN, BOV, BNOV, BZ y BNZ: Saltos condicionales relativos. POP y PUSH: Tiran y empujan los datos de la pila. RESET: Inicializa el sistema. Nuevas instrucciones de doble palabra. CALL: Llamada a rutina sin paginacin. GOTO: Salto incondicional sin paginacin. MOVFF: Movimiento de datos de memoria a memoria. LFSR: Carga un inmediato de 12 bit en uno de los FSRs.
Sagitrn Jornadas MMIV / 3-PIC18s / 21
2002 Microchip Technology Incorporated. All Rights Reserved.
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 2 1 1 1 1 1 1
f, a f, a f, a f, a
Compara FILE con WREG, salto si = Compara FILE con WREG, salto si > Compara FILE con WREG, salto si < Prueba FILE, salta si 0
2002 Microchip Technology Incorporated. All Rights Reserved.
12 12 12 12
r r r r r r r r
12 12 12 12 12 12 12 12
s s k
2 2 2 1 1
Instrucciones Especiales
MOVLB LFSR NOP CLRWDT SLEEP RESET i n, i Mueve inmediato (4 bits) a BSR Carga inmediato (12 bits) a FSRn No operacin Borra temporizador perro guardin Modo reposo / bajo consumo Inicializa el sistema
2002 Microchip Technology Incorporated. All Rights Reserved.
1 2 1 1 1 1
Osciladores
Mltiples configuraciones: EC, ECIO, LP, XT, HS, RC, RCIO & HS4. 4X PLL permite 10MIPS @ 10MHz. Conmutacin dinmica de la fuente de oscilacin.
OSC2 CONFIG1H FOSC2:FOSC0
OSCCON:SCS
OSC1
TOSC
4 x PLL
MUX_SEL
TSCLK
TT1P
Timer CLK
2002 Microchip Technology Incorporated. All Rights Reserved.
Diagrama de un bit de E / S
LEER LATx
PIN
BUS DATOS LATx ESCRIBIR o PORTx D Q
>CK
LATx TRISx
ESCRIBIR TRISx
>CK
LEER TRISx
PORTx