* pepe sagitrón jornadas mmiv / pic18s / 1 © 2002 microchip technology incorporated. all rights...

32
* Pepe trón trón Jornadas MMIV Jornadas MMIV / PIC18s / / PIC18s / 1 © 2002 Microchip Technology Incorporated. All Rights Reserved. de 32 de 32

Upload: antonia-ferrin

Post on 22-Jan-2016

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: * Pepe Sagitrón Jornadas MMIV / PIC18s / 1 © 2002 Microchip Technology Incorporated. All Rights Reserved. de 32

* Pepe

Sagitrón Sagitrón Jornadas MMIVJornadas MMIV / PIC18s / / PIC18s / 11 © 2002 Microchip Technology Incorporated. All Rights Reserved. de 32de 32

Page 2: * Pepe Sagitrón Jornadas MMIV / PIC18s / 1 © 2002 Microchip Technology Incorporated. All Rights Reserved. de 32

Sagitrón Sagitrón Jornadas MMIVJornadas MMIV / 3-PIC18s / / 3-PIC18s / 22 © 2002 Microchip Technology Incorporated. All Rights Reserved.

Una nueva familia de PICsUna nueva familia de PICsUna nueva familia de PICsUna nueva familia de PICs

• Una arquitectura que manteniendo las excelentes Una arquitectura que manteniendo las excelentes cualidades de los PICs, minimiza sus limitaciones. cualidades de los PICs, minimiza sus limitaciones. – Memoria de programaMemoria de programa: hasta 1 MWord y sin paginación.: hasta 1 MWord y sin paginación.– Memoria de datosMemoria de datos: hasta 16 x 256 = 4 KBytes.: hasta 16 x 256 = 4 KBytes.– Pila con 31 niveles de profundidad.Pila con 31 niveles de profundidad.– Tres flexibles punteros Tres flexibles punteros “FSRs”“FSRs” que direccionan la que direccionan la

memoria de datos de forma indirecta y sin bancos.memoria de datos de forma indirecta y sin bancos.– Juego de instrucciones enriquecido 72 + 4 dobles.Juego de instrucciones enriquecido 72 + 4 dobles.– 10 MIPS con oscilador de 10 MHz. y un PLL x4.10 MIPS con oscilador de 10 MHz. y un PLL x4.– Amplia gama de periféricos integrados.Amplia gama de periféricos integrados.– Altamente compatible con los PIC16CXX y PIC17CXX.Altamente compatible con los PIC16CXX y PIC17CXX.

• Diseñada para optimizar el rendimiento del Diseñada para optimizar el rendimiento del compilador “C” .compilador “C” .

Page 3: * Pepe Sagitrón Jornadas MMIV / PIC18s / 1 © 2002 Microchip Technology Incorporated. All Rights Reserved. de 32

Sagitrón Sagitrón Jornadas MMIVJornadas MMIV / 3-PIC18s / / 3-PIC18s / 33 © 2002 Microchip Technology Incorporated. All Rights Reserved.

Memoria de datos. OrganizaciónMemoria de datos. OrganizaciónMemoria de datos. OrganizaciónMemoria de datos. Organización

• Un total de 4 KBytes agrupados Un total de 4 KBytes agrupados en en 16 bancos16 bancos con con 256 Bytes256 Bytes cada uno.cada uno.

• Contienen los registros de Contienen los registros de propósito general propósito general “GPRs”“GPRs” y los y los registros especiales registros especiales “SFRs”“SFRs”..

• Los Los SFRsSFRs, también llamados , también llamados registros periféricos, están registros periféricos, están situados en la zona más alta. situados en la zona más alta. Desde Desde FF0000h hasta h hasta FFFFFFh.h.

GPRsGPRsBanco 0Banco 0

Banco 1Banco 1

Banco 2Banco 2

..

..

..

Banco FBanco F

000000007F7F00808000FFFF110000 .. ..11FFFF220000 .. .. .. ..EEFFFFFF0000FF7F7FFF8080FFFFFF

GPRsGPRs

GPRsGPRs

SFRsSFRs

Page 4: * Pepe Sagitrón Jornadas MMIV / PIC18s / 1 © 2002 Microchip Technology Incorporated. All Rights Reserved. de 32

Sagitrón Sagitrón Jornadas MMIVJornadas MMIV / 3-PIC18s / / 3-PIC18s / 44 © 2002 Microchip Technology Incorporated. All Rights Reserved.

Registros especiales SFRsRegistros especiales SFRsRegistros especiales SFRsRegistros especiales SFRs FFFh FFFh FFEh FFEh FFDh FFDh FFCh FFCh FFBh FFBh FFAh FFAh FF9h FF9h FF8h FF8h FF7h FF7h FF6h FF6h FF5h FF5h FF4h FF4h FF3h FF3h FF2h FF2h FF1h FF1h FF0h FF0h FEFh FEFh FEEh FEEh FEDh FEDh FECh FECh FEBh FEBh FEAh FEAh FE9h FE9h FE8h FE8h FE7h FE7h FE6h FE6h FE5h FE5h FE4h FE4h FE3h FE3h FE2h FE2h FE1h FE1h FE0h FE0h

TOSU TOSU TOSH TOSH TOSL TOSL

STKPTR STKPTR PCLATU PCLATU PCLATH PCLATH

PCL PCL TBLPTRU TBLPTRU TBLPTRH TBLPTRH TBLPTRL TBLPTRL TABLAT TABLAT PRODH PRODH PRODL PRODL INTCON INTCON

INTCON2 INTCON2 INTCON3 INTCON3

INDF0 INDF0 POSTINC0 POSTINC0 POSTDEC0 POSTDEC0 PREINC0 PREINC0 PLUSW0 PLUSW0 FSR0H FSR0H FSR0L FSR0L

W R E G W R E G INDF1 INDF1

POSTINC1 POSTINC1 POSTDEC1 POSTDEC1 PREINC1 PREINC1 PLUSW1 PLUSW1 FSR1H FSR1H FSR1L FSR1L BSR BSR

FDFh FDFh FDEh FDEh FDDh FDDh FDCh FDCh FDBh FDBh FDAh FDAh FD9h FD9h FD8h FD8h FD7h FD7h FD6h FD6h FD5h FD5h FD4h FD4h FD3h FD3h FD2h FD2h FD1h FD1h FD0h FD0h FCFh FCFh FCEh FCEh FCDh FCDh FCCh FCCh FCBh FCBh FCAh FCAh FC9h FC9h FC8h FC8h FC7h FC7h FC6h FC6h FC5h FC5h FC4h FC4h FC3h FC3h FC2h FC2h FC1h FC1h FC0h FC0h

