Академический Документы
Профессиональный Документы
Культура Документы
Banco 0
GPRs
Banco 1
GPRs
Banco 2
.
.
.
GPRs
Banco F
SFRs
000
07F
080
0FF
100
.
.
1FF
200
.
.
.
.
EFF
F00
F7F
F80
FFF
TOSU
TOSH
TOSL
STKPTR
PCLATU
PCLATH
PCL
TBLPTRU
TBLPTRH
TBLPTRL
TABLAT
PRODH
PRODL
INTCON
INTCON2
INTCON3
INDF0
POSTINC0
POSTDEC0
PREINC0
PLUSW0
FSR0H
FSR0L
W R E G
INDF1
POSTINC1
POSTDEC1
PREINC1
PLUSW1
FSR1H
FSR1L
BSR
FDFh
FDEh
FDDh
FDCh
FDBh
FDAh
FD9h
FD8h
FD7h
FD6h
FD5h
FD4h
FD3h
FD2h
FD1h
FD0h
FCFh
FCEh
FCDh
FCCh
FCBh
FCAh
FC9h
FC8h
FC7h
FC6h
FC5h
FC4h
FC3h
FC2h
FC1h
FC0h
INDF2
POSTINC2
POSTDEC2
PREINC2
PLUSW2
FSR2H
FSR2L
STATUS
TMR0H
TMR0L
T0CON
-OSCCON
LVDCON
WDTCON
RCON
TMR1H
TMR1L
T1CON
TMR2
PR2
T2CON
SSPBUF
SSPADD
SSPSTAT
SSPCON1
SSPCON2
ADRESH
ADRESL
ADCON0
ADCON1
ADCON2
FBFh
FBEh
FBDh
FBCh
FBBh
FBAh
FB9h
FB8h
FB7h
FB6h
FB5h
FB4h
FB3h
FB2h
FB1h
FB0h
FAFh
FAEh
FADh
FACh
FABh
FAAh
FA9h
FA8h
FA7h
FA6h
FA5h
FA4h
FA3h
FA2h
FA1h
FA0h
CCPR1H
CCPR1L
CCP1CON
CCPR2H
CCPR2L
CCP2CON
CCPR3H
CCPR3L
CCP3CON
CCPR4H
CCPR4L
CCP4CON
TMR3H
TMR3L
T3CON
-SPBRG
RCREG
TXREG
TXSTA
RCSTA
COM2BRG
COM2RX
COM2TX
COM2STA
COM2CON
IPR3
PIR3
PIE3
IPR2
PIR2
PIE2
F9Fh
F9Eh
F9Dh
F9Ch
F9Bh
F9Ah
F99h
F98h
F97h
F96h
F95h
F94h
F93h
F92h
F91h
F90h
F8Fh
F8Eh
F8Dh
F8Ch
F8Bh
F8Ah
F89h
F88h
F87h
F86h
F85h
F84h
F83h
F82h
F81h
F80h
IPR1
PIR1
PIE1
EXTMEM
EXTBUS
TRISJ
TRISH
TRISG
TRISF
TRISE
TRISD
TRISC
TRISB
TRISA
LATJ
LATH
LATG
LATF
LATE
LATD
LATC
LATB
LATA
PORTJ
PORTH
PORTG
PORTF
PORTE
PORTD
PORTC
PORTB
PORTA
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
OV
DC
Banco 0
GPRs
Banco 1
GPRs
Banco 2
.
.
.
GPRs
Banco F
SFRs
Sagitrn Jornadas MMIV / 3-PIC18s / 7
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.
A.RAM
GPRs
GPRs
GPRs
ADDWF f, d, a
0010 01d0 f f f f f f f f
SFRs
A.SFRs
Sagitrn Jornadas MMIV / 3-PIC18s / 10
=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.
De Memoria a Memoria
MOVFF mueve un dato
desde cualquier registro
hasta cualquier registro.
MOVFF fs, fd
4 KB A.RAM
SIN USAR
GPRs
BANCOS
GPRs
GPRs
DOBLE PALABRA
Sagitrn Jornadas MMIV / 3-PIC18s / 12
SFRs
A.SFRs
000
07F
080
0FF
100
.
.
1FF
200
.
.
.
.
EFF
F00
F7F
F80
FFF
0010
1110
1111
0000
11da
1111
XXXX
0000
ffff
XXXX
XXXX
0000
ffff
XXXX
XXXX
0000
Punteros indirectos
Hay tres punteros indirectos:
FSR0H, FSR0L
FSR1H, FSR1L
FSR2H, FSR2L
GPRs
A.RAM
GPRs
GPRs
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
Byte L
0x000001
0x000003
0x000005
. . .
0x000000
0x000002
0x000004
. . .
. . .
0x0F
0xC1
0xF4
0xEF
0xF4
0xEF
0xF9
. . .
. . .
. . .
0x1FFFFD
0x1FFFFC 0x1FFFFF
0x1FFFFE
Sagitrn Jornadas MMIV
/ 3-PIC18s / 15
Instrucciones
. . .
0x55
0x23
0x56
0x10
0x32
0x2B
0x1A
. . .
. . .
0x1FFFFC
0x1FFFFE
MOVLW
MOVFF
0x55
0x123, 0x456
GOTO
0x086420
GOTO
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.
16
PCU
PCH
PCL
TOSU
TOSH
TOSL
STKPTR
+ CALL
+ RCALL
+ INTERRUPT
+ PUSH
- POP
- RETURN
- RETFIE
- RETLW
15
TABLPTR
21(+1) bit direccin
TABLAT
High Byte
Low Byte
8 bit Datos
Memoria
DATOS
Juego de instrucciones
Se mantiene el conjunto de instrucciones de la
gama media y de la gama alta, amplindolo con:
ADDWF
ADDWFC
ADDLW
SUBWF
SUBWFB
SUBFWB
SUBLW
f, d, a
f, d, a
k
f, d, a
f, d, a
f, d, a
k
1
1
1
1
1
1
1
MULWF
MULLW
f, a
k
1
1
ANDWF
ANDLW
IORWF
IORLW
XORWF
XORLW
f, d, a
k
f, d, a
k
f, d, a
k
1
1
1
1
1
1
MOVF
MOVWF
MOVLW
f, d, a
f, a
k
1
1
1
MOVFF
fs, fd
SWAPF
f, d, a
CLRF
SETF
f, a
f, a
1
1
COMF
f, d, a
NEGF
f, a
DAW
RLCF
RLNCF
RRCF
RRNCF
f, d, a
f, d, a
f, d, a
f, d, a
1
1
1
1
DECF
DECFSZ
DCFSNZ
INCF
INCFSZ
INFSNZ
f, d, a
f, d, a
f, d, a
f, d, a
f, d, a
f, d, a
Decrementa FILE
Decrementa FILE, salto si 0
Decrementa FILE, salto si no 0
Incrementa FILE
Incrementa FILE, salto si 0
Incrementa FILE, salto si no 0
1
12
12
1
12
12
CPFSEQ
CPFSGT
CPFSLT
f, a
f, a
f, a
12
12
12
TSTFSZ
f, a
12
BCF
BSF
BTG
f, b, a
f, b, a
f, b, a
1
1
1
BTFSC
BTFSS
f, b, a
f, b, a
12
12
GOTO
BRA
BC
BNC
BN
BNN
BOV
BNOV
BZ
BNZ
r
r
r
r
r
r
r
r
Bifurcacin si acarreo
Bifurcacin si no acarreo
Bifurcacin si negativo
Bifurcacin si no negativo
Bifurcacin si rebase
Bifurcacin si no rebase
Bifurcacin si cero
Bifurcacin si no cero
Saltos relativos condicionales
Rango: -128 . . . +127
12
12
12
12
12
12
12
12
CALL
p, s
RCALL
RETURN
RETFIE
RETLW
s
s
k
2
2
2
POP
PUSH
1
1
TBLRD *
TBLRD * +
TBLRD * TBLRD + *
TBLWT *
TBLWT * +
TBLWT * TBLWT + *
2
2
2
2
2
2
2
2
Instrucciones Especiales
MOVLB
LFSR
NOP
CLRWDT
SLEEP
RESET
i
n, i
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
TOSC
4 x PLL
TT1P
T1OSO
T1OSCEN
T1OSI
Sagitrn Jornadas MMIV / 3-PIC18s / 30
Timer CLK
2002 Microchip Technology Incorporated. All Rights Reserved.
MUX_SEL
OSC1
OSCCON:SCS
TSCLK
Diagrama de un bit de E / S
LEER LATx
PIN
D
LATx
ESCRIBIR
o
PORTx
>CK
LATx
BUS DATOS
ESCRIBIR TRISx
TRISx
>CK
LEER TRISx
PORTx
EN<
LEER PORTx
Sagitrn Jornadas MMIV / 3-PIC18s / 32