Tengo este proyecto que es controlador de aire acondicionado y utilicé PIC12F508 como microcontrolador, el funcionamiento de este proyecto es que el compresor se encenderá durante 1 hora y después se detendrá durante 5 minutos y el problema es que la imagen se restablecerá y contará de nuevo durante 1 hora.
Mi objetivo en este proyecto es que cuando se reinicie la imagen, deseo guardar la última vez o contar, y cuando se vuelva a encender, contará el tiempo restante dentro de esa hora. He investigado la posible solución y EEPROM puede ayudar, pero utilicé PIC12F508 que no tiene EEPROM. ¿Hay alguna otra forma aparte de EEPROM pero aún así usaré PIC12F508? gracias
Este es el código que utilicé del compilador MPLAB X y XC8:
/* * File: controller.c * Author: Jeaneth * * Created on July 30, 2016, 10:44 AM */
include
include
// PIC12F508 Configuration Bit Settings
include
// CONFIG
pragma config OSC = IntRC // Oscillator Selection bits (internal RC oscillator)
pragma config WDT = OFF // Watchdog Timer Enable bit (WDT disabled)
pragma config CP = OFF // Code Protection bit (Code protection off)
pragma config MCLRE = ON // GP3/MCLR Pin Function Select bit (GP3/MCLR pin function is MCLR)
void main()
{ for(;;)
{
TRIS = 0b000000;
GP0 = 0; //LED OFF
GP1 = 0; //COMPRESSOR OFF
GP0 = 1; // LED ON
GP1 = 1; // COMPRESSOR ON
runcomp();
GP1 = 0; //COMPRESSOR OFF
stop();
}
}
int minute()
{
for(int i =1; i>0; i--)
_delay(1000000);
return 0;
}
int runcomp()
{
for(int x =1; x>0; x--)
minute();
return 0;
} int stop()
{ for(int y =1 ; y>0; y--) minute(); return 0;
}