top of page

Conversión de Analógico a Digital con librería ADC.h Para microcontrolador

Descripción :

Hola Maker Perú, aquí estamos nuevamente trayéndoles un nuevo proyecto el cual consisten en usar la librería ADC.h, puesto que son funciones propias de Microchip para microcontroladores PIC18 en lenguaje C que reducen la cantidad de codigo..

Para poner a prueba esta poderosa librería, vamos a integrar una pantalla LCD y un potenciometro el cual va a regular el voltaje de 0-5v, mediante el conversor análogo digital del

microcontroladore PIC18F4550 obtendremos un valor digital 0-1024 (10 bits).

El microcontrolador PIC18F4550 cuenta con 13 canales a los cuales se les puede conectar sensores de diferentes tipos, pero solo podemos usar un canal a la vez, en este caso usaremos el canal AN0 del Puerto A para conectar el potenciometro.

Imagen Nª 1 - Microcontroladores Proyecto-Sensor de Voltaje

Librería ADC.h

La libreria para la conversion Analogo digital cuenta con 6 funciones los cuales configuran los registeros , inician el conversor Analogo digital, realizan la conversion y generan la interrupcion para suministrar los datos digitales.

Imagen Nª 2 - Funciones del conversor Analogo digital

*OpenADC():

se utiliza para configurar el módulo AD, requiere tres parámetros de configuración: origen de la señal de reloj para el módulo AD, la alineación de la conversión, y el tiempo de adquisición de datos (xTAD). El segundo parámetro se utiliza para indicar: el canal a utilizar (AN0 – AN12), estado de la interrupción AD, y los voltajes de referencia positivo y negativo. Finalmente, el tercer parámetro es un valor decimal que representa la configuración del registro ADCON1.

*ConvertADC():

Inicia el proceso de conversión.

*ReadADC():

Devuelve un número entero que representa el valor decimal de la conversión efectuada.

*BusyADC():

Hace una espera mientras el proceso de conversión AD se lleva a cabo.

La libreria MPLAB C18 C COMPILER se encuentra disponible en internet totalmente gratuita, el MPLAB XC8 IDE ya cuenta con esta librería incorporada únicamente, Esta dispone de funciones para simplificar la programación de I2c, SP1, LCD, Delay, PWM, Timers, SPI , USART, entre otros.

Imagen Nª 3 - Funciones del conversor Analogo digital

CÓDIGO XC8

El presente codigo fue realizado mediante el Compilador MPLAB XC8 IDE de Microchip:

#include <xc.h> #include "lcd.h"; // LIBRERIA LCD #include "CONFIGURO.h"; // Configuraciones del PIC18F4550 #include <stdio.h> // Libreria XC8 #include <stdlib.h> // Libreria XC8 #include <plib/adc.h> // Libreria XC8 #include "DELAY.h"

void main (void) { int adc; // variable de 16bits float Volt, temp; // variable de flotante con punto decimal. unsigned char s[16]; // Array de 8 bits

// Configuracion de Puertos TRISA=0xFF; // PUERTO A COMO ENTRADA TRISD = 0x00; // PUERTO D SALIDA LCD

// CONFIGURACION ADC OpenADC(ADC_FOSC_64 & ADC_RIGHT_JUST & ADC_16_TAD, ADC_CH0 & ADC_INT_OFF & ADC_VREFPLUS_VDD &ADC_VREFMINUS_VSS,14);

// RETARDO DE 50 Tcy (50 * Fosc/4) MsDelay(100); // UN TIEMPO DE ESPERA.

// inicio LCD Lcd_Init(); Lcd_Clear(); Lcd_Set_Cursor(1,1); Lcd_Write_String("Curso PIC18F"); Lcd_Set_Cursor(2,1); Lcd_Write_String("MICROTECSD"); MsDelay(2000); // UN TIEMPO DE ESPERA.

// BUCLE while(1){ // Iniciamos la Conversión ConvertADC(); // esperamos que se complete la conversión while(BusyADC()); // Capturamos el resultado adc= ReadADC(); Volt=adc*5.0/1024.0;

// MOSTRAMOS EN LA LCD EL VALOR DIGITAL sprintf(s, "ADC = %04d",adc); Lcd_Set_Cursor(1,1); Lcd_Write_String(s);

// MOSTRAMOS EN LA LCD EL VALOR DEL VOLTAJE sprintf(s, "Volt = %04.2f", Volt); Lcd_Set_Cursor(2,1); Lcd_Write_String(s);;

MsDelay(300); // UN TIEMPO DE ESPERA. }

Imagen Nª 4 - CODIGO C - Funciones del conversor Analogo digital

IMPLEMENTANDO

Imagen Nª 5- SENSOR DE VOLTAJE

Descarga el Proyecto:

https://www.dropbox.com/sh/7xpc3b3e74795vd/AACBFmDqRDCAmEwIANGpZg3oa?dl=0

Deseando que este proyecto sea un incentivo para continuar desarrollando tecnologia con Microcontroladores con PIC18F4550.

Agradezco la atención y sera hasta la próxima.

MICROTECSD


About Me.

I'm a paragraph. Click here to add your own text and edit me. I’m a great place for you to tell a story and let your users know a little more about you.

  • Black Facebook Icon
  • Black Instagram Icon
  • Black Twitter Icon
Never Miss a Post!
bottom of page