Descargar

Introducción a los PIC18

Enviado por Pablo Turmero


Partes: 1, 2

    edu.red

    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" .

    edu.red

    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. GPRs Banco 0

    Banco 1

    Banco 2

    . . .

    Banco F

    000 07F 080 0FF 100 . . 1FF 200 . . . . EFF F00 F7F F80 FFF GPRs GPRs SFRs

    edu.red

    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 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

    edu.red

    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 WREG NEGF WREG DECFSZ WREG INCFSZ WREG DCFSNZ WREG INFSNZ WREG RLCF WREG RRCF WREG RLNCF WREG RRNCF WREG BTFSC WREG, b BTFSS WREG, b BTG WREG, b SWAPF WREG . . .

    edu.red

    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. – – – N OV Z DC C STATUS Register

    edu.red

    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. – – – – 3 2 1 0 Bank Select Register GPRs Banco 0

    Banco 1

    Banco 2

    . . .

    Banco F

    000 07F 080 0FF 100 . . 1FF 200 . . . . EFF F00 F7F F80 FFF GPRs GPRs SFRs

    edu.red

    Direccionamiento de datos Las instrucciones aritmético-lógicas tienen un nuevo formato:

    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 ". opcode d a f f f f f f f f Por ejemplo: ADDWF f, d, a

    edu.red

    Access bit = 1 Cuando " a = 1 ", el contenido del BSR determina el banco.

    Uniendo a los 4 bits del BSR los 8 bits " f ", se obtiene un direccionamiento de 4 K. ADDWF f, d, a 0010 01d1 f f f f f f f f Suponiendo BSR = 0001 GPRs Banco 0

    Banco 1

    Banco 2

    . . .

    Banco F

    000 07F 080 0FF 100 . . 1FF 200 . . . . EFF F00 F7F F80 FFF GPRs GPRs SFRs

    edu.red

    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 A.SFRs GPRs =00 =7F 080 0FF 100 . . 1FF 200 . . . . EFF F00 F7F =80 =FF GPRs GPRs SFRs

    edu.red

    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.

    edu.red

    De Memoria a Memoria MOVFF mueve un dato desde cualquier registro hasta cualquier registro. MOVFF fs, fd 1100 ssss ssss ssss

    1111 dddd dddd dddd

    Esta es una de las cuatro instrucciones de DOBLE PALABRA A.RAM GPRs SFRs 000 07F 080 0FF 100 . . 1FF 200 . . . . EFF F00 F7F F80 FFF GPRs GPRs 4 KB SIN USAR BANCOS A.SFRs

    edu.red

    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 0010 11da ffff ffff GOTO PROGRAMA 1110 1111 XXXX XXXX NOP especial 1111 XXXX XXXX XXXX NOP 0000 0000 0000 0000 . . .

    Partes: 1, 2
    Página siguiente