Documentos de Académico
Documentos de Profesional
Documentos de Cultura
EQU
21H
ORG
movlw
movwf
movlw
movwf
movlw
movwf
20H
0
30H
FSR
; FSR = 30H
.16
VECES
; VECES = 16
.48
DATO ; DATO = 48
LAZO
movf DATO,0
movwf
INDF
incf FSR
; FSR = FSR + 1
movlw
.3
;W=3
subwf DATO ; DATO = DATO - W
decfszVECES
; VECES - 1 = 0?
goto LAZO ; .NO
goto $
; .SI
END
delay_ms
MACRO
X
movlw
X
call
MILISEG
ENDM
banco MACRO
X
IF X == 0
bcf
ENDIF
IF X == 1
bsf
ENDIF
ENDM
LIST P=16F877
INCLUDE <P16F877.INC>
INCLUDE <MACROS.INC>
CBLOCK
ENDC
0x20
ORG
STATUS,RP0
STATUS,RP0
delay_ms
.30
delay_ms
.150
delay_ms
.245
goto $
INCLUDE <DELAY.ASM>
END
Curso:
PIC Inictel
Programa
; Delay = 1 seg
; Clock frequencia = 20 MHz
; 1 seg = 5000000 ciclos
; Error = 0 %
cblock
d1
d2
d3
endc
;5000000 ciclos
movlw
movwf
movlw
movwf
movlw
movwf
0x2D
d1
0xE7
d2
0x0B
d3
decfsz
goto
decfsz
goto
decfsz
goto
d1, f
$+2
d2, f
$+2
d3, f
Delay_0
Delay_0
Para Macro
; Delay = 1 seg
; Clock frequencia = 20 MHz
; 1 seg = 5000000 ciclos
; Error = 0 %
cblock
d1
d2
d3
endc
Delay
;4999993 ciclos
movlw
movwf
movlw
movwf
movlw
movwf
0x2C
d1
0xE7
d2
0x0B
d3
Delay_0
decfsz
goto
decfsz
goto
decfsz
goto
d1, f
$+2
d2, f
$+2
d3, f
Delay_0
goto
nop
$+1
;3 ciclos