;------------------------------------------------------------- ;Aplicación -> tem y hum com base en &leacan ; canal1=temp can3=humedad ;Fecha -> marzo 23 2003 ;------------------------------------------------------------- mida 14 scan equ 99 ;programa principal--------------------------------------- &ini ld scan jz &lea jmp ini0 &lea call &leavar ini0 call &leacan ink &up out uptem ld uptem jnz para jmp ini1 para call par ini1 movrf 1 stof temp clear disrf &valdat 41 com 0 clear disrf temp 41 com 1 jmp fin fin end ;par----------------------- par reset paraux1 reset paraux2 par1 ld paraux1 tim 48 40 out paraux2 set paraux1 ld &up out uptem ld uptem jz par2 ld paraux2 jz par1 func 9 0 par2 ret ;rutina leacanal==================================== &leacan &ini0 ld &up and &lef out &encal ld &encal jnz &ini1 jmp &ini2 &ini1 call &men &ini2 movci 0 stoi &procon movcf 0 stof &summed &ini3 movrf &summed movif &can addf stof &summed inc &procon 1 movri &procon movri &pro cpli &ini3 movrf &summed movif &procon divf ; valor del dato buscado con promedio seleccionado--------------------- stofi &valtemi movif &valtemi stof &valtem movrf &valtem movif &p0 subf stof &valmed1 movrf &valmed1 movrf &k mulf stof &valmed2 movrf &valmed2 movrf &p0v addf stof &valmed3 ink &cle jnz &ini4 jmp &ini5 &ini4 movrf &valmed3 stof &valmed4 func 7 &bas &ini5 movrf &valmed3 movrf &valmed4 subf stof &valdat ;valor con promedio reg flota 3--------- ;----------------------------------------------------------------------- jmp &fin &fin ret ;fin programa principal-------------------------------- ;&men--------------------------------------------------- &men clear disl &lcal com 0 clear disl &lec com 1 ink &ent out &enttem ink &cle out &cletem ld &enttem or &cletem jz &men ld &enttem jnz &men1 ld &cletem jnz &menf jmp &menf &men1 clear disl &lp_0 com 0 inf 1 1 ;valor punto 0 stof &p0v movri &can stoi &p0 clear disl &lp_1 com 0 inf 1 1 ;valor punto 1 stof &p1v movri &can stoi &p1 movri &p1 movri &p0 subi stoi &resx movrf &p1v movrf &p0v subf stof &resy movrf &resy movif &resx divf stof &k clear com 0 clear com 1 func 8 &bas &menf ret ;fin leacanal=========================================== ;leavar================================================= &leavar ;[REG_RELAYS] paraux1 equ 200 paraux2 equ 201 uptem equ 202 &encal equ 500 &ent equ 30 &cle equ 31 &up equ 32 &lef equ 33 &enttem equ 501 &cletem equ 502 ;[REG_INTEGERS] &can equ 110 &bas equ 505 &dec equ 506 &pro equ 507 &fes equ 508 &tar equ 509 &cer equ 510 &procon equ 511 &p0 equ 512 &p1 equ 513 &resx equ 516 &valtemi equ 517 ;[REG_FLOATS] &valdat equ 3 temp equ 4 &valtem equ 350 &resy equ 351 &k equ 352 &p0v equ 353 &p1v equ 354 &summed equ 355 &valmed equ 356 &valmed1 equ 357 &valmed2 equ 358 &valmed3 equ 359 &valmed4 equ 360 ;[TIM] ;[CNT] ;[NOP] ;[textos] &lcal lite "cali" &lec lite "e_c" &lp_0 lite "dat0" &lp_1 lite "dat1" ;iniciar variables-------------------------------- movci 500 stoi &pro movci 1 stoi &bas ret ;======================================================