domingo, 6 de julio de 2008

Programa para VuMeter con PIC 18F452

Saludos a todos:

Perdonad por el tiempo que he estado inactivo aquí, pero ya por fin estoy de vuelta. En los días sucesivos iré subiendo los proyectos prometidos, así como noticias de ámbito tecnológico y alguna que otra curiosidad.

Para empezar so dejo el código fuente si os queréis hacer un VuMeter estéreo con un PIC. El modelo no es el más bajo, pero sí es con el que podréis comprobar todos los proyectos que vaya colgando.

Sin más aquí tenéis el breve código fuente:


program VuMeter

sub procedure Stereo (dim byref salida_leds1 as byte, dim byref salida_leds2 as byte, dim adc_canal_1 as byte, dim adc_canal_2 as byte)

dim canal1, canal2 as Integer
dim salida1, salida2 as byte
canal1 = ADC_read(adc_canal_1)
canal2 = ADC_Read(adc_canal_2)
Salida1 = 1
Salida2 = 1
canal1 = canal1 - 128
canal2 = canal2 - 128

while (canal1 > 0) or (canal2 > 0)
if canal1 > 0 then

salida1 = (salida1<<1)or1
canal1 = canal1 - 128
end if
if canal2 > 0 then
salida2 = (salida2<<1)OR1

canal2 = canal2 - 128
end if

wend
salida_leds1 = salida1
salida_leds2 = salida2
end sub

main:
ADCON1 = $82
INTCON = 0
TRISB = 0
TRISD = 0
while TRUE
Stereo(PORTB, PORTD, 0, 1)
wend
end.


'El programa funciona con cualquier PIC tipo 16F877A o similar con leves modificaciones en los registros.



Aunque lo ideal sería preparar la señal de audio y elevarla para que a la entrada del microcontrolador llegase la tensión óptima, podemos comprobar que el programa funciona perfectamente conectado cada canal de la señal de audio a la entrada analógica seleccionada (en el caso de ejemplo serían las entradas AN0 y AN1). Los puertos PORTB y PORTD llevan conectados leds para mostrar el nivel de la señal de audio recibida por el PIC.

Sólo queda pulsar play y disfrutar del baile de luces.

No hay comentarios: