buenas que tal. hice un pograma usando el adc del pic el cual consiste en verficar que mi señal de entrada (que es la tension de un pot) no pase de 4 voltios.
# include <16F877a.h>
# DEVICE ADC=10 //ADC usa 10 bit
# use delay(clock=4000000)
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7)// RS232 Estándar
# fuses XT,NOWDT,NOPROTECT,NOLVP
# include <lcd.c>
# USE FAST_IO(A)
# USE FAST_IO(B)
# USE FAST_IO(C)
int a=0;
int16 i;
float q;
# INT_AD
AD_isr(){
i=Read_ADC(ADC_READ_ONLY);
q= 5.0*i/(1024.0);
if (q>4.0) { a=1; } // activo un flag que me indica que llego a 4v
Read_ADC(ADC_START_ONLY);//inicia nueva conversion.
}
void main(){
lcd_init();
Setup_ADC_Ports(an0);
Setup_ADC(ADC_CLOCK_DIV_64);
enable_interrupts(INT_AD);
enable_interrupts(GLOBAL);
Set_ADC_Channel(0);
delay_ms(1);
Read_ADC(ADC_START_ONLY);
do{
lcd_gotoxy(1,1);
printf(lcd_putc," Salida: ");
printf(lcd_putc,"\n %01.2fv ",q);
printf("q ");
if (a==1) {
// su el fag se activo se termina de hacer conversiones
break; }
}while(1);
lcd_gotoxy(1,1);
printf(lcd_putc," \ffin"); // se visualiza fin en el lcd
}
ahora, una amigo me dijo que si solo quiero saber en que momento pasa de 4v que mejor use el COMPARADOR ANALOGICO.
alguno de ustedes ha probado usarlo en ccs compiler??? si puedieran pasarme algun ejemplo me ayudarian bastante. basicamente lo que quiero hacer es comparar que mi señal no exceda 4 voltios usando el comparador anlaogico
gracias!