Archivo de la categoría: PIC

PIC18F2550 y USB

Deja un comentario

Archivado bajo Microcontrolador, PIC

Contador de dos displays 7-seg

Deja un comentario

Archivado bajo PIC, Videos

Conversor ADC con PIC16F877A

En este post se verá cómo utilizar el conversor adc que poseen los microcontroladores PIC para adquirir una señal analógica, en este caso de un sensor de temperatura.

 

El circuito se compone de un microcontrolador PIC16F877A, el cual posee 8 pines de ADC, una pantalla LCD de 2×16 caracteres, y un sensor de temperatura LM35, el cual ofrece 0,1V por cada variación de grado.

 

El circuito por lo tanto es el que se muestra a continuación:

 


 

 

El código utilizado se muestra a continuación, con comentarios de cada sentencia, con lo que creo que queda mejor explicado que teóricamente:

 

 

 

#include <16f877a.h>               //Se indica el ucontrolador que se va a utilizar.

#device adc=10

#fuses XT                          //Se indican los fuses activos/inactivos.

#use delay (clock=4000000)         //Se indica la velocidad del cristal XTAL=4MHz.

#include <lcd.c>                   //Se indica que se utilizará dicho archivo.

 

 

void main ()

{

 

   int16 VoltoTemp;  //Variables para almacenar el valor del adc

   float Temp;       //Variable que muestra el valor en ºC

   
 

   setup_adc_ports(RA0_ANALOG);  //El pin 0 del puerto A se utiliza como adc

   setup_adc(ADC_CLOCK_INTERNAL);   //Se utiliza el reloj interno para la adquisicion de la señal

 

lcd_init();                         //Se inicia comunicacion con la LCD.

 

 

 

set_adc_channel(0);     //Se indica que de todos los pins habilitados para adc se utilizará el pin 0

 

VoltoTemp=read_adc();         //Se lee el valor que posee el pin indicado en el comando anterior

Temp=(VoltoTemp*500.0)/1024.0;//Se transforma el valor leido para mostrar la temperatura, depende del sensor

 

printf(lcd_putc,» VoltoTemp=%lu «,VoltoTemp);  //Se envia el texto a mostrar en la LCD.

printf(lcd_putc,»\nTemp=%f «,Temp);  //Se envia el texto a mostrar en la LCD.

}

1 comentario

Archivado bajo Electronica, Microcontrolador, PIC