Beruflich Dokumente
Kultur Dokumente
I) Manejo de Informacin
movlw LITERAL
movwf REGISTRO
movfw REGISTRO
MOVFW PORTC
MOVWF PORTD
II) Manejo de Bits
BSF PORTD , 3
RRF Rota los bits de un registro hacia la derecha, incluyendo el
carry, GAMA MEDIA
Notas: R rotacin
R right ( derecha )
L left ( izquierda )
F registro ( especial o general )
DESTINO W o F
el resultado se almacena en el registro de
trabajo o el registro en uso.
MOVLW .1
MOVWF PORTD
RLF PORTD,F
RLF PORTD,F
RLF PORTD,F
RLF PORTD,F
RLF PORTD,F
RLF PORTD,F
RLF PORTD,F
II) GAMA ALTA
Rutina alternativa:
SWAPF Intercambia los 4 bits menos significativos
MOVLW 0x0F
MOVWF PORTD ;( portd = 00001111 )
SWAPF PORTD,F ;( portd = 11110000 )
SWAPF PORTD,F ;( portd = 00001111 )
SWAPF PORTD,F ;( portd = 11110000 )
SWAPF PORTD,F ;( portd = 00001111 )
.
.
.
BTFSS Brinca una lnea de programa si el bit es 1.
Notas: B bit
T test ( pregunta por su estado )
F registro ( especial o general )
S skip ( brinco )
S set 1
C clear 0
addlw LITERAL
DESTINO W o F
el resultado se almacena en el registro de
trabajo o el registro en uso.
MOVLW .13
ADDLW .46
MOVWF PORTD
SUBLW Resta un dato a W
sublw LITERAL
DESTINO W o F
el resultado se almacena en el registro de
trabajo o el registro en uso.
INICIO: MOVLW .0
MOVWF PORTB
OTRO: INCF PORTB , F
MOVLW .100
SUBWF PORTB,W
BTFSS STATUS,Z
GOTO OTRO
GOTO INICIO
DECFSZ Decrementa el contenido de un registro y si resulta 0
brinca una lnea de programa.
T1MSEG: MOVLW .N 1C
MOVWF T 1C
LAZO: NOP 1C
DECFSZ T,F 1(2)C
GOTO LAZO 2C
RETURN 2C
N = 249
IV) Operaciones Lgicas
andlw LITERAL
iorlw LITERAL
xorlw LITERAL
Notas: L literal
W registro de trabajo
F registro ( especial o general )
DESTINO W o F
el resultado se almacena en el registro de
trabajo o el registro en uso.
P11. Elabore el programa que halle la solucin a la siguiente
expresin lgica:
_
Y=A.B+C
Los datos A, B, C, ingresan por los puertos respectivos y el resultado se
muestra por el puerto D.
V) Control del Flujo del Programa
goto LABEL
call LABEL
retlw LITERAL
return
retfie
VI) Especiales
clrf
clrw
clrwdt
nop
sleep
LIST P=16F877A ; dispositivo
T2 EQU 0X21
DW 0X3F7A
BCF STATUS,RP1
MOVLW .0
BCF STATUS,RP1
MOVWF PORTB
CALL TIEMPO1
RLF PORTB,F
CALL TIEMPO1
RLF PORTB,F
CALL TIEMPO1
RLF PORTB,F
CALL TIEMPO1
RLF PORTB,F
CALL TIEMPO1
RLF PORTB,F
CALL TIEMPO1
RLF PORTB,F
CALL TIEMPO1
RLF PORTB,F
CALL TIEMPO1
GOTO INICIO
MOVWF T1
DECFSZ T1,F
GOTO LAZO1
RETURN
MOVWF T2
LAZO2: NOP
DECFSZ T2,F
GOTO LAZO2
RETURN
END
LIST P=16F877A ; dispositivo
DW 0X3F7A
BCF STATUS,RP1
MOVLW .0
MOVLW .0
BCF STATUS,RP1
ADDLW .46
GOTO NOLLEVA
SILLEVA:BSF PORTC,0
MOVWF PORTB
GOTO $
NOLLEVA:BCF PORTC,0
MOVWF PORTB
GOTO $
END
LIST P=16F877A ; dispositivo
DW 0X3F7A
BCF STATUS,RP1
MOVLW B'00000000'
MOVLW B'11111111'
BCF STATUS,RP1
SUBWF PORTC,W
MOVWF PORTB
GOTO INICIO