Escolar Documentos
Profissional Documentos
Cultura Documentos
;
| | | | | | | | | | | |
;
_|__|__|__|__|__|__|__|__|__|__|__|_
_\\|//_
Jose
;
|
|
(| o-o |)
Martinez
;
|
www.microcontroladorespic.com
|
\ (_) /
Ortiz
;
|)
|
\_"_/
;
| TEMPORIZADOR CICLICO PROGRAMABLE |
__|U|__
;
|
|
/
\
;
|_ __ __ __ __ __ __ __ __ __ __ __ _|
/ /|
|\ \
;
| | | | | | | | | | | |
/ / |
| \ \
;
| | | | | | | | | | | |
"" |___| ""
;
;******************************
CONFIGURACION
****************************
;CP_OFF
- Codigo de proteccion programa desactivado
;CPD_OFF
- Codigo de proteccion eeprom desactivado
;WDT_OFF
- Perro guardian desconectado
;BODEN_OFF
- No actua el reset por bajada de tension
;PWRTE_OFF
- Reset de inicio desconectado
;MCLRE_OFF
- Reset externo desconectado, sino pierdo una
entrada A5
;XT_OSC
- oscilador exterior
;INTOSC_OSC_NOCLKOUT - funcionamiento con reloj interno
;LVP_OFF
- programacion de bajo voltage desconectado,
;
para activar el pin 4 de RB
__CONFIG _MCLRE_OFF & _CP_OFF & _WDT_ON & _INTRC_OSC_NOCLKOUT &
_PWRTE_ON
LIST
INCLUDE
P=16F629
<P12F629.INC>
;Procesador utilizado.
;*****************************
****************************
CBLOCK
PDel0
PDel1
tiempo_ON
tiempo_OFF
ENDC
0x20
;Inicio de
;utilizado
;utilizado
;utilizado
;utilizado
MAPA DE MEMORIA
la memoria de datos
para los retardos
para los retardos
para los retardos
para los retardos
;******************************
****************************
ZONA DE DATOS
#define Led
GPIO,5
#define Rele GPIO,4
#define Micros GPIO
#define
#define
bcf STATUS,RP0
bsf STATUS,RP0
Banco0
Banco1
;************************************************************************
******
;********************************** INICIO
**********************************
;************************************************************************
******
reset
org 0x00
goto inicio
org 0x04
int.
inicio
Banco1
call
movwf
0x3ff
OSCCAL
;
;
CALIBRACION DEL
OSCILADOR INTERNO
movlw
movwf
b'001111'
TRISIO
;0=salida, 1=entrada
;lo tranfiere al puerto
;************************************************************************
******
;******************************* PRINCIPAL
***********************************
;************************************************************************
******
principal
movf Micros,W
andlw b'00001111'
addwf
PCL,F
tabla
goto
cero
goto
goto
goto
goto
goto
goto
goto
goto
goto
goto
goto
goto
goto
goto
goto
uno
dos
tres
cuatro
cinco
seis
siete
ocho
nueve
diez
once
doce
trece
catorce
quince
;************************************************************************
******
;****************************** CONFIGURACION
*******************************
;************************************************************************
******
cero
call
ON_10min
goto
principal
microinterruptores
uno
call
ON_9min5
call
OFF_0min5
goto
principal
microinterruptores
dos
call
ON_9min
call
OFF_1min
goto
principal
microinterruptores
tres
call
ON_8min5
call
OFF_1min5
goto
principal
microinterruptores
cuatro
call
ON_8min
call
OFF_2min
goto
principal
microinterruptores
cinco
call
ON_7min5
call
OFF_2min5
goto
principal
microinterruptores
seis
call
ON_7min
call
OFF_3min
goto
principal
microinterruptores
siete
call
ON_6min5
call
OFF_3min5
goto
principal
microinterruptores
ocho
call
ON_6min
call
OFF_4min
goto
principal
microinterruptores
nueve
call
ON_5min5
call
OFF_4min5
goto
principal
microinterruptores
diez
call
ON_5min
call
OFF_5min
goto
principal
microinterruptores
once
call
ON_4min5
call
OFF_5min5
goto
principal
microinterruptores
doce
call
ON_4min
call
OFF_6min
goto
principal
microinterruptores
trece
call
ON_3min
call
OFF_7min
goto
principal
microinterruptores
catorce
call
ON_2min
call
OFF_8min
goto
principal
microinterruptores
quince
call
ON_1min
call
OFF_9min
goto
principal
microinterruptores
;************************************************************************
******
;***************************
TIEMPOS ON
***************************
;************************************************************************
******
ON_10min
call
ON_30s
ON_9min5
call
ON_30s
ON_9min
call
ON_30s
ON_8min5
call
ON_30s
ON_8min
call
ON_30s
ON_7min5
call
ON_30s
ON_7min
ON_6min5
ON_6min
ON_5min5
ON_5min
ON_4min5
ON_4min
ON_3min5
ON_3min
ON_2min5
ON_2min
ON_1min5
ON_1min
ON_0min5
call
call
call
call
call
call
call
call
call
call
call
call
call
call
return
ON_30s
ON_30s
ON_30s
ON_30s
ON_30s
ON_30s
ON_30s
ON_30s
ON_30s
ON_30s
ON_30s
ON_30s
ON_30s
ON_30s
; vuelvo donde se hizo la llamada
;************************************************************************
******
;***************************
ON_1min
***************************
;************************************************************************
******
ON_30s
s30_ON
bsf
movlw
movwf
Rele
.30
tiempo_ON
;conecta el rele
;corresponde a 30, para hacer 30 segundos
call
decfsz
ON_1seg
tiempo_ON,1
; Va a esperar 1seg
; comienza a restar. cuando sea 0 salta 1
goto
s30_ON
linea
return
;************************************************************************
******
;***************************
ON_1seg
***************************
;************************************************************************
******
ON_1seg
1seg.
ON_1s
call
ON_1s
bsf
call
bsf
call
Led
DEMORA
Led
DEMORA
;enciende el led
;249msg
;enciende el led
;249msg
return
;************************************************************************
******
;***************************
TIEMPOS OFF
***************************
;************************************************************************
******
OFF_10min
call
OFF_30s
OFF_9min5
OFF_9min
OFF_8min5
OFF_8min
OFF_7min5
OFF_7min
OFF_6min5
OFF_6min
OFF_5min5
OFF_5min
OFF_4min5
OFF_4min
OFF_3min5
OFF_3min
OFF_2min5
OFF_2min
OFF_1min5
OFF_1min
OFF_0min5
call
call
call
call
call
call
call
call
call
call
call
call
call
call
call
call
call
call
call
return
OFF_30s
OFF_30s
OFF_30s
OFF_30s
OFF_30s
OFF_30s
OFF_30s
OFF_30s
OFF_30s
OFF_30s
OFF_30s
OFF_30s
OFF_30s
OFF_30s
OFF_30s
OFF_30s
OFF_30s
OFF_30s
OFF_30s
; vuelvo donde se hizo la llamada
;************************************************************************
******
;***************************
OFF_30seg
***************************
;************************************************************************
******
OFF_30s
bcf
Rele
; desconecta el rele
movlw
0x1e
;corresponde a 30, para hacer 30 segundos
movwf
tiempo_OFF
s30_OFF
call
decfsz
OFF_1seg
tiempo_OFF,1
; Va a esperar 1seg
;comienza a restar cuando sea 0 salta 1
goto
s30_OFF
linea
return
;************************************************************************
******
;***************************
OFF_1min
***************************
;************************************************************************
******
OFF_1mi
bcf
Rele
; desconecta el rele
movlw
.60
;corresponde a 60, para hacer 1 minuto
movwf
tiempo_OFF
uno_OFF
call
decfsz
OFF_1seg
tiempo_OFF,1
; Va a esperar 1seg
;comienza a restar cuando sea 0 salta 1
goto
uno_OFF
linea
return
;************************************************************************
******
;***************************
OFF_1seg
***************************
;************************************************************************
******
OFF_1seg
1seg.
OFF_1s
call
OFF_1s
bsf
call
bcf
call
Led
DEMORA
Led
DEMORA
;enciende el led
;249msg
;apaga el led
;249msg
return
;************************************************************************
******
;*****************
RETARDO 250ms
********************
;************************************************************************
******
;------------------------------------------------------------; Generado con PDEL ver SP
; Descripcion: Delay 249996 ciclos
;------------------------------------------------------------DEMORA movlw
.195
; 1 set numero de repeticion (B)
movwf
PDel0
; 1 |
PLoop1 movlw
.213
; 1 set numero de repeticion (A)
movwf
PDel1
; 1 |
PLoop2 clrwdt
; 1 clear watchdog
PDelL1 goto PDelL2
; 2 ciclos delay
PDelL2
decfsz
PDel1, 1 ; 1 + (1) es el tiempo 0 ? (A)
goto
PLoop2
; 2 no, loop
decfsz
PDel0, 1 ; 1 + (1) es el tiempo 0 ? (B)
goto
PLoop1
; 2 no, loop
clrwdt
; 1 ciclo delay
return
; 2+2 Fin.
;--------------------------------------------------------------------------org
0x3FF
;
OSSCAL
------------------retlw
0x20
;
VALOR DE CALIBRACION ------------------;--------------------------------------------------------------------------END