TODOPIC

Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: mikipic en 26 de Octubre de 2012, 21:10:09

Título: el modulo comparador analógico y el modulo ADC
Publicado por: mikipic en 26 de Octubre de 2012, 21:10:09
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. 



Código: [Seleccionar]
# 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!
Título: Re: el modulo comparador analógico y el modulo ADC
Publicado por: MGLSOFT en 26 de Octubre de 2012, 22:17:44
Has mirado la ayuda de CCS??

Aqui va, incluso marca un ejemplo de uso al final...

Citar
setup_comparator( )

--------------------------------------------------------------------------------
Syntax:
 setup_comparator (mode)

 
Parameters:
 mode is a constant.  Valid constants are in the devices .h file and are as follows:

A0_A3_A1_A2

A0_A2_A1_A2

NC_NC_A1_A2

NC_NC_NC_NC

A0_VR_A1_VR

A3_VR_A2_VR

A0_A2_A1_A2_OUT_ON_A3_A4

A3_A2_A1_A2

 Returns:
 undefined
 
Function:
 Sets the analog comparator module. The above constants have four parts representing the inputs:  C1-, C1+, C2-, C2+
 
Availability:
 This function is only available on devices with an analog comparator.

 Requires
 Constants are defined in the devices .h file.

 Examples:
 // Sets up two independent comparators (C1 and C2),

// C1 uses A0 and A3 as inputs (- and +), and C2

// uses A1 and A2 as inputs

setup_comparator(A0_A3_A1_A2);
 
Example Files:
 ex_comp.c

 
Also See:
 Analog Comparator overview