📄 keyscan.h
字号:
void keyscan(void)
{
uchar i,j;
bit onf_1,onf_0;
uchar adjtime[]="adtime";
uchar chece[]="CHECE_alarm";
if(key_stop==0)
{
delay(6);
if(key_stop==0)
{
while(!key_stop);
delay(4);
while(!key_stop);
TR0=0;
stop_en=1;
delay(1);
clock1_int();
TR0=1;
stem++;
if(stem==9)
{stem=0;stop_en=0;write_com(0x0c);alarm_end();}
}
}
if(stem==1)
{
write_com(0x80+0x40+0x0d);
write_com(0x0f);
if(key2==0)
{
delay(6);
if(key2==0)
{
while(!key2);
minr1++;
if(minr1==60)
{minr1=0;}
display_time(0x40+0x0d,minr1);
}
}
if(key3==0)
{
delay(6);
if(key3==0)
{
while(!key3);
minr1--;
if(minr1==-1)
{minr1=59;}
display_time(0x40+0x0d,minr1);
}
}
}
if(stem==2)
{
write_com(0x80+0x40+0x0a);
write_com(0x0f);
if(key2==0)
{
delay(6);
if(key2==0)
{
while(!key2);
hourr1++;
if(hourr1==24)
{hourr1=0;}
display_time(0x40+0x0a,hourr1);
}
}
if(key3==0)
{
delay(6);
if(key3==0)
{
while(!key3);
hourr1--;
if(hourr1==-1)
{hourr1=23;}
display_time(0x40+0x0a,hourr1);
}
}
}
if(stem==3)
{
write_com(0x80+0x40+0x07);
write_com(0x0f);
if(key2==0)
{
delay(6);
if(key2==0)
{
while(!key2);
dayr1++;
if(dayr1==31)
{dayr1=1;}
display_time(0x40+0x07,dayr1);
}
}
if(key3==0)
{
delay(6);
if(key3==0)
{
while(!key3);
dayr1--;
if(dayr1==0)
{dayr1=30;}
display_time(0x40+0x07,dayr1);
}
}
}
if(stem==4)
{
write_com(0x80+0x0e);
write_com(0x0f);
if(key2==0)
{
delay(6);
if(key2==0)
{
while(!key2);
onf1=~onf1;
if(onf1==1)
{
sw1='f';
write_date('O');
write_date(sw1);
}
else
{
sw1='n';
write_date('O');
write_date(sw1);
}
}
}
}
if(stem==5)
{
write_com(0x80+0x40+0x0d);
write_com(0x0f);
if(key2==0)
{
delay(6);
if(key2==0)
{
while(!key2);
minr0++;
if(minr0==60)
{minr0=0;}
display_time(0x40+0x0d,minr0);
}
}
if(key3==0)
{
delay(6);
if(key3==0)
{
while(!key3);
minr0--;
if(minr0==-1)
{minr0=59;}
display_time(0x40+0x0d,minr0);
}
}
}
if(stem==6)
{
write_com(0x80+0x40+0x0a);
write_com(0x0f);
if(key2==0)
{
delay(6);
if(key2==0)
{
while(!key2);
hourr0++;
if(hourr0==24)
{hourr0=0;}
display_time(0x40+0x0a,hourr0);
}
}
if(key3==0)
{
delay(6);
if(key3==0)
{
while(!key3);
hourr0--;
if(hourr0==-1)
{hourr0=23;}
display_time(0x40+0x0a,hourr0);
}
}
}
if(stem==7)
{
write_com(0x80+0x40+0x07);
write_com(0x0f);
if(key2==0)
{
delay(6);
if(key2==0)
{
while(!key2);
dayr0++;
if(dayr0==31)
{dayr0=1;}
display_time(0x40+0x07,dayr0);
}
}
if(key3==0)
{
delay(6);
if(key3==0)
{
while(!key3);
dayr0--;
if(dayr0==0)
{dayr0=30;}
display_time(0x40+0x07,dayr0);
}
}
}
if(stem==8)
{
write_com(0x80+0x0e);
write_com(0x0f);
if(key2==0)
{
delay(6);
if(key2==0)
{
while(!key2);
onf0=~onf0;
if(onf0==1)
{
sw0='f';
write_date('O');
write_date(sw0);
}
else
{
sw0='n';
write_date('O');
write_date(sw0);
}
}
}
}
if(key1==0)
{
delay(6);
if(key1==0)
{
while(!key1);
delay(6);
while(!key1);
if(onf1==0)
{onf_1=1;}
if(onf0==0)
{onf_0=1;}
delay(1);
onf1=1;onf0=1;
step++;
if(step<6)
{
i=0;
while(i<6)
{
write_com(0x80+0x40+i);
write_date(adjtime[i]);
delay(1);
i++;
}
}
if(step==6)
{
write_com(0x01);
write_date(' ');
write_date(' ');
display_time(0x40+0x00,wp);
chece_alarm();
delay(5);
i=0;
while(i<11)
{
write_com(0x80+i);
write_date(chece[i]);
delay(1);
i++;
}
}
if(step==7)
{
step=0;
TR0=1;
up=up_c;
wp=wp_c;
if(onf_1==1)
{onf1=0;}
if(onf_0==1)
{onf0=0;}
onf_1=0;onf_0=0;
write_com(0x0c);
j=0;
alarm_end();
}
}
}
if(step==1)
{
TR0=0;
delay(5);
write_com(0x80+0x0c);
write_com(0x0f);
if(key2==0)
{
delay(6);
if(key2==0)
{
while(!key2);
sec++;
if(sec==60)
{sec=0;}
display_time(0x0c,sec);
}
}
if(key3==0)
{
delay(6);
if(key3==0)
{
while(!key3);
sec--;
if(sec==-1)
{sec=59;}
display_time(0x0c,sec);
}
}
}
if(step==2)
{
delay(5);
write_com(0x80+0x09);
write_com(0x0f);
if(key2==0)
{
delay(6);
if(key2==0)
{
while(!key2);
min++;
if(min==60)
{min=0;}
display_time(0x09,min);
}
}
if(key3==0)
{
delay(6);
if(key3==0)
{
while(!key3);
min--;
if(min==-1)
{min=59;}
display_time(0x09,min);
}
}
}
if(step==3)
{
delay(5);
write_com(0x80+0x06);
write_com(0x0f);
if(key2==0)
{
delay(6);
if(key2==0)
{
while(!key2);
hour++;
if(hour==24)
{hour=0;}
display_time(0x06,hour);
}
}
if(key3==0)
{
delay(6);
if(key3==0)
{
while(!key3);
hour--;
if(hour==-1)
{hour=23;}
display_time(0x06,hour);
}
}
}
if(step==4)
{
delay(5);
write_com(0x80+0x03);
write_com(0x0f);
if(key2==0)
{
delay(6);
if(key2==0)
{
while(!key2);
day++;
if(day==31)
{day=1;}
display_time(0x03,day);
}
}
if(key3==0)
{
delay(6);
if(key3==0)
{
while(!key3);
day--;
if(day==0)
{day=30;}
display_time(0x03,day);
}
}
}
if(step==5)
{
delay(5);
write_com(0x80+0x00);
write_com(0x0f);
if(key2==0)
{
delay(6);
if(key2==0)
{
while(!key2);
month++;
if(month==13)
{month=1;}
display_time(0x00,month);
}
}
if(key3==0)
{
delay(6);
if(key3==0)
{
while(!key3);
month--;
if(month==0)
{month=12;}
display_time(0x00,month);
}
}
}
if(step==6)
{
stop_en=1;
TR0=1;
delay(5);
write_com(0x80+0x40+0x00);
write_com(0x0f);
if(key2==0)
{
delay(6);
if(key2==0)
{
while(!key2);
wp++;
if(wp>wp_c)
{wp=1;}
if(up==up_c||up==up_c-3)
{up=3;}
else
{up=up+6;}
display_time(0x40+0x00,wp);
chece_alarm();
}
}
if(key3==0)
{
delay(6);
if(key3==0)
{
while(!key3);
wp--;
if(wp==0||wp==-1)
{wp=wp_c;}
if(up==0)
{up=up_c;}
display_time(0x40+0x00,wp);
chece_alarm();
}
}
}
}
void clock1_int(void)
{
uchar j;
uchar clock[7]="CLOCK_";
write_com(0x01);
write_date(' ');
write_date(' ');
j=0;
while(j<6)
{
write_com(0x80+j);
write_date(clock[j]);
delay(1);
j++;
}
if(stem<4)
{write_date('1');}
else
{write_date('2');}
write_com(0x80+0x0e);
write_date('O');
if(stem<4)
{
if(onf1==1)
{sw1='f';}
else
{sw1='n';}
write_date(sw1);
}
else
{
if(onf0==1)
{sw0='f';}
else
{sw0='n';}
write_date(sw0);
}
write_com(0x80+0x40+0x09);
write_date('-');
write_com(0x80+0x40+0x0c);
write_date(':');
if(stem<4)
{
display_time(0x40+0x07,dayr1);
display_time(0x40+0x0a,hourr1);
display_time(0x40+0x0d,minr1);
}
else
{
display_time(0x40+0x07,dayr0);
display_time(0x40+0x0a,hourr0);
display_time(0x40+0x0d,minr0);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -