;------------------------------------------------------------- ;Aplicación -> BAS14CHOCO ;Fecha -> FEB 23 2003 ;------------------------------------------------------------- MIDA 14 ;[REG_RELAYS] sensor equ 1 sentem equ 127 sensor1 equ 128 tomdat equ 129 ;rele toma de dato en com1 cero equ 130 ;VARIABLES PARA EST led118 equ 118 finad equ 110 ;fin de conversion a/d ;[REG_INTEGERS] bascu equ 200 ;VARIABLES PARA EST parcon equ 160 ;parcial conteo parcon1 equ 162 ;para estabilidad parcon2 equ 164 ;para estabilidad fincon2 equ 613 ;contador de tiempo de estabilizacion fincon equ 614 ;fin de conteo contador media fincon1 equ 615 ;contador desviacion ;[REG_FLOATS] peso equ 0 peso1 equ 5 ;VARIABLES PARA EST canal0 equ 6 pesofin equ 24 ;suma de pesos para buscar media finflot equ 25 ;numero de muestras en conteo a flotante media equ 26 ;media temdes equ 27 ;desviacion de cada muestra con signo pepe equ 77 ;variable aux para inestabilidad setdesv equ 410 ;cuanto se permite en desviacion findes equ 29 ;suma de desviacion desvia equ 31 ;desviacion final ;[TIM] ;[CNT] ;[NOP] ;VARIABLES PARA INICIAR ----------------------------------------------- movci 0 stoi bascu movci 20 ;numero de conteos calculo de media stoi fincon movci 20 ;numero conteo calculos de desviacion stoi fincon1 movci 500 ;indica cuanto permanece encendido el led118 stoi fincon2 reset cero ;programa principal inicio-------------------------- inicio Nop call est movrf 0 movcf 1000 mulf stof peso1 ;mustra el peso en gramos clear disrf peso1 41 com 0 ld sensor jz ini00 jmp ini2 ini00 ld sensor1 jnz ini0 ini0 ld sensor ;sensor y est si 1 ini1 andnt led118 out tomdat ld tomdat ;toma de dato en com1 jnz ini1 jmp ini2 ini1 clear ;muestra el peso en com 1 disrf peso1 41 com 1 ini2 reset sensor1 ink 30 jnz cali ink 31 jnz tara ink 32 jnz prop ink 33 jnz stab jmp inicio Fin end ;programa principal fin ---------------------------- ;subrutinas de teclado inicio------------------------------- cali func 8 bascu jmp inicio tara func 7 bascu jmp inicio prop func 9 0 jmp inicio stab clear disrf setdesv 42 com 1 inf 2 2 stof setdesv jmp inicio ;subrutinas de teclado fin------------------------------- ;estabilidad inicio ------------------------------------------- est nop ; rutina para buscar la media inicio----------------------- ; SUMATORIA ( canal analogo + pesofin) desde 1 hasta fincon ;donde pesofin inicia en cero iniest movif 110 ;lee canal analogo cero y lo almacena en peso1 stof canal0 ;ld finad ;O J O suceptible de borrar pregunta por el led de fin de conversion que siempre esta en uno ;jz iniest movrf pesofin ;mueve valor de pesofin que para la primera vez esta en cero movrf canal0 ;mueve el valor del canal analogo addf ;pesofin+peso1 stof pesofin ;suma de pesos movif fincon stof finflot ;conversion de entero a flot numero muestras movri parcon ;contador y comparador movci 1 addi stoi parcon movri parcon movri fincon cplei iniest ;CALCULO EL VALOR DE LA MEDIA CON EL RESULTADO ;DE LA SUMATORIA movrf pesofin movrf finflot divf ;valor medio stof media ;rutina media fin ------------------------------------ ; rutinas de reseteo inicio -------------------------- movcf 0 stof pesofin movci 1 ;resetee el contador stoi parcon movcf 1 stof findes ;rutinas de reseteo fin ------------------------------- ;rutina para la desviacion inicio -------------------- iniest1 ld finad jz iniest1 movif 110 stof pepe movrf pepe movrf media subf stof temdes ;resta que de la desviacion movrf temdes movrf temdes mulf stof temdes ;parentesis al cuadrado movrf temdes movrf findes addf stof findes ;sumatorias de los parentesis movri parcon1 ;contador y comparador movci 1 addi stoi parcon1 movri parcon1 movri fincon1 cplei iniest1 movci 1 ;resetee el contador stoi parcon1 movrf findes movrf finflot divf stof desvia ;calculo de desviacion ;rutina desviacion fin --------------------------------- ;rutina de comparacion determina si esta estable inicio------- movrf desvia movrf setdesv cpgef iniest4 ;busca el maximo movrf setdesv movrf desvia cplef iniest4 ;busca el minimo reset led118 jmp iniest5 iniest4 set led118 movri parcon2 ;contador y comparador movci 1 addi stoi parcon2 movri parcon2 movri fincon2 cplei iniest4 movci 1 stoi parcon2 ;rutina de comparacion fin ---------------------------------- iniest5 ret ;estabilidad fin ------------------------------------------------------------