lab7 para curso mbed FIME

Dependencies:   mbed

Committer:
Alonso
Date:
Sun May 24 04:18:27 2015 +0000
Revision:
0:9e3658ce2607
lab7 para curso mbed FIME

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Alonso 0:9e3658ce2607 1 #include "mbed.h"
Alonso 0:9e3658ce2607 2
Alonso 0:9e3658ce2607 3 /* En esta practica se muestra el funcionamiento y configuracion basica del
Alonso 0:9e3658ce2607 4 conversor digital - analogico(DAC)del micro, la practica consiste en
Alonso 0:9e3658ce2607 5 leer el valor de un voltaje de entrada mediante el ADC, y se cree una
Alonso 0:9e3658ce2607 6 especie de buffer usando el DAC para que el mismo valor de voltaje de
Alonso 0:9e3658ce2607 7 entrada sea el de la salida, se muestra el valor de entrada de voltaje
Alonso 0:9e3658ce2607 8 y salida de voltaje en la terminal de la pc.
Alonso 0:9e3658ce2607 9
Alonso 0:9e3658ce2607 10 No se olvide comprobar la verdadera señal de salida de voltaje con un
Alonso 0:9e3658ce2607 11 multimetro o osciloscopio.*/
Alonso 0:9e3658ce2607 12
Alonso 0:9e3658ce2607 13 AnalogOut voltaje_salida(PTE30); // se inicializa el puerto DAC del microcontrolador para la salida de voltaje
Alonso 0:9e3658ce2607 14 AnalogIn voltaje_entrada(PTB0); // se inicializa el puerto ADC del microcontrolador donde se conecta el potenciometro
Alonso 0:9e3658ce2607 15 Serial pc(USBTX,USBRX); // se inicializa el puerto de comunicacion serie UART del microcontrolador
Alonso 0:9e3658ce2607 16
Alonso 0:9e3658ce2607 17 unsigned int valor_adc; // variable donde se almacena el valor de adc de 16 bits
Alonso 0:9e3658ce2607 18 unsigned int valor_dac; // variable donde se almacena el valor del dac de 16 bits
Alonso 0:9e3658ce2607 19 float voltaje_pot; // variable que se calcula para conocer el valor de voltaje de entrada
Alonso 0:9e3658ce2607 20 float voltaje_dac; // variable que se calcula para conocer el valor de voltaje de salida
Alonso 0:9e3658ce2607 21
Alonso 0:9e3658ce2607 22
Alonso 0:9e3658ce2607 23 int main()
Alonso 0:9e3658ce2607 24 {
Alonso 0:9e3658ce2607 25 pc.baud(115200);// configuracion del puerto serial para los baudios
Alonso 0:9e3658ce2607 26
Alonso 0:9e3658ce2607 27 while(1)
Alonso 0:9e3658ce2607 28 {
Alonso 0:9e3658ce2607 29 valor_adc = voltaje_entrada.read_u16(); // se lee el valor de voltaje con el ADC 16 bits y se guarda en la variable
Alonso 0:9e3658ce2607 30 valor_dac = valor_adc; // igualamos el valor del ADC al del DAC
Alonso 0:9e3658ce2607 31 voltaje_pot = valor_adc * (3.3f / 65535.0f); // se calcula el valor de voltaje de entrada usando el valor de lectura del ADC
Alonso 0:9e3658ce2607 32 voltaje_dac = valor_dac * (3.3f / 65535.0f); // se calcula el valor de voltaje de salida del DAC
Alonso 0:9e3658ce2607 33 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
Alonso 0:9e3658ce2607 34 voltaje_salida.write_u16(valor_adc); // se envian los bits de entrada(ADC) al DAC para obtener el mismo voltaje de salida.
Alonso 0:9e3658ce2607 35 wait_ms(250); // retardo para visualizar en la terminal
Alonso 0:9e3658ce2607 36 }
Alonso 0:9e3658ce2607 37 }