INDF2 INDF2 POSTINC2 POSTINC2 POSTDEC2 POSTDEC2 PREINC2 PREINC2 PLUSW2 PLUSW2 FSR2H FSR2H FSR2L FSR2L

STATUS STATUS TMR0H TMR0H TMR0L TMR0L T0CON T0CON

-- -- OSCCON OSCCON LVDCON LVDCON WDTCON WDTCON

RCON RCON TMR1H TMR1H TMR1L TMR1L T1CON T1CON TMR2 TMR2 PR2 PR2

T2CON T2CON SSPBUF SSPBUF SSPADD SSPADD SSPSTAT SSPSTAT SSPCON1 SSPCON1 SSPCON2 SSPCON2 ADRESH ADRESH ADRESL ADRESL ADCON0 ADCON0 ADCON1 ADCON1 ADCON2 ADCON2

FBFh FBFh FBEh FBEh FBDh FBDh FBCh FBCh FBBh FBBh FBAh FBAh FB9h FB9h FB8h FB8h FB7h FB7h FB6h FB6h FB5h FB5h FB4h FB4h FB3h FB3h FB2h FB2h FB1h FB1h FB0h FB0h FAFh FAFh FAEh FAEh FADh FADh FACh FACh FABh FABh FAAh FAAh FA9h FA9h FA8h FA8h FA7h FA7h FA6h FA6h FA5h FA5h FA4h FA4h FA3h FA3h FA2h FA2h FA1h FA1h FA0h FA0h

CCPR1H CCPR1H CCPR1L CCPR1L

CCP1CON CCP1CON CCPR2H CCPR2H CCPR2L CCPR2L

CCP2CON CCP2CON CCPR3H CCPR3H CCPR3L CCPR3L

CCP3CON CCP3CON CCPR4H CCPR4H CCPR4L CCPR4L

CCP4CON CCP4CON TMR3H TMR3H TMR3L TMR3L T3CON T3CON

-- -- SPBRG SPBRG RCREG RCREG TXREG TXREG TXSTA TXSTA RCSTA RCSTA

COM2BRG COM2BRG COM2RX COM2RX COM2TX COM2TX

COM2STA COM2STA COM2CON COM2CON

IPR3 IPR3 PIR3 PIR3 PIE3 PIE3 IPR2 IPR2 PIR2 PIR2 PIE2 PIE2

F9Fh F9Fh F9Eh F9Eh F9Dh F9Dh F9Ch F9Ch F9Bh F9Bh F9Ah F9Ah F99h F99h F98h F98h F97h F97h F96h F96h F95h F95h F94h F94h F93h F93h F92h F92h F91h F91h F90h F90h F8Fh F8Fh F8Eh F8Eh F8Dh F8Dh F8Ch F8Ch F8Bh F8Bh F8Ah F8Ah F89h F89h F88h F88h F87h F87h F86h F86h F85h F85h F84h F84h F83h F83h F82h F82h F81h F81h F80h F80h

IPR1 IPR1 PIR1 PIR1 PIE1 PIE1

EXTMEM EXTMEM EXTBUS EXTBUS

TRISJ TRISJ TRISH TRISH TRISG TRISG TRISF TRISF TRISE TRISE TRISD TRISD TRISC TRISC TRISB TRISB TRISA TRISA LATJ LATJ LATH LATH LATG LATG LATF LATF LATE LATE LATD LATD LATC LATC LATB LATB LATA LATA

PORTJ PORTJ PORTH PORTH PORTG PORTG PORTF PORTF PORTE PORTE PORTD PORTD PORTC PORTC PORTB PORTB PORTA PORTA

Page 5: * Pepe Sagitrón Jornadas MMIV / PIC18s / 1 © 2002 Microchip Technology Incorporated. All Rights Reserved. de 32

Sagitrón Sagitrón Jornadas MMIVJornadas MMIV / 3-PIC18s / / 3-PIC18s / 55 © 2002 Microchip Technology Incorporated. All Rights Reserved.

El acumulador WREGEl acumulador WREGEl acumulador WREGEl acumulador WREG

• El registro El registro WREGWREG, además de intervenir de forma , además de intervenir de forma implícita en múltiples instrucciones, es un registro implícita en múltiples instrucciones, es un registro direccionable (0xdireccionable (0xFFE8E8), por lo que se le puede ), por lo que se le puede utilizar de forma explícita y así ser el parámetro utilizar de forma explícita y así ser el parámetro FILE de cualquier instrucción, por ejemplo: FILE de cualquier instrucción, por ejemplo:

COMF COMF WREGWREG NEGF NEGF WREGWREG

DECFSZ DECFSZ WREGWREG INCFSZ INCFSZ WREGWREG

DCFSNZ DCFSNZ WREGWREG INFSNZ INFSNZ WREGWREG

RLCF RLCF WREGWREG RRCF RRCF WREGWREG

RLNCF RLNCF WREGWREG RRNCF RRNCF WREGWREG

BTFSC BTFSC WREGWREG, b , b BTFSS BTFSS WREGWREG, b , b

BTG BTG WREGWREG, b , b SWAPF SWAPF WREGWREG . . . . . .

Page 6: * Pepe Sagitrón Jornadas MMIV / PIC18s / 1 © 2002 Microchip Technology Incorporated. All Rights Reserved. de 32

Sagitrón Sagitrón Jornadas MMIVJornadas MMIV / 3-PIC18s / / 3-PIC18s / 66 © 2002 Microchip Technology Incorporated. All Rights Reserved.

El registro de estadosEl registro de estadosEl registro de estadosEl registro de estados

• STATUS, N: bit de negativo.STATUS, N: bit de negativo.• STATUS, OV: bit de rebase.STATUS, OV: bit de rebase.• STATUS, Z: bit de cero.STATUS, Z: bit de cero.• STATUS, DC: bit de acarreo decimal.STATUS, DC: bit de acarreo decimal.• STATUS, C: bit de acarreo.STATUS, C: bit de acarreo.

- - - N OV Z DC C - - - N OV Z DC C

STATUS RegisterSTATUS Register

Page 7: * Pepe Sagitrón Jornadas MMIV / PIC18s / 1 © 2002 Microchip Technology Incorporated. All Rights Reserved. de 32

Sagitrón Sagitrón Jornadas MMIVJornadas MMIV / 3-PIC18s / / 3-PIC18s / 77 © 2002 Microchip Technology Incorporated. All Rights Reserved.

Registro Selector de Banco. BSRRegistro Selector de Banco. BSRRegistro Selector de Banco. BSRRegistro Selector de Banco. BSR

• El El BSRBSR es similar al de la es similar al de la familia PIC17CXX.familia PIC17CXX.

• Los Los 4 bits4 bits bajos del bajos del BSRBSR seleccionan un seleccionan un bancobanco entre entre los 16 posibles.los 16 posibles.

