SlideShare una empresa de Scribd logo
UTP – FIEM – ELECTRÓNICA – 2011 – I                                               CIRCUITOS DIGITALES II
                                        Microcontroladores Pic 16F84A.
Los PIC son una extensa familia de microcontroladores divididos en tres gamas, la gama baja
con memoria de programa de 12 bits, la gama media y la gama alta con memoria de programa
de 14 bits. En la tabla 1 se presentan algunos miembros de cada una de estas gamas con
resumen de sus principales características.

Nosotros utilizaremos el PIC 16f84 por sus especiales características. Los microcontroladores
PIC 16f84 com memoria tipo FLASH y PIC 16c84 con memoria EEPROM, son potentes,
flexibles y fáciles de emplear debido entre otras carcterísticas a que este tipo de memoria
permite su grabación y su borrado miles de veces de forma casi instantánea al realizarse
eléctricamente a diferencia de los microcontroladores basados en memoria EPROM que
necesita un borrador ultravioleta. Pueden utilizarse tanto en el desarrollo como en la
producción. Su coste se reduce frente a otros modelos ya que no necesitan encapsulados
cerámicos con ventana de programación como los chips EPRPOMs. Disponen ademas de una
EEPROM de 64 bytes para datos, lo que elimina la necesidad de una memoria EEPROM
externa, y aun mas importante, pueden ser programados "en circuito" sin necesidad de ser
retirados, lo que permite su grabación después del ensamblado y que los programas pueden
ser actualizados o modificados para eliminar errores detectados con posterioridad o para
introducir versiones mas actualizadas del programa.

El PIC 16f84 pertenece a la gama media del fabricante, poseyendo unas características
óptimas para su empleo en el aprendizaje. Este microntrolador con memoria FLASH ésta
fabricado con tecnología CMOS. Su consumo es muy reducido siendo el circuito
completamente estático por lo que su reloj puede detenerse completamente sin pérdida de los
contenidos de los registros. Un consumo típico es de 2 mA a 4 Mhz y unos 40 microamperios
en modo Sleep. Al ser un circuito CMOS, todas las entradas no usadas deben ser llevadas a
+5V. El encapsulado de 18 pines así como la descripción del patillaje puede verse en la figura
1.

Set de instrucciones Microcontrolador PIC.

Estas son las todas las instrucciones que hay para poder programar el Pic 16c5x, 16c64,
16c71, 16c74, 16c84, 16f84, 16f873. Las encontraremos en orden alfabetico. En total son 37 y
haciendo un clic sobre una de ellas podemos acceder a su respectiva descripción:

NOTA: Las instrucciones OPTION y TRIS incluidas en este listado, no forman parte del set de
instrucciones de los PIC 16f84 y 16f873.




DOCENTE: Ing. Luis Pacheco Cribillero                                    JUEGO DE INSTRUCCIONES
UTP – FIEM – ELECTRÓNICA – 2011 – I                                                  CIRCUITOS DIGITALES II

ADDLW                        CALL
                                            SLEEP
ADDWF                        CLRF
                                            SUBLW
ANDLW                        CLRW
                                            SUBWF
ANDWF                        CLRWDT
                                            SWAPF
BCF                          COMF
                                            TRIS
BSF                          DECF
                                            XORLW
BTFSC                        DECFSZ
                                            XORWF
BTFSS                        GOTO


 ADDLW               ADD Literal to W               ADDWF            ADD W to F
 Sintaxis            ADDLW k                        Sintaxis         ADDWF f, d
 Codificación           11     111x kkkk    kkkk                         0001 11df                       ffff
                                                    Codificación
 Palabras,                                                               00   0111 dfff         ffff
                     1, 1
 Ciclos                                             Palabras,
                                                                     1, 1
 Operación           W + k -> W                     Ciclos
 Bit de estado C, DC, Z                                              W + f -> f si d=1
                     Añade el contenido de W al     Operación
                     contenido de k, y almacena                      W + f -> W si d=0
                     el resultado en W              Bit         de
                                                                     C, DC, Z
                                                    estado
 Descripción
                                                                Añade el contenido de W al
                                                                contenido de f, y almacena el
                     Atención: Esta instrucción     Descripción
                                                                resultado en W si d=0, y en f si
                     no existe en los Pic 16c5X                 d=1




 ANDLW              AND Literal and W               ANDWF            AND W with F
 Sintaxis           ANDLW k                         Sintaxis         ANDWF f, d
                                                                     0001 01df ffff
                                                    Codificación
 Codificación 1110 kkkk kkkk                                         00   0101 dfff           ffff
              11   1001 kkkk               Kkkk
                                                    Palabras,
                                                                     1, 1
 Palabras,                                          Ciclos
                    1, 1
 Ciclos                                                              W AND f -> f si d=1
 Operación          W AND k -> W                    Operación
 Bit           de                                                    W AND f -> W si d=0
                    Z
 estado                                             Bit         de
                                                                     Z
             Efectúa un AND lógico                  estado
             entre el contenido de W y el                       Efectúa un AND lógico
 Descripción
             literal k, y lo almacena en                        entre el contenido de W y
             W                                      Descripción el contenido de f, y
                                                                almacena el resultado en
                                                                W si d=0, y en f si d=1


