Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Mecnica sensores de trabajo con discreta viaje puntos que permiten el agua nivel deteccin slo en esos puntos. La propsito para diseo de referencia de esta es permitir al usuario evaluar un sensor de presin para no slo el nivel del agua de deteccin para reemplazar un mecnico interruptor, pero tambin para agua flujo medida, , deteccin de fugas y otros soluciones para inteligente aparatos. Este sistema supervisa continuamente el nivel de agua y agua flujo usando la temperatura compensado MPXM2010GS sensor de presin en el bajo costo MPAK paquete, un dual opamp, y el MC68HC908QT4, 8pin microcontroller. PRESIN SENSOR La familia de sensor de presin de Motorola tiene tres niveles de integracin Uncompensated, compensacin y integrados. Para este diseo, el sensor de presin compensada MPXM2010GS fue seleccionado porque tiene dos compensaciones de temperatura y calibracin circuitos en el silicio, permitiendo un simple an ms robusto sistema circuito diseo. Un presin integrado sensor, tales como el MPXV5004G, es tambin una buena opcin para la diseo eliminando la necesita para la amplificacin circuitry. La altura de la mayora de las cubas de lavadora es los 40cm, por lo tanto el agua altura gama que esta sistema a ser de medicin se encuentra entre 040cm. esto corresponde a un rango de presin de 0 4 kPa. Por lo tanto, era el MPXM2010GS seleccionado para este sistema. La sensor sensibilidad es 2.5mV / kPa, con un fullscale span de 25mV en la tensin de alimentacin de 10 Vdc. la fullscale salida de el sensor cambios linealmente con tensin de alimentacin, para una tensin de alimentacin de 5V devolver un palmo fullscale de 12,5 mV. (Vs actual / Vs spec) x Vout fullscale spec = Vout fullscale (5 V / 10 V) x 25 mV = 12.5 mV Puesto que esta aplicacin slo se utiliza el 40% de la presin gama, 04kPa, nuestra mximo salida voltaje a ser 40% de la fullscale span.
El paquete del sensor de presin es un paquete de MPAK portado. Esto permite un tubo ser conectado al sensor; el tubo est conectado a la parte inferior de la baera. Esto asla el sensor de directa en contacto con con la water. El pequeo tamao, y baja costo son adicional caractersticas que hacer este paquete un perfecto ajuste para este aplicacin. Figura 1. MPXM2010GS/GST1 Caso 1320A Freescale Semiconductor, Inc. T1 capacidad: MPXM2010D OPERATING caractersticas (VS = 10 Vdc, TA = 25C si si seal, P1 > P2) Caracterstica Smbolo Min T YP Max Unidad Presin gama(1) Amplificador seleccin y amplificador inducida por errores El sensor salida necesita a ser amplificado antes de ser introducidos directamente a la microcontrolador a travs de un 8bit A/D entrada de pin. To determinar los requisitos de la amplificacin, la presin de salida del sensor caractersticas y el rango de entrada 05V para el convertidor A/D tuvo que ser considerado.El amplificacin circuito tres opamps se utiliza para agregar un fsetfo y convertir la differential salida de la MPXM2010GS sensor para un ground referenced, tensin asimtrica en la gama de de 0 5V. El presin sensor ha un posible offset de + / 1mV en el mnimo nominal presin. To evitar un no lineal respuesta cuando una presin sensor elegido para la sistema ha un negativo offset (Voff), nos han aadido un 5mV offset a el positiva salida del sensor seal. Esta offset a siguen siendo la mismo cueste lo que cueste de la salida del sensor. Cualquier fsetfo adicional que introducen el sensor o opamp es compensado para por rutinas de software que son invoca cuando la inicial sistema calibracin es hecho. To determinar la ganar requiere para la sistema, la voltaje de salida mximo de el sensor para este aplicacin haba a determinarse. El mximo salida voltaje de el sensor es aproximadamente 12.5mV con un 5V fuente desde el fullscale salida de el sensor cambios linealmente con fuente voltaje. Sistema tendr una presin mxima de 4kPa a 40cm de water. En un 5V supply, a han un mximo sensor salida de 5mV en 4kPa de presin. To amplificar la mximo salida del sensor a
Offset inicial) = 5.0V / (.005V +.005) = 500 El ganar para la sistema fue establecer para 500 a evitar pasamano de fsetsfo posibles desde el sensor de presin o el opamp.
a un noninverting entrada de un opamp. Cada opamp circuito tiene la mismo resistor ratio. La amplificado voltaje seal de la negativos sensor plomo es VA. El resultante voltaje es
VA= (1 + R8/R6) * V4
= (1 + 10/1000) * V4
= (1.001) * V4
El amplificado voltaje seal de el positiva sensor plomo es VB. Esto amplificacin agrega un pequeo ganar a asegurar que el positivo plomo, V2, es siempre mayor que el voltaje salida
El difference entre el positiva sensor voltaje, VB, y el voltaje del sensor negativo, VA se calcula y se amplifica con un resultante por un ganar de 500.
VC= (R12/R11) * (VB VA) = (500K / 1K) * (VB VA) = 500 * (VB VA) El voltaje de salida, Vc, est conectado a un voltaje Colleenr. Por lo tanto, la resultante voltaje, Vc, es pasado a un A/D perno de la microcontroller. El gama de de la A/D convertidor es 0 a 255 cuenta. Howeverr, la A/D Vgrfica que la sistema puede lograr son dependiente en el mximo y mnima sistema salida valores: Conde = (Vhacia fuera VRL) / ( VRH VRL) x 255 donde VXdcr = Transducer salida Voltage Vrh = el voltaje mximo A/D VlH = mnimo A/D voltaje Conde (0mm H20) = (2.5 0) / (5.0 0) x 255 = 127 Conde (40mm H20) = (5.0 0) / (5.0 0) x 255 = 255 Total # cuenta = 255 127 = 127 cuentas.
La resolucin del sistema est determinada por los milmetros de agua que est representado por cada cuenta A/D. Como calcular por encima, la sistema ha un palmo de 226 cuenta a representan el nivel del agua a a y incluyendo 40 cm. por lo tanto, la resolucin es:
Resolucin = mm de agua / Total # cuentas = 400mm/127 puntos = 3,1 mm por cuenta de A/D Cuadro de texto: Semiconductor, Inc.Cuadro de texto: Freescale3396
FowrwwM.moorteooYonlunaf.coormm/sunetmyooYocnonOdunCToTrhs es PrODUct,
Microprocesador To proporcionar el procesamiento de seales para valores de presin, un microprocesador es necesario. El MCU elegido para esta aplicacin es la MC68HC908QT4. Este MCU es perfecto aparato aplicaciones debida a su bajo costo, pequeo 8pin paquete, y otros en-viruta recursos. La MC68HC908QT4 ofrece: un 4 canal, 8bit A/D, un 16bit tiempor, un ajustables interno tiempor, y insystem FLASH HC908QT4 HC164 programacin. La unidad central de procesamiento se basa en el alto rendimiento M68HC08 CPU base y se puede direccin 64
4096 bytes de usuario FLASH y 128 bytes de al azar acceder a la memoria (RAM) para facilitar el mantenimiento y desarrollo de software. Hay 5 lneas de entrada/salida de bidirectional y un entrada lnea que son compartida con otros pin caractersticas.
El MCU es disponibles en 8pin como bien como 16pin paquetes en dos PDIP y SOIC. Para este aplicacin, la 8pin PDIP fue seleccionado. La 8pin PDIP fue elegido para un un paquete pequeo, eventualmente a ser diseado en aplicaciones como la
8pin SOIC. La PDIP permite la cliente a reprogramar el software en un programacin Junta y vuelva a probar.
DISPLAY
Dependiendo de en el calidad de el pantalla requerido, agua nivel y agua flujo puede ser se muestra con 2 LEDs. Si un superior qualitydigital salida es necesario, un opcional LCD interfaz es en el referencia junta. Usando un turno registrar a Mantenga Mostrar los datos, el LCD es impulsado por con slo 3 lneas generan de el microcontrolador: un permiten lnea, un datos lnea, y un reloj seal. Los LEDs estn multiplexados con la seal de reloj y lnea de datos.
R2 R3
1K 1K
Multiplexacin de el microcontrolador salida pernos permite la comunicacin de el LCD a ser logra con 3 pines en lugar de 8 o 11 pins de lneas de la entrada-salida que normalmente son necesarios. Con un 8bit turno register, nos son poder a manualmente reloj en 8 bits de datos. La lnea enable, at, es manualmente cuando habilitado
8 bytes tienen sido cambi de puesto , diciendo la LCD que el datos de datos est disponible para ejecutar autobs.
Mostrar binario valores que corresponden a un presin gama. Velocidad de deteccin o water flow de fuga aparece parpadeando un verde LED en un velocidad relativos a la velocidad de agua flow. El rojo LED a pantalla la direccin de agua flow. Turning rojo LED off significa agua que fluye en el Tina. Turning el LED rojo indica que fluye agua de la baera, o hay un fuga.
Valores digitales para agua altura, tasa de de agua flowy calibracin valores son aparece si un LCD es conectado a la junta.
OTROS
Esto sistema es diseado a corre en un 9V bateadory. Se contiene un regulador de 5V para proveer 5V a la presin sensor, microcontroller, y LCD. La batera es montado en el la parte posterior del tablero utilizando un clip de la batera del resorte del ahorro de espacio.
Cuadro de texto: Semiconductor, Inc.Cuadro de texto: FreescaleDatos del dispositivo Sensor de Motorola
3397
Ref
QTy.
Descripcin
V valor
V Endor
Parte no.
U2
Presin Sensor
Motorola
MPXM2010GS
C1
VCC Cap
0.1uF
Genrico
C2
Opamp Cap
0.1uF
Genrico
C3
0.1uF
Genrico
D1
Rojo LED
Genrico
D2
Verde LED
Genrico
S2, S3
Pulsadores
Genrico
U1
Quad OpAmp
ADI
AD8544
U3
Voltage regulador
5V
Fairchild
LM78L05ACH
U4
Microcontrolador
8pin
Motorola
MC68HC908QT4
R1
W resistente
22K
Genrico
R2
W resistente
2.4 K
Genrico
R3, R6
W resistente
1.2 M
Genrico
R4, R5
W resistente
1.5 K
Genrico
R7, R8
W resistente
10K
Genrico
R9, R10
W resistente
1K
Genrico
U6
LCD (opcional)
16 x 2
Seiko
L168200J000
U5
Cambio registro
TTexas instrumentos
74HC164
Esta nota de aplicacin describe la primera versin del software que fue disponibles. Sin embargo actualizacin software versiones puede ser disponibles con ms funcionalidad y men selecciones.
Cuando la sistema es vuelta en o restablecer, el microcontrolador destellar el LED seleccionar y mostrar el ttulo del programa en la pantalla LCD para 5 segundos o hasta la seleccione (SEL) botn es empuj. A continuacin se muestra la pantalla de men. Usando el botn Seleccionar del (SEL), la usuario puede rollo a travs de el men opciones para un software programa. To corre el agua nivel programa, uso select botn a destacar la "Water nivel" opcin, entonces presiona el enter (ENT) pulsador. La Water nivel programa mostrar actual el nivel del agua, la tasa de flow, un mensaje si el contenedor es "De relleno", "Vaciado", "Completo", o "Vaco", y un desplazamiento historia grfica mostrando datos seala que representa lecturas de nivel de los ltimos cuarenta.
El Water nivel es aparece por recuperar la digital voltaje de el interno A/D Converter. Esta voltaje es convertido a la presin en milmetros de agua y luego aparece en la pantalla LCD.
To calibrar la sistema, un twopoint calibracin se lleva a cabo. La sensor a tomar un calibracin punto en 0mm y en 40mm de water. Mantenga abajo tanto la SEL y ENT botones sistema power up a entrar en calibracin modo. En este punto, el men de calibracin ser exhibido con el previamente muestreados offset voltaje. O T recalibrar la sistema, exponer el sensor de la presin atmosfrica y pulse el botn SEL (PB1). En este punto, la cero offset voltaje a ser muestreados y se guarda en una ubicacin en el microcontrolador memory. To obtener el segundo calibracin
punto, lugar el final de el plstico tubo de el presin sensor a la inferior de un contenedor sosteniendo
40mm de water. y prensa la ENT botn (PB2). La tensin salida a ser muestreados, un promedio de y salv a un
40 cm
lubricacin cm
30 cm
25 cm
20 cm
15 cm
10 cm
5 cm
Hidrosttica presin que nos son medicin es el presin en el inferior de un columna de lquido causado por el peso de el lquido y el presin de el aire por encima de el lquido. , Pues, la presin hidrosttica depende de la presin del aire, la densidad del fluido y el altura de el columna de lquido.
P = Pa + g h
donde P = presin
PA = presin
To calcular la altura del agua, podemos usar la presin medida con la siguiente ecuacin, suponiendo que la atmsfera presin ya es compensada por la seleccin de el presin sensor ser calibre:
h=P\g
FowrwwM.moorteooYonlunaf.coormm/sunetmyooYocnonOdunCToTrhs es PrODUct,
Funcin principal
El principal funcin llamadas un inicializacin funcin "ALLINIT", llama a una funcin warmup "WARMUP" permitir tiempo adicional para el lcd inicializar, entonces cheques si botones PB1 y PB2 estn siendo presionado. Si son dos presionado, entonces lo llamadas una calibracin funcin "CALIB". Si son no dos presionado, y luego entrar en el bucle principal funcin. El bucle principal muestra el men, se mueve la cursor cuando la PB1 es presiona y entra en el funcin correspondiente a la resaltado opcin del men cuando se presiona el PB2.
Funcin de calibracin
La funcin de calibracin se utiliza para obtener dos puntos de calibracin. La primer calibracin punto es tomado cuando la cabeza tubo es no colocado en agua a obtener la presin para 0mm de water. El segundo calibracin punto es obtenidos cuando la cabeza tubo es colocado en el inferior de un contenedor con un altura de 160mm. Cuando se inicia la funcin de calibracin, aparece exhibiendo un mensaje la A/D valores para los correspondientes puntos de calibracin actualmente almacenado en el flash. O T programa nueva puntos de calibracin, el usuario debe presionar PB1 tomar 256 lecturas A/D en
0mm de water. La media es calculado y almacenado en un pgina de flash. Entonces la usuario ha la opcin a prensa PB1 a salida la calibracin funcin o obtener el segundo calibracin punto. To obtener la segundo calibracin punto, la cabeza tubo debe colocarse en 160 mm de agua y entonces la usuario debe pulse PB2 a tomar 256 A/D lecturas. La media es tomado y almacenado
en una pgina de flash. Una vez que se han tomado las dos lecturas, un promedio de, y almacenado en el flash, un mensaje muestra el dos valores A/D que se almacenaron.
Nivel funcin
La funcin del nivel inicializar los caracteres grficos. Una vez que esto termine, continuar bucle para obtener un promedio A/D lectura y Mostrar la Water nivel, el Water Flow, y un grfico historia hasta la usuario Prensas y sostiene ambos PB1 y PB2 a volver a la principal funcin.
El funcin primer borra la 40 presin lecturas que ser actualizacin para la grfico History. Se entonces entra en el del lazo que primer muestra 8 especial caracteres, cada una con 5 puntos de datos de agua nivel history. La funcin "adcbyta" se llama a obtener la actual un promedio de A/D valor. El funcin "LfNx" es llamado a convertir la A/D valor a un agua nivel, que es entonces en comparacin a la calibracin puntos, la mximo mnimo y puntos, a determinar si el contenedor es completo o vacy. Si verdad, entonces lo muestra la correspondiente mensaje. El nivel de agua actual se compara con la lectura anterior y muestra la mensaje "relleno" si ha aumentado, "vaciar" si ha disminuido y "tranquilo" si no ha cambiado.
El agua nivel clculo ha a ser convertido a decimal para mostrarlo en la pantalla LCD. To convertir el clculo del nivel de agua a decimal, la valor es continuamente divide con el resto aparece a la pantalla para cada decimal lugar. To Mostrar la tasa de Water Flow, el signo del valor se determina primero. Si la valor es negativo, la uno's complemento es tomada, una negativa seal se visualiza, y entonces el valor es continuamente divide a Mostrar cada decimal lugar. Si el nmero es positivo, un ms signo es aparece a mantener la alineacin de la pantalla y el valor continuamente se divide para mostrar cada decimal lugar.
La parte ms complicada de esta funcin est actualizando los grficos historia ey. La caracteres para la 16 x 2 LCD que fueron escogidos para esta referencia diseo son 8 x 5 pxeles por defecto. Por lo tanto, cada especial carcter que es creado ser poder a pantalla 5 agua nivel lecturas.
Desde la altura de la especial carcter es 8 pixel, cada vertical pixel posicin representar a un agua nivel en incrementos de de 20mm.
donde H1 y H2 son el mximo y mnimo en agua niveles de respectivamente y D es el posible datapoints disponibles por character.
La historia grfica se muestra los 8 caracteres especiales. To actualizar la grficos, todo la caracteres tienen ser actualizado. La caracteres son actualizacin por posicionamiento primero un pxel para el nivel de agua ms reciente la lectura en la primera columna de la primera character. Luego a la derecha las cuatro columnas de la primer carcter son cambi de puesto a el bien. La pixel en el ltima columna de ese personaje es llevado luego a la primera columna de la siguiente character. Esta columna cambio de es continu hasta todos
Funcin LfNx
La LfNx funcin calcula la agua nivel de el lectura de presin de A/D actual. Presin/D2 el valor se almacena en el registro A antes de este funcin es llamado. Usando la A/D valor y los valores de calibracin almacenados en el flash, el nivel del agua es calculado de el siguiente funcin:
RBRA: = (NX-N1) * 160 / (N2-N1), donde NX es el valor actual de A/D VN1 es el valor de A/D Va 0 mm H20
To simplificar el clculo, primero se hace la multiplicacin. Entonces se llama a la funcin "NdivD" para dividir los valores de.
Funcin NdivD
El "NdivD" funcin realiza un divisin contando sucesivas sustracciones del denominador del numerador a determinar la cociente. El denominador se resta de el numerador hasta la resultado es cero. Si hay un XTOw, el resto de la ltima resta el resto de el divisin.
El "wrflash" y "ersflsh" funciones son utiliza a escribir a y borrar valores de el flash. Para ms informacin con respecto a flash functionality, refirase a la seccin 4. Memoria del MC68HC908QY4/D Databook Flash.
Cuadro de texto: Semiconductor, Inc.Cuadro de texto: FreescaleDatos del dispositivo Sensor de Motorola
3399
Funcin ALLINIT
La funcin ALLINIT deshabilita la polica por esta versin del software, establece la datos direccin pedacitos, y deshabilita la datos a la LCD y se convierte off la LCD habilitar lnea. Se tambin establece por el microcontroller's reloj interno a mitad de la velocidad del reloj del bus. Vea la seccin 15, computadora de funcionamiento Properly, de la MC68908QT4 hoja de datos para informacin en utilizando la mdulo de polica a recuperar software de cdigo fuera de control.
W ARMUP funcin
El Wfuncin ARMUP alterna el parpadeo de los LEDs diez veces. Esto da el LCD algunos tiempo para calentar. Entonces la funcin "calentamiento" llama a la funcin de inicializacin del LCD, "lcdinit".
bintasc funcin
A/D funciones
Se utilizan las funciones de A/D para el voltaje amplificado de el presin sensor de canal 0 de la A/D converter. El funcin "adcbyti" ser establecer la A/D control register, espera para el A/D leyendo y cargar el datos de la A/D datos registrarse en el acumulandor. El funcin "adcbyta" es utilizado a obtener un un promedio de A/D leyendo por llamando "adcbyti" 256 veces y volver el resultante promedio en el acumulandor.
El LCD hardware es set a para multiplexacin 3 pernos de el microcontrolador mediante un 8bit cambio register. Canales 3, 4, y 5 son utiliza en puerto A para la LCD permiten (E), la LCD reset
poco es utiliza a manualmente reloj datos de canal 4 en la 8bit turno register. Esta es el mismo lnea como la LCD RS poco porque el MSB de los datos es baja para un comando y alta para los datos. El RS poco prepara la LCD para instrucciones o datos con la misma poco Convenio. Cuando la 8 bits de datos son disponibles sobre los terminales de salida del turno register, se activa el enable del LCD (E) a recibir la datos.
Las LCD funciones consisten en una funcin de inicializacin "lcdinit" que es utiliza una vez cuando la sistema es empez a y salida cinco funciones. La las funciones "lcdcmdo" y "lcdchro" tanto envan un byte de datos. Se llama a la funcin "shiftA" por dos "lcdcmdo" y "lcdchro" a manualmente turno 8 bits de de datos en el cambio register. El funcin "lcdnibo" convierte la datos a binario antes de mostrando. La "lcdbyto" muestra un byte de datos llamando "lcdnibo" para cada picar de datos. El la funcin "lcdstro" permite cadenas a ser fcilmente aadido a la software para presentary. La funcin acepta una cadena de commadelimited de datos que consiste en de 1-2 comandos para claro la pantalla y posicionamiento la cursor. Entonces sigue a salida personajes de el cadena hasta la "@" smbolo es encontrado, signally el final de el cadena.
Conclusin
8pin microcontroller, y un cuatro opamp a amplificar la salida del sensor voltaje. Esta sistema utiliza muy pocos componentes, reduccin de el total sistema costo. Esta permite para un solucin a competir con un mecnica interruptor para agua deteccin de nivel pero tambin offer adicional aplicaciones tales como monitoreo de agua flujo para fuga deteccin, y el otras aplicaciones para lavadoras inteligentes.
FowrwwM.moorteooYonlunaf.coormm/sunetmyooYocnonOdunCToTrhs es PrODUct,
Software listado
;****************************
Config2 equ $1E config1 equ $1F tsc equ tmodh $20 equ icgcr $23 equ $36 adscr equ $3 adr equ $3E adiclk equ $3F flcr equ $FE08 flbpr equ $FFBE
org vectores
DW frio ;ADC
fro DW ;Teclado dw fro ; no utilizar dw fro ; no utilizar dw fro ; no utilizar dw fro ; no utilizar dw fro ; no utilizar dw fro ; no utilizar dw fro ; no utilizar dw fro ; no usado
DW frio ; IRQ
DW frio ;SWI
BB
org ds
RAM
flshadr
DS
flshbyt
DS
memSP
DS
mem03
DS
CNT
DS
Lgfx
DS
weath
DS
ram0
DS
NC
DS
NB
DS
NA
DS
DC
DS
DB
DS
DA
DS
MB
DS
MA
DS
OB
DS
OA
DS
Cuadro de texto: Semiconductor, Inc.Cuadro de texto: FreescaleDatos del dispositivo Sensor de Motorola
3401
RB ds 1
RA ds 1
P0C ds 1
P0B ds 1
P0A ds 1
NPTR ds 1
RAMEspacio ds 80 ; usados dos para corriendo RAM versin de wrflash & guardar 40 lecturas
nocalib: ldhx #msg01 ; de lo contrario saltar y Mostrar Bienvenido mensajes jsr lcdstro ; "Referencia diseo " msg
JSR del1s
JSR del1s
JSR lcdcmdo
caliente: brclr 1, porta, PB1 ; espera para SEL brclr 2, porta, PB2 ; o para ENT bclr 4, porta
BSET 4, porta
sujetador caliente
CMP #$03
BGT menureset
; cambio a y pantalla 3
menureset:
sujetador luke
PB2: bclr porta 4, ; *** ENT *** confirma men opcin bclr 5, porta ;LEDs apagados
BNE skip00
JMP nivel ; hacer === nivel === si opcin = $00 skip00: APLV #$01
BNE skip01
JMP unidades ; hacer === unidades === si opcin = $01 skip01: APLV #$02
FowrwwM.moorteooYonlunaf.coormm/sunetmyooYocnonOdunCToTrhs es PrODUct,
JMP
MANCALIB
skip02:
JMP
PRUEBA
CALIB:
jsr ldhx
#msg05 lcdstro
Lda
N1
lcdbyto
; 0mm
160mm
lego1:
JSR
lcdbyto
4, porta
5, porta
1, porta, lego1
;LEDs
lego2:
BRCLR
BClr
2, porta, lego2
4, porta
BClr
5, porta
del1s del1s
#msg05a lcdstro
; Espera 2s
; Mostrar instrucciones
waitPB1:
NO2:
do1st:
errneo
2, porta, no2
nocalib
#msg05b lcdstro
do256:
CLR
CNT
RB RA
Deca
JSR
lcdbyto
Lda
#:
lcdchro adcbyti RA
; conseguir leyendo
Sta
RA
RB
#$00
RB
JSR
Lda
lcdbyto
RA
; Mostrar RB
JSR
lcdbyto
CNT, do256
Nochg RA RB
; luego RA
; y hacer x 256
; lo contrario ronda
nochg:
Lda
RB
#N1 wrflash
#msg05c lcdstro
; quemar se en!
do256b:
ldhx
#msg05d
lcdstro
CNT RB RA
#$C9
JSR
lcdcmdo
CNT
lcdbyto
#:
lcdchro
JSR
adcbyti
RA RA RB
#$00
RB
Cuadro de texto: Semiconductor, Inc.Cuadro de texto: FreescaleMotorola datos del dispositivo Sensor
3403
nochg2: lda RB
CMP N1 ; comparar N2 a N1
ldhx #msg05 ; y pantalla nueva actual cal valores de flash jsr lcdstro
JSR lcdchro
NIVEL: lda #$01 ; === nivel === principal rutina: muestra nivel flujo & grficos jsr lcdcmdo ; clara pantalla
Lda #$0C
Lda #$88 ; posicin cursor en LCD grficos porcin jsr lcdcmdo ; (2nd media de primer lnea)
clra ; y escribir ascii $00 a travs de fillgfx $07: jsr lcdchro ; que contienen la grficos relacionados con a
BNE fillgfx
LVL: ldhx #ramfree ; punto a 40 presin lecturas lda #$28 ; contar hasta 40
dbnza de purga
incx ; la prxima X (una vez ms: estamos en pgina 0, ninguna necesidad de preocuparse acerca de H)
MOV RA, OA
CLR RB
CMP #$9E
CLRH
MOV #$01, RB
FowrwwM.moorteooYonlunaf.coormm/sunetmyooYocnonOdunCToTrhs es PrODUct,
makeRB
#$01
LSAT:
Lzero:
MOV
ldhx Lda
#$80, RB
RB
#ramfree + $27
; ltima de del 40
izquierda
Sta
x 0,
; poner se en entonces final de la 40 bytes (nueva valor), todo otros fueron cambiados de puesto
weath RB donew
notfull
CMP
#$80
notfull
#$02, meteorizacin
OA
CMP
Lgfx
donew
#$04, meteorizacin
;vaciado" lo contrario
donew:
OA Lgfx MA
; rate:=L(i)L(i1)
MOV
RA, Lgfx
; actualizacin L(i1)
jsr Lda
lcdcmdo #$80
clrh Lda
OA
LDX
#$64
RB
over100
lcdchro #$20
over100:
siguiente:
sujetador
siguiente
lcdnibo
RB
LDX
bne div
#$0A
nospace
; dividir por 10
TST
BNE
RB
nospace
nospace:
Lda
#$20
lnexta:
Pshh
Pula
JSR
lcdnibo
# Estoy '
lcdchro
# Estoy '
lcdchro
; y primer decimal
; luego la unidad
#$C0 lcdcmdo MA
BCC
Positiv
Lda
MA
coma
sta Inca
MA
Lda
JSR
lcdchro
Cuadro de texto: Semiconductor, Inc.Cuadro de texto: FreescaleMotorola datos del dispositivo Sensor
3405
sujetador goconv
goconv: lda MA
CLRH
BNE over100b
Inc RB
JSR lcdchro
sujetador lnextab
Pula
JSR lcdchro
JSR lcdcmdo ; preparar a escribir 8 bytes en CGRAM a partir en @ $40 ldhx #ramfree ; punto a 40 presin lecturas (esto reutiliza wrflash RAM) mov #$08, DA ; DA a Conde esos 8 CGRAM direcciones
CG8: lda x 0,
Sta DB ; lecturas amamantados ir en DB DC NA, NC, NB, y a forma 1 LCD especial regi -
ter
relleno: clr RB ; empezar con RB = 0, esta a eventualmente contienen el datos para CGRAM
NC RB NB
rol
RB
NA RB DC RB DB
rol
jsr Lda
RB
RB
lcdchro
; y en CGRAM
Dec
BNE incx
RA
relleno
ter)
incx
; Ahora punto a siguiente 5 valores para siguiente CGRAM direccin (5 valores por regi -
FowrwwM.moorteooYonlunaf.coormm/sunetmyooYocnonOdunCToTrhs es PrODUct,
Lda weath ; conseguir tiempo variable y decidir que mensaje a pantalla cmp #$04
BNE try3210
BNE try10
BNE try0
Sta NA
STX NB
Lda RA
RTS
NdivD:
keepatit:
RA RB RA
;RBRA: = NCNBNA/DCDBDA
Aadir
#$01
RA RB
#$00
RB
; incrementar RB: RA
Lda
NA
DA NA NB DB NB
Lda
SBC sta
NC
DC NC
;NC:NB:NA: = NC:NB:NADC:DB:DA
BCC
Lda sub
keepatit
RA
#$01
Sta
RA
RB
#$00
RB DC DB
Ror
DA
NA DA NA NB
; dividir DC:DB:DA 2
Cuadro de texto: Semiconductor, Inc.Cuadro de texto: FreescaleMotorola datos del dispositivo Sensor
3407
Isla
nornd: rts
jsr Lda
#$01 lcdcmdo
; clara pantalla
UNTwarm:
Lda
JSR
#$0C
lcdcmdo
; cursor apagado
jsr Lda
lcdcmdo #$80
JSR
adcbyta
4, porta
UNIDADES:
tstLfNx:
CMP
#$00
; IF Nx N1 > 0 y calcular
BGT
skipzero
Lda #' ' ; Else IF Nx << N1 entonces pantalla error mensaje a volver a calibrar
skipzero:
Sta NA
STX NB
Lda #$87
skipneg:
MANCALIB:
PRUEBA:
JSR del1s
RTS
JSR del1s
FowrwwM.moorteooYonlunaf.coormm/sunetmyooYocnonOdunCToTrhs es PrODUct,
RTS
wrflash: sthx flshadr ; esta es el direccin en el flash flshbyt sta ; y el byte nos quiero a poner all
FLASH: tsx
sthx memSP ; almacenar SP en memSP, para puede ser temporalmente utilizado como un 2 ndice regis -
ter
ldhx #ramfree + 1 ;SP ahora puntos a RAM (recuerde a agregar 1 a la direccin!!!, HC08 chanfle)
cphx #lastbyt ; y continuar hasta nos llegar a la ltima byte bne doall
TXS
JSR RAMEspacio ; y corre la subrutina de RAM, te no escribir el flash mientras rts ; ejecutar un cdigo en l, as que la memoria RAM tiene para apoderarse de su arma
ersflsh: lda #$02 ; libros de texto forma a borrar flash sta flcr
Lda flbpr
clra
BSR delayf lda #$0A sta flcr bsr delayf lda #$08 sta flcr bsr delayf clra
Sta flcr
BSR delayf
pgmflsh: lda #$01 ; libros de texto forma a programa flash sta flcr
ldhx flshadr
Sta x 0,
Lda flshbyt
Sta flcr
MOV $ # 36, tsc ; parada TIM & / 64 sthx tmodh ; Conde H:X x 20us bclr tsc 5, ; iniciar reloj
lastbyt: nop
MOV #$38, ddra ;PTA0 = MPAK, PTA1 = SEL, PTA2 = ENT, PTA3 = E, PTA4 = RS, PTA5 = clk bclr 3, porta ;E = 0
BClr porta 4, ; grn = OFF; RS = 0 bclr 5, porta ; rojo = OFF; CLK = 0 mov #$30, adiclk ;ADC reloj 2 rts
Cuadro de texto: Semiconductor, Inc.Cuadro de texto: FreescaleMotorola datos del dispositivo Sensor
3409
BClr 4, porta
BSET 4, porta
dbnza tenx ; 10 veces para la LCD puede conseguir lista (lento arranque)
bintasc: agregar #$30 ; agregar $30 (0-9 offset) cmp #$39 ; es un nmero (0-9). BLS d0to9b ; si as saltar
Referencias
1) Baum, Jeff, "frecuencia salida conversin para MPX2000 serie presin sensores," Motorola aplicacin Nota AN1316/D.
2) Hamelain, JC, "lquido nivel Control usando un Motorola presin Sensor," Motorola aplicacin Nota AN1516/D.