- - - - 3 2 1 0 - - - - 3 2 1 0

Bank Select RegisterBank Select Register

GPRsGPRsBanco 0Banco 0

Banco 1Banco 1

Banco 2Banco 2

..

..

..

Banco FBanco F

000000007F7F00808000FFFF110000 .. ..11FFFF220000 .. .. .. ..EEFFFFFF0000FF7F7FFF8080FFFFFF

GPRsGPRs

GPRsGPRs

SFRsSFRs

Page 8: * Pepe Sagitrón Jornadas MMIV / PIC18s / 1 © 2002 Microchip Technology Incorporated. All Rights Reserved. de 32

Sagitrón Sagitrón Jornadas MMIVJornadas MMIV / 3-PIC18s / / 3-PIC18s / 88 © 2002 Microchip Technology Incorporated. All Rights Reserved.

Direccionamiento de datosDireccionamiento de datosDireccionamiento de datosDireccionamiento de datos

• Las instrucciones aritmético-lógicas tienen un Las instrucciones aritmético-lógicas tienen un nuevo formato:nuevo formato:

• El parámetro El parámetro “ f ” (8 bits)“ f ” (8 bits) contiene la dirección del contiene la dirección del registro.registro.

• El parámetro El parámetro “ d ”“ d ” indica el destino de la operación: indica el destino de la operación:– Cuando Cuando “ d = 1 ”“ d = 1 ”, el resultado se coloca en el registro f., el resultado se coloca en el registro f.– Cuando Cuando “ d = 0 ”“ d = 0 ”, el resultado se coloca en el registro w., el resultado se coloca en el registro w.

• El parámetro El parámetro “ a ”“ a ” se llama se llama “ Access bit ”“ Access bit ”..

opcode opcode dd aa f f f f f f f f f f f f f f f f

Por ejemplo: Por ejemplo: ADDWF ADDWF ff, , dd, , aa

Page 9: * Pepe Sagitrón Jornadas MMIV / PIC18s / 1 © 2002 Microchip Technology Incorporated. All Rights Reserved. de 32

Sagitrón Sagitrón Jornadas MMIVJornadas MMIV / 3-PIC18s / / 3-PIC18s / 99 © 2002 Microchip Technology Incorporated. All Rights Reserved.

Access bit = 1Access bit = 1Access bit = 1Access bit = 1• Cuando Cuando “ a = 1 ”“ a = 1 ”, el contenido , el contenido

del del BSRBSR determina el banco. determina el banco.

• Uniendo a los Uniendo a los 4 bits4 bits del del BSRBSR los los 8 bits “ f ”8 bits “ f ”, se obtiene un , se obtiene un direccionamiento de 4 K. direccionamiento de 4 K.

ADDWF ADDWF ff, , dd, , aa 0010 01 0010 01dd11 f f f f f f f f f f f f f f f f

Suponiendo Suponiendo BSRBSR = = 0001 0001

GPRsGPRsBanco 0Banco 0

Banco 1Banco 1

Banco 2Banco 2

..

..

..

Banco FBanco F

000000007F7F00808000FFFF110000 .. ..11FFFF220000 .. .. .. ..EEFFFFFF0000FF7F7FFF8080FFFFFF

GPRsGPRs

GPRsGPRs

SFRsSFRs

Page 10: * Pepe Sagitrón Jornadas MMIV / PIC18s / 1 © 2002 Microchip Technology Incorporated. All Rights Reserved. de 32

Sagitrón Sagitrón Jornadas MMIVJornadas MMIV / 3-PIC18s / / 3-PIC18s / 1010 © 2002 Microchip Technology Incorporated. All Rights Reserved.

Access bit = 0Access bit = 0Access bit = 0Access bit = 0• Cuando Cuando “ a ” = 0“ a ” = 0, en lugar de , en lugar de

determinar el banco por el determinar el banco por el contenido del registro contenido del registro BSRBSR, , se utiliza el se utiliza el Access BankAccess Bank y se y se selecciona un registro de los selecciona un registro de los 256 256 entre entre A.RAM & A.SFRsA.RAM & A.SFRs..

ADDWF ADDWF ff, , dd, , aa 0010 01 0010 01dd00 f f f f f f f ff f f f f f f f

A.RAMA.RAM

A.SFRsA.SFRs

GPRsGPRs

=00=00=7F=7F0800800FF0FF100100 .. ..1FF1FF200200 .. .. .. ..EFFEFFF00F00F7FF7F=80=80=FF=FF

GPRsGPRs

GPRsGPRs

SFRsSFRs

Page 11: * Pepe Sagitrón Jornadas MMIV / PIC18s / 1 © 2002 Microchip Technology Incorporated. All Rights Reserved. de 32

Sagitrón Sagitrón Jornadas MMIVJornadas MMIV / 3-PIC18s / / 3-PIC18s / 1111 © 2002 Microchip Technology Incorporated. All Rights Reserved.

El “Access Bank”El “Access Bank”El “Access Bank”El “Access Bank”

• El El “ Access Bank ”“ Access Bank ” es un banco virtual de 256 es un banco virtual de 256 registros formado por:registros formado por:– Los registros Los registros A.RAMA.RAM de la parte baja del de la parte baja del Banco 0Banco 0..– Los registros Los registros A.SFRsA.SFRs de la parte alta del de la parte alta del Banco FBanco F..

• Los Los A.RAMA.RAM son son GPRsGPRs que tienen la cualidad de que tienen la cualidad de pertenecer al pertenecer al “ Access Bank ”“ Access Bank ”..

• Los Los A.SFRsA.SFRs y los y los A.RAMA.RAM están siempre están siempre accesibles, independientemente del contenido del accesibles, independientemente del contenido del BSRBSR..

• La conmutación de bancos se minimiza gracias a la La conmutación de bancos se minimiza gracias a la posibilidad de operar con los posibilidad de operar con los A.SFRsA.SFRs y los y los A.RAMA.RAM sin necesidad de modificar el contenido del sin necesidad de modificar el contenido del BSRBSR..

Page 12: * Pepe Sagitrón Jornadas MMIV / PIC18s / 1 © 2002 Microchip Technology Incorporated. All Rights Reserved. de 32

Sagitrón Sagitrón Jornadas MMIVJornadas MMIV / 3-PIC18s / / 3-PIC18s / 1212 © 2002 Microchip Technology Incorporated. All Rights Reserved.

De Memoria a MemoriaDe Memoria a MemoriaDe Memoria a MemoriaDe Memoria a Memoria

• MOVFF mueve un dato MOVFF mueve un dato desde cualquier registro desde cualquier registro hasta cualquier registro.hasta cualquier registro.

