Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

25/11/2010 #1


Funcion HOLD con pic
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.
25/11/2010 #2

Avatar de ByAxel

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...
25/11/2010 #3


Claro, tenes razon.
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?
25/11/2010 #4

Avatar de ByAxel

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
26/11/2010 #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.
26/11/2010 #6

Avatar de ByAxel

Claro podrías hallar la media de temperatura con los valores tomados durante 100ms luego de pulsar por ejemplo o puedes escalar los valores para obtener un aproximado a la lectura. Una idea Escalar un lm35 temperatura con un microcontrolador.

En el CCS se puede usar la mezcla de printf() + lcd_putc(), te ahorras varias líneas.

saludos
27/11/2010 #7


No me entendiste, no quiero encontrar la media, sino el valor maximo alcanzado en, por ejemplo, 20ms.
27/11/2010 #8

Avatar de ByAxel

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" , este algoritmo es genial.

saludos.
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.