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

Temas similares

18/04/2011 #1

Avatar de lpnavy

Mostras resultado ADC con led
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
19/04/2011 #2

Avatar de dukex

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
19/04/2011 #3
Moderador

Avatar de Chico3001

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
19/04/2011 #4

Avatar de lpnavy

dukex dijo: Ver Mensaje
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


Chico3001 dijo: Ver Mensaje
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
20/04/2011 #5

Avatar de dukex

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
21/04/2011 #6

Avatar de lpnavy

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
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.