MOVFFMOVFF fs, fdfs, fd 1100 1100 ssss ssss ssssssss ssss ssss

11111111 dddd dddd dddddddd dddd dddd

Esta es una de las cuatro instrucciones de Esta es una de las cuatro instrucciones de

DOBLE PALABRADOBLE PALABRA

A.RAMA.RAM

GPRsGPRs

SFRsSFRs

00000007F07F0800800FF0FF100100 .. ..1FF1FF200200 .. .. .. ..EFFEFFF00F00F7FF7FF80F80FFFFFF

GPRsGPRs

GPRsGPRs

4 KB4 KBSIN USAR SIN USAR

BANCOSBANCOS

A.SFRsA.SFRs

Page 13: * Pepe Sagitrón Jornadas MMIV / PIC18s / 1 © 2002 Microchip Technology Incorporated. All Rights Reserved. de 32

Sagitrón Sagitrón Jornadas MMIVJornadas MMIV / 3-PIC18s / / 3-PIC18s / 1313 © 2002 Microchip Technology Incorporated. All Rights Reserved.

Instrucciones de doble palabraInstrucciones de doble palabraInstrucciones de doble palabraInstrucciones de doble palabra

• El código objeto de la segunda palabra de las El código objeto de la segunda palabra de las instrucciones instrucciones MOVFFMOVFF, , GOTOGOTO, , CALLCALL y y LFSRLFSR tiene la tiene la forma: forma: 11111111 XXXX XXXX XXXX. XXXX XXXX XXXX.

• Si esta segunda palabra fuera interpretada como Si esta segunda palabra fuera interpretada como instrucción, se decodificaría como un instrucción, se decodificaría como un NOP especialNOP especial. . Por ejemplo: Por ejemplo:

. . . . . .

DECFSZ CONTADOR,d,a DECFSZ CONTADOR,d,a 0010 11da ffff ffff 0010 11da ffff ffff

GOTOGOTO PROGRAMA PROGRAMA 1110 1111 XXXX XXXX 1110 1111 XXXX XXXX

NOP especialNOP especial 11111111 XXXX XXXX XXXX XXXX XXXX XXXX

NOP NOP 0000 0000 0000 0000 0000 0000 0000 0000

. . . . . .

Page 14: * Pepe Sagitrón Jornadas MMIV / PIC18s / 1 © 2002 Microchip Technology Incorporated. All Rights Reserved. de 32

Sagitrón Sagitrón Jornadas MMIVJornadas MMIV / 3-PIC18s / / 3-PIC18s / 1414 © 2002 Microchip Technology Incorporated. All Rights Reserved.

Punteros indirectosPunteros indirectosPunteros indirectosPunteros indirectos

• Hay tres punteros indirectos:Hay tres punteros indirectos:– FSR0H, FSR0LFSR0H, FSR0L– FSR1H, FSR1LFSR1H, FSR1L– FSR2H, FSR2LFSR2H, FSR2L

• Sus Sus 12 bits12 bits direccionan linealmente direccionan linealmente 4 K4 K SIN USAR BANCOSSIN USAR BANCOS..

• Se pueden utilizar de 5 modos:Se pueden utilizar de 5 modos:– INDFnINDFn: Sin cambio del valor del puntero.: Sin cambio del valor del puntero.– POSTINCnPOSTINCn: Con auto-post-incremento.: Con auto-post-incremento.– POSTDECnPOSTDECn: Con auto-post-decremento.: Con auto-post-decremento.– PREINCnPREINCn:Con auto-pre-incremento.:Con auto-pre-incremento.– PLUSWnPLUSWn: Indexando con WREG signo.: Indexando con WREG signo.

A.RAMA.RAM

GPRsGPRs

00000007F07F0800800FF0FF100100 .. ..1FF1FF200200 .. .. .. ..EFFEFFF00F00F7FF7FF80F80FFFFFF

GPRsGPRs

GPRsGPRs

A.SFRsA.SFRs

SFRsSFRs

Page 15: * Pepe Sagitrón Jornadas MMIV / PIC18s / 1 © 2002 Microchip Technology Incorporated. All Rights Reserved. de 32

Sagitrón Sagitrón Jornadas MMIVJornadas MMIV / 3-PIC18s / / 3-PIC18s / 1515 © 2002 Microchip Technology Incorporated. All Rights Reserved.

Memoria de programaMemoria de programaMemoria de programaMemoria de programa

• Se pueden direccionar hasta Se pueden direccionar hasta 1 MWord1 MWord = = 2 MBytes2 MBytes..

Word Word Byte H Byte L Byte H Byte L 0x000001 0x000001 0x000000 0x000000 0x000003 0x000003 0x000002 0x000002 0x000005 0x000005 0x000004 0x000004 . . . . . . . . . . . . . . . . . . . . . . . . 0x1FFFFD 0x1FFFFD 0x1FFFFC 0x1FFFFC 0x1FFFFF 0x1FFFFF 0x1FFFFE 0x1FFFFE

Instrucciones Instrucciones . . . . . . . . . . . . 0x0F 0x0F 0x55 0x55 MOVLW 0x55 MOVLW 0x55 0xC1 0xC1 0x23 0x23 MOVFF MOVFF 0x123, 0x456 0x123, 0x456 0xF4 0xF4 0x56 0x56 0xEF 0xEF 0x10 0x10 GOTO GOTO 0x086420 0x086420 0xF4 0xF4 0x32 0x32 0xEF 0xEF 0x2B 0x2B GOTO GOTO 0x123456 0x123456 0xF9 0xF9 0x1A 0x1A . . . . . . . . . . . .

0x000000 0x000000 0x000002 0x000002 0x000004 0x000004

. . . . . .

. . . . . .

0x1FFFFC 0x1FFFFC

0x1FFFFE 0x1FFFFE

Page 16: * Pepe Sagitrón Jornadas MMIV / PIC18s / 1 © 2002 Microchip Technology Incorporated. All Rights Reserved. de 32

Sagitrón Sagitrón Jornadas MMIVJornadas MMIV / 3-PIC18s / / 3-PIC18s / 1616 © 2002 Microchip Technology Incorporated. All Rights Reserved.

Contador de programaContador de programaContador de programaContador de programa

• El El PCPC tiene tiene 21 bits21 bits ( (PCU, PCH y PCLPCU, PCH y PCL).).• El bit menos significativo del El bit menos significativo del PCPC apunta a apunta a BYTEsBYTEs, ,

no a no a WORDsWORDs, por lo que es “0”. El , por lo que es “0”. El PCPC se se incrementa de dos en dos.incrementa de dos en dos.

