MICROCONTROLADORES
             CONJUNTO DE INSTRUCCIONES DEL PIC16F87XA


                        ING. FERNANDO A. URBANO M.


                                21 de mayo de 2009




ING. FERNANDO A. URBANO M. ()   MICROCONTROLADORES   21 de mayo de 2009   1 / 12
Instrucciones Orientadas a Registros

       ADDWF : Suma el contenido del registro W con F.
      Sintáxis: addwf F,d donde “d” es el lugar para almacenar el resultado.
      Ejemplo: addwf SUM,W el resultado se almacena en W ó addwf
               SUM,F el resultado se almacena en el registro SUM.
 Si W = b’10010001’ y temp = b’00000011’
 temp equ b’00000011’
 .
 .
 .
 addwf temp, F; el resultado al final es temp = b’10010100’ y W =
 b’10010001’
 Señalizadores: C, DC, Z.


ING. FERNANDO A. URBANO M. ()   MICROCONTROLADORES       21 de mayo de 2009   2 / 12
Instrucciones Orientadas a Registros

       ANDWF: La operación lógica AND de W con f
     Sintáxis: andwf F,d
  Señalizador: Z

       CLRF: Borra el contenido de F.
     Sintáxis: clrf F
  Señalizador: Z.

       CLRW: Borra el contenido de W.
     Sintáxis: clrw
  Señalizador: Z.

       COMF: Obtiene el complemento de F.
     Sintáxis: comf F,d
  Señalizador: Z.
ING. FERNANDO A. URBANO M. ()   MICROCONTROLADORES   21 de mayo de 2009   3 / 12
Instrucciones Orientadas a Registros

       DECF: Decremento de F.
     Sintáxis: decf F,d
  Señalizador: Z.

       INCF: Incremento de F.
     Sintáxis: incf F,d
  Señalizador: Z.

       IORWF: OR de W con F.
     Sintáxis: iorwf F,d
  Señalizador: Z.

       MOVF: Movimiento de F.
     Sintáxis: movf F,d
  Señalizador: Z.
ING. FERNANDO A. URBANO M. ()   MICROCONTROLADORES   21 de mayo de 2009   4 / 12
Instrucciones Orientadas a Registros

       MOVWF: Movimiento de W a F.
      Sintáxis: movwf F,d

       NOP: No realiza ninguna operación.
      Sintáxis: nop

       RLF: Rotación de los bits F a la izquierda a través del bit de acarreo.
      Sintáxis: rlf F,d
  Señalizador: C.

       RRF: Rotación de los bits F a la derecha a través del bit de acarreo.
      Sintáxis: rrf F,d
  Señalizador: C.

ING. FERNANDO A. URBANO M. ()   MICROCONTROLADORES         21 de mayo de 2009   5 / 12
Instrucciones Orientadas a Registros


       SUBWF: Resta de W a F (F - W) mediante complemento a 2.
      Sintáxis: subwf F,d
 Señalizadores: C, DC, Z.

       SWAPF: Intercambio de 4 bits de más peso por los 4 de menos peso.
      Sintáxis: swapf F,d

       XORWF: Or Exclusiva de W con F.
      Sintáxis: xorwf F,d
  Señalizador: Z.



ING. FERNANDO A. URBANO M. ()   MICROCONTROLADORES    21 de mayo de 2009   6 / 12
Instrucciones que Manejan Bits




       BCF: Puesta a 0 del bit b de F.
      Sintáxis: bcf F,b; “b” es el bit del registro F.

       BSF: Puesta a 1 del bit b de F.
      Sintáxis: bsf F,b




ING. FERNANDO A. URBANO M. ()   MICROCONTROLADORES       21 de mayo de 2009   7 / 12
Instrucciones de Salto


       BTFSC: Verifica el bit b de F, Salta si es 0.
      Sintáxis: btfsc F,b

       BTFSS: Verifica el bit b de F, Salta si es 1.
      Sintáxis: btfss F,b

       DECFSZ: Decremento de F, Salta si es 0.
      Sintáxis: decfsz F,d

       INCFSZ: Incremento de F, Salta si es 0.
      Sintáxis: incfsz F,d



