Professional Documents
Culture Documents
Manejo de Informacin
MOVLW
LITERAL
REGISTRO
MOV
L
W
F
REGISTRO
move ( mover )
literal ( dato de 8 bits )
work ( registro de trabajo )
registro ( especial o general )
REGISTRO , BIT
B
S
C
F
REGISTRO , BIT
REGISTRO , DESTINO
REGISTRO , DESTINO
REGISTRO , DESTINO
REGISTRO , DESTINO
R
R
L
F
DESTINO
REGISTRO , DESTINO
rotacin
right ( derecha )
left ( izquierda )
registro ( especial o general )
W o F
el resultado se almacena en el registro de
trabajo o el registro en uso.
T1
T2
LIST P=16F877A
; dispositivo
INCLUDE <P16F877A.INC> ; libreria
EQU 0X20
; Variable de tiempo
EQU 0X21
ORG 0X2007
; configuracion del PIC
DW 0X3F7A
ORG 0X0000
; direccion inicial ROM
BSF STATUS,RP0
; Bank 1
BCF STATUS,RP1
MOVLW .0
MOVWF TRISB
; Portb de salida
BCF STATUS,RP0
; Bank 0
BCF STATUS,RP1
INICIO:
MOVLW B'00000001'
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
TIEMPO1: MOVLW .255
MOVWF T1
LAZO1: CALL TIEMPO2
DECFSZ T1,F
GOTO LAZO1
RETURN
TIEMPO2: MOVLW .255
MOVWF T2
LAZO2: NOP
DECFSZ T2,F
GOTO LAZO2
RETURN
END
II)
GAMA ALTA
Rutina alternativa:
SWAPF
Notas:
REGISTRO , DESTINO
SWAP
intercambio
F
registro ( especial o general )
DESTINO W o F
el resultado se almacena en el registro de
trabajo o el registro en uso.
.
.
.
0x0F
PORTD
PORTD,F
PORTD,F
PORTD,F
PORTD,F
;(
;(
;(
;(
;(
portd = 00001111 )
portd = 11110000 )
portd = 00001111 )
portd = 11110000 )
portd = 00001111 )
BTFSS
BTFSC
Notas:
REGISTRO , BIT
B
T
F
S
S
C
REGISTRO , BIT
bit
test ( pregunta por su estado )
registro ( especial o general )
skip ( brinco )
set 1
clear 0
BTFSS PORTD , 3
GOTO SENSA
BSF PORTD , 6
; est en 1 el sensor?
; no, vuelve a sensar
; si, foco on
FOSC = HS
WDT = OFF
MCLRE = OFF
ORG 0X0000
BCF TRISD,6
BSF TRISD,3
INICIO:
BCF PORTD,6
; Inicio de la ROM
; RD6 de salida a foco
; RD3 de entrada del sensor
; Foco OFF
SENSA1:BTFSS PORTD , 3
GOTO SENSA1
BSF PORTD , 6
; est en 1 el sensor?
; no, vuelve a sensar
; si, foco ON
SENSA2:BTFSC PORTD , 3
GOTO SENSA2
GOTO INICIO
END
; est en 0 el sensor?
; no, vuelve a sensar
; si, foco OFF
Suma un dato a W
addlw
ADDWF
Notas:
LITERAL
REGISTRO , DESTINO
ADD
LITERAL
W
adder ( sumar )
dato de 8 bits
registro de trabajo
DESTINO W o F
el resultado se almacena en el registro de
trabajo o el registro en uso.
SUBLW
Resta un dato a W
sublw
La resta es:
SUBWF
LITERAL - W
Notas:
LITERAL
REGISTRO , DESTINO
REGISTRO - W
LITERAL
W
dato de 8 bits
registro de trabajo
DESTINO W o F
el resultado se almacena en el registro de
trabajo o el registro en uso.
P08. Restar al dato ingresado en las llaves conectadas en el Puerto
C la cantidad 63; y que se muestre el resultado en los leds
conectados en el Puerto B.
MOVLW .63
SUBWF PORTC , W
MOVWF PORTB
DECF
INCF
Notas:
REGISTRO , DESTINO
DEC
INC
F
DESTINO
REGISTRO , DESTINO
incrementa
decrementa
registro ( especial o general )
W o F
el resultado se almacena en el registro de
trabajo o el registro en uso.
MOVLW .0
MOVWF PORTD
INCF
PORTD , F
MOVLW .100
SUBWF PORTD,W
BTFSS STATUS,Z
GOTO OTRO
GOTO INICIO
DECFSZ
INCFSZ
Notas:
REGISTRO , DESTINO
DEC
INC
F
S
Z
DESTINO
REGISTRO , DESTINO
incrementa
decrementa
registro ( especial o general )
skip ( brinco )
zero ( cero )
W o F
el resultado se almacena en el registro de
trabajo o el registro en uso.
CBLOCK
T
ENDC
T1MSEG:
LAZO:
MOVLW
MOVWF
NOP
DECFSZ
GOTO
RETURN
0X20
; Variable de tiempo
.N
T
T,F
LAZO
1C
1C
1C
1(2)C
2C
2C
ANDLW
REGISTRO , DESTINO
ANDWF
IORLW
REGISTRO , DESTINO
IORWF
REGISTRO , DESTINO
XORWF
LITERAL
Notas:
LITERAL
XORLW
LITERAL
L
W
F
DESTINO
REGISTRO , DESTINO
literal
registro de trabajo
registro ( especial o general )
W o F
el resultado se almacena en el registro de
trabajo o el registro en uso.
P11.
; P11.
;
;
;
_
Y=A.B+C
LIST P=18F4550
; Dispositivo
INCLUDE <P18F4550.INC> ; Libreria
CBLOCK
; Area de variables
A ; Variables para los datos de entrada
B
C
ENDC
CONFIG FOSC = HS
CONFIG WDT = OFF
CONFIG MCLRE = OFF
ORG 0X0000
; Inicio de la ROM
MOVLW B'00000000' ; Port D de salida a LEDs
MOVWF TRISD
MOVLW B'111111' ; Port A de entrada SWs
MOVWF TRISA
MOVLW B'11111111' ; Port B de entrada SWs
MOVWF TRISB
MOVLW B'11111111' ; Port C de entrada SWs
MOVWF TRISC
INICIO:
MOVF PORTA,W
MOVWF A
MOVF PORTB,W
MOVWF B
MOVF PORTC,W
MOVWF C
COMF A,W
ANDWF B,W
IORWF C,W
MOVWF PORTD
GOTO INICIO
END
CALL
RETLW
LABEL
RETURN
LABEL
LITERAL
RETFIE
BTFSC
DECFSZ
REGISTRO , BIT
INCFSZ
REGISTRO , BIT
REGISTRO , DESTINO
incfsz
REGISTRO , DESTINO
VI) Especiales
CLRF
Borra un registro
clrf
CLRW
Borra el registro W
clrw
NOP
SLEEP
LIST P=16F877A
; dispositivo
ORG 0X2007
DW 0X3F7A
ORG 0X0000
BSF STATUS,RP0
BCF STATUS,RP1
MOVLW B'00000000'
MOVWF TRISB
MOVLW B'11111111'
MOVWF TRISC
BCF STATUS,RP0
; Bank 0
BCF STATUS,RP1