DOCENTE: Ing. Luis Pacheco Cribillero                                       JUEGO DE INSTRUCCIONES
UTP – FIEM – ELECTRÓNICA – 2011 – I                                                              CIRCUITOS DIGITALES II

 BCF                Bit Clear F                               BSF                Bit Set F
 Sintaxis           BCF f, b                                  Sintaxis           BSF f, b
                                                                                 0101 bbbf ffff
                                                              Codificación
 Codificación 0100 bbbf ffff                                                     01   01bb bfff              ffff
              01   00bb bfff                   ffff
                                                              Palabras,
                                                                                 1, 1
 Palabras,                                                    Ciclos
                    1, 1
 Ciclos                                                       Operación          1 -> b(f)
 Operación          0 -> b(f)                                 Bit           de
                                                                                 Ninguno
 Bit           de                                             estado
                    Ninguno
 estado                                                                          Pone a uno el bit numero b
                                                              Descripción
                    Pone a cero el bit numero b                                  de f
 Descripción
                    de f

 BTFSC              Bit Test, Skip If Clear                BTFSS            Bit Test, Skip If Set
 Sintaxis           BTFSC f, b                             Sintaxis         BTFSS f, b


 Codificación 0110 bbbf ffff                               Codificación 0111            bbbf    ffff
              01 10bb bfff ffff                                         01              11bb    bfff      ffff
 Palabras,                                                 Palabras,
                    1, 1 o 2                                                1, 1 o 2
 Ciclos                                                    Ciclos
 Operación          Salta si b(f)=0                        Operación        Salta si b(f)=1
 Bit           de                                          Bit         de
                    Ninguno                                                 Ninguno
 estado                                                    estado
             Si el bit numero b de f es                                Si el bit numero b de f esta en
             nulo, la instrucción que                                  uno, la instrucción que sigue
             sigue a esta se ignora y se                               a esta se ignora y se trata
 Descripción trata como un NOP. En este                    Descripción como un NOP. En este caso,
             caso, y solo en este caso, la                             y solo en este caso, la
             instrucción BTFSC precisa                                 instrucción BTFSC precisa
             dos ciclos para ejecutarse.                               dos ciclos para ejecutarse.

 CALL               Subrutina Call                            CLRF               Clear F with F
 Sintaxis           CALL k                                    Sintaxis           CLRF f
                    1001 kkkk kkkk
 Codificación
                    10   0kkk kkkk             kkkk                              0000 011f         ffff
                                                              Codificación
 Palabras,
                    1, 2
 Ciclos                                                                          00        0001 1fff        ffff
                    En el caso de los 16c64,
                                                              Palabras,
                    71, 74, 84: PC + 1 -> Pila,                                  1, 1
 Operación                                                    Ciclos
                    k       ->       PC(0-10),
                    PCLATH(3,4) -> PC(11,12)                  Operación          00 -> f
 Bit           de                                             Bit           de
                    Ninguno                                                      Z
 estado                                                       estado
 Descripción Guarda              la     dirección     de                         Pone el contenido de f a
                                                              Descripción
                                                                                 cero y activa el bit Z.
DOCENTE: Ing. Luis Pacheco Cribillero                                                   JUEGO DE INSTRUCCIONES
UTP – FIEM – ELECTRÓNICA – 2011 – I                                                 CIRCUITOS DIGITALES II

                    vuelta en la pila y después
                    llama a la subrutina situada
                    en la dirección cargada en
                    el PC.

                    Atención: En el modo de
                    cálculo de la dirección hay
                    que posicionar bien el
                    registro PCLATH antes de
                    ejecutar   la    instrucción
                    CALL

 CLRW               Clear W register               CLRWDT           Clear Watchdog Timer
 Sintaxis           CLRW                           Sintaxis         CLRWDT
                    0000 0100 0000                                  0000 0000 0100
 Codificación                                      Codificación
                    00   0001 0xxx xxxx                             00   0000 0110 0100
 Palabras,                                         Palabras,
                    1, 1                                            1, 1
 Ciclos                                            Ciclos
 Operación          00 -> W                                         00 -> WDT y 0 -> predivisor
                                                   Operación
 Bit           de                                                   del temporizador
                    Z
 estado                                            Bit         de
                                                                    1 -> TO y 1 -> PD
             Pone el registro W a cero y           estado
 Descripción
             activa el bit Z                                   Pone a cero el registro
                                                               contador del temporizador
                                                   Descripción
                                                               watchdog, asi como el
                                                               predivisor

 COMF               Complement F                   DECF             Decrement F to F
 Sintaxis           COMF f, d                      Sintaxis         DECF f, d
                    0010 01df ffff                                  0000 11df ffff
 Codificación                                      Codificación
                    00   1001 dfff       ffff                       00   0011 dfff            ffff
 Palabras,                                         Palabras,
                    1, 1                                            1, 1
 Ciclos                                            Ciclos
                    ~f -> f su d=1                                  f - 1 -> f si d=1
 Operación                                         Operación
                    ~f -> W si d=0                                  f - 1 -> W si d=0
 Bit           de                                  Bit         de
                    Z                                               Z
 estado                                            estado
             Hace un complemento de f                          Decrementa el contenido
             bit a bit. El resultado lo                        de f en una unidad. El
 Descripción almacena de nuevo en f si             Descripción resultado se guarda en W
             d=1 (borra el anterior), o en                     si d=0 (f no varia), y en f si
             W si d=0 (f no varía)                             d=1

 DECFSZ             Decrement F, Skip If Zero                       Salto Incondicional with
                                                   GOTO
 Sintaxis           DECFSZ f, d                                     F

DOCENTE: Ing. Luis Pacheco Cribillero                                      JUEGO DE INSTRUCCIONES
UTP – FIEM – ELECTRÓNICA – 2011 – I                                                   CIRCUITOS DIGITALES II

                    0010 11df ffff                   Sintaxis         GOTO k
 Codificación
                    00   1011 dfff        ffff                        101k kkkk kkkk
                                                     Codificación
 Palabras,                                                            10   1kkk kkkk            kkkk
                    1, 1(2)
 Ciclos                                              Palabras,
                                                                      1, 2
                    f - 1 -> f si d=1                Ciclos
 Operación                                                            En el caso de los
                    f - 1 -> W si d=0                                 16c64,71,74    y     84:
                                                     Operación
 Bit           de                                                     k      ->       PC(0-10),
                    Ninguno
 estado                                                               PCLATH(3,4) -> PC(11,12)
                    Decrementa el contenido          Bit         de
                                                                      Ninguno
                    de f en una unidad. El           estado
                    resultado se guarda en W                          LLama a la subrutina
                    si d=0 (f no varia), y en f si                    situada en la dirección
                    d=1                                               cargada en el PC
 Descripción
                    Si el reusltado es nulo, se                       Atención: En el modo de
                    ignora      la    siguiente      Descripción
                                                                      cálculo de la dirección hay
                    instrucción y en este caso                        que               posicionar
                    la instrucción dura dos                           correctamente el registro
                    ciclos.                                           PCLATH antes de ejecutar
                                                                      la instrucción GOTO

 INCF               Increment F                      INCFSZ           Increment F, Skip if Zero
 Sintaxis           INCF f, d                        Sintaxis         INCFSZ f, d
                    0010 10df ffff                                    0011 11df ffff
 Codificación                                        Codificación
                    00   1010 dfff        ffff                        00   1111 dfff            ffff
 Palabras,                                           Palabras,
                    1, 1                                              1, 1(2)
 Ciclos                                              Ciclos
                    f + 1 -> f si d=1                                 f + 1 -> f si d=1
 Operación
                    f + 1 -> W si d=0                Operación        f + 1 -> W si d=0
 Bit           de                                                     En ambos casos: Salto si f
                    Z                                                 +1=0
 estado
             Incrementa el contenido de              Bit         de
                                                                      Ninguno
             f en una unidad. El                     estado
             resultado se almacena de                            Incrementa el contenido de
 Descripción
             nuevo en f si d=1 y en W si                         f en 1. El resultado se
             d=0(en este caso f no                               guarda en f si d=1 y en w si
             varía)                                              d=0 (en este caso f no
                                                     Descripción
                                                                 varía). Si el resultado es
                                                                 nulo, se ignora la siguiente
                                                                 instrucción      y      esta
                                                                 instrucción dura dos ciclos

 IORLW              Inclusive OR Literal With W       IORWF            Inclusive OR W With f
 Sintaxis           IORLW k                           Sintaxis         IORWF f, d
 Codificación                                         Codificación