• Se dispone de los correspondientes registros Se dispone de los correspondientes registros auxiliares auxiliares PCLATUPCLATU y y PCLATHPCLATH para actuar de para actuar de forma combinada con el forma combinada con el PCPC cuando éste se cuando éste se escribe o se lee.escribe o se lee.

Page 17: * Pepe Sagitrón Jornadas MMIV / PIC18s / 1 © 2002 Microchip Technology Incorporated. All Rights Reserved. de 32

Sagitrón Sagitrón Jornadas MMIVJornadas MMIV / 3-PIC18s / / 3-PIC18s / 1717 © 2002 Microchip Technology Incorporated. All Rights Reserved.

PCUPCU PCHPCH PCLPCL

Operaciones con la pilaOperaciones con la pilaOperaciones con la pilaOperaciones con la pila

• El El STACKSTACK tiene 31 niveles de profundidad x 21 bits. tiene 31 niveles de profundidad x 21 bits.• El El ““TTop op OOf f SStack”tack” es accesible. Se puede leer y es accesible. Se puede leer y

escribir escribir (será conveniente quitar previamente las interrupciones)(será conveniente quitar previamente las interrupciones)..• El El STKPTRSTKPTR es el puntero automático es el puntero automático (5 bits)(5 bits)..

TOSUTOSU TOSHTOSH TOSLTOSL

2020 1616 1515 88 77 00

+ CALL + CALL + RCALL + RCALL + INTERRUPT + INTERRUPT + PUSH + PUSH - POP - POP - RETURN - RETURN - RETFIE - RETFIE - RETLW - RETLW

STKPTRSTKPTR

Page 18: * Pepe Sagitrón Jornadas MMIV / PIC18s / 1 © 2002 Microchip Technology Incorporated. All Rights Reserved. de 32

Sagitrón Sagitrón Jornadas MMIVJornadas MMIV / 3-PIC18s / / 3-PIC18s / 1818 © 2002 Microchip Technology Incorporated. All Rights Reserved.

Dos vectores de interrupciónDos vectores de interrupciónDos vectores de interrupciónDos vectores de interrupción

• 0x08 para alta prioridad y 0x18 para baja prioridad.0x08 para alta prioridad y 0x18 para baja prioridad.– GIE/GIEH & PEIE/GIEL controlan los respectivos permisos GIE/GIEH & PEIE/GIEL controlan los respectivos permisos

globales.globales.– Cuando se sirve una interrupción, automáticamente se Cuando se sirve una interrupción, automáticamente se

quita su correspondiente permiso global.quita su correspondiente permiso global.– El servicio de interrupción de alta prioridad impide el El servicio de interrupción de alta prioridad impide el

servicio de baja prioridad.servicio de baja prioridad.– Cuando se ejecuta RETFIE se pone el permiso Cuando se ejecuta RETFIE se pone el permiso

correspondiente al nivel que se está sirviendo.correspondiente al nivel que se está sirviendo.

• Cada fuente de interrupción se puede asignar de Cada fuente de interrupción se puede asignar de forma independiente a una u otra prioridad.forma independiente a una u otra prioridad.

• Se puede forzar el modo compatible “sólo alta Se puede forzar el modo compatible “sólo alta prioridad”, mediante el bit IPEN = 0.prioridad”, mediante el bit IPEN = 0.

Page 19: * Pepe Sagitrón Jornadas MMIV / PIC18s / 1 © 2002 Microchip Technology Incorporated. All Rights Reserved. de 32

Sagitrón Sagitrón Jornadas MMIVJornadas MMIV / 3-PIC18s / / 3-PIC18s / 1919 © 2002 Microchip Technology Incorporated. All Rights Reserved.

Los registros sombra del entornoLos registros sombra del entornoLos registros sombra del entornoLos registros sombra del entorno

• Se puede salvar y restaurar el contenido de las Se puede salvar y restaurar el contenido de las variables de entorno ( variables de entorno ( WREGWREG, , STATUSSTATUS y y BSRBSR ) ) en sus respectivos registros sombra, lo que en sus respectivos registros sombra, lo que equivale a una pila de un solo nivel.equivale a una pila de un solo nivel.– El parámetro El parámetro “s”“s” de la instrucción CALL determina si se de la instrucción CALL determina si se

salvan o no las variables de entorno utilizando este salvan o no las variables de entorno utilizando este único nivel. único nivel.

– Cuando se sirve una interrupción siempre se salvan las Cuando se sirve una interrupción siempre se salvan las variables de entorno en los registros sombra (no hay variables de entorno en los registros sombra (no hay penalización del tiempo de ejecución).penalización del tiempo de ejecución).

– El parámetro El parámetro “s”“s” de las instrucciones RETURN y de las instrucciones RETURN y RETFIE determina si se restauran o no las variables de RETFIE determina si se restauran o no las variables de entorno desde los registros sombra.entorno desde los registros sombra.

Page 20: * Pepe Sagitrón Jornadas MMIV / PIC18s / 1 © 2002 Microchip Technology Incorporated. All Rights Reserved. de 32

Sagitrón Sagitrón Jornadas MMIVJornadas MMIV / 3-PIC18s / / 3-PIC18s / 2020 © 2002 Microchip Technology Incorporated. All Rights Reserved.

Operaciones con TablasOperaciones con TablasOperaciones con TablasOperaciones con Tablas

• El El TBLPTRTBLPTR es el puntero que con sus es el puntero que con sus 21 (+1) bits21 (+1) bits direcciona direcciona 2(+) MBytes de memoria de programa2(+) MBytes de memoria de programa..

• La instrucción TBLRD lee La instrucción TBLRD lee 8 bits8 bits desde la desde la memoria memoria de programade programa y los copia en el registro y los copia en el registro TABLATTABLAT..

• La instrucción TBLWR escribe en la La instrucción TBLWR escribe en la memoria de memoria de programaprograma los los 8 bits8 bits del registro del registro TABLATTABLAT..

Memoria PROG (16 bits) Memoria PROG (16 bits) TABLPTRTABLPTR

21(+1) bit dirección 21(+1) bit dirección

TABLATTABLAT

8 bit Datos 8 bit Datos

MemoriaMemoriaDATOSDATOS

High Byte Low Byte High Byte Low Byte

Page 21: * Pepe Sagitrón Jornadas MMIV / PIC18s / 1 © 2002 Microchip Technology Incorporated. All Rights Reserved. de 32

Sagitrón Sagitrón Jornadas MMIVJornadas MMIV / 3-PIC18s / / 3-PIC18s / 2121 © 2002 Microchip Technology Incorporated. All Rights Reserved.

Juego de instruccionesJuego de instruccionesJuego de instruccionesJuego de instrucciones

