Funcion HOLD con pic

#1
Hola a todos, tengo que retener un dato en el LCD del maximo voltaje recivido en la entrada del ADC del pic, y un boton que borre y prepare para una nueva lectura; pero no tengo ni idea como puede hacerce y si es posible.
El programa de lectura del ADC lo tengo en C. Gracias a todos por su ayuda.
 
#2
mmm pues el LCD mantiene el dato que es escrito en el... no se borra nada si no se le envía un comando para eso (o que tipo de LCD usas?).

en C lee el pin donde está conectado el botón/pulsador y cuando este produzca un flanco válido (como tu quieras) se ejecute otra rutina de borre el LCD, lea el ADC y muestre la nueva lectura en el LCD...
 
#4
Ahora como seria las lineas para que se detenga despues de imprimir el lcd?y vuelva a leer el adc despues de presionar el boton?
Como decía, al escribir algo en el LCD se queda ahí y el PIC puede estar haciendo otra cosa... verificando el pulsador por ejemplo, el pulsador está en RB0:

Código:
WHILE(TRUE){
    IF(pulsador == 1){
        valor = lee_adc(canal);
        arreglo = valorToString(valor); // Convierte de byte/int a string para representar en el LCD
        escribe_lcd(arreglo);
        evita_debounce(); // Espera a que suelten el pulsador y evita falsos disparos.
    }
}
Que compilador usas?...

saludos
 
#5
CCS. Ahora me doy cuenta que no funcioinaria, imprimira el primer valor que registre pero no el pico mas alto.
Tiene que tomar una muestra durante un determinado tiempo, y determinar cual fue la medida mas alta.
 
#8
Ye, en ese caso dentro de esos 20ms capturas x veces y te quedas con el mayor (descartas el resto), depende de cuantas capturas puedes hacer en esos 20ms (cada 1ms, cada 0.5ms, tu decide) y que las puedas almacenar en un arreglo (depende de la memoria del PIC).
Piensa en una forma, que tal esto "Ordenamiento de burbuja" :D, este algoritmo es genial.

saludos.
 
Arriba