Documentos de Académico
Documentos de Profesional
Documentos de Cultura
; Rev. 01 // 04-OCT-2003 //
cprog
estado
ptoa
ptob
ptoc
tiempo1
tiempo2
tiempo3
veces
display
general
equ
equ
equ
equ
equ
equ
equ
equ
equ
equ
equ
0x02
0x03
0x05
0x06
0x07
0x20
0x21
0x22
0x23
0x24
0x25
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
RP0
SELECT
START
MEDIA
NOCENT
PRES50
PRES100
BUZZER
MOTFAST
MOTSLOW
CALEF
VALVULA
BOMBA
SERVON
SERVPUL
PAUSA
estado, 5
ptoa, 0
ptoa, 1
ptoa, 2
ptoa, 3
ptoa, 4
ptoa, 5
ptob, 7
ptob, 6
ptob, 5
ptob, 4
ptob, 3
ptob, 2
ptob, 1
ptob, 0
general, 0
goto
INICIO
addwf
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
cprog, 1
b'00111111'
b'00000110'
b'01011011'
b'01001111'
b'01100110'
b'01101101'
b'01111101'
b'00000111'
b'01111111'
b'01101111'
b'01000000'
b'01111001'
b'01110001'
b'01110011'
ptoa
ptob
ptoc
general
RP0
b'00000110'
0x1F
b'00111111'
ptoa
ptob
ptoc
RP0
TABLA
INICIO clrf
clrf
clrf
clrf
bsf
movlw
movwf
movlw
movwf
clrf
clrf
bcf
;Flags en cero
movlw
call
movwf
movlw
movwf
bsf
call
bcf
call
btfss
durante el goto
btfss
goto
decfsz
goto
goto
d'10'
TABLA
ptoc
d'10'
tiempo3
ptoc, 7
DEL250
ptoc, 7
DEL250
START
SETPAP
SELECT
SETPAP
tiempo3, 1
$ -9
AUTOM
SETPAP movlw
call
movwf
bsf
call
call
btfss
goto
btfss
goto
d'13'
TABLA
ptoc
PAUSA
BEEP
DEL250
SELECT
$ -2
START
$ -4
;Coloca la P en el display
AUTOM
btfsc
goto
movlw
call
movwf
call
call
call
call
call
bsf
btfss
goto
call
call
bcf
PRES50
SEL1C
d'11'
TABLA
ptoc
BEEP
DEL250
BEEP
DEL250
BEEP
BOMBA
PRES50
$ -1
DIEZSEG
DIEZSEG
BOMBA
movlw
call
movwf
call
call
btfss
goto
btfss
goto
btfss
goto
goto
movlw
call
movwf
call
d'1'
TABLA
ptoc
BEEP
DEL250
SELECT
$ -2
SELECT
SEL2C
START
START1C
$ -4
d'2'
TABLA
ptoc
BEEP
SEL1C
SEL2C
;Desconecta la bomba
SEL3C
SEL4C
SEL5C
SEL6C
SEL1L
call
btfss
goto
btfss
goto
btfss
goto
goto
movlw
call
movwf
call
call
btfss
goto
btfss
goto
btfss
goto
goto
movlw
call
movwf
call
call
btfss
goto
btfss
goto
btfss
goto
goto
movlw
call
movwf
call
call
btfss
goto
btfss
goto
btfss
goto
goto
movlw
call
movwf
call
call
btfss
goto
btfss
goto
btfss
goto
goto
DEL250
SELECT
$ -2
SELECT
SEL3C
START
START2C
$ -4
d'3'
TABLA
ptoc
BEEP
DEL250
SELECT
$ -2
SELECT
SEL4C
START
START3C
$ -4
d'4'
TABLA
ptoc
BEEP
DEL250
SELECT
$ -2
SELECT
SEL5C
START
START4C
$ -4
d'5'
TABLA
ptoc
BEEP
DEL250
SELECT
$ -2
SELECT
SEL6C
START
START5C
$ -4
d'6'
TABLA
ptoc
BEEP
DEL250
SELECT
$ -2
SELECT
SEL1L
START
START6C
$ -4
movlw
call
movwf
bsf
call
call
d'1'
TABLA
ptoc
ptoc, 7
BEEP
DEL250
;Programa largo 1
SEL2L
SEL3L
SEL4L
SEL5L
SEL6L
btfss
goto
btfss
goto
btfss
goto
goto
movlw
call
movwf
bsf
call
call
btfss
goto
btfss
goto
btfss
goto
goto
movlw
call
movwf
bsf
call
call
btfss
goto
btfss
goto
btfss
goto
goto
movlw
call
movwf
bsf
call
call
btfss
goto
btfss
goto
btfss
goto
goto
movlw
call
movwf
bsf
call
call
btfss
goto
btfss
goto
btfss
goto
goto
movlw
call
movwf
bsf
SELECT
$ -2
SELECT
SEL2L
START
START1L
$ -4
d'2'
TABLA
ptoc
ptoc, 7
BEEP
DEL250
SELECT
$ -2
SELECT
SEL3L
START
START2L
$ -4
d'3'
TABLA
ptoc
ptoc, 7
BEEP
DEL250
SELECT
$ -2
SELECT
SEL4L
START
START3L
$ -4
d'4'
TABLA
ptoc
ptoc, 7
BEEP
DEL250
SELECT
$ -2
SELECT
SEL5L
START
START4L
$ -4
d'5'
TABLA
ptoc
ptoc, 7
BEEP
DEL250
SELECT
$ -2
SELECT
SEL6L
START
START5L
$ -4
d'6'
TABLA
ptoc
ptoc, 7
SEL7L
call
call
btfss
goto
btfss
goto
btfss
goto
goto
movlw
call
movwf
bsf
call
call
btfss
goto
btfss
goto
btfss
goto
goto
BEEP
DEL250
SELECT
$ -2
SELECT
SEL7L
START
START6L
$ -4
d'7'
TABLA
ptoc
ptoc, 7
BEEP
DEL250
SELECT
$ -2
SELECT
SEL1C
START
START7L
$ -4
START1C call
call
call
movlw
call
call
BEEP
BOX1
CARGAR
d'6'
LAVAR
VACIAR
START2C call
movlw
call
movwf
btfss
goto
btfsc
goto
SIGUE2C call
call
movlw
call
call
BEEP
d'2'
TABLA
ptoc
PAUSA
SIGUE2C
START
$ -7
BOX2
CARGAR
d'6'
LAVAR
VACIAR
START3C call
movlw
call
movwf
btfss
goto
btfsc
goto
SIGUE3C call
call
movlw
call
call
BEEP
d'3'
TABLA
ptoc
PAUSA
SIGUE3C
START
$ -7
BOX2
CARGAR
d'6'
LAVAR
VACIAR
START4C call
movlw
call
movwf
btfss
BEEP
d'4'
TABLA
ptoc
PAUSA
goto
btfsc
goto
SIGUE4C call
call
movlw
call
call
SIGUE4C
START
$ -7
BOX2
CARGAR
d'51'
LAVAR
VACIAR
START5C call
movlw
call
movwf
btfss
goto
btfsc
goto
SIGUE5C call
call
movlw
call
call
BEEP
d'5'
TABLA
ptoc
PAUSA
SIGUE5C
START
$ -7
BOX3
CARGAR
d'24'
LAVAR
VACIAR
START6C call
movlw
call
movwf
btfss
goto
btfsc
goto
SIGUE6C call
movlw
call
movwf
call
btfsc
goto
movlw
call
movwf
call
btfss
goto
goto
BEEP
d'6'
TABLA
ptoc
PAUSA
SIGUE6C
START
$ -7
CENTRIF
d'12'
TABLA
ptoc
BEEPFIN
SELECT
$ -1
d'10'
TABLA
ptoc
DEL250
SELECT
$ -2
SEL1C
START1L call
call
call
movlw
call
call
BEEP
BOX1
CARGAR
d'6'
LAVAR
VACIAR
START2L call
movlw
call
movwf
bsf
btfss
goto
btfsc
goto
SIGUE2L call
BEEP
d'2'
TABLA
ptoc
ptoc, 7
PAUSA
SIGUE2L
START
$ -8
BOX2
call
movlw
call
call
CARGAR
d'21'
LAVAR
VACIAR
START3L call
movlw
call
movwf
bsf
btfss
goto
btfsc
goto
SIGUE3L call
call
movlw
call
call
BEEP
d'3'
TABLA
ptoc
ptoc, 7
PAUSA
SIGUE3L
START
$ -8
BOX2
CARGAR
d'21'
LAVAR
VACIAR
START4L call
movlw
call
movwf
bsf
btfss
goto
btfsc
goto
SIGUE4L call
call
movlw
call
call
BEEP
d'4'
TABLA
ptoc
ptoc, 7
PAUSA
SIGUE4L
START
$ -8
BOX2
CARGAR
d'51'
LAVAR
VACIAR
START5L call
movlw
call
movwf
bsf
btfss
goto
btfsc
goto
SIGUE5L call
call
movlw
call
call
BEEP
d'5'
TABLA
ptoc
ptoc, 7
PAUSA
SIGUE5L
START
$ -8
BOX2
CARGAR
d'21'
LAVAR
VACIAR
START6L call
movlw
call
movwf
bsf
btfss
goto
btfsc
goto
SIGUE6L call
call
movlw
call
BEEP
d'6'
TABLA
ptoc
ptoc, 7
PAUSA
SIGUE6L
START
$ -8
BOX3
CARGAR
d'90'
LAVAR
call
START7L call
movlw
call
movwf
bsf
btfss
goto
btfsc
goto
SIGUE7L call
movlw
call
movwf
call
btfsc
goto
movlw
call
movwf
call
btfss
goto
goto
BOX1
BOX2
BOX3
BOX4
VACIAR
BEEP
d'7'
TABLA
ptoc
ptoc, 7
PAUSA
SIGUE7L
START
$ -8
CENTRIF
d'12'
TABLA
ptoc
BEEPFIN
SELECT
$ -1
d'10'
TABLA
ptoc
DEL250
SELECT
$ -2
SEL1L
;Desagota el tanque
;Muestra el 7 en el display
;Enciende el punto del display
;Si esta pausado...
;Espera que presione el pulsador
;Centrifugado
;Coloca la 'F' en el display
;Hace tres beep's largos
;Espera que presione el pulsador
;Coloca el '-' en el display
;Previene rebotes en pulsadores garcha
;Espera que suelte el pulsador
;Vuelve al comienzo del programa 1 corto
return
CARGAR bsf
btfsc
goto
btfss
goto
goto
MITAD
btfss
goto
goto
LLENO
bcf
return
VALVULA
MEDIA
MITAD
PRES100
LLENO
CARGAR
PRES50
LLENO
CARGAR
VALVULA
;Conecta la electrovlvula
;Verifica si debe cargar a media o completo
;Mira el presostato a 100%
;Si se lleno termina la carga
;Si no se lleno espera que termine la carga
;Mira el presostato al 50%
;Si alcanz el nivel termina la carga
;Si no alcanz el nivel espera que llegue
;Desconecta la electrovlvula
;////////////////////////////////////////////////////////////////////////////////////////
;PROCESO DE LAVADO
;Demora 6 minutos en cargar el agua y dos minutos mas en descargarla
;Por lo que el tiempo total del lavado es igual a 8 min + (W * 20 seg)
;Lavado de 10 min -> W = 6
;Lavado de 15 min -> W = 21
;Lavado de 16 min -> W = 24
;Lavado de 25 min -> W = 51
;Lavado de 38 min -> W = 90
;////////////////////////////////////////////////////////////////////////////////////////
LAVAR
movwf
veces
;Utiliza W para condicionar la cant. de ciclos de lavado
LAVAMAS bsf
MOTSLOW
;Enciende el motor en baja velocidad durante 10 segundos
movf
ptoc, 0
;Resguarda el numero mostrado en el display
movwf
display
call
DIEZANI
bcf
MOTSLOW
;Apaga el motor durante 10 segundos
movf
display, 0
;restaura el display a su estado normal
movwf
ptoc
call
DIEZSEG
decfsz veces, 1
goto
LAVAMAS
return
VACIAR bsf
btfss
goto
call
call
bcf
return
BOMBA
PRES50
$ -1
DIEZSEG
DIEZSEG
BOMBA
CENTRIF btfsc
return
btfsc
goto
bsf
btfss
goto
call
call
bcf
CENT2
bsf
bsf
call
call
call
call
call
call
movlw
movwf
bsf
call
bcf
call
call
call
decfsz
goto
bcf
return
NOCENT
DIEZANI movlw
movwf
call
decfsz
goto
return
d'10'
tiempo3
ANIM
tiempo3, 1
$ -2
ANIM
b'00100000'
ptoc
DEL250
b'00000001'
ptoc
DEL250
b'00000010'
ptoc
DEL250
b'01000000'
ptoc
DEL250
movlw
movwf
call
movlw
movwf
call
movlw
movwf
call
movlw
movwf
call
return
PRES50
CENT2
BOMBA
PRES50
$ -1
DIEZSEG
DIEZSEG
BOMBA
MOTFAST
BOMBA
DIEZSEG
DIEZSEG
DIEZSEG
DIEZSEG
DIEZSEG
DIEZSEG
d'4'
veces
BOMBA
DIEZSEG
BOMBA
DIEZSEG
DIEZSEG
DIEZSEG
veces, 1
$ -7
MOTFAST
;Apaga el motor
DIEZSEG movlw
goto
UNSEG
movlw
movwf
call
decfsz
goto
return
d'40'
$ +2
d'4'
tiempo3
DEL250
tiempo3, 1
$ -2
;Demora de 10 segundos
DEL250 movlw
movwf
TOP2
movlw
movwf
TOP1
nop
nop
nop
nop
nop
nop
decfsz
goto
decfsz
goto
return
d'250'
tiempo2
d'110'
tiempo1
BEEPFIN movlw
movwf
call
decfsz
goto
call
movlw
movwf
call
decfsz
goto
call
movlw
movwf
call
decfsz
goto
return
d'7'
veces
BEEP
veces, 1
$ -2
DEL250
d'7'
veces
BEEP
veces, 1
$ -2
DEL250
d'7'
veces
BEEP
veces, 1
$ -2
BEEP
movlw
movwf
bsf
call
bcf
call
decfsz
goto
return
d'75'
tiempo2
BUZZER
DEL55
BUZZER
DEL55
tiempo2, 1
$ -5
DEL55
movlw
d'55'
movwf
tiempo1
nop
nop
nop
nop
nop
nop
decfsz tiempo1, 1
T1
;Demora de 1 segundo
tiempo1, 1
TOP1
tiempo2, 1
TOP2
;Hace tres beep's largos
goto
T1
return
end
hex
:020000040000FA
:10000000102882073F3406345B344F3466346D3435
:100010007D3407347F346F34403479347134733431
:10002000850186018701A501831606309F003F30B8
:1000300085008601870183120A30012087000A307B
:10004000A2008717F4218713F421851C2C28051C96
:100050002C28A20B212836280D30012087002514DA
:100060001522F421051C3128851C3128051A462843
:100070000B30012087001522F4211522F4211522CE
:100080000615051E4128EC21EC2106110130012046
:1000900087001522F421051C4A28051C5228851CBE
:1000A000E9284D280230012087001522F421051C83
:1000B0005628051C5E28851CEF285928033001208E
:1000C00087001522F421051C6228051C6A28851C5E
:1000D000FC2865280430012087001522F421051C26
:1000E0006E28051C7628851C0929712805300120F9
:1000F00087001522F421051C7A28051C8228851CFE
:1001000016297D280630012087001522F421051CC0
:100110008628051C8E28851C23298928013001206A
:10012000870087171522F421051C9328051C9B289E
:10013000851C39299628023001208700871715224F
:10014000F421051CA028051CA828851C3F29A328EC
:1001500003300120870087171522F421051CAD28E4
:10016000051CB528851C4D29B028043001208700C6
:1001700087171522F421051CBA28051CC228851CE6
:100180005B29BD2805300120870087171522F4213F
:10019000051CC728051CCF28851C6929CA280630DC
:1001A0000120870087171522F421051CD428051C7F
:1001B000DC28851C7729D72807300120870087177E
:1001C0001522F421051CE128051C4628851C8529DB
:1001D000E42815229C219D210630A821B421152256
:1001E000023001208700251CF7288518EF289C2164
:1001F0009D210630A821B42115220330012087005B
:10020000251C04298518FC289C219D210630A82145
:10021000B4211522043001208700251C11298518DE
:1002200009299C219D213330A821B42115220530B4
:1002300001208700251C1E29851816299C219D2137
:100240001830A821B4211522063001208700251C72
:100250002B2985182329BB210C300120870003227C
:10026000051830290A3001208700F421051C3529A2
:10027000462815229C219D210630A821B421152253
:100280000230012087008717251C482985183F293F
:100290009C219D211530A821B42115220330012075
:1002A00087008717251C562985184D299C219D21DB
:1002B0001530A821B42115220430012087008717AA
:1002C000251C642985185B299C219D213330A82198
:1002D000B42115220530012087008717251C7229BB
:1002E000851869299C219D211530A821B42115224A
:1002F0000630012087008717251C8029851877295B
:100300009C219D215A30A821B421152207300120BB
:1003100087008717251C8E2985188529BB210C305D
:10032000012087000322051893290A300120870045
:10033000F421051C98298E28080086150519A32983
:10034000851EA6299D29051EA6299D29861108001E
:10035000A30086160708A400D92186122408870066
:10036000EC21A30BA92908000615051EB529EC21CF
:10037000EC210611080085190800051AC529061583
:10038000051EC029EC21EC21061106170615EC21EB
:10039000EC21EC21EC21EC21EC210430A30006152A
:1003A000EC210611EC21EC21EC21A30BCF29061343
:1003B00008000A30A200DF21A20BDB290800203050
:1003C0008700F42101308700F42102308700F421F6
:1003D00040308700F42108002830EF290430A200C3
:1003E000F421A20BF0290800FA30A1006E30A00021
:1003F000000000000000000000000000A00BF82931
:10040000A10BF62908000730A3001522A30B052A2B
:10041000F4210730A3001522A30B0B2AF421073087
:10042000A3001522A30B112A08004B30A100861748
:100430001E2286131E22A10B172A08003730A000A7
:10044000000000000000000000000000A00B202AB7
:020450000800A2
:00000001FF