• Se mantiene el conjunto de instrucciones de la Se mantiene el conjunto de instrucciones de la gama media y de la gama alta, ampliándolo con:gama media y de la gama alta, ampliándolo con:– SUBFWB: Resta inversa con acarreo.SUBFWB: Resta inversa con acarreo.

– RCALL: Llamada a rutina relativa.RCALL: Llamada a rutina relativa.

– BRA: Salto incondicional relativo.BRA: Salto incondicional relativo.

– BC, BNC, BN, BNN, BOV, BNOV, BZ y BNZ: Saltos BC, BNC, BN, BNN, BOV, BNOV, BZ y BNZ: Saltos condicionales relativos.condicionales relativos.

– POP y PUSH: Tiran y empujan los datos de la pila.POP y PUSH: Tiran y empujan los datos de la pila.

– RESET: Inicializa el sistema.RESET: Inicializa el sistema.

– Nuevas instrucciones de doble palabra.Nuevas instrucciones de doble palabra.

• CALL: Llamada a rutina sin paginación.CALL: Llamada a rutina sin paginación.

• GOTO: Salto incondicional sin paginación.GOTO: Salto incondicional sin paginación.

• MOVFF: Movimiento de datos de memoria a memoria.MOVFF: Movimiento de datos de memoria a memoria.• LFSR: Carga un inmediato de 12 bit en uno de los LFSR: Carga un inmediato de 12 bit en uno de los “FSRs”“FSRs”..

Page 22: * Pepe Sagitrón Jornadas MMIV / PIC18s / 1 © 2002 Microchip Technology Incorporated. All Rights Reserved. de 32

Sagitrón Sagitrón Jornadas MMIVJornadas MMIV / 3-PIC18s / / 3-PIC18s / 2222 © 2002 Microchip Technology Incorporated. All Rights Reserved.

Instrucciones tipo BYTE . . .Instrucciones tipo BYTE . . .Instrucciones tipo BYTE . . .Instrucciones tipo BYTE . . .• ADDWF ADDWF f, d, a f, d, a Suma WREG con FILE Suma WREG con FILE 1 1 • ADDWFC ADDWFC f, d, a f, d, a Suma WREG con FILE con acarreo Suma WREG con FILE con acarreo 1 1 • ADDLW ADDLW k k Suma WREG con literal Suma WREG con literal 1 1 • SUBWF SUBWF f, d, a f, d, a Resta WREG de FILE Resta WREG de FILE 1 1 • SUBWFB SUBWFB f, d, a f, d, a Resta WREG de FILE con acarreo Resta WREG de FILE con acarreo 1 1 • SUBFWB SUBFWB f, d, a f, d, a Resta FILE de WREG con acarreo Resta FILE de WREG con acarreo 1 1 • SUBLW SUBLW k k Resta WREG de literal Resta WREG de literal 1 1

• MULWF MULWF f, a f, a Multiplica WREG con FILE Multiplica WREG con FILE 1 1 • MULLW MULLW k k Multiplica WREG con literal Multiplica WREG con literal 1 1

• ANDWF ANDWF f, d, a f, d, a AND lógico WREG con FILE AND lógico WREG con FILE 1 1 • ANDLW ANDLW k k AND lógico WREG con literal AND lógico WREG con literal 1 1 • IORWF IORWF f, d, a f, d, a OR inclusivo WREG con FILE OR inclusivo WREG con FILE 1 1 • IORLW IORLW k k OR inclusivo WREG con literal OR inclusivo WREG con literal 1 1 • XORWF XORWF f, d, a f, d, a OR exclusivo WREG con FILE OR exclusivo WREG con FILE 1 1 • XORLW XORLW k k OR exclusivo WREG con literal OR exclusivo WREG con literal 1 1

Page 23: * Pepe Sagitrón Jornadas MMIV / PIC18s / 1 © 2002 Microchip Technology Incorporated. All Rights Reserved. de 32

Sagitrón Sagitrón Jornadas MMIVJornadas MMIV / 3-PIC18s / / 3-PIC18s / 2323 © 2002 Microchip Technology Incorporated. All Rights Reserved.

. . . Instrucciones tipo BYTE . . .. . . Instrucciones tipo BYTE . . .. . . Instrucciones tipo BYTE . . .. . . Instrucciones tipo BYTE . . .• MOVF MOVF f, d, a f, d, a Mueve FILE a destino Mueve FILE a destino 1 1 • MOVWF MOVWF f, a f, a Mueve de WREG a FILE Mueve de WREG a FILE 1 1 • MOVLW MOVLW k k Mueve literal a WREG Mueve literal a WREG 1 1

• MOVFFMOVFF fs, fd fs, fd Mueve de FILE Mueve de FILE origen a FILE destino origen a FILE destino 2 2

• SWAPF SWAPF f, d, a f, d, a Intercambia semi-Bytes de FILE Intercambia semi-Bytes de FILE 1 1

• CLRF CLRF f, a f, a Borra todos los bits de FILE Borra todos los bits de FILE 1 1 • SETF SETF f, a f, a Activa todos los bits de FILE Activa todos los bits de FILE 1 1

• COMF COMF f, d, a f, d, a Complementa los bits de FILE Complementa los bits de FILE 1 1

• NEGF NEGF f, a f, a Complementa a 2 el valor de FILE Complementa a 2 el valor de FILE 1 1

• DAW DAW Ajuste decimal de WREG Ajuste decimal de WREG 1 1

Page 24: * Pepe Sagitrón Jornadas MMIV / PIC18s / 1 © 2002 Microchip Technology Incorporated. All Rights Reserved. de 32

Sagitrón Sagitrón Jornadas MMIVJornadas MMIV / 3-PIC18s / / 3-PIC18s / 2424 © 2002 Microchip Technology Incorporated. All Rights Reserved.

. . . Instrucciones tipo BYTE. . . Instrucciones tipo BYTE. . . Instrucciones tipo BYTE. . . Instrucciones tipo BYTE• RLCF RLCF f, d, a f, d, a Rota a la izda. 9 bits FILE+acarreo Rota a la izda. 9 bits FILE+acarreo 1 1 • RLNCF RLNCF f, d, a f, d, a Rota a la izda. 8 bits FILE Rota a la izda. 8 bits FILE 1 1 • RRCF RRCF f, d, a f, d, a Rota a la dcha. 9 bits FILE+acarreo Rota a la dcha. 9 bits FILE+acarreo 1 1 • RRNCF RRNCF f, d, a f, d, a Rota a la dcha. 8 bits FILE Rota a la dcha. 8 bits FILE 1 1

