LIST P=16F873A
#INCLUDE<P16F873A.INC>
RESULT_H EQU 22
RESULT_L EQU 23
V_TRESQ_BAJO EQU 20
V_TRESQ_ALTO EQU 21
V_24_5_H EQU 24
V_24_5_L EQU 25
PDel2 EQU 26
MIL EQU 27
CIEN_L EQU 28
CENTENAS EQU 29
UNIDADES EQU 2A
DECENAS EQU 2B
DIEZ EQU 2C
PDel0 EQU 2D
PDel1 EQU 2E
;BITS CONVERSOR
ADIF EQU 6
GODONE EQU 2
ADON EQU 0
ADFM EQU 7
C EQU 0
ORG 0
GOTO INICIO
ORG 05
RETARDO ; Code generated by PDEL ver 1.0 on 30/08/2008 at 12:08:52
; Description: Waits 1000000 cycles
;-------------------------------------------------------------
PDelay movlw .14 ; 1 set number of repetitions (C)
movwf PDel0 ; 1 |
PLoop0A movlw .72 ; 1 set number of repetitions (B)
movwf PDel1 ; 1 |
PLoop1A movlw .247 ; 1 set number of repetitions (A)
movwf PDel2 ; 1 |
PLoop2A clrwdt ; 1 clear watchdog
decfsz PDel2, 1 ; 1 + (1) is the time over? (A)
goto PLoop2A ; 2 no, loop
decfsz PDel1, 1 ; 1 + (1) is the time over? (B)
goto PLoop1A ; 2 no, loop
decfsz PDel0, 1 ; 1 + (1) is the time over? (C)
goto PLoop0A ; 2 no, loop
PDelL1A goto PDelL2A ; 2 cycles delay
PDelL2A clrwdt ; 1 cycle delay
return ; 2+2 Done
RETARDO_5MI
; Code generated by PDEL ver 1.0 on 06/09/2008 at 12:25:22 AM
; Description: Waits 60000000 cycles
;-------------------------------------------------------------
;PDelay movlw .191 ; 1 set number of repetitions (C)
movwf PDel0 ; 1 |
PLoop0 movlw .182 ; 1 set number of repetitions (B)
movwf PDel1 ; 1 |
PLoop1 movlw .82 ; 1 set number of repetitions (A)
movwf PDel2 ; 1 |
PLoop2 clrwdt ; 1 clear watchdog
PDelL1 goto PDelL2 ; 2 cycles delay
PDelL2 goto PDelL3 ; 2 cycles delay
PDelL3 goto PDelL4 ; 2 cycles delay
PDelL4 goto PDelL5 ; 2 cycles delay
PDelL5 goto PDelL6 ; 2 cycles delay
PDelL6 goto PDelL7 ; 2 cycles delay
PDelL7 goto PDelL8 ; 2 cycles delay
PDelL8 goto PDelL9 ; 2 cycles delay
PDelL9 clrwdt ; 1 cycle delay
decfsz PDel2, 1 ; 1 + (1) is the time over? (A)
goto PLoop2 ; 2 no, loop
decfsz PDel1, 1 ; 1 + (1) is the time over? (B)
goto PLoop1 ; 2 no, loop
decfsz PDel0, 1 ; 1 + (1) is the time over? (C)
goto PLoop0 ; 2 no, loop
PDelL10 goto PDelL11 ; 2 cycles delay
PDelL11 goto PDelL12 ; 2 cycles delay
PDelL12 goto PDelL13 ; 2 cycles delay
PDelL13 goto PDelL14 ; 2 cycles delay
PDelL14 goto PDelL15 ; 2 cycles delay
PDelL15 goto PDelL16 ; 2 cycles delay
PDelL16 goto PDelL17 ; 2 cycles delay
PDelL17 goto PDelL18 ; 2 cycles delay
PDelL18 goto PDelL19 ; 2 cycles delay
PDelL19 clrwdt ; 1 cycle delay
return ; 2+2 Done
; Code generated by PDEL ver 1.0 on 02/07/2007 at 06:21:35 p.m.
; Description: Waits 1000 cycles
;-------------------------------------------------------------
PDelayi movlw .248 ; 1 set number of repetitions
movwf PDel0 ; 1 |
PLoopR clrwdt ; 1 clear watchdog
decfsz PDel0, 1 ; 1 + (1) is the time over?
goto PLoopR ; 2 no, loop
PDelLA goto PDelLB ; 2 cycles delay
PDelLB clrwdt ; 1 cycle delay
return ; 2+2 Done
INICIO
BSF STATUS,5
BCF STATUS,6
MOVLW B'00000010'
MOVWF PORTB
CLRF PORTC
MOVLW B'00000001'
MOVWF PORTA
BCF STATUS,5
BSF STATUS,5
BCF STATUS,6
COROSO
BCF STATUS,5
BCF PORTB,3
BCF PORTB,4
CALL RETARDO
BCF PORTB,5
CALL RETARDO
CALL RETARDO