DOCENTE: Ing. Luis Pacheco Cribillero                                        JUEGO DE INSTRUCCIONES
UTP – FIEM – ELECTRÓNICA – 2011 – I                                                       CIRCUITOS DIGITALES II

                    1101      kkkk      kkkk                               0001 00df ffff
                    11        1000      kkkk      kkkk                     11   0100 dfff           ffff
 Palabras,                                                Palabras,
                    1, 1                                                   1, 1
 Ciclos                                                   Ciclos
 Operación          W OR k -> W                                            W OR f -> f si d=1
 Bit           de                                         Operación
                    Z                                                      W OR f -> W si d=0
 estado
             Efectúa     un     OR     lógico             Bit         de
                                                                           Z
             inclusivo entre el contenido de              estado
 Descripción
             W y el literal K, y almacena el                          Efectúa un OR lógico
             resultado en W                                           inclusivo     entre    el
                                                                      contenido de W y el
                                                          Descripción
                                                                      contenido     de    f,  y
                                                                      almacena el resultado en
                                                                      f si d=1 o en W si d=0

 MOVF               Move F                               MOVLW            Move Literal to W with F
 Sintaxis           MOVF f, d                            Sintaxis         MOVLW k
                    0010 00df ffff                                        1100 kkkk kkkk
 Codificación                                            Codificación
                    00   1000 dfff             ffff                       11   00xx kkkk            kkkk
 Palabras,                                               Palabras,
                    1, 1                                                  1, 1
 Ciclos                                                  Ciclos
                    f -> f si d=1                        Operación        k -> W
 Operación
                                                         Bit         de
                    f -> W si d=0                                         Ninguno
                                                         estado
 Bit           de
                    Z                                    Descripción Carga W con el literal k
 estado
                    Pone el contenido de f en f
                    si d=1 o f en W si d=0

             Atención:                El
             desplazamiento de f en f
 Descripción que      parecería    inútil,
             permite     comprobar     el
             contenido      de   f   con
             respecto a cero ya que
             esta    instrucción   actúa
             sobre el bit Z

 MOVWF              Move W to F                          NOP              No Operation
 Sintaxis           MOVWF f                              Sintaxis         NOP
                    0000 001f ffff                                        0000 0000 0000
 Codificación                                            Codificación
                    00   0000 1fff             ffff                       00   0xx0 0000
 Palabras,                                               Palabras,
                    1, 1                                                  1, 1
 Ciclos                                                  Ciclos
 Operación          W -> f                               Operación        Ninguna
DOCENTE: Ing. Luis Pacheco Cribillero                                            JUEGO DE INSTRUCCIONES
UTP – FIEM – ELECTRÓNICA – 2011 – I                                                CIRCUITOS DIGITALES II

 Bit           de                                 Bit         de
                    Ninguno                                        Ninguna
 estado                                           estado
                    Carga f con el contenido de               Consume tiempo de la
 Descripción
                    W                                         maquina y ocupa un lugar
                                                  Descripción
                                                              en    la  memoria     de
                                                              programa.

 OPTION             Load Option Register          RETFIE           Return From Interrupt
 Sintaxis           Option                        Sintaxis         RETFIE
                    0000 0000 0010                Codificación 00             0000 0000 1001
 Codificación
                    00   0000 0110 0010           Palabras,
                                                                   1, 2
                                                  Ciclos
 Palabras,
                    1, 1                          Operación        Pila -> PC, 1 -> GIE
 Ciclos
 Operación          W -> OPTION                   Bit         de
                                                                   Ninguno
                                                  estado
 Bit           de
                    Ninguno                                   Carga el PC con el valor
 estado
                                                              que se encuentra en la
                    Carga el registro OPTION
                                                              parte superior de la pila,
                    con el contenido de W
                                                              asegurando así la vuelta
                                                              de la interrupción. Pone a
             Atención: Esta instrucción
                                                              1 el bit GIE, con el fin de
 Descripción es            correctamente          Descripción
                                                              autorizar de nuevo que se
             interpretada por los circuitos
                                                              tengan en cuenta las
             16c64, 71, 74, 84 con el fin
                                                              interrupciones
             de        asegurar        una
             compatibilidad ascendente
                                                                   Atención: Esta interrupción
                                                                   dura dos ciclos

 RETLW              Return Literal to W                            Return from Subroutine
                                                  RETURN
 Sintaxis           RETLW k                                        with F
                                                  Sintaxis         RETURN
              1000 kkkk kkkk
 Codificación                                     Codificación 00            0000 0000 0000
              11   01xx kkkk              kkkk
                                                  Palabras,
 Palabras,                                                         1, 2
                    1, 2                          Ciclos
 Ciclos
                                                  Operación        Pila -> PC
 Operación          k -> W, Pila -> PC
                                                  Bit         de
 Bit           de                                                  Ninguno
                    Ninguno                       estado
 estado
                                                              Carga el PC con el valor
             Carga W con el literal k, y
                                                              que se encuentra en la
             después carga el PC con el
                                                              parte superior de la pila,
             valor que se encuentra en
                                                              efectuando así una vuelta a
             la parte superior de la pila,        Descripción
 Descripción                                                  la subrutina. Se trata de la
             efectuando así un retorno
             de subrutina. Atención:                          instrucción         RETLW
             Esta instrucción dura dos                        simplificada. Atención: Esta
                                                              instrucción dura dos ciclos
             ciclos


