You are on page 1of 4

TEMA: Aplicación Análogo-Digital

PERIODO: 43

FECHA: 30 de enero del 2014

NOMBRES: Luis Gonzalo Andrade Fierro

Mayra Belén Villalba Armendáriz


1. Objetivo General

 Verificar el correcto funcionamiento del conversor análogo-digital

2. Objetivos Específicos

 Desarrollar un código gobernado por el PIC 16F877A.


 Utilizando el lenguaje de alto nivel C orientado a los Microcontroladores, dando aplicación
el convertidor análogo a digital que posee el pic , donde ingresa una señal por una de sus
entradas análogas, configuradas previamente del cual el pic realiza un muestreo y me
devuelve un dato digital un numero binario.

3. Marco Teórico
Conversor análogo-digital
La conversión analógica digital, es la que nos permite transformar una señal analógica (un
voltaje), en una representación digital (números binarios) del valor correspondiente a la
tensión en el pin de entrada para poder trabajar con ella. Se utiliza en infinidad
de aplicaciones, lo más común es usarla para leer señales provenientes de algún sensor
(temperatura, humedad, acelerómetros, etc.). (tutoelectro, 2014)

4. Desarrollo

Realice un programa que capture de uno de los canales del conversor análogo digital una señal
DC variarse con respecto la posición angular potenciómetro generado divisor de tensión presente
el dato obtenido en la LCD DE 2 X16 la condición es que el dato debe ser representado en
formato binario y formato decimal.

sbit LCD_RS at RD4_bit;


sbit LCD_EN at RD5_bit;

sbit LCD_D7 at RD3_bit;

sbit LCD_D6 at RD2_bit;

sbit LCD_D5 at RD1_bit;

sbit LCD_D4 at RD0_bit;

sbit LCD_RS_Direction at TRISD4_bit;

sbit LCD_EN_Direction at TRISD5_bit;

sbit LCD_D7_Direction at TRISD3_bit;

sbit LCD_D6_Direction at TRISD2_bit;

sbit LCD_D5_Direction at TRISD1_bit;

sbit LCD_D4_Direction at TRISD0_bit;

unsigned int Radc = 0;

unsigned int n, i ; // Variable que almacena lo obtenido en el ADC

int Tem = 0; // Valor real del ADC

int Text[15]; // Almacena el Tem pero tipo Texto para el LCD

char txt1[] = "decimal:";

char txt2[]="bin:" ; // Texto mostrado en el LCD

void main() {

ADC_Init(); // Inicializa el Modulo ADC

Delay_us(100); // Retardo para estabilizar el ADC

Lcd_Init(); // Inicializa el LCD

Lcd_Cmd(_LCD_CLEAR); // Clear display

Lcd_Cmd(_LCD_CURSOR_OFF); // Cursor off

Lcd_Out(1,1, txt1);

Lcd_Out(2,11, txt2); // Mandamos nuestro mensaje al LCD


Delay_ms(100);

while(1){

Radc= ADC_Get_Sample(0); // Obtenemos lectura del AN0

Delay_ms(600); // Este retardo ayuda a de manera burda a

//estabilizar el LCD de las actualizaciones de

//la lectura del ADC.

Tem =(Radc * 0.488); // Obtenemos el valor Real de la Conversion A/D

// (ADCread * 0.00488)/0.01)= Vreal

// Resumimos que 0.00488 / 0.01 = 0.488

//Se convierte el número entero a una cadena de caracteres.

IntToStr(Tem, Text);

//Se imprime el resultado.

Lcd_Out(1,10, Text);

//Retardo de 100m segundos.

Delay_ms(50);

n=Tem;

if(n==0)

Lcd_Out(3,10,"000000000");

for(i=0;n>0;i++){

Lcd_chr(2,5-i,48+(n%2));

n=n/2;

if(n==0)

Lcd_chr(2,4-i,48+n);

Delay_ms(15);

}
}

5. Conclusiones

 Se estudiaron las funcionas básicas del PIC16f877A realizando un programa para la


conversión analógica digital.
 Es muy factible el uso del convertidor análogo-digital, ya que solo con el uso de ADCON
se puede configurar los puertos para este convertidor.

6. Recomendaciones

 Se recomienda probar y verificar el correcto funcionamiento y programación del PIC


para evitar fallos en la práctica debido al elemento mas no a la estructura del programa o
el circuito implementado.
 Se recomienda portar el datasheet del elemento utilizado para verificar su correcta
conexión en caso de buscar fallos del circuito.

7. Bibliografía

tutoelectro. (29 de 01 de 2014). Obtenido de


http://www.tutoelectro.com/tutoriales/microcontroladores/guia-pic/conversor-analogico-
digital/

You might also like