apoyo microocontroladores

Páginas: 7 (1678 palabras) Publicado: 7 de junio de 2014
Instrucciones del microcontrolador PIC16F84A
MOVLW
Move literal to W
Carga al registro de trabajo (acumulador) con un número especificado en el operando.
Ejemplo:
Movlw 0x03 ; Carga al acumulador el dato 03h

MOVF
Move f
Mueve el contenido de un registro
Ejemplo:
El contenido del registro dato = 12
Movf dato,0
W = 12

MOVWF
Move W to f
Carga a un registro con elcontenido del acumulador
Ejemplo:
Movwf portb ; Asigna el contenido del acumulador al puerto B
Movwf direc ; Asigna el contenido del acumulador al registro direc

BCF
Bit Clear F
Borra un bit de un registro determinado
Ejemplo:
Status = 1 1 1 1 1 0 1 0
Bcf status,5 Asigna un cero al bit número 5 del registro status
Status = 1 1 0 1 1 0 1 0BSF
Bit Set F
Pone un uno en un bit de un registro determinado
Ejemplo:
Status = 1 1 1 1 1 0 1 0
Bcf status,5 Asigna un uno al bit número 2 del registro status
Status = 1 1 1 1 1 1 1 0

BTFSC
Bit Test Skip if Clear
Hace que el programa salte una instrucción si el bit b de un registro es 0
Ejemplo:
checa btfsc porta,0 ; compara si el bit 0 del puerto A es cero,goto pares ; salta a la rutina pares si el bit 0 del puerto A es 1
6 ; asigna al acumulador el dato 01
movwf portb ; mueve al puerto B el contenido del acumulador
goto checa ; regresa a la etiqueta checa
pares movlw 0x02 ; asigna al acumulador el dato 01
movwf portb ;mueve al puerto B el contenido del acumulador
goto checa ; regresa a la etiqueta checa

BTFSS
Bit Test Skip if Set
Hace que el programa salte una instrucción si el bit b de un registro es 1
Ejemplo:
checa btfss porta,1 ; compara si el bit 1 del puerto A es uno.
goto impares ; salta a la rutina impares si el bit 1 del puerto A es 0movlw 0x11 ; asigna al acumulador el dato 11
movwf portb ; mueve al puerto B el contenido del acumulador
goto checa ; regresa a la etiqueta checa
impares movlw 0x22 ; asigna al acumulador el dato 22
movwf portb ; mueve al puerto B el contenido del acumulador
goto checa ;regresa a la etiqueta checa





CLRF
Clear f
Borra el contenido de un registro
Ejemplo:
clrf porta ; borra el contenido del puerto A

GOTO
Unconditional branch
Salto incondicional a la dirección especificada por el operando
Ejemplo:
goto inicio
org 0x05
inicio bsf status,5

DECF
Decrement f
Se decrementa en una unidad el contenidode un registro
Ejemplo:
dato1 equ 0x0c
movlw 0xff
movwf dato1
decf dato1,1

dato1 = fe

DECFSZ
Decrement f, Skip if 0
Decrementa el contenido de un registro y cuando éste es igual a cero, el contador de programa salta una línea o una instrucción
Ejemplo:
dato1 equ 0x0c
dato2 equ 0x0d
pri_retmovlw 0xff
movwf dato1
seg_ret decfsz dato2,1
goto seg_ret
decfsz dat01,1
goto pri_ret
return

RLF
Rotate Left f through Carry
Rota el bit del registro a través de la bandera de carry
Ejemplo:
checa btfss porta,0 ; compara si el bit 0 del puerto A es uno.goto izq ; salta a la rutina izquierda si el bit 0 del puerto A es 1
rrf portb,1 ; rota a la derecha el bit del puerto B
call retardo ; llama a la rutina retardo
goto checa ; regresa a la etiqueta checa
izq rlf portb,1 ; rota a la izquierda el bit del puerto B
call...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Apoyos
  • Apoyando
  • apoyo
  • apoyos
  • APOYOS
  • apoyo
  • Apoyo
  • Apoyo

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS