#include <16f877a.h>
#fuses XT,NOWDT,NOPROTECT,NODEBUG,NOBROWNOUT,NOWRT,NOLVP,PUT
#use delay(clock=4000000)
#use i2c(Master, sda=PIN_C4, scl=PIN_C3)
#define LCD_DB4 PIN_B4 //Configuramos pines...
#define LCD_DB5 PIN_B5
#define LCD_DB6 PIN_B6
#define LCD_DB7 PIN_B7
#define LCD_E PIN_B0
#define LCD_RS PIN_B1
#define LCD_RW PIN_B2 //...para el LCD
#define DAL_SCL PIN_A0
#define DAL_SDA PIN_A1
#include <flex_lcd.0.c> //Libreria manejo LCD
#include <_ds1307.c> //Libreria manejo RTC
#include <ds1621.c> //Libreria sensor Temp
byte hr,min,sec,day,month,yr,dow;
char sdow[11];
byte value;
void main(){
//ESCRITURA DE LA EEPROM
int direccion=0,dato;
int alarma1[]="0830";
int alarma2[]="0900";
int alarma3[]="0925";
int alarma4[]="1000";
int alarma5[]="1020";
write_eeprom(direccion,alarma1);
direccion++;
write_eeprom(direccion,alarma2);
direccion++;
write_eeprom(direccion,alarma3);
direccion++;
write_eeprom(direccion,alarma4);
direccion++;
write_eeprom(direccion,alarma5);
//MENU DE PRESENTACION
lcd_init();
lcd_gotoxy(2,1);
printf(lcd_putc,"Reloj Alarma"); //Menu de presentacion.
lcd_gotoxy(2,2);
printf(lcd_putc,"Miquel_S");
delay_ms(1500);
//LECTURA EEPROM
printf(lcd_putc,"\fListado alarmas");
for(direccion=0;direccion<5;direccion++){
dato=read_eeprom(direccion);
lcd_gotoxy(1,2);
printf(lcd_putc,"%s",dato);
delay_ms(1500);
}
//INICIALIZA DS1307
ds1307_init(DS1307_ALL_DISABLED);
printf(lcd_putc,"\fInicializando\nDS1307...");
delay_ms(1000);
ds1307_set_date_time(11,2,10,3,22,05,0);
//LEE FECHA Y HORA ACTUAL DS1307
ds1307_get_day_of_week((char*) sdow);
ds1307_get_date(day,month,yr,dow);
ds1307_get_time(hr,min,sec);
printf(lcd_putc,"\f%s %02d-%02d-%02d",sdow,day,month,yr);
printf(lcd_putc,"\n%02d:%02d:%02d",hr,min,sec);
//INICIALIZA Y LEE TEMPERATURA DS1621
init_temp();
read_temp();
value=read_temp();
lcd_gotoxy(10,2);
printf(lcd_putc,"Temp:%u ",value);
//delay_ms(1000);
}