DOCENTE: Ing. Luis Pacheco Cribillero                                     JUEGO DE INSTRUCCIONES
UTP – FIEM – ELECTRÓNICA – 2011 – I                                                       CIRCUITOS DIGITALES II

 RLF                Rotate Left F through Carry                            Rotate Right F through
                                                          RRF
 Sintaxis           RLF f,d                                                Carry
                                                          Sintaxis         RRF f, d
              0011            01df      ffff
 Codificación                                                               0011 00df ffff
              00              1101      dfff      ffff    Codificación
                                                                            00   1100 dfff          ffff
 Palabras,
                    1, 1                                  Palabras,
 Ciclos                                                                    1, 1
                                                          Ciclos
 Operación          ver descr.
                                                          Operación        Ver descr.
 Bit           de
                    C                                     Bit         de
 estado                                                                    C
                                                          estado
             Rotación de un bit a la
             izquierda del contenido de f,                            Rotación de un bit a la
             pasando por el bit de acarreo                            derecha del contenido de
 Descripción                                                          f, pasando por el bit de
             C. Si d=1 el resultado se
             almacena en f si d=0 el                      Descripción acarreo C. Si d=1 el
             resultado se almacena en W                               resultado se introduce en
                                                                      f, si d=0 el resultado se
                                                                      amacena en W

 SLEEP              Sleep                                SUBLW             Substract W from Literal
 Sintaxis           SLEEP                                Sintaxis          SUBLW k
                    0000 0000 0011                       Codificación 11             110x kkkk      kkkk
 Codificación
                    00   0000 0110 0011                  Palabras,
                                                                           1, 1
                                                         Ciclos
 Palabras,
                    1, 1                                 Operación         k - W -> W
 Ciclos
                    0 -> PD, 1 -> TO, 00 ->              Bit         de
                                                                           C, DC, Z
 Operación          WDT, 0 -> Predivisor del             estado
                    WDT                                              Sustrae el contenido de W
 Bit           de                                                    del literal k, y almacena el
                    PD, TO                               Descripción resultado      en   W.   La
 estado
                                                                     sustracción se realiza en
                    Pone el circuito a dormir con
                                                                     complemento a dos
                    parada del oscilador. Su
                    consumo es inferior.

                    Atención:     Use      esta
 Descripción
                    instrucción   con   mucho
                    cuidado,    pues     puede
                    provocar que el micro no
                    despierte si no se ha
                    seteado correctamente.

 SUBWF              Substract W from F                   SWAPF            Swap F to F
 Sintaxis           SUBWF f, d                           Sintaxis         SWAPF f, d
                    0000 10df ffff                                        0011 11df ffff
 Codificación                                            Codificación
                    00   0010 dfff             ffff                       00   1110 dfff            ffff
 Palabras,          1, 1                                 Palabras,        1, 1

DOCENTE: Ing. Luis Pacheco Cribillero                                            JUEGO DE INSTRUCCIONES
UTP – FIEM – ELECTRÓNICA – 2011 – I                                                               CIRCUITOS DIGITALES II

 Ciclos                                                  Ciclos
                    f - W -> f si d=1                                        f(0-3) -> f(4-7) y f(4-7) ->
 Operación                                                                   f(0-3)
                    f - W -> W si d=0                    Operación
 Bit           de                                                            Resultado -> f si d=1
                    C, DC, Z                                                 Resultado -> W si d=0
 estado
             Sustrae el contenido de W                   Bit            de
                                                                             Ninguno
             del contenido de f, y                       estado
             almacena el resultado en                                Intercambia los cuatro bit
 Descripción
             W si d=0 y en f si d=1. La                              de mayor peso por los
             sustracción se realiza en                   Descripción cuatro de menor peso de f,
             complemento a dos                                       y almacena el resultado en
                                                                     W si d=0, y en f si d=1

 TRIS               Load TRIS Register                                       Exclusive OR Literal With
                                                         XORLW
 Sintaxis           TRIS f                                                   W
                                                         Sintaxis            XORLW k
              0000 0000 0fff
 Codificación
              00   0000 0110 0fff                                            1111 kkkk kkkk
                                                         Codificación
                                                                             11   1010 kkkk                 kkkk
 Palabras,
                    1, 1
 Ciclos                                                  Palabras,
                                                                             1, 1
                    W -> registro TRIS del               Ciclos
 Operación
                    puerto f                             Operación           W OR (Exclusivo) k -> W
 Bit           de                                        Bit            de
                    Ninguno                                                  Z
 estado                                                  estado
                    Carga el contenido de W                          Efectúa un OR lógico
                    en el registro TRIS del                          exclusivo    entre      el
                    puerto f.                                        contenido de W y el
                                                         Descripción
                                                                     contenido del Literal K y
                    Atención: Esta instrucción,                      almacena el resultado en
 Descripción
                    es           correctamente                       W
                    interpretada     por     los
                    circuitos 16c64, 71, 74, 84,
                    con el fin de asegurar una
                    compatibilidad ascendente

 XORWF                           Exclusive Or W with F
 Sintaxis                        XORWF f,d
                                 0001            10df               ffff
 Codificación
                                 00              0110               dfff                        ffff
 Palabras, Ciclos                1, 1
                                 W     OR       (Exclusivo)         f            ->         f          si      d=1
 Operación
                                 W OR (Exclusivo) f -> W si d=0
 Bit de estado                   Z

 Descripción                     Efectúa un Or lógico exclusivo entre el contenido de W y el
                                 contenido de f y almacena el resultado en f si d=1 o en W si d=0

DOCENTE: Ing. Luis Pacheco Cribillero                                                 JUEGO DE INSTRUCCIONES
UTP – FIEM – ELECTRÓNICA – 2011 – I              CIRCUITOS DIGITALES II




DOCENTE: Ing. Luis Pacheco Cribillero   JUEGO DE INSTRUCCIONES

Más contenido relacionado

Similar a Instrucciones pic16 f84

