al final me queda asi
#include <16F876.h>
#device adc=8
#FUSES NOWDT //No Watch Dog Timer
#FUSES XT //Crystal osc <= 4mhz
#FUSES PUT //Power Up Timer
#FUSES NOPROTECT //Code not protected from reading
#FUSES NODEBUG //No Debug mode for ICD
#FUSES BROWNOUT //Reset when brownout detected
#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOCPD //No EE protection
#use delay(clock=4000000)
#define use_portb_lcd TRUE
#include <lcd.c>
///DEFINICION DE FUNCIONES
void configurar(void);
void choras(void);
void cminutos(void);
int segundos,minutos,horas,temperatura;
int seg=0;
byte menu=0,flag=0,var=2; //variables para menu configurar
//********************* //INTERRUPCION//************************************\\
#int_rtcc //Habilita interrupción timer0
void interrupt_timer(void){
seg++;
if(seg==125){ //Condición de cambio
segundos++; // cuenta 1 segundo
seg=0; //reiniciar cuenta
}
set_timer0(131); //Inicializa Timer0
}
void main(void){
setup_adc_ports(RA0_ANALOG); // configura RA0 como entrada analogica
set_tris_a(0xff);
setup_adc(ADC_CLOCK_INTERNAL);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_64); //Configura timer0 y prescaler
set_timer0(131); //Inicializa timer0
enable_interrupts(INT_RTCC); //Habilita interrupción timer0
enable_interrupts(GLOBAL); //Habilita Interrupciones
lcd_init();// inicializa el LCD
set_adc_channel(0);
delay_us(20);
lcd_putc("Comedero Peces\nPino & Azparren" ); //presentacion...
delay_ms(4000);
while(true)
{
temperatura=read_adc();//lee valor analogico
if(segundos>59)
{
segundos=0;
minutos++;
if(minutos>59)
{
minutos=0;
horas++;
if(horas>24)
horas=0;
}
}
lcd_init(); //inicializa lcd
printf (lcd_putc,"\f%02u:%02u:%02u T:%d%cC\n H.COMIDA: 13:45" ,horas,minutos,segundos,temperatura*2,0xdf);
delay_ms(100);
}
}
///FUNCION CONFIGURAR
void configurar(void){
disable_interrupts(GLOBAL); //desactivadas interrupciones
switch(menu){
case 0: lcd_putc("fConfigurar horas?" ); //horas
if(!input(PIN_A3))
{
while(!input(PIN_A3)){}
choras();
menu=1;
}
break;
case 1: lcd_putc("fConfigurar minutos?" ); //minutos
if(!input(PIN_A3))
{
while(!input(PIN_A3))
cminutos();
menu=2;
}
me compila bien pero a la hora de simular en proteus ummm no hace nada vosotros veis alg fallo d progrmacion
adjunto c y mi proteus