Comparar dos variables es muy sencillo con if, aunque imagino que tu problema es más complicado que eso:
if (a>b)
alarma;
Asi es, te pongo como habia echo el codigo pero la comparacion no me funciona:
#include <16f877.h>
#device ADC=8
#fuses XT,NOWDT,NOPROTECT,NOLVP,PUT,BROWNOUT
#use delay(clock=4000000)
#use standard_io(b)
#byte port_c = 7 // Identificador asociado al registro de dirección 7
long valor;
long tempmax=11001000;
long tempmin=01010000;
void toma_adc_temperatura(void){
set_adc_channel(0); // Lectura del canal 0
delay_ms(1); //para que se estabilice
valor=read_adc(); //Se guarda en la Variable Valor en valor convertido de Analogico en Digital
delay_ms(1); //para que se estabilice
}
void main() {
set_tris_a(0xff);
set_tris_b(0x00);
set_tris_c (0x00);
setup_adc(ADC_CLOCK_INTERNAL); //configura el converso
setup_adc_ports(RA0_analog); //entrada 0 como analogica
port_c=0;
do {
toma_adc_temperatura();
output_b(valor);
if (valor=0xa2){
port_c=1;
}
}while(true);
}
Lo que nose es como hacer lo de la comparacion de lo que me da cuando cojo lo del ADC con la temp maxima y minima que tengo para que me salte la alarma.
Lo bueno seria que la compararcion me la haria cuando es igual o mayor, me imagino que igual hay que poner lo de 0xa2 entre comillas o algo por el estilo...Saludos