Buenas, despues de las indicaciones que me has dado y la ayuda del CCS he creado este codigo, pero el problema es que al llegar a ADC_CLOCK_INTERNAL me dice "Expecting an identifier". Pero lo raro es que por mas que he probado quitando y poniendo ";" y repasando parentesis no he encontrado ninguna errata en la cabecera para que al llegar a ese punto se' quede parado. ¿Ve alguien si estoy haciendo algo mal? Abajo adjunto mi codigo. Espero que alguien pueda responderme. Saludos.
#include <16f676.h>
#fuses INTRC_IO, NOMCLR, NOWDT, NOBROWNOUT, PROTECT
#use delay(clock=4000000) // Velocidad del reloj : 4 Mhz
#define home_on output_high(PIN_A0); output_high(PIN_A1);
#define home_off output_low(PIN_A0); output_low(PIN_A1);
#define luces_on output_high(PIN_A2); output_high(PIN_C0); output_high(PIN_C1);
#define luces_off output_low(PIN_A2); output_low(PIN_C0); output_low(PIN_C1);
#define contacto PIN_A3
#define cierre PIN_C5
float sensor;
float umbral;
float porcentaje=1.05;
setup_adc(ADC_CLOCK_INTERNAL);
setup_adc_ports(A4_C3_ANALOG);
void main(){
do{
while(!(input(contacto))){
if(input(cierre)){
home_on;
delay_ms(5000);
home_off;
}
}
while(input(contacto)){
//Lectura del sensor
set_adc_channel(3);
delay_us(6);
sensor=read_adc();
//Lecutra del umbral
set_adc_channel(7);
delay_us(6);
umbral=read_adc();
if(sensor>umbral){
delay_ms(1000);
if(sensor>umbral){
luces_on;
}
}
else(sensor<((umbral)/(porcentaje))){
delay_ms(10000);
if(sensor>((porcentaje)*(umbral))){
luces_off;
}
}
}
}while(TRUE);
}