thanks for reply
this is my application code i want to set time from keypad so i chose 4 keys one is menu and other 3 are hrs min sec ...here menu function working ..i need inside the menu set the value..
any help
#include<lcd.c>
#include "button.c"
#include "ds1307.c"
//#byte Trisa=0x85
void display();
Void settime();
int1 flag,toggle;
int i,k;
int8 A2=0;
int8 A3=0;
int8 A4=0;
int8 A5=0;
//int8 A2_pressed = FALSE;
//int8 A3_pressed = FALSE;
//char i,SUN,MON,TUE,WED,THU,FRI,SAT;
byte sec;
byte min;
byte hrs;
byte day;
byte month;
byte year;
byte dow;
void display()
{
//delay_ms(100);
ds1307_get_date(day,month,year,dow);
ds1307_get_time(hrs,min,sec);
lcd_gotoxy(1,1);
printf(lcd_putc,"Time: %02d:%02d:%02d",hrs,min,sec);
lcd_gotoxy(1,2);
printf(lcd_putc,"Date:%02d:%02d:%02d-%2d",day,month,year,dow);
}
void settime()
{
if(button(PIN_A3, 0, 50, 10, A3, 1))
{
delay_ms(100);
k++;
if(k>23)
k=0;
lcd_gotoxy(1,2);
printf(lcd_putc,"\:%02d ",k);
k=hrs;
ds1307_set_date_time(day,month,year,dow,hrs,min,sec);
delay_ms(100);
}
}
void main()
{
int i,j,k;
lcd_init();
ds1307_init();
set_tris_a(0x3c);
//set_rtcc(RTCC_PRELOAD);
//enable_interrupts(INT_RTCC);
//enable_interrupts(GLOBAL);
//ds1307_set_date_time(26,7,12,5,12,04,00);//day, month,year,dow,hr,min.sec
delay_ms(100);
i=0;
while(1)
{
if(button(PIN_A2, 0, 50, 10, A2, 1))
{
delay_ms(100);
i++;
if(i==1)
{
lcd_gotoxy(1,1);
printf(lcd_putc,"\fSet Time: ");
delay_ms(100);
settime();
}
if(i==2)
{
lcd_gotoxy(1,2);
printf(lcd_putc,"\fset date: ");
delay_ms(100);
}
if(i==3)
{
lcd_gotoxy(1,2);
printf(lcd_putc,"\fSet relay turn on delay: ");
delay_ms(100);
}
if(i==4)
While(1)
{
display();
if(button(PIN_A2,0,50,10,A2,1))
{
break;
}
}
if(i>4)
i=0;
}
if(i==0)
{
display();
}
}
}