CONJUNTO DE INSTRUCCIONES PIC16F877A
CONJUNTO DE INSTRUCCIONES PIC16F877ACONJUNTO DE INSTRUCCIONES PIC16F877A
CONJUNTO DE INSTRUCCIONES PIC16F877A
Anllel Cardenas Yllanes
 
Instrucciones para programar el PIC16F877 (1).pdf
Instrucciones para programar el PIC16F877 (1).pdfInstrucciones para programar el PIC16F877 (1).pdf
Instrucciones para programar el PIC16F877 (1).pdf
ssusere7e6cd
 
Técnicas de programación en ensamblador pic16f877a repertorio 35 instrucciones
Técnicas de programación en ensamblador pic16f877a repertorio 35 instrucciones Técnicas de programación en ensamblador pic16f877a repertorio 35 instrucciones
Técnicas de programación en ensamblador pic16f877a repertorio 35 instrucciones
Anllel Cardenas Yllanes
 
Todas las instrucciones son de un ciclo salvo aquellas que incluyen saltos qu...
Todas las instrucciones son de un ciclo salvo aquellas que incluyen saltos qu...Todas las instrucciones son de un ciclo salvo aquellas que incluyen saltos qu...
Todas las instrucciones son de un ciclo salvo aquellas que incluyen saltos qu...
Anllel Cardenas Yllanes
 
Conjunto de 35 instrucciones
Conjunto de 35 instruccionesConjunto de 35 instrucciones
Conjunto de 35 instrucciones
Anllel Cardenas Yllanes
 
pic-16F628 generalidades y prog 1y2.pdf
pic-16F628 generalidades y prog 1y2.pdfpic-16F628 generalidades y prog 1y2.pdf
pic-16F628 generalidades y prog 1y2.pdf
BryanVargas70
 
Lab.270910.instrucciones basicas del pic 16 f84a
Lab.270910.instrucciones basicas del pic 16 f84aLab.270910.instrucciones basicas del pic 16 f84a
Lab.270910.instrucciones basicas del pic 16 f84a
lmendi
 
Juego de instrucciones: PIC 16F87x
Juego de instrucciones: PIC 16F87xJuego de instrucciones: PIC 16F87x
Juego de instrucciones: PIC 16F87x
Constructora Kaizen
 
Instrucciones pic
Instrucciones picInstrucciones pic
Instrucciones pic
tavo_rojas22
 
Tarea final
Tarea finalTarea final
Tarea final
tomas francisco
 
18518615 6519851(tarea1)digital
18518615 6519851(tarea1)digital18518615 6519851(tarea1)digital
18518615 6519851(tarea1)digital
Jhon Fredy Salazar
 
Clase instrucciones PIC16F877A
Clase instrucciones PIC16F877AClase instrucciones PIC16F877A
Clase instrucciones PIC16F877A
Fernando Aparicio Urbano Molano
 
Curso Micro Tema 2
Curso Micro Tema 2Curso Micro Tema 2
Curso Micro Tema 2
Luis Zurita
 

Similar a Instrucciones pic16 f84 (13)

CONJUNTO DE INSTRUCCIONES PIC16F877A
CONJUNTO DE INSTRUCCIONES PIC16F877ACONJUNTO DE INSTRUCCIONES PIC16F877A
CONJUNTO DE INSTRUCCIONES PIC16F877A
 
Instrucciones para programar el PIC16F877 (1).pdf
Instrucciones para programar el PIC16F877 (1).pdfInstrucciones para programar el PIC16F877 (1).pdf
Instrucciones para programar el PIC16F877 (1).pdf
 
Técnicas de programación en ensamblador pic16f877a repertorio 35 instrucciones
Técnicas de programación en ensamblador pic16f877a repertorio 35 instrucciones Técnicas de programación en ensamblador pic16f877a repertorio 35 instrucciones
Técnicas de programación en ensamblador pic16f877a repertorio 35 instrucciones
 
Todas las instrucciones son de un ciclo salvo aquellas que incluyen saltos qu...
Todas las instrucciones son de un ciclo salvo aquellas que incluyen saltos qu...Todas las instrucciones son de un ciclo salvo aquellas que incluyen saltos qu...
Todas las instrucciones son de un ciclo salvo aquellas que incluyen saltos qu...
 
Conjunto de 35 instrucciones
Conjunto de 35 instruccionesConjunto de 35 instrucciones
Conjunto de 35 instrucciones
 
pic-16F628 generalidades y prog 1y2.pdf
pic-16F628 generalidades y prog 1y2.pdfpic-16F628 generalidades y prog 1y2.pdf
pic-16F628 generalidades y prog 1y2.pdf
 
Lab.270910.instrucciones basicas del pic 16 f84a
Lab.270910.instrucciones basicas del pic 16 f84aLab.270910.instrucciones basicas del pic 16 f84a
Lab.270910.instrucciones basicas del pic 16 f84a
 
Juego de instrucciones: PIC 16F87x
Juego de instrucciones: PIC 16F87xJuego de instrucciones: PIC 16F87x
Juego de instrucciones: PIC 16F87x
 
Instrucciones pic
Instrucciones picInstrucciones pic
Instrucciones pic
 
Tarea final
Tarea finalTarea final
Tarea final
 
18518615 6519851(tarea1)digital
18518615 6519851(tarea1)digital18518615 6519851(tarea1)digital
18518615 6519851(tarea1)digital
 
Clase instrucciones PIC16F877A
Clase instrucciones PIC16F877AClase instrucciones PIC16F877A
Clase instrucciones PIC16F877A
 
Curso Micro Tema 2
Curso Micro Tema 2Curso Micro Tema 2
Curso Micro Tema 2
 