• DECF DECF f, d, a f, d, a Decrementa FILE Decrementa FILE 1 1 • DECFSZ DECFSZ f, d, a f, d, a Decrementa FILE, salto si 0 Decrementa FILE, salto si 0 1 ó 2 1 ó 2 • DCFSNZ DCFSNZ f, d, a f, d, a Decrementa FILE, salto si no 0 Decrementa FILE, salto si no 0 1 ó 2 1 ó 2 • INCFINCF f, d, a f, d, a Incrementa FILE Incrementa FILE 1 1 • INCFSZ INCFSZ f, d, a f, d, a Incrementa FILE, salto si 0 Incrementa FILE, salto si 0 1 ó 2 1 ó 2 • INFSNZ INFSNZ f, d, a f, d, a Incrementa FILE, salto si no 0 Incrementa FILE, salto si no 0 1 ó 2 1 ó 2

• CPFSEQ CPFSEQ f, a f, a Compara FILE con WREG, salto si = Compara FILE con WREG, salto si = 1 ó 2 1 ó 2 • CPFSGT CPFSGT f, a f, a Compara FILE con WREG, salto si > Compara FILE con WREG, salto si > 1 ó 2 1 ó 2 • CPFSLT CPFSLT f, a f, a Compara FILE con WREG, salto si < Compara FILE con WREG, salto si < 1 ó 2 1 ó 2

• TSTFSZ TSTFSZ f, a f, a Prueba FILE, salta si 0 Prueba FILE, salta si 0 1 ó 2 1 ó 2

Page 25: * Pepe Sagitrón Jornadas MMIV / PIC18s / 1 © 2002 Microchip Technology Incorporated. All Rights Reserved. de 32

Sagitrón Sagitrón Jornadas MMIVJornadas MMIV / 3-PIC18s / / 3-PIC18s / 2525 © 2002 Microchip Technology Incorporated. All Rights Reserved.

Instrucciones orientadas a BITInstrucciones orientadas a BITInstrucciones orientadas a BITInstrucciones orientadas a BIT

• BCF BCF f, b, a f, b, a Borra el bit b de FILE Borra el bit b de FILE 1 1 • BSF BSF f, b, a f, b, a Activa el bit b de FILE Activa el bit b de FILE 1 1 • BTG BTG f, b, a f, b, a Invierte el bit b de FILE Invierte el bit b de FILE 1 1

• BTFSC BTFSC 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á “0” 1 ó 2 1 ó 2 • BTFSS BTFSS f, b, a f, b, a Prueba el bit b de FILE, salto si está “1” Prueba el bit b de FILE, salto si está “1” 1 ó 2 1 ó 2

Page 26: * Pepe Sagitrón Jornadas MMIV / PIC18s / 1 © 2002 Microchip Technology Incorporated. All Rights Reserved. de 32

Sagitrón Sagitrón Jornadas MMIVJornadas MMIV / 3-PIC18s / / 3-PIC18s / 2626 © 2002 Microchip Technology Incorporated. All Rights Reserved.

Instrucciones Control de FlujoInstrucciones Control de FlujoInstrucciones Control de FlujoInstrucciones Control de Flujo• GOTOGOTO p p Salto a posición de programa p Salto a posición de programa p 2 2

• BRA BRA r r Salto a posición relativa r Salto a posición relativa r 2 2 Rango: -1024 . . . +1023 Rango: -1024 . . . +1023

• BC BC r r Bifurcación si acarreo Bifurcación si acarreo 1 ó 2 1 ó 2 • BNC BNC r r Bifurcación si no acarreo Bifurcación si no acarreo 1 ó 2 1 ó 2 • BN BN r r Bifurcación si negativo Bifurcación si negativo 1 ó 2 1 ó 2 • BNN BNN r r Bifurcación si no negativo Bifurcación si no negativo 1 ó 2 1 ó 2 • BOV BOV r r Bifurcación si rebase Bifurcación si rebase 1 ó 2 1 ó 2 • BNOV BNOV r r Bifurcación si no rebase Bifurcación si no rebase 1 ó 2 1 ó 2 • BZ BZ r r Bifurcación si cero Bifurcación si cero 1 ó 2 1 ó 2 • BNZ BNZ r r Bifurcación si no cero Bifurcación si no cero 1 ó 2 1 ó 2

Saltos relativos condicionales Saltos relativos condicionales Rango: -128 . . . +127 Rango: -128 . . . +127

Page 27: * Pepe Sagitrón Jornadas MMIV / PIC18s / 1 © 2002 Microchip Technology Incorporated. All Rights Reserved. de 32

Sagitrón Sagitrón Jornadas MMIVJornadas MMIV / 3-PIC18s / / 3-PIC18s / 2727 © 2002 Microchip Technology Incorporated. All Rights Reserved.

Instrucciones RUTINAS & PILAInstrucciones RUTINAS & PILAInstrucciones RUTINAS & PILAInstrucciones RUTINAS & PILA• CALLCALL p, s p, s Llamada a rutina (Posición programa p) Llamada a rutina (Posición programa p) 2 2

• RCALL RCALL r r Llamada a rutina (Posición relativa r) Llamada a rutina (Posición relativa r) 2 2 Rango: -1024 . . . +1023 Rango: -1024 . . . +1023

• RETURN RETURN s s Retorno desde rutina Retorno desde rutina 2 2 • RETFIE RETFIE s s Retorno desde interrupción Retorno desde interrupción 2 2 • RETLW RETLW k k Retorno cargando literal en WREG Retorno cargando literal en WREG 2 2

• POP POP Decr. el puntero de la pila Decr. el puntero de la pila STKPTRSTKPTR 1 1 • PUSH PUSH Incr. Incr. STKPTRSTKPTR y guarda el PC en TOS y guarda el PC en TOS 1 1

Page 28: * Pepe Sagitrón Jornadas MMIV / PIC18s / 1 © 2002 Microchip Technology Incorporated. All Rights Reserved. de 32

Sagitrón Sagitrón Jornadas MMIVJornadas MMIV / 3-PIC18s / / 3-PIC18s / 2828 © 2002 Microchip Technology Incorporated. All Rights Reserved.

Instrucciones Tablas en MemoriaInstrucciones Tablas en MemoriaInstrucciones Tablas en MemoriaInstrucciones Tablas en Memoria• TBLRD * TBLRD * Lee Byte desde tabla en memoria Lee Byte desde tabla en memoria 2 2 • TBLRD * + TBLRD * + Lee tabla con post-incremento Lee tabla con post-incremento 2 2 • TBLRD * - TBLRD * - Lee tabla con post-decremento Lee tabla con post-decremento 2 2 • TBLRD + * TBLRD + * Lee tabla con pre-incremento Lee tabla con pre-incremento 2 2 • TBLWT * TBLWT * Escribe Byte en tabla en memoria Escribe Byte en tabla en memoria 2 2 • TBLWT * + TBLWT * + Escribe tabla con post-incremento Escribe tabla con post-incremento 2 2 • TBLWT * - TBLWT * - Escribe tabla con post-decremento Escribe tabla con post-decremento 2 2 • TBLWT + * TBLWT + * Escribe tabla con pre-incremento Escribe tabla con pre-incremento 2 2

