Que tal amigos del foro basic por los ejemplos mostrados yo le spongo uno donde de utiliza el ADC del PIC es un 16f877A el cual es un control de temperatura para poder controlar un ventilador deacuerdo a un valor fijado (referente_ejm. 40°C )y comparando con un sensor LM35 el que muestra el valor en una pantalla LCD el valor de temperatura medido en el ambiente y me realiza la compracion y activa o desactiva mi sistema de calefaccion.
Pues lo malo q tiene moi programa es que no poses decimales y varia en el LCD de 2 en 2 grados °C

aunqeu he leido varios temas referentes a estos no logre naa no se tak vez me falte mas programacion pero lo logrado x mi persona ahi le spongo y habe ris podias mejorarlo pa los decimales y el error de los valores cuento con su gran experiencia.. para lo novatos este program si sirve para muchas cosas, q no necesiten precision...
'****************************************************************
'* Name : control de temperatura.BAS *
'* Author : [Jimmy Jefferson] *
'* Notice : Copyright (c) 2006 [select VIEW...EDITOR OPTIONS] *
'* : All Rights Reserved *
'* Date : 01/08/2006 *
'* Version : 1.0 *
'* Notes : este es un control de temperatura encendiendo o *
'* : apagando un ventilador conectado en D.7 del 16f887A *
'* : el cual hace una comparacion con un valor fijo (52 ºC)*
'* : y el otro es el del sensor lm35 el cual dara la *
'* :orden del aperacion a ejecutar... pero tienes un % de error de 2 ºC*
'****************************************************************
VENTILADOR VAR PORTD.7
DEFINE OSC 20
' Definir los registros y bits del LCD
DEFINE LCD_DREG PORTB 'D0,D1,D2,D3-4,5,6,7
DEFINE LCD_DBIT 4
DEFINE LCD_RSREG PORTE 'E0-RS
DEFINE LCD_RSBIT 0
DEFINE LCD_EREG PORTE 'E1-E
DEFINE LCD_EBIT 1
DEFINE LCD_BITS 4
DEFINE LCD_LINES 2
DEFINE LCD_COMMANDUS 2000
DEFINE LCD_DATAUS 50
' Definir los parametros del ADCIN
DEFINE ADC_BITS 8 ' Setear el numero de bits del resultado
' Defenir variables de los resultados de la conversion
ADC1 VAR BYTE
TRISA = %11111111 ' Setear el puerto A como entrada
ADCON1 = %00000100 ' Setear el puerto A como analogico
Pause 500 ' Espera de .5 segundos
LCDOut $fe,1, " LM 35 "
LCDOut $fe,$c0,"PIC 16f877"
Pause 1500
LCDOut $fe,1, " CONTROL DE"
LCDOut $fe,$c0,"TEMPERATURA"
Pause 1500
INICIO:
LCD:
IF adc1>=52 Then ' activa nu ventilador si el valor del ADC1 es mayor o igual a 52 ªc
High VENTILADOR
Else
Low VENTILADOR ' apaga si es menor al valor determinado
EndIF
LCDOut $fe, 1 ' Limpiar el LCD
ADCIN 0, adc1 ' Leer el primer canal del ADC
adc1=adc1*2
LCDOut $fe,1, " sensor "
LCDOut $fe,$c0, "TEMPERATURA=",#adc1 ' muestra la lectura de la temeperatura en ªc
PAUSE 150
GOTO INICIO
el sensor estan el el portA.0 del pic y va directo ... tengo la simulacion en proteus pero no se como colgar en los mensajes ... y unas imagenes...
pues me despido saludos...
Jimmy J.J.