;------------------------------------------------------------- ;Aplicación -> camara prueba productos ;Fecha -> sep 23 del 2003 ;nov 22 2005 si no hay agua se espera 10 seg. y se cierra todo, se adiciono linea 132...cama10.prg ;control temp por resistencia saltem, si se pasa 1.5 grados ;del set se prende frio, a las del 30% se resetea el sistema ;la hume se controla prendiendo el calderin y trabaja igual ;a la temp ;el nivel de agua se detecta por nivel si se abre agu, se ;cierra valv, si en 2 min. si se cierra agu, se dispara sire ;el sistema se reinicia solo. ; ;en temp y hume si se dispara por sobre, se resetea el ;sistema con clear, se puede ver los valores de las variables ;manteniendo oprimida la tecla enter, si sistema permanece ;bloqueado hasta que las variables bajen a sus niveles ; ;hoy parametros de temp y hume para dia y noche. ; ;en &leavar encuentra la def. de variables, e I/O ;se imprementa base de datos, qujeda de 500 registros, si ;se quere aumentar,cambie en la linea file 0,........ ;len=500 por len=xxx donde xxx en la cantidad de registros ;el maximo teorico es de 4000, pero bajar la base de datos ;asi de grande es largo ;se quito call db mayo 16 2005 ;------------------------------------------------------------- MIDA 20M scan equ 99 &ini ld scan jz &lea jmp inicio &lea call &leavar ;PROGRAMA PRINCIPAL ----------------------------------------------- inicio nop call disp ;call db call proc call ala ld izq and arr jnz ini1 jmp fin ini1 ld tecla jnz fin call cali fin end ;--------------------------------------------- ;setala. enciende y apaga la sirena cadaq 10 seg. setala ld 84 jnz setala1 jmp setala2 setala1 set sire jmp setalaf setala2 reset sire setalaf ret ;-------------------------------------------------- ;db escribe en base de datos cada x minutos db movci 0 movri 60 cpei db00 jmp db0 db00 movci 0 stoi 99 db0 ld auxdb2 jnz db1 jmp db3 db1 ;write 0 1 db2 reset auxdb1 reset auxdb2 db3 ld auxdb1 timr timdb temdbi out auxdb2 set auxdb1 dbf ret ;--------------------------------------------------- ala ld agu ;no agua=open jz ala1 reset auxagu1 reset auxagu2 reset valv ;cierra valvula jmp ala2 ala1 set valv ;abre valvula ld auxagu1 ;tempo de 10 seg.. no agua tim timagu 100 out auxagu2 set auxagu1 ld auxagu2 jnz ala11 jmp ala2 ala11 set auxdisp call disp ;call db reset auxdisp call setala ;se dispara el tempo reset saltem reset salhum reset frio reset valv clear disl agua ;nov 22 2005 se corta el agua tambien en 10 segundos com 0 ld agu ;llego el agua? jz ala11 reset sire ;si......!!!! ala2 movri tala ;alarma por temperatura movci 30 muli movci 100 ;le sumamos el 30% divi movri tala ;variable de proc nos pasa el addi ;valor de dia o noche movri temp cpli ala21 ;es mayor del 30% jmp ala3 ;es menor del 30% ala21 set auxdisp call disp ;call db reset auxdisp call setala ;se dispara el tempo reset saltem reset salhum reset frio clear disl sobtem com 0 ala22 ld ent jnz ala23 jmp ala24 ala23 call disp jmp ala22 ala24 ld cle ;reset... jz ala21 reset sire ala3 movri hala ;alarma por humedad movci 30 muli movci 100 divi movri hala addi movri hume cpli ala31 jmp alaf ala31 set auxdisp call disp ;call db reset auxdisp call setala ;se dispara el tempo reset saltem reset salhum reset frio clear disl sobhum com 0 ala32 ld ent jnz ala33 jmp ala34 ala33 call disp jmp ala32 ala34 ld cle jz ala31 reset sire alaf ret ;------------------------------------------------------- proc movri 42 ;hora mayor dia movri hodia cpgei pro1 reset x>a jmp pro2 pro1 set x>a pro2 movri 42 ;hora menor noche movri honoc cpli pro21 reset xa and xa equ 254 xb equ 257 auxdb1 equ 258 auxdb2 equ 259 auxdisp equ 260 ;[REG_INTEGERS] chtem equ 30 ;puntos conversor chhum equ 31 k1t equ 1600 ;k*10 k1tem equ 260 k2t equ 1602 ;k k2tem equ 261 k3t equ 1604 ;k/10 k3tem equ 262 k4t equ 1606 ;b de temp tempt equ 263 ;FINAL DE TEMPERATURA temp equ 264 k1h equ 1609 k1hum equ 265 k2h equ 1611 k2hum equ 266 k3h equ 1613 k3hum equ 267 k4h equ 1615 humet equ 268 hume equ 269 ;FINAL DE HUMEDAD temgeni equ 280 ;tiempo de tempo hodia equ 1618 ;hora dia honoc equ 1619 noc equ 1620 tdia equ 1621 hdia equ 1622 tnoc equ 1623 hnoc equ 1624 tala equ 288 ;temporal temp para ala hala equ 289 temdbi equ 290 ;cada cuanto guarda en db ;[TIM] timgen equ 200 ;temporizador general timagu equ 201 ;agua calderin timdb equ 202 ;[CNT] ;[NOP] dtp1 lite "t1" dtp2 lite "t2" dhp1 lite "h1" dhp2 lite "h2" caltem lite "T? e/c" calhum lite "H? e/c" dk1t lite "k1 tem" dk2t lite "k2 tem" dk3t lite "k3 tem" dk4t lite "k4 tem" dk1h lite "k1 hum" dk2h lite "k2 hum" dk3h lite "k3 hum" dk4h lite "k4 hum" dtemp lite "T=" dhume lite "H=" dhodia lite "HOD e/c" dhonoc lite "HON e/c" dnoc lite "TNC e/c" dtdia lite "TD e/c" dhdia lite "HD e/c" dtnoc lite "TN e/c" dhnoc lite "HN e/c" agua lite "no agua" sobtem lite "alta T" sobhum lite "alta H" ;iniciar variables-------------------------------- file 0,300d,310t,268i,278i,len=500,type=c reset auxdb1 reset auxdb2 varf ret