alonso vallejo
/
lab7_DAC
lab7 para curso mbed FIME
Embed:
(wiki syntax)
Show/hide line numbers
main.cpp
00001 #include "mbed.h" 00002 00003 /* En esta practica se muestra el funcionamiento y configuracion basica del 00004 conversor digital - analogico(DAC)del micro, la practica consiste en 00005 leer el valor de un voltaje de entrada mediante el ADC, y se cree una 00006 especie de buffer usando el DAC para que el mismo valor de voltaje de 00007 entrada sea el de la salida, se muestra el valor de entrada de voltaje 00008 y salida de voltaje en la terminal de la pc. 00009 00010 No se olvide comprobar la verdadera señal de salida de voltaje con un 00011 multimetro o osciloscopio.*/ 00012 00013 AnalogOut voltaje_salida(PTE30); // se inicializa el puerto DAC del microcontrolador para la salida de voltaje 00014 AnalogIn voltaje_entrada(PTB0); // se inicializa el puerto ADC del microcontrolador donde se conecta el potenciometro 00015 Serial pc(USBTX,USBRX); // se inicializa el puerto de comunicacion serie UART del microcontrolador 00016 00017 unsigned int valor_adc; // variable donde se almacena el valor de adc de 16 bits 00018 unsigned int valor_dac; // variable donde se almacena el valor del dac de 16 bits 00019 float voltaje_pot; // variable que se calcula para conocer el valor de voltaje de entrada 00020 float voltaje_dac; // variable que se calcula para conocer el valor de voltaje de salida 00021 00022 00023 int main() 00024 { 00025 pc.baud(115200);// configuracion del puerto serial para los baudios 00026 00027 while(1) 00028 { 00029 valor_adc = voltaje_entrada.read_u16(); // se lee el valor de voltaje con el ADC 16 bits y se guarda en la variable 00030 valor_dac = valor_adc; // igualamos el valor del ADC al del DAC 00031 voltaje_pot = valor_adc * (3.3f / 65535.0f); // se calcula el valor de voltaje de entrada usando el valor de lectura del ADC 00032 voltaje_dac = valor_dac * (3.3f / 65535.0f); // se calcula el valor de voltaje de salida del DAC 00033 pc.printf("voltaje de entrada : %.2f, voltaje de salida DAC : %.2f\r\n",voltaje_pot, voltaje_dac); // se imprimen los valores de entrada y salida 00034 voltaje_salida.write_u16(valor_adc); // se envian los bits de entrada(ADC) al DAC para obtener el mismo voltaje de salida. 00035 wait_ms(250); // retardo para visualizar en la terminal 00036 } 00037 }
Generated on Sun Jul 17 2022 18:09:39 by 1.7.2