Instrucciones EspecialesInstrucciones EspecialesInstrucciones EspecialesInstrucciones Especiales• MOVLB MOVLB i i Mueve inmediato (4 bits) a Mueve inmediato (4 bits) a BSRBSR 1 1 • LFSRLFSR n, i n, i Carga inmediato (12 bits) a Carga inmediato (12 bits) a FSRnFSRn 2 2 • NOP NOP No operación No operación 1 1 • CLRWDT CLRWDT Borra temporizador perro guardián Borra temporizador perro guardián 1 1 • SLEEP SLEEP Modo reposo / bajo consumo Modo reposo / bajo consumo 1 1 • RESET RESET Inicializa el sistema Inicializa el sistema 1 1

Page 29: * Pepe Sagitrón Jornadas MMIV / PIC18s / 1 © 2002 Microchip Technology Incorporated. All Rights Reserved. de 32

Sagitrón Sagitrón Jornadas MMIVJornadas MMIV / 3-PIC18s / / 3-PIC18s / 2929 © 2002 Microchip Technology Incorporated. All Rights Reserved.

Eficacia del compilador “C”Eficacia del compilador “C”Eficacia del compilador “C”Eficacia del compilador “C”

• El rendimiento del código mejorará debido a:El rendimiento del código mejorará debido a:– La La memoria de programa (1 MWord)memoria de programa (1 MWord) se direcciona de se direcciona de

modo lineal, sin ningún tipo de paginación.modo lineal, sin ningún tipo de paginación.– La La memoria de datos (4 KBytes)memoria de datos (4 KBytes) está organizada en está organizada en

bancos bancos de 256 Bytes.de 256 Bytes.– Access BankAccess Bank es ideal para implementar procesos con es ideal para implementar procesos con

variables globales.variables globales.– La instrucción La instrucción MOVFFMOVFF selecciona fs y fd direccionando selecciona fs y fd direccionando

los los 4 K 4 K de la de la memoria de datos memoria de datos de forma lineal.de forma lineal.– Tres punteros indirectosTres punteros indirectos con con 5 modos5 modos de utilización y de utilización y

direccionamiento lineal de los direccionamiento lineal de los 4 K registros4 K registros..– 8 Saltos condicionales8 Saltos condicionales..– Posibilidad de acceder a la Posibilidad de acceder a la PilaPila para ampliarla por para ampliarla por

medio de programación.medio de programación.

Page 30: * Pepe Sagitrón Jornadas MMIV / PIC18s / 1 © 2002 Microchip Technology Incorporated. All Rights Reserved. de 32

Sagitrón Sagitrón Jornadas MMIVJornadas MMIV / 3-PIC18s / / 3-PIC18s / 3030 © 2002 Microchip Technology Incorporated. All Rights Reserved.

OsciladoresOsciladoresOsciladoresOsciladores

• Múltiples configuraciones: EC, ECIO, LP, XT, HS, Múltiples configuraciones: EC, ECIO, LP, XT, HS, RC, RCIO & HS4.RC, RCIO & HS4.

• 4X PLL permite 10MIPS @ 10MHz. 4X PLL permite 10MIPS @ 10MHz. • Conmutación dinámica de la fuente de oscilación.Conmutación dinámica de la fuente de oscilación.

T1OSO T1OSO

T1OSI T1OSI

OSC1 OSC1

OSC2 OSC2

TTT1P T1P

TTSCLK SCLK

MU

X_

SE

LM

UX

_S

EL

OSCCON:SCS OSCCON:SCS

T1OSCENT1OSCEN

Timer CLKTimer CLK

4 x PLL 4 x PLL

CONFIG1H CONFIG1H FOSC2:FOSC0 FOSC2:FOSC0

TTOSC OSC

Page 31: * Pepe Sagitrón Jornadas MMIV / PIC18s / 1 © 2002 Microchip Technology Incorporated. All Rights Reserved. de 32

Sagitrón Sagitrón Jornadas MMIVJornadas MMIV / 3-PIC18s / / 3-PIC18s / 3131 © 2002 Microchip Technology Incorporated. All Rights Reserved.

Los puertos de entrada / salidaLos puertos de entrada / salidaLos puertos de entrada / salidaLos puertos de entrada / salida

• Cada puerto dispone de tres direcciones:Cada puerto dispone de tres direcciones:– PORTxPORTx: Es la correspondiente a los pines del puerto. Se : Es la correspondiente a los pines del puerto. Se

utiliza para leer el estado de las entradas. Por razones utiliza para leer el estado de las entradas. Por razones de compatibilidad, escribir en esta dirección equivale a de compatibilidad, escribir en esta dirección equivale a hacerlo en la dirección hacerlo en la dirección LATxLATx..

– LATxLATx: Es la de los registros que almacenan los datos que : Es la de los registros que almacenan los datos que pueden salir por los correspondientes pines de puerto. pueden salir por los correspondientes pines de puerto. Se utiliza para escribir el estado que se desea poner en Se utiliza para escribir el estado que se desea poner en las salidas. Si se lee esta dirección, se leerá el valor que las salidas. Si se lee esta dirección, se leerá el valor que hay en los registros y no el estado de los pines.hay en los registros y no el estado de los pines.

– TRISxTRISx: Es la de los registros que configuran los bits del : Es la de los registros que configuran los bits del puerto, de forma individual y dinámica, como entrada o puerto, de forma individual y dinámica, como entrada o salida. Se puede escribir y leer.salida. Se puede escribir y leer.

Page 32: * Pepe Sagitrón Jornadas MMIV / PIC18s / 1 © 2002 Microchip Technology Incorporated. All Rights Reserved. de 32

Sagitrón Sagitrón Jornadas MMIVJornadas MMIV / 3-PIC18s / / 3-PIC18s / 3232 © 2002 Microchip Technology Incorporated. All Rights Reserved.

Diagrama de un bit de E / SDiagrama de un bit de E / SDiagrama de un bit de E / SDiagrama de un bit de E / S

PIN PIN

Q D Q D

EN< EN<

D Q D Q >CK >CK

D Q D Q >CK >CK

BUS DATOSBUS DATOS

LEER LEER LATx LATx

LEER LEER TRISxTRISx

ESCRIBIR ESCRIBIR TRISx TRISx

LATxLATx ESCRIBIR o ESCRIBIR o PORTxPORTx

LEER LEER PORTx PORTx

LAT

xLA

Tx

PO

RT

xP

OR

Tx

TR

ISx

TR

ISx