Instrucciones pic16 f84

  • 1. UTP – FIEM – ELECTRÓNICA – 2011 – I CIRCUITOS DIGITALES II Microcontroladores Pic 16F84A. Los PIC son una extensa familia de microcontroladores divididos en tres gamas, la gama baja con memoria de programa de 12 bits, la gama media y la gama alta con memoria de programa de 14 bits. En la tabla 1 se presentan algunos miembros de cada una de estas gamas con resumen de sus principales características. Nosotros utilizaremos el PIC 16f84 por sus especiales características. Los microcontroladores PIC 16f84 com memoria tipo FLASH y PIC 16c84 con memoria EEPROM, son potentes, flexibles y fáciles de emplear debido entre otras carcterísticas a que este tipo de memoria permite su grabación y su borrado miles de veces de forma casi instantánea al realizarse eléctricamente a diferencia de los microcontroladores basados en memoria EPROM que necesita un borrador ultravioleta. Pueden utilizarse tanto en el desarrollo como en la producción. Su coste se reduce frente a otros modelos ya que no necesitan encapsulados cerámicos con ventana de programación como los chips EPRPOMs. Disponen ademas de una EEPROM de 64 bytes para datos, lo que elimina la necesidad de una memoria EEPROM externa, y aun mas importante, pueden ser programados "en circuito" sin necesidad de ser retirados, lo que permite su grabación después del ensamblado y que los programas pueden ser actualizados o modificados para eliminar errores detectados con posterioridad o para introducir versiones mas actualizadas del programa. El PIC 16f84 pertenece a la gama media del fabricante, poseyendo unas características óptimas para su empleo en el aprendizaje. Este microntrolador con memoria FLASH ésta fabricado con tecnología CMOS. Su consumo es muy reducido siendo el circuito completamente estático por lo que su reloj puede detenerse completamente sin pérdida de los contenidos de los registros. Un consumo típico es de 2 mA a 4 Mhz y unos 40 microamperios en modo Sleep. Al ser un circuito CMOS, todas las entradas no usadas deben ser llevadas a +5V. El encapsulado de 18 pines así como la descripción del patillaje puede verse en la figura 1. Set de instrucciones Microcontrolador PIC. Estas son las todas las instrucciones que hay para poder programar el Pic 16c5x, 16c64, 16c71, 16c74, 16c84, 16f84, 16f873. Las encontraremos en orden alfabetico. En total son 37 y haciendo un clic sobre una de ellas podemos acceder a su respectiva descripción: NOTA: Las instrucciones OPTION y TRIS incluidas en este listado, no forman parte del set de instrucciones de los PIC 16f84 y 16f873. DOCENTE: Ing. Luis Pacheco Cribillero JUEGO DE INSTRUCCIONES
  • 2. UTP – FIEM – ELECTRÓNICA – 2011 – I CIRCUITOS DIGITALES II ADDLW CALL SLEEP ADDWF CLRF SUBLW ANDLW CLRW SUBWF ANDWF CLRWDT SWAPF BCF COMF TRIS BSF DECF XORLW BTFSC DECFSZ XORWF BTFSS GOTO ADDLW ADD Literal to W ADDWF ADD W to F Sintaxis ADDLW k Sintaxis ADDWF f, d Codificación 11 111x kkkk kkkk 0001 11df ffff Codificación Palabras, 00 0111 dfff ffff 1, 1 Ciclos Palabras, 1, 1 Operación W + k -> W Ciclos Bit de estado C, DC, Z W + f -> f si d=1 Añade el contenido de W al Operación contenido de k, y almacena W + f -> W si d=0 el resultado en W Bit de C, DC, Z estado Descripción Añade el contenido de W al contenido de f, y almacena el Atención: Esta instrucción Descripción resultado en W si d=0, y en f si no existe en los Pic 16c5X d=1 ANDLW AND Literal and W ANDWF AND W with F Sintaxis ANDLW k Sintaxis ANDWF f, d 0001 01df ffff Codificación Codificación 1110 kkkk kkkk 00 0101 dfff ffff 11 1001 kkkk Kkkk Palabras, 1, 1 Palabras, Ciclos 1, 1 Ciclos W AND f -> f si d=1 Operación W AND k -> W Operación Bit de W AND f -> W si d=0 Z estado Bit de Z Efectúa un AND lógico estado entre el contenido de W y el Efectúa un AND lógico Descripción literal k, y lo almacena en entre el contenido de W y W Descripción el contenido de f, y almacena el resultado en W si d=0, y en f si d=1 DOCENTE: Ing. Luis Pacheco Cribillero JUEGO DE INSTRUCCIONES
  • 3. UTP – FIEM – ELECTRÓNICA – 2011 – I CIRCUITOS DIGITALES II BCF Bit Clear F BSF Bit Set F Sintaxis BCF f, b Sintaxis BSF f, b 0101 bbbf ffff Codificación Codificación 0100 bbbf ffff 01 01bb bfff ffff 01 00bb bfff ffff Palabras, 1, 1 Palabras, Ciclos 1, 1 Ciclos Operación 1 -> b(f) Operación 0 -> b(f) Bit de Ninguno Bit de estado Ninguno estado Pone a uno el bit numero b Descripción Pone a cero el bit numero b de f Descripción de f BTFSC Bit Test, Skip If Clear BTFSS Bit Test, Skip If Set Sintaxis BTFSC f, b Sintaxis BTFSS f, b Codificación 0110 bbbf ffff Codificación 0111 bbbf ffff 01 10bb bfff ffff 01 11bb bfff ffff Palabras, Palabras, 1, 1 o 2 1, 1 o 2 Ciclos Ciclos Operación Salta si b(f)=0 Operación Salta si b(f)=1 Bit de Bit de Ninguno Ninguno estado estado Si el bit numero b de f es Si el bit numero b de f esta en nulo, la instrucción que uno, la instrucción que sigue sigue a esta se ignora y se a esta se ignora y se trata Descripción trata como un NOP. En este Descripción como un NOP. En este caso, caso, y solo en este caso, la y solo en este caso, la instrucción BTFSC precisa instrucción BTFSC precisa dos ciclos para ejecutarse. dos ciclos para ejecutarse. CALL Subrutina Call CLRF Clear F with F Sintaxis CALL k Sintaxis CLRF f 1001 kkkk kkkk Codificación 10 0kkk kkkk kkkk 0000 011f ffff Codificación Palabras, 1, 2 Ciclos 00 0001 1fff ffff En el caso de los 16c64, Palabras, 71, 74, 84: PC + 1 -> Pila, 1, 1 Operación Ciclos k -> PC(0-10), PCLATH(3,4) -> PC(11,12) Operación 00 -> f Bit de Bit de Ninguno Z estado estado Descripción Guarda la dirección de Pone el contenido de f a Descripción cero y activa el bit Z. DOCENTE: Ing. Luis Pacheco Cribillero JUEGO DE INSTRUCCIONES
  • 4. UTP – FIEM – ELECTRÓNICA – 2011 – I CIRCUITOS DIGITALES II vuelta en la pila y después llama a la subrutina situada en la dirección cargada en el PC. Atención: En el modo de cálculo de la dirección hay que posicionar bien el registro PCLATH antes de ejecutar la instrucción CALL CLRW Clear W register CLRWDT Clear Watchdog Timer Sintaxis CLRW Sintaxis CLRWDT 0000 0100 0000 0000 0000 0100 Codificación Codificación 00 0001 0xxx xxxx 00 0000 0110 0100 Palabras, Palabras, 1, 1 1, 1 Ciclos Ciclos Operación 00 -> W 00 -> WDT y 0 -> predivisor Operación Bit de del temporizador Z estado Bit de 1 -> TO y 1 -> PD Pone el registro W a cero y estado Descripción activa el bit Z Pone a cero el registro contador del temporizador Descripción watchdog, asi como el predivisor COMF Complement F DECF Decrement F to F Sintaxis COMF f, d Sintaxis DECF f, d 0010 01df ffff 0000 11df ffff Codificación Codificación 00 1001 dfff ffff 00 0011 dfff ffff Palabras, Palabras, 1, 1 1, 1 Ciclos Ciclos ~f -> f su d=1 f - 1 -> f si d=1 Operación Operación ~f -> W si d=0 f - 1 -> W si d=0 Bit de Bit de Z Z estado estado Hace un complemento de f Decrementa el contenido bit a bit. El resultado lo de f en una unidad. El Descripción almacena de nuevo en f si Descripción resultado se guarda en W d=1 (borra el anterior), o en si d=0 (f no varia), y en f si W si d=0 (f no varía) d=1 DECFSZ Decrement F, Skip If Zero Salto Incondicional with GOTO Sintaxis DECFSZ f, d F DOCENTE: Ing. Luis Pacheco Cribillero JUEGO DE INSTRUCCIONES
  • 5. UTP – FIEM – ELECTRÓNICA – 2011 – I CIRCUITOS DIGITALES II 0010 11df ffff Sintaxis GOTO k Codificación 00 1011 dfff ffff 101k kkkk kkkk Codificación Palabras, 10 1kkk kkkk kkkk 1, 1(2) Ciclos Palabras, 1, 2 f - 1 -> f si d=1 Ciclos Operación En el caso de los f - 1 -> W si d=0 16c64,71,74 y 84: Operación Bit de k -> PC(0-10), Ninguno estado PCLATH(3,4) -> PC(11,12) Decrementa el contenido Bit de Ninguno de f en una unidad. El estado resultado se guarda en W LLama a la subrutina si d=0 (f no varia), y en f si situada en la dirección d=1 cargada en el PC Descripción Si el reusltado es nulo, se Atención: En el modo de ignora la siguiente Descripción cálculo de la dirección hay instrucción y en este caso que posicionar la instrucción dura dos correctamente el registro ciclos. PCLATH antes de ejecutar la instrucción GOTO INCF Increment F INCFSZ Increment F, Skip if Zero Sintaxis INCF f, d Sintaxis INCFSZ f, d 0010 10df ffff 0011 11df ffff Codificación Codificación 00 1010 dfff ffff 00 1111 dfff ffff Palabras, Palabras, 1, 1 1, 1(2) Ciclos Ciclos f + 1 -> f si d=1 f + 1 -> f si d=1 Operación f + 1 -> W si d=0 Operación f + 1 -> W si d=0 Bit de En ambos casos: Salto si f Z +1=0 estado Incrementa el contenido de Bit de Ninguno f en una unidad. El estado resultado se almacena de Incrementa el contenido de Descripción nuevo en f si d=1 y en W si f en 1. El resultado se d=0(en este caso f no guarda en f si d=1 y en w si varía) d=0 (en este caso f no Descripción varía). Si el resultado es nulo, se ignora la siguiente instrucción y esta instrucción dura dos ciclos IORLW Inclusive OR Literal With W IORWF Inclusive OR W With f Sintaxis IORLW k Sintaxis IORWF f, d Codificación Codificación DOCENTE: Ing. Luis Pacheco Cribillero JUEGO DE INSTRUCCIONES
  • 6. UTP – FIEM – ELECTRÓNICA – 2011 – I CIRCUITOS DIGITALES II 1101 kkkk kkkk 0001 00df ffff 11 1000 kkkk kkkk 11 0100 dfff ffff Palabras, Palabras, 1, 1 1, 1 Ciclos Ciclos Operación W OR k -> W W OR f -> f si d=1 Bit de Operación Z W OR f -> W si d=0 estado Efectúa un OR lógico Bit de Z inclusivo entre el contenido de estado Descripción W y el literal K, y almacena el Efectúa un OR lógico resultado en W inclusivo entre el contenido de W y el Descripción contenido de f, y almacena el resultado en f si d=1 o en W si d=0 MOVF Move F MOVLW Move Literal to W with F Sintaxis MOVF f, d Sintaxis MOVLW k 0010 00df ffff 1100 kkkk kkkk Codificación Codificación 00 1000 dfff ffff 11 00xx kkkk kkkk Palabras, Palabras, 1, 1 1, 1 Ciclos Ciclos f -> f si d=1 Operación k -> W Operación Bit de f -> W si d=0 Ninguno estado Bit de Z Descripción Carga W con el literal k estado Pone el contenido de f en f si d=1 o f en W si d=0 Atención: El desplazamiento de f en f Descripción que parecería inútil, permite comprobar el contenido de f con respecto a cero ya que esta instrucción actúa sobre el bit Z MOVWF Move W to F NOP No Operation Sintaxis MOVWF f Sintaxis NOP 0000 001f ffff 0000 0000 0000 Codificación Codificación 00 0000 1fff ffff 00 0xx0 0000 Palabras, Palabras, 1, 1 1, 1 Ciclos Ciclos Operación W -> f Operación Ninguna DOCENTE: Ing. Luis Pacheco Cribillero JUEGO DE INSTRUCCIONES
  • 7. UTP – FIEM – ELECTRÓNICA – 2011 – I CIRCUITOS DIGITALES II Bit de Bit de Ninguno Ninguna estado estado Carga f con el contenido de Consume tiempo de la Descripción W maquina y ocupa un lugar Descripción en la memoria de programa. OPTION Load Option Register RETFIE Return From Interrupt Sintaxis Option Sintaxis RETFIE 0000 0000 0010 Codificación 00 0000 0000 1001 Codificación 00 0000 0110 0010 Palabras, 1, 2 Ciclos Palabras, 1, 1 Operación Pila -> PC, 1 -> GIE Ciclos Operación W -> OPTION Bit de Ninguno estado Bit de Ninguno Carga el PC con el valor estado que se encuentra en la Carga el registro OPTION parte superior de la pila, con el contenido de W asegurando así la vuelta de la interrupción. Pone a Atención: Esta instrucción 1 el bit GIE, con el fin de Descripción es correctamente Descripción autorizar de nuevo que se interpretada por los circuitos tengan en cuenta las 16c64, 71, 74, 84 con el fin interrupciones de asegurar una compatibilidad ascendente Atención: Esta interrupción dura dos ciclos RETLW Return Literal to W Return from Subroutine RETURN Sintaxis RETLW k with F Sintaxis RETURN 1000 kkkk kkkk Codificación Codificación 00 0000 0000 0000 11 01xx kkkk kkkk Palabras, Palabras, 1, 2 1, 2 Ciclos Ciclos Operación Pila -> PC Operación k -> W, Pila -> PC Bit de Bit de Ninguno Ninguno estado estado Carga el PC con el valor Carga W con el literal k, y que se encuentra en la después carga el PC con el parte superior de la pila, valor que se encuentra en efectuando así una vuelta a la parte superior de la pila, Descripción Descripción la subrutina. Se trata de la efectuando así un retorno de subrutina. Atención: instrucción RETLW Esta instrucción dura dos simplificada. Atención: Esta instrucción dura dos ciclos ciclos DOCENTE: Ing. Luis Pacheco Cribillero JUEGO DE INSTRUCCIONES
  • 8. UTP – FIEM – ELECTRÓNICA – 2011 – I CIRCUITOS DIGITALES II RLF Rotate Left F through Carry Rotate Right F through RRF Sintaxis RLF f,d Carry Sintaxis RRF f, d 0011 01df ffff Codificación 0011 00df ffff 00 1101 dfff ffff Codificación 00 1100 dfff ffff Palabras, 1, 1 Palabras, Ciclos 1, 1 Ciclos Operación ver descr. Operación Ver descr. Bit de C Bit de estado C estado Rotación de un bit a la izquierda del contenido de f, Rotación de un bit a la pasando por el bit de acarreo derecha del contenido de Descripción f, pasando por el bit de C. Si d=1 el resultado se almacena en f si d=0 el Descripción acarreo C. Si d=1 el resultado se almacena en W resultado se introduce en f, si d=0 el resultado se amacena en W SLEEP Sleep SUBLW Substract W from Literal Sintaxis SLEEP Sintaxis SUBLW k 0000 0000 0011 Codificación 11 110x kkkk kkkk Codificación 00 0000 0110 0011 Palabras, 1, 1 Ciclos Palabras, 1, 1 Operación k - W -> W Ciclos 0 -> PD, 1 -> TO, 00 -> Bit de C, DC, Z Operación WDT, 0 -> Predivisor del estado WDT Sustrae el contenido de W Bit de del literal k, y almacena el PD, TO Descripción resultado en W. La estado sustracción se realiza en Pone el circuito a dormir con complemento a dos parada del oscilador. Su consumo es inferior. Atención: Use esta Descripción instrucción con mucho cuidado, pues puede provocar que el micro no despierte si no se ha seteado correctamente. SUBWF Substract W from F SWAPF Swap F to F Sintaxis SUBWF f, d Sintaxis SWAPF f, d 0000 10df ffff 0011 11df ffff Codificación Codificación 00 0010 dfff ffff 00 1110 dfff ffff Palabras, 1, 1 Palabras, 1, 1 DOCENTE: Ing. Luis Pacheco Cribillero JUEGO DE INSTRUCCIONES
  • 9. UTP – FIEM – ELECTRÓNICA – 2011 – I CIRCUITOS DIGITALES II Ciclos Ciclos f - W -> f si d=1 f(0-3) -> f(4-7) y f(4-7) -> Operación f(0-3) f - W -> W si d=0 Operación Bit de Resultado -> f si d=1 C, DC, Z Resultado -> W si d=0 estado Sustrae el contenido de W Bit de Ninguno del contenido de f, y estado almacena el resultado en Intercambia los cuatro bit Descripción W si d=0 y en f si d=1. La de mayor peso por los sustracción se realiza en Descripción cuatro de menor peso de f, complemento a dos y almacena el resultado en W si d=0, y en f si d=1 TRIS Load TRIS Register Exclusive OR Literal With XORLW Sintaxis TRIS f W Sintaxis XORLW k 0000 0000 0fff Codificación 00 0000 0110 0fff 1111 kkkk kkkk Codificación 11 1010 kkkk kkkk Palabras, 1, 1 Ciclos Palabras, 1, 1 W -> registro TRIS del Ciclos Operación puerto f Operación W OR (Exclusivo) k -> W Bit de Bit de Ninguno Z estado estado Carga el contenido de W Efectúa un OR lógico en el registro TRIS del exclusivo entre el puerto f. contenido de W y el Descripción contenido del Literal K y Atención: Esta instrucción, almacena el resultado en Descripción es correctamente W interpretada por los circuitos 16c64, 71, 74, 84, con el fin de asegurar una compatibilidad ascendente XORWF Exclusive Or W with F Sintaxis XORWF f,d 0001 10df ffff Codificación 00 0110 dfff ffff Palabras, Ciclos 1, 1 W OR (Exclusivo) f -> f si d=1 Operación W OR (Exclusivo) f -> W si d=0 Bit de estado Z Descripción Efectúa un Or lógico exclusivo entre el contenido de W y el contenido de f y almacena el resultado en f si d=1 o en W si d=0 DOCENTE: Ing. Luis Pacheco Cribillero JUEGO DE INSTRUCCIONES
  • 10. UTP – FIEM – ELECTRÓNICA – 2011 – I CIRCUITOS DIGITALES II DOCENTE: Ing. Luis Pacheco Cribillero JUEGO DE INSTRUCCIONES