ING. FERNANDO A. URBANO M. ()   MICROCONTROLADORES    21 de mayo de 2009   8 / 12
Instrucciones que Manejan Operandos Inmediatos

       ADDLW: Suma de literal con W.
      Sintáxis: addlw F
 Señalizadores: C, DC, Z

       ANDLW: And de literal con W.
      Sintáxis: andlw F
  Señalizador: Z.

       IORLW: Or de literal con W.
      Sintáxis: iorlw F
  Señalizador: Z.

       MOVLW: Movimiento de literal a W.
      Sintáxis: movlw F
ING. FERNANDO A. URBANO M. ()   MICROCONTROLADORES   21 de mayo de 2009   9 / 12
Instrucciones que Manejan Operandos Inmediatos




       SUBLW: Resta W de literal (F - W)
      Sintáxis: sublw F
 Señalizadores: C, DC, Z.

       XORLW: Or exclusiva de literal con W.
      Sintáxis: xorlw F
  Señalizador: Z.




ING. FERNANDO A. URBANO M. ()   MICROCONTROLADORES   21 de mayo de 2009   10 / 12
Intrucciones de Control y Especiales
       CALL: Llamada a subrutina. La dirección de retorno se guarda en la
       pila. El código OP de la instrucción contiene la dirección de salto (8
       bits) que se cargan en el PC, los otros dos bits se toman del registro
       option (6:5) el bit 8 del PC se pone en cero.
      Sintáxis: call K
        Ciclos: 2.
       CLRWDT: Borrado del Watchdog.
      Sintáxis: clrwdt
       GOTO: Salto a una dirección.
      Sintáxis: goto K
        Ciclos: 2
       RETFIE: Retorno de interrupción.
      Sintáxis: retfie
        Ciclos: 2
ING. FERNANDO A. URBANO M. ()   MICROCONTROLADORES        21 de mayo de 2009   11 / 12
Intrucciones de Control y Especiales




       RETURN: Retorno de subrutina.
      Sintáxis: return
        Ciclos: 2.

       SLEEP: Puesta del microprocesador en reposo.




ING. FERNANDO A. URBANO M. ()   MICROCONTROLADORES    21 de mayo de 2009   12 / 12

