if(flagsseta==1) // 检测是否在进行事件提醒设置。
if(kmenunum==8) kmenunum=5; // 因为进行事件提醒设置时,只
调节年月日,所以, kmenunum 只能等于 5,6,7
flagset=1; // 设置标志位,表示在进行各种时间设置。 while(!kmenu); di();
switch(kmenunum) //定位光标闪烁点。 {
case 1: writecom(0x80+0x40+10); // 秒闪烁。
writecom(0x0f); // 开光标闪烁。 break;
case 2: writecom(0x80+0x40+7); // 分闪烁。
break;
case 3: writecom(0x80+0x40+4); // 时闪烁。
break;
case 4: writecom(0x80+10); //星期闪烁 .
break;
case 5: writecom(0x80+7); //日闪烁 .
break;
case 6: writecom(0x80+4); //月闪烁 .
break;
case 7: writecom(0x80+1); //年闪烁 .
编辑版word
}
}
}
break;
case 8: kmenunum=0;
writecom(0x0c); // 取消光标闪烁。 flagset=0; //取消时间调节标志。 dswrite(0x8e,0x00); /* 允许写操作 */ dswrite(0x80,second/10*16+second);
dswrite(0x82,minute/10*16+minute);
dswrite(0x84,hour/10*16+hour);
dswrite(0x8a,week/10*16+week); dswrite(0x86,day/10*16+day); dswrite(0x88,month/10*16+month); dswrite(0x8c,year/10*16+year); dswrite(0x8e,0x80); /* 禁止写操作 */ break;
if(kmenunum!=0) //只有当功能键按下时 ,才检测增大 ,减小键 . {
if(kup==0) {
delay(5);
编辑版word
晶显示
标复位 .
if(kup==0) { while(!kup); di();
switch(kmenunum) //根据功能键被按下的次数,调节相应数值。 { case 1: second++; if(second==60)
second=0;
writetime(9,second);
writecom(0x80+0x40+10); // 因为,上面送液
break; //一次 ,光标后移一位 ,所以要将光
case 2: minute++; if(minute==60)
minute=0;
writetime(6,minute); writecom(0x80+0x40+7);
break;
case 3: hour++;
if(hour==24)
编辑版word
hour=0;
writetime(3,hour); writecom(0x80+0x40+4); break;
case 4: week++;
if(week==8)
week=1;
writeweek(week); writecom(0x80+11); break;
case 5: day++;
if(day==32)
day=1;
writenyr(6,day); writecom(0x80+7); break;
case 6: month++;
if(month==13)
month=1;
writenyr(3,month); writecom(0x80+4); break;
编辑版word