Cuantización señal de un micrófono PIC18f4550

#1
Hola a todos, estoy realizando un trabajo que consiste en lo siguiente, se ingresa una señal de audio (por un microfono) al pic18 por una entrada analógica-digital, una vez ingresada la señal quiero muestrear la señal a 8 bits, y después pasarla a un conversor digital-análogo (DAC0808), soy nuevo con el manejo de audio entonces busco un poco de ayuda en el tema.
El código del pic está realizado en C, y la simulación en ISIS proteus.
De antemano muchas gracias por cualquier ayuda, comentario o sugerencia.

Quiero agregar, no se si la conexión del DAC0808 este bien hecha.

Adjunto el código que tengo y el esquema

#include <18f4550.h>
#device adc=8 //Conversion análogo-digital de 10 bits
#fuses XTPLL,NOMCLR,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL1,CPUDIV1,VREGEN,PUT
#use delay(clock=48000000) //Reloj 48MHz
#include <lcd.c>

float voltage;
int value[];
char roof[9];

void main()
{
lcd_init();
set_tris_a(0xFF);
set_tris_d(0x00);
set_tris_b(0x00);

setup_adc(ADC_CLOCK_DIV_8);
//setup_adc_ports(NO_ANALOGS|VSS_VDD);
//setup_adc(ADC_OFF);
//setup_adc_ports(RA0_RA1_ANALOG);
setup_adc_ports(ALL_ANALOG);

while(true){
set_adc_channel(0);
output_toggle(PIN_B0);
value=read_adc();
output_toggle(PIN_B0);
voltage=value*0.0196;
lcd_gotoxy(1,1);
printf(lcd_putc,"a: %f",voltage);
lcd_gotoxy(1,2);
printf(lcd_putc,sprintf(roof,"%f",(float)value));
delay_ms(0.01);
}
}
 

Adjuntos

Arriba