Problema en interrupciones con la LCD.

Hola amigos foreros:

Este es el primer mensaje que pongo en el foro y estoy desesperado necesito de vuestra ayuda.
Os explico:

Estoy realizando un proyecto de fin de carrera se trata de un Invernadero automatizado. Ya tengo to el harware montado y todo funciona OK.

Para poder actualizar el invernadero, es decir, la captura de los sensores necesito las interrupciones para cada cierto tiempo ir actualizando los valores que cambian continuamente.

El problema es que la interrupción se me desactiva cuando hago uso de la lcd. Es decir hago un programas aparte usando las librerías de LCD.c y todo funciona OK. La lcd funciona pero la cosa se complica cuando hago un programa con alguna interrupción y meto la inicialización de la lcd. Me escribe en la lcd pero no me funciona lo demás.

Utilizo el PIC 16F1937 y el compilador CCS. Os pongo un pequeño programa que sirve como explicación a mi problema.

SALUDOS y GRACIAS

Código:
#include<16F1937.h>

#FUSES XT
#DEVICE ADC=10

#USE delay(clock=20000000)


#define LCD_ENABLE_PIN  PIN_D0                                    
#define LCD_RS_PIN      PIN_D2                                    
#define LCD_RW_PIN      PIN_D3                                    
#define LCD_DATA4       PIN_D4                                    
#define LCD_DATA5       PIN_D5                                    
#define LCD_DATA6       PIN_D6                                   
#define LCD_DATA7       PIN_D7 

#include<LCD.c>
#include"16F1937_Registros.c"


int cont=0;

#INT_TIMER1
void Timer1_isr()
{
 clear_interrupt(int_timer1);
 cont++;
 bit_clear(PORTC,1);
}
void main (void)
{
 TRISC=0x00;
 //lcd_init();
 delay_ms(100);
 enable_interrupts(GLOBAL);
 enable_interrupts(INT_TIMER1);
 setup_timer_1 (T1_INTERNAL);
 set_timer1(0);//reset the timer.
 do{
  if(cont==3)
   {
    bit_set(PORTC,1);
    cont=0;
   }
  //lcd_putc("HOLA");
 }while(1);
}
 
Última edición por un moderador:
Hola compañeros:

Lo he resuelto por fin. Ya pensaba que esto me iba a matar. Despues de comerme mucho la cabeza y no encontrarle sentido alguno decidi actualizarel software. Tanto Mplab IDE como CCS he pasado a las versiones mas recientes y uereca todo solucionado.

SALUDOS y GRACIAS por el interes.

Si os puedo ayudar en algo de dudas que tengais acerca de este proyecto encantado
 
Atrás
Arriba