Hola a todos,
Amigos necesito una mano explico mi problema: estoy haciendo un sensor de temp con el lm35 uso el pic 16f876 esta configurado para trabajar con 2 entradas analogas, esta programado en C ( uso el CCS) Ademas uso AN3 como ref a 2.4v. El AN0 es para ingresar la T de referencia AN1 es para el sensor todo enviado al LCD mi problema es k el CCS no me deja configurar las dos entradas analogas si pongo (setup_adc_ports(AN0_AN1_VREF)) no me acepta pero si pongo(setup_adc_ports(AN0)) si me acepta adjunto el codigo que puede ser amigos gracias de antemano , saludos
*********************************************
#include <16f876.h>
#fuses HS,NOWDT,NOPUT
#DEVICE ADC=10
#use delay(clock=4000000)
#use fast_io(a)
#use fast_io(c)
#define LCD_RS PIN_B1
#define LCD_RW PIN_B2
#define LCD_E PIN_B3
#define LCD_DB4 PIN_B4
#define LCD_DB5 PIN_B5
#define LCD_DB6 PIN_B6
#define LCD_DB7 PIN_B7
#include "flex_lcd.c"
/********************************************************************/
/******************* PROGRAMA PRINCIPAL ************************/
void main(){
int flag=1;
int16 i=0, vs=0;
float j=0;
set_tris_a(0x0B); // pin RA0 y RA1 como entrada
set_tris_b(0x00); // todo el puerto
set_tris_c(0xF0); // RC0 salida, RC5 como entrada
setup_adc_ports(AN0_AN1_VREF); // RA0 RA1 será analógicos
setup_adc(ADC_CLOCK_INTERNAL); // config A/D con reloj interno del uc
lcd_init(); // inicializa LCD
lcd_gotoxy(1,1); // escribe en la fila 1 del LCD
printf(lcd_putc,"**** SENATI ****"); // envia SENATI al LCD
delay_ms(2000);
lcd_gotoxy(1,1);
printf(lcd_putc," "); // limpia la primera linea del LCD
output_low(PIN_C0); // apaga RELE
do{
set_adc_channel(0); // usamos el canal 0
delay_us(20); // retardo
i=read_adc(); // valor leido se almacena en i
j=120.0*i/1024.0;
lcd_gotoxy(1,1); // escribe en le fila 1
printf(lcd_putc,"Ingresar T:%01.2f",j);
if(input(pin_c5)==0){
delay_ms(20);
flag=0;
}
} while(flag==1);
flag=1;j=0;
while(1){
set_adc_channel(1); // usamos el canal 1, para el sensor
delay_us(20); // retardo
vs=read_adc();
j=2.5*vs/1024.0; // voltaje de ref en 2.5v
lcd_gotoxy(1,2);
printf(lcd_putc,"Temp real Tr:%01.2f",j);
}
output_high(PIN_A2); // apaga LED
output_high(PIN_C0); // prende RELE
}
Zorry , aqui el mensaje de error.
*** Error 12 "Dilatador.c" Line 29(20,32): Undefined identifier AN0_AN1_VREF
1 Errors, 0 Warnings.
Amigos necesito una mano explico mi problema: estoy haciendo un sensor de temp con el lm35 uso el pic 16f876 esta configurado para trabajar con 2 entradas analogas, esta programado en C ( uso el CCS) Ademas uso AN3 como ref a 2.4v. El AN0 es para ingresar la T de referencia AN1 es para el sensor todo enviado al LCD mi problema es k el CCS no me deja configurar las dos entradas analogas si pongo (setup_adc_ports(AN0_AN1_VREF)) no me acepta pero si pongo(setup_adc_ports(AN0)) si me acepta adjunto el codigo que puede ser amigos gracias de antemano , saludos
*********************************************
#include <16f876.h>
#fuses HS,NOWDT,NOPUT
#DEVICE ADC=10
#use delay(clock=4000000)
#use fast_io(a)
#use fast_io(c)
#define LCD_RS PIN_B1
#define LCD_RW PIN_B2
#define LCD_E PIN_B3
#define LCD_DB4 PIN_B4
#define LCD_DB5 PIN_B5
#define LCD_DB6 PIN_B6
#define LCD_DB7 PIN_B7
#include "flex_lcd.c"
/********************************************************************/
/******************* PROGRAMA PRINCIPAL ************************/
void main(){
int flag=1;
int16 i=0, vs=0;
float j=0;
set_tris_a(0x0B); // pin RA0 y RA1 como entrada
set_tris_b(0x00); // todo el puerto
set_tris_c(0xF0); // RC0 salida, RC5 como entrada
setup_adc_ports(AN0_AN1_VREF); // RA0 RA1 será analógicos
setup_adc(ADC_CLOCK_INTERNAL); // config A/D con reloj interno del uc
lcd_init(); // inicializa LCD
lcd_gotoxy(1,1); // escribe en la fila 1 del LCD
printf(lcd_putc,"**** SENATI ****"); // envia SENATI al LCD
delay_ms(2000);
lcd_gotoxy(1,1);
printf(lcd_putc," "); // limpia la primera linea del LCD
output_low(PIN_C0); // apaga RELE
do{
set_adc_channel(0); // usamos el canal 0
delay_us(20); // retardo
i=read_adc(); // valor leido se almacena en i
j=120.0*i/1024.0;
lcd_gotoxy(1,1); // escribe en le fila 1
printf(lcd_putc,"Ingresar T:%01.2f",j);
if(input(pin_c5)==0){
delay_ms(20);
flag=0;
}
} while(flag==1);
flag=1;j=0;
while(1){
set_adc_channel(1); // usamos el canal 1, para el sensor
delay_us(20); // retardo
vs=read_adc();
j=2.5*vs/1024.0; // voltaje de ref en 2.5v
lcd_gotoxy(1,2);
printf(lcd_putc,"Temp real Tr:%01.2f",j);
}
output_high(PIN_A2); // apaga LED
output_high(PIN_C0); // prende RELE
}
Zorry , aqui el mensaje de error.
*** Error 12 "Dilatador.c" Line 29(20,32): Undefined identifier AN0_AN1_VREF
1 Errors, 0 Warnings.
Última edición: