//------------------------------------------------------------------
if (KEY_1 == 0) // 当在调时状态时就退出调时
{
DelayM(20);led_g1 = 0;led_r = 1;
if(KEY_1 == 0 && w == 1){
w = 0; //退出调时
e = 0; //“下一项”计数器清0
}
if(KEY_1 == 0 && w == 0){
lcm_clr();//清屏
lcm_w_test(0,0x80);
lcm_w_word(" 12864LcdClock V1.01 2006-11-26 Hello !! from DoYoung.net");
//----------|-------1-------|-------3-------|-------2-------|-------4-------|-----//标尺
while(KEY_1 == 0);//等待键松开
}
lcm_clr();//清屏
//lcm_w_word("[Dis] [Set]");
//yy=0xff;mo=0xff;dd=0xff;xq=0xff;hh=0xff;mm=0xff;ss=0xff; //各数据刷新
days(); //节日显示
updata (); //刷新数据
lcm_w_mm();//刷新 分
while(KEY_1 == 0);//等待键松开
led_g1 = 1;
}
//------------------------------------------------------------------
if (KEY_2 == 0 && w == 1){ // 加减调整{
DelayM(20);led_g2 = 0;led_r = 1;
if(KEY_2 == 0 && w == 1){
Set_time(e);//调整
}
while(KEY_2 == 0);//等待键松开
led_g2 = 1; led_r = 0;
}
//------------------------------------------------------------------
if (KEY_4 == 0 && w == 1){ // 加减调整
DelayM(20); led_g4 = 0;led_r = 1;
if(KEY_4 == 0 && w == 1){
Set_time(e);//调整
}
while(KEY_4 == 0);//等待键松开
led_g4 = 1; led_r = 0;
}
//------------------------------------------------------------------
if(KEY_1 == 1 && KEY_2 == 0 && KEY_3 == 1 && KEY_4 == 0){ //时钟初始化{
led_r = 0;
DelayM(3000);
led_r = 1;
if(KEY_1 == 0 && KEY_2 == 0&& KEY_3 == 1&& KEY_4 == 0){
Init_1302();
lcm_w_test(0,0x80);
lcm_clr();//清屏
lcm_w_word("初始化成功! 2007-1-1 00:00.0");
//----------|-------1-------|-------3-------|
while(1);
}
}
} }
/*****************************************************************************/
/*
//编程日志
2007-02-10 修改为正式发布版。
2007-01-26 用每分钟刷新数据,防止显示乱码。
2006-11-30
2006-11-29 时钟主显示部分完成。
2006-11-28 时钟驱动程序植入完成。
2006-11-27 LCM驱动程序植入完成。
2006-11-26 硬件制作完成。
/*****************************************************************************/
完整程序请点下面的下载文件:
28X64LCD万年历
12864LCD电子钟说明文档:
08012317175152.rar
12864LCD资料:
08012317187853.rar
DS1302资料:
08012317187210.rar
本文关键字:万年历 自动控制-单片机,电子制作 - 自动控制-单片机
上一篇:电子万年历