* Pepe
Sagitrón Jornadas MMIV / PIC18s / 1 de 32
© 2002 Microchip Technology Incorporated. All Rights Reserved.
Una nueva familia de PICs
• Una arquitectura que manteniendo las excelentes
cualidades de los PICs, minimiza sus limitaciones.
–
–
–
–
–
–
–
–
Memoria de programa: hasta 1 MWord y sin paginación.
Memoria de datos: hasta 16 x 256 = 4 KBytes.
Pila con 31 niveles de profundidad.
Tres flexibles punteros “FSRs” que direccionan la
memoria de datos de forma indirecta y sin bancos.
Juego de instrucciones enriquecido 72 + 4 dobles.
10 MIPS con oscilador de 10 MHz. y un PLL x4.
Amplia gama de periféricos integrados.
Altamente compatible con los PIC16CXX y PIC17CXX.
• Diseñada para optimizar el rendimiento del
compilador “C” .
Sagitrón Jornadas MMIV / 3-PIC18s / 2
© 2002 Microchip Technology Incorporated. All Rights Reserved.
Memoria de datos. Organización
• Un total de 4 KBytes agrupados
en 16 bancos con 256 Bytes
cada uno.
• Contienen los registros de
propósito general “GPRs” y los
registros especiales “SFRs”.
• Los SFRs, también llamados
registros periféricos, están
situados en la zona más alta.
Desde F00h hasta FFFh.
Sagitrón Jornadas MMIV / 3-PIC18s / 3
© 2002 Microchip Technology Incorporated. All Rights Reserved.
Banco 0
GPRs
Banco 1
GPRs
Banco 2
.
.
.
GPRs
Banco F
SFRs
000
07F
080
0FF
100
.
.
1FF
200
.
.
.
.
EFF
F00
F7F
F80
FFF
Registros especiales SFRs
FFFh
FFEh
FFDh
FFCh
FFBh
FFAh
FF9h
FF8h
FF7h
FF6h
FF5h
FF4h
FF3h
FF2h
FF1h
FF0h
FEFh
FEEh
FEDh
FECh
FEBh
FEAh
FE9h
FE8h
FE7h
FE6h
FE5h
FE4h
FE3h
FE2h
FE1h
FE0h
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
Sagitrón Jornadas MMIV / 3-PIC18s / 4
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
© 2002 Microchip Technology Incorporated. All Rights Reserved.
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, además de intervenir de forma
implícita en múltiples instrucciones, es un registro
direccionable (0xFE8), por lo que se le puede
utilizar de forma explícita y así ser el parámetro
FILE de cualquier instrucción, por ejemplo:
COMF
DECFSZ
DCFSNZ
RLCF
RLNCF
BTFSC
BTG
WREG
WREG
WREG
WREG
WREG
WREG, b
WREG, b
Sagitrón Jornadas MMIV / 3-PIC18s / 5
NEGF
INCFSZ
INFSNZ
RRCF
RRNCF
BTFSS
SWAPF
© 2002 Microchip Technology Incorporated. All Rights Reserved.
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
-
Sagitrón Jornadas MMIV / 3-PIC18s / 6
-
-
N
OV
© 2002 Microchip Technology Incorporated. All Rights Reserved.
Z
DC
C
Registro Selector de Banco. BSR
• El BSR es similar al de la
familia PIC17CXX.
• Los 4 bits bajos del BSR
seleccionan un banco entre
los 16 posibles.
Banco 0
GPRs
Banco 1
GPRs
Banco 2
Bank Select Register
-
-
-
-
3
2
1
0
.
.
.
GPRs
Banco F
SFRs
Sagitrón Jornadas MMIV / 3-PIC18s / 7
© 2002 Microchip Technology Incorporated. All Rights Reserved.
000
07F
080
0FF
100
.
.
1FF
200
.
.
.
.
EFF
F00
F7F
F80
FFF
Direccionamiento de datos
• Las instrucciones aritmético-lógicas tienen un
nuevo formato:
opcode d a f f f f f f f f
Por ejemplo:
ADDWF
f, d, a
• El parámetro “ f ” (8 bits) contiene la dirección del
registro.
• El parámetro “ d ” indica el destino de la operación:
– Cuando “ d = 1 ”, el resultado se coloca en el registro f.
– Cuando “ d = 0 ”, el resultado se coloca en el registro w.
• El parámetro “ a ” se llama “ Access bit ”.
Sagitrón Jornadas MMIV / 3-PIC18s / 8
© 2002 Microchip Technology Incorporated. All Rights Reserved.
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
.
.
.
• Uniendo a los 4 bits del BSR
los 8 bits “ f ”, se obtiene un
direccionamiento de 4 K.
Sagitrón Jornadas MMIV / 3-PIC18s / 9
© 2002 Microchip Technology Incorporated. All Rights Reserved.
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
Sagitrón 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 están siempre
accesibles, independientemente del contenido del
BSR.
• La conmutación 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.
Sagitrón 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
4 KB A.RAM
SIN USAR
GPRs
BANCOS
1100 ssss ssss ssss
GPRs
1111 dddd dddd dddd
GPRs
Esta es una de las cuatro instrucciones de
SFRs
DOBLE PALABRA
Sagitrón 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
Instrucciones de doble palabra
• El código objeto de la segunda palabra de las
instrucciones MOVFF, GOTO, CALL y LFSR
tiene la forma: 1111 XXXX XXXX XXXX.
• Si esta segunda palabra fuera interpretada como
instrucción, se decodificaría como un NOP especial.
Por ejemplo:
. . .
DECFSZ CONTADOR,d,a
GOTO
PROGRAMA
NOP especial
NOP
. . .
Sagitrón Jornadas MMIV / 3-PIC18s / 13
0010
1110
1111
0000
© 2002 Microchip Technology Incorporated. All Rights Reserved.
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
• 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.
Sagitrón Jornadas MMIV / 3-PIC18s / 14
A.RAM
© 2002 Microchip Technology Incorporated. All Rights Reserved.
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
Sagitrón Jornadas MMIV / 3-PIC18s / 15
Instrucciones
. . .
0x55
0x23
0x56
0x10
0x32
0x2B
0x1A
. . .
. . .
0x1FFFFC
0x1FFFFE
© 2002 Microchip Technology Incorporated. All Rights Reserved.
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.
Sagitrón Jornadas MMIV / 3-PIC18s / 16
© 2002 Microchip Technology Incorporated. All Rights Reserved.
Operaciones con la pila
• El STACK tiene 31 niveles de profundidad x 21 bits.
• El “Top Of Stack” es accesible. Se puede leer y
escribir (será conveniente quitar previamente las interrupciones).
• El STKPTR es el puntero automático (5 bits).
20
16
8
7
0
PCU
PCH
PCL
TOSU
TOSH
TOSL
STKPTR
+ CALL
+ RCALL
+ INTERRUPT
+ PUSH
- POP
- RETURN
- RETFIE
- RETLW
15
Sagitrón Jornadas MMIV / 3-PIC18s / 17
© 2002 Microchip Technology Incorporated. All Rights Reserved.
Dos vectores de interrupción
• 0x08 para alta prioridad y 0x18 para baja prioridad.
– GIE/GIEH & PEIE/GIEL controlan los respectivos permisos
globales.
– Cuando se sirve una interrupción, automáticamente se
quita su correspondiente permiso global.
– El servicio de interrupción de alta prioridad impide el
servicio de baja prioridad.
– Cuando se ejecuta RETFIE se pone el permiso
correspondiente al nivel que se está sirviendo.
• Cada fuente de interrupción se puede asignar de
forma independiente a una u otra prioridad.
• Se puede forzar el modo compatible “sólo alta
prioridad”, mediante el bit IPEN = 0.
Sagitrón Jornadas MMIV / 3-PIC18s / 18
© 2002 Microchip Technology Incorporated. All Rights Reserved.
Los registros sombra del entorno
• Se puede salvar y restaurar el contenido de las
variables de entorno ( WREG, STATUS y BSR )
en sus respectivos registros sombra, lo que
equivale a una pila de un solo nivel.
– El parámetro “s” de la instrucción CALL determina si se
salvan o no las variables de entorno utilizando este
único nivel.
– Cuando se sirve una interrupción siempre se salvan las
variables de entorno en los registros sombra (no hay
penalización del tiempo de ejecución).
– El parámetro “s” de las instrucciones RETURN y
RETFIE determina si se restauran o no las variables de
entorno desde los registros sombra.
Sagitrón Jornadas MMIV / 3-PIC18s / 19
© 2002 Microchip Technology Incorporated. All Rights Reserved.
Operaciones con Tablas
• El TBLPTR es el puntero que con sus 21 (+1) bits
direcciona 2(+) MBytes de memoria de programa.
• La instrucción TBLRD lee 8 bits desde la memoria
de programa y los copia en el registro TABLAT.
• La instrucción TBLWR escribe en la memoria de
programa los 8 bits del registro TABLAT.
Memoria
DATOS
Memoria PROG (16 bits)
TABLPTR
21(+1) bit dirección
TABLAT
High Byte
Sagitrón Jornadas MMIV / 3-PIC18s / 20
Low Byte
© 2002 Microchip Technology Incorporated. All Rights Reserved.
8 bit Datos
Juego de instrucciones
• Se mantiene el conjunto de instrucciones de la
gama media y de la gama alta, ampliándolo 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 paginación.
• GOTO: Salto incondicional sin paginación.
• MOVFF: Movimiento de datos de memoria a memoria.
• LFSR: Carga un inmediato de 12 bit en uno de los “FSRs”.
Sagitrón Jornadas MMIV / 3-PIC18s / 21
© 2002 Microchip Technology Incorporated. All Rights Reserved.
Instrucciones tipo BYTE . . .
•
•
•
•
•
•
•
ADDWF
ADDWFC
ADDLW
SUBWF
SUBWFB
SUBFWB
SUBLW
f, d, a
f, d, a
k
f, d, a
f, d, a
f, d, a
k
Suma WREG con FILE
Suma WREG con FILE con acarreo
Suma WREG con literal
Resta WREG de FILE
Resta WREG de FILE con acarreo
Resta FILE de WREG con acarreo
Resta WREG de literal
1
1
1
1
1
1
1
•
•
MULWF
MULLW
f, a
k
Multiplica WREG con FILE
Multiplica WREG con literal
1
1
•
•
•
•
•
•
ANDWF
ANDLW
IORWF
IORLW
XORWF
XORLW
f, d, a
k
f, d, a
k
f, d, a
k
AND lógico WREG con FILE
AND lógico WREG con literal
OR inclusivo WREG con FILE
OR inclusivo WREG con literal
OR exclusivo WREG con FILE
OR exclusivo WREG con literal
1
1
1
1
1
1
Sagitrón Jornadas MMIV / 3-PIC18s / 22
© 2002 Microchip Technology Incorporated. All Rights Reserved.
. . . Instrucciones tipo BYTE . . .
•
•
•
MOVF
MOVWF
MOVLW
f, d, a
f, a
k
Mueve FILE a destino
Mueve de WREG a FILE
Mueve literal a WREG
1
1
1
•
MOVFF
fs, fd
Mueve de FILE origen a FILE destino
2
•
SWAPF
f, d, a
Intercambia semi-Bytes de FILE
1
•
•
CLRF
SETF
f, a
f, a
Borra todos los bits de FILE
Activa todos los bits de FILE
1
1
•
COMF
f, d, a
Complementa los bits de FILE
1
•
NEGF
f, a
Complementa a 2 el valor de FILE
1
•
DAW
Ajuste decimal de WREG
1
Sagitrón Jornadas MMIV / 3-PIC18s / 23
© 2002 Microchip Technology Incorporated. All Rights Reserved.
. . . Instrucciones tipo BYTE
•
•
•
•
RLCF
RLNCF
RRCF
RRNCF
f, d, a
f, d, a
f, d, a
f, d, a
Rota a la izda. 9 bits FILE+acarreo
Rota a la izda. 8 bits FILE
Rota a la dcha. 9 bits FILE+acarreo
Rota a la dcha. 8 bits FILE
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
1ó2
1ó2
1
1ó2
1ó2
•
•
•
CPFSEQ
CPFSGT
CPFSLT
f, a
f, a
f, a
Compara FILE con WREG, salto si =
Compara FILE con WREG, salto si >
Compara FILE con WREG, salto si <
1ó2
1ó2
1ó2
•
TSTFSZ
f, a
Prueba FILE, salta si 0
1ó2
Sagitrón Jornadas MMIV / 3-PIC18s / 24
© 2002 Microchip Technology Incorporated. All Rights Reserved.
Instrucciones orientadas a BIT
•
•
•
BCF
BSF
BTG
f, b, a
f, b, a
f, b, a
Borra el bit b de FILE
Activa el bit b de FILE
Invierte el bit b de FILE
1
1
1
•
•
BTFSC
BTFSS
f, b, a
f, b, a
Prueba el bit b de FILE, salto si está “0”
Prueba el bit b de FILE, salto si está “1”
1ó2
1ó2
Sagitrón Jornadas MMIV / 3-PIC18s / 25
© 2002 Microchip Technology Incorporated. All Rights Reserved.
Instrucciones Control de Flujo
•
GOTO
p
Salto a posición de programa p
2
•
BRA
r
Salto a posición relativa r
Rango: -1024 . . . +1023
2
•
•
•
•
•
•
•
•
BC
BNC
BN
BNN
BOV
BNOV
BZ
BNZ
r
r
r
r
r
r
r
r
Bifurcación si acarreo
Bifurcación si no acarreo
Bifurcación si negativo
Bifurcación si no negativo
Bifurcación si rebase
Bifurcación si no rebase
Bifurcación si cero
Bifurcación si no cero
Saltos relativos condicionales
Rango: -128 . . . +127
1ó2
1ó2
1ó2
1ó2
1ó2
1ó2
1ó2
1ó2
Sagitrón Jornadas MMIV / 3-PIC18s / 26
© 2002 Microchip Technology Incorporated. All Rights Reserved.
Instrucciones RUTINAS & PILA
•
CALL
p, s
Llamada a rutina (Posición programa p)
2
•
RCALL
r
Llamada a rutina (Posición relativa r)
Rango: -1024 . . . +1023
2
•
•
•
RETURN
RETFIE
RETLW
s
s
k
Retorno desde rutina
Retorno desde interrupción
Retorno cargando literal en WREG
2
2
2
•
•
POP
PUSH
Decr. el puntero de la pila STKPTR
Incr. STKPTR y guarda el PC en TOS
1
1
Sagitrón Jornadas MMIV / 3-PIC18s / 27
© 2002 Microchip Technology Incorporated. All Rights Reserved.
Instrucciones Tablas en Memoria
•
•
•
•
•
•
•
•
TBLRD *
TBLRD * +
TBLRD * TBLRD + *
TBLWT *
TBLWT * +
TBLWT * TBLWT + *
Lee Byte desde tabla en memoria
Lee tabla con post-incremento
Lee tabla con post-decremento
Lee tabla con pre-incremento
Escribe Byte en tabla en memoria
Escribe tabla con post-incremento
Escribe tabla con post-decremento
Escribe tabla con pre-incremento
2
2
2
2
2
2
2
2
Instrucciones Especiales
•
•
•
•
•
•
MOVLB
LFSR
NOP
CLRWDT
SLEEP
RESET
i
n, i
Sagitrón Jornadas MMIV / 3-PIC18s / 28
Mueve inmediato (4 bits) a BSR
Carga inmediato (12 bits) a FSRn
No operación
Borra temporizador perro guardián
Modo reposo / bajo consumo
Inicializa el sistema
© 2002 Microchip Technology Incorporated. All Rights Reserved.
1
2
1
1
1
1
Eficacia del compilador “C”
• El rendimiento del código mejorará debido a:
– La memoria de programa (1 MWord) se direcciona de
modo lineal, sin ningún tipo de paginación.
– La memoria de datos (4 KBytes) está organizada en
bancos de 256 Bytes.
– Access Bank es ideal para implementar procesos con
variables globales.
– La instrucción MOVFF selecciona fs y fd direccionando
los 4 K de la memoria de datos de forma lineal.
– Tres punteros indirectos con 5 modos de utilización y
direccionamiento lineal de los 4 K registros.
– 8 Saltos condicionales.
– Posibilidad de acceder a la Pila para ampliarla por
medio de programación.
Sagitrón Jornadas MMIV / 3-PIC18s / 29
© 2002 Microchip Technology Incorporated. All Rights Reserved.
Osciladores
• Múltiples configuraciones: EC, ECIO, LP, XT, HS,
RC, RCIO & HS4.
• 4X PLL permite 10MIPS @ 10MHz.
• Conmutación dinámica de la fuente de oscilación.
OSC2
CONFIG1H
FOSC2:FOSC0
TOSC
4 x PLL
TT1P
T1OSO
T1OSCEN
T1OSI
Sagitrón Jornadas MMIV / 3-PIC18s / 30
Timer CLK
© 2002 Microchip Technology Incorporated. All Rights Reserved.
MUX_SEL
OSC1
OSCCON:SCS
TSCLK
Los puertos de entrada / salida
• Cada puerto dispone de tres direcciones:
– PORTx: Es la correspondiente a los pines del puerto. Se
utiliza para leer el estado de las entradas. Por razones de
compatibilidad, escribir en esta dirección equivale a
hacerlo en la dirección LATx.
– LATx: Es la de los registros que almacenan los datos que
pueden salir por los correspondientes pines de puerto. Se
utiliza para escribir el estado que se desea poner en las
salidas. Si se lee esta dirección, se leerá el valor que hay
en los registros y no el estado de los pines.
– TRISx: Es la de los registros que configuran los bits del
puerto, de forma individual y dinámica, como entrada o
salida. Se puede escribir y leer.
Sagitrón Jornadas MMIV / 3-PIC18s / 31
© 2002 Microchip Technology Incorporated. All Rights Reserved.
Diagrama de un bit de E / S
LEER LATx
PIN
D
LATx
ESCRIBIR
o
PORTx
>CK
LATx
BUS DATOS
ESCRIBIR TRISx
TRISx
D
Q
Q
>CK
LEER TRISx
PORTx
Q
D
EN<
LEER PORTx
Sagitrón Jornadas MMIV / 3-PIC18s / 32
© 2002 Microchip Technology Incorporated. All Rights Reserved.
Descargar

Los nuevos PIC18