Clase instrucciones PIC16F877A

  • 1.
    MICROCONTROLADORES CONJUNTO DE INSTRUCCIONES DEL PIC16F87XA ING. FERNANDO A. URBANO M. 21 de mayo de 2009 ING. FERNANDO A. URBANO M. () MICROCONTROLADORES 21 de mayo de 2009 1 / 12
  • 2.
    Instrucciones Orientadas aRegistros ADDWF : Suma el contenido del registro W con F. Sintáxis: addwf F,d donde “d” es el lugar para almacenar el resultado. Ejemplo: addwf SUM,W el resultado se almacena en W ó addwf SUM,F el resultado se almacena en el registro SUM. Si W = b’10010001’ y temp = b’00000011’ temp equ b’00000011’ . . . addwf temp, F; el resultado al final es temp = b’10010100’ y W = b’10010001’ Señalizadores: C, DC, Z. ING. FERNANDO A. URBANO M. () MICROCONTROLADORES 21 de mayo de 2009 2 / 12
  • 3.
    Instrucciones Orientadas aRegistros ANDWF: La operación lógica AND de W con f Sintáxis: andwf F,d Señalizador: Z CLRF: Borra el contenido de F. Sintáxis: clrf F Señalizador: Z. CLRW: Borra el contenido de W. Sintáxis: clrw Señalizador: Z. COMF: Obtiene el complemento de F. Sintáxis: comf F,d Señalizador: Z. ING. FERNANDO A. URBANO M. () MICROCONTROLADORES 21 de mayo de 2009 3 / 12
  • 4.
    Instrucciones Orientadas aRegistros DECF: Decremento de F. Sintáxis: decf F,d Señalizador: Z. INCF: Incremento de F. Sintáxis: incf F,d Señalizador: Z. IORWF: OR de W con F. Sintáxis: iorwf F,d Señalizador: Z. MOVF: Movimiento de F. Sintáxis: movf F,d Señalizador: Z. ING. FERNANDO A. URBANO M. () MICROCONTROLADORES 21 de mayo de 2009 4 / 12
  • 5.
    Instrucciones Orientadas aRegistros MOVWF: Movimiento de W a F. Sintáxis: movwf F,d NOP: No realiza ninguna operación. Sintáxis: nop RLF: Rotación de los bits F a la izquierda a través del bit de acarreo. Sintáxis: rlf F,d Señalizador: C. RRF: Rotación de los bits F a la derecha a través del bit de acarreo. Sintáxis: rrf F,d Señalizador: C. ING. FERNANDO A. URBANO M. () MICROCONTROLADORES 21 de mayo de 2009 5 / 12
  • 6.
    Instrucciones Orientadas aRegistros SUBWF: Resta de W a F (F - W) mediante complemento a 2. Sintáxis: subwf F,d Señalizadores: C, DC, Z. SWAPF: Intercambio de 4 bits de más peso por los 4 de menos peso. Sintáxis: swapf F,d XORWF: Or Exclusiva de W con F. Sintáxis: xorwf F,d Señalizador: Z. ING. FERNANDO A. URBANO M. () MICROCONTROLADORES 21 de mayo de 2009 6 / 12
  • 7.
    Instrucciones que ManejanBits BCF: Puesta a 0 del bit b de F. Sintáxis: bcf F,b; “b” es el bit del registro F. BSF: Puesta a 1 del bit b de F. Sintáxis: bsf F,b ING. FERNANDO A. URBANO M. () MICROCONTROLADORES 21 de mayo de 2009 7 / 12
  • 8.
    Instrucciones de Salto BTFSC: Verifica el bit b de F, Salta si es 0. Sintáxis: btfsc F,b BTFSS: Verifica el bit b de F, Salta si es 1. Sintáxis: btfss F,b DECFSZ: Decremento de F, Salta si es 0. Sintáxis: decfsz F,d INCFSZ: Incremento de F, Salta si es 0. Sintáxis: incfsz F,d ING. FERNANDO A. URBANO M. () MICROCONTROLADORES 21 de mayo de 2009 8 / 12
  • 9.
    Instrucciones que ManejanOperandos Inmediatos ADDLW: Suma de literal con W. Sintáxis: addlw F Señalizadores: C, DC, Z ANDLW: And de literal con W. Sintáxis: andlw F Señalizador: Z. IORLW: Or de literal con W. Sintáxis: iorlw F Señalizador: Z. MOVLW: Movimiento de literal a W. Sintáxis: movlw F ING. FERNANDO A. URBANO M. () MICROCONTROLADORES 21 de mayo de 2009 9 / 12
  • 10.
    Instrucciones que ManejanOperandos Inmediatos SUBLW: Resta W de literal (F - W) Sintáxis: sublw F Señalizadores: C, DC, Z. XORLW: Or exclusiva de literal con W. Sintáxis: xorlw F Señalizador: Z. ING. FERNANDO A. URBANO M. () MICROCONTROLADORES 21 de mayo de 2009 10 / 12
  • 11.
    Intrucciones de Controly Especiales CALL: Llamada a subrutina. La dirección de retorno se guarda en la pila. El código OP de la instrucción contiene la dirección de salto (8 bits) que se cargan en el PC, los otros dos bits se toman del registro option (6:5) el bit 8 del PC se pone en cero. Sintáxis: call K Ciclos: 2. CLRWDT: Borrado del Watchdog. Sintáxis: clrwdt GOTO: Salto a una dirección. Sintáxis: goto K Ciclos: 2 RETFIE: Retorno de interrupción. Sintáxis: retfie Ciclos: 2 ING. FERNANDO A. URBANO M. () MICROCONTROLADORES 21 de mayo de 2009 11 / 12
  • 12.
    Intrucciones de Controly Especiales RETURN: Retorno de subrutina. Sintáxis: return Ciclos: 2. SLEEP: Puesta del microprocesador en reposo. ING. FERNANDO A. URBANO M. () MICROCONTROLADORES 21 de mayo de 2009 12 / 12