Mostras resultado ADC con led

#1
Hola a todo!! estoy tratando de hacer un programa que en donde la señal de audio que entra al ADC del pic se muestre a traves de todo el puerto B con leds, lo he hecho con la pantalla lcd perfectamente pero no con leds; estoy programando en PBP y uso el 16f887. Si alguien tiene una idea de como hacerlo se lo agradeceria :)
 
#2
Hola,

Quieres mostrar el resultado como un valor binario en el puerto B? donde cada led es un bit?

Ó

Quieres mostrarlo como un nivel estilo vúmetro?, supongo que és así ya que és una señal de audio....

Puedes dar más información acerca de como necesitas entregar los datos adquiridos por el ADC? como lo estabas haciendo con la pantalla LCD....

Saludos
 
#4
Hola,

Quieres mostrar el resultado como un valor binario en el puerto B? donde cada led es un bit?

Ó

Quieres mostrarlo como un nivel estilo vúmetro?, supongo que és así ya que és una señal de audio....

Puedes dar más información acerca de como necesitas entregar los datos adquiridos por el ADC? como lo estabas haciendo con la pantalla LCD....

Saludos
hola que tal!!! si lo quiero mostrar tipo vumetro, ademas necesito esa rutina por que lo quiero acoplar a un encendido secuencial de los led por tiempo ejemplo: un tiempo funciona como vumetro y otro cierto tiempo como secuenciador ya sabes mio lio es como mostrar eso con leds.

asi lo tengo yo la rutina usando el LCD solo te pondre un fragmento del programa;

BARRA:
IF MARCA1 = 1 THEN
LINEA = $2 :ADCIN 1, CANAL : MARCA1 = 0 'Linea LCD, muestra canal L
ELSE 'Si no lo es
LINEA = $c0: ADCIN 0, CANAL : MARCA1 = 1 'Linea LCD, muestra canal R
ENDIF

GRAF1:
MARCA2 = 6
lcdout 254,64, 0 ,14 ,31, 31 ,31 ,14 ,0 ,0 ' posición 0
lcdout 254,72, 0 ,14 ,31, 31 ,31 ,14 ,0 ,0 ' posición 1
lcdout 254,80, 0 ,14 ,31, 31 ,31 ,14 ,0 ,0 ' posición 2
lcdout 254,88, 0 ,14 ,31, 31 ,31 ,14 ,0 ,0 'posición 3
lcdout 254,96, 0 ,0 ,0, 31 ,0 ,0 ,0 ,0 'posición 4
pause 300


No se programar en PBP pero lo que pides es mover el resultado del ADC al puerto B

Código:
MOVF ADRESL,W
MOVWF PORTB
Hola!! intente hacer algo parecido en PBP pero no me salio nada :-S
 
Última edición:
#5
Bueno,

viendo tu mensaje creo quieres desplegar los dos canales de audio a través de 8 leds...¿¿?? antes que nada verifica que puedes encender los leds y tener control sobre ellos.....

Ahora bien, débes utilizar 4 para cada canal, y a medida que vas leyendo el ADC háces una comparación de niveles.... algo como:

si (ADC > nivel1 Y ADC =< nivel2)
-encender led1

si (ADC > nivel2 Y ADC =< nivel3)
-encender led1
-encender led2

si (ADC > nivel3 Y ADC =< nivel4)
-encender led1
-encender led2
-encender led3

si (ADC > nivel4)
-encender led1
-encender led2
-encender led3
-encender led4

esto lo haces para cada canal....

saludos
 
#6
Ya pude resolver el problema!! solo tenia que comparar el valor sensado en la aquisicion con un valor definido en byte y mostrarlo por el puerto y asi sucesivamente hasta completar los 8 pines del portB
 
Arriba