#include <16f876A.h>
#fuses XT
#use delay(clock=4MHz)
#include <DS1307.bak>
#define LCD_DB4 PIN_B4
#define LCD_DB5 PIN_B5
#define LCD_DB6 PIN_B6
#define LCD_DB7 PIN_B7
#define LCD_RS PIN_B2
#define LCD_E PIN_B3
#include <LCD1.c>
int sec=50,min=59,hora=24,dia=9, mes=5,anio=15,dow=0;
char fecha[5];
void main(){
lcd_init();
ds1307_set_date_time(dia,mes,anio,dow,hora,min,sec);
for(;;){
ds1307_get_date(dia,mes,anio,dow); /// se obtiene la fecha
ds1307_get_time(hora,min,sec); /// se obtiene la hora
ds1307_get_day_of_week(fecha);
lcd_gotoxy(1,1);
printf(lcd_putc,"%s %02u/%02u/20%02u",fecha,dia,mes,anio);
lcd_gotoxy(5,2);
printf(lcd_putc, "%02u:%02u:%02u",hora, min, sec);
delay_ms(200);
}
}
if(BOTON == 1) //si el usuario undio el boton
{
tiempo_espichado++; //aumentamos en 1 la variable del tiempo espichado
if(tiempo_espichado > 10) //si a durado mas de 400 milisegundos espichado el boton (400 porke si uno multiplica en la calculadora 50 milisegundos por 10 da 400
{
hora++; //incrementamos la hora en uno
tiempo_espichado = 0;
if(hora > 24){hora = 0;}
}
}
ds1307_set_date_time(dia,mes,anio,dow,hora,min,sec);
delay_ms(50); //esperamos 50 milisegundos para reducir la velocidad del pic