📄 scankey.h
字号:
//*******************************
void delay6ms()//延时消抖函数6ms
{
uchar i,j;
for(i=100;i>0;i--)
for(j=60;j>0;j--);
}
//********************************
void disp_adj(uchar i,uchar temp)
{
uchar shi,ge;
shi=temp/10;
ge=temp%10;
P2=wei[i*2];
P0=tab1[shi];
delay10ms(50);
P2=wei[i*2+1];
if((i*2+1)==1||(i*2+1)==3){P0=tab2[ge];}
else {P0=tab1[ge];}
delay10ms(50);
}
//********************************
void scankey()//键盘扫描函数
{
if(key_1on==0&&beep==1)
{
if(key1==0)
{
delay6ms();
if(key1==0)
{
delay6ms();
while(!key1);
delay6ms();
TR0=0;adj_on=1;key_2on=1;
step++;
if(step==4)
{adj=1;s_mod=0;TR0=1;};
if(step==5)
{
step=0;TR0=1;adj_on=0;P1=0xfb;
key_2on=0;s_mod=1;adj=0;TR1=0;
swec=0;swws=0;
}
}
}
}
if(key_2on==0&&beep==1)
{
if(key4==0)
{
delay6ms();
if(key4==0)
{
delay6ms();
while(!key4);
delay6ms();
adj=1;P2=0x20;P1=0xfe;key_1on=1;
if(ring_on==0){P0=0x71;}
else {P0=0x3f;}
stem++;
if(stem==5)
{stem=0;adj=0;adj_ring=1;key_1on=0;P1=0xfb;}
}
}
}
if(key3==0&&beep==0)
{
delay6ms();
if(key3==0)
{
delay6ms();
while(!key3);
delay6ms();
ring_off=0;
}
}
if(step==1)
{
P1=0xfd;
if(key2==0)
{
delay6ms();
if(key2==0)
{
delay6ms();
while(!key2);
delay6ms();
sec++;
if(sec==60){sec=0;}
}
}
if(key3==0)
{
delay6ms();
if(key3==0)
{
delay6ms();
while(!key3);
delay6ms();
sec--;
if(sec==-1){sec=59;}
}
}
disp_adj(2,sec);
}
if(step==2)
{
if(key2==0)
{
delay6ms();
if(key2==0)
{
delay6ms();
while(!key2);
delay6ms();
min++;
if(min==60){min=0;}
}
}
if(key3==0)
{
delay6ms();
if(key3==0)
{
delay6ms();
while(!key3);
delay6ms();
min--;
if(min==-1){min=59;}
}
}
disp_adj(1,min);
}
if(step==3)
{
if(key2==0)
{
delay6ms();
if(key2==0)
{
delay6ms();
while(!key2);
delay6ms();
hour++;
if(hour==24){hour=0;}
}
}
if(key3==0)
{
delay6ms();
if(key3==0)
{
delay6ms();
while(!key3);
delay6ms();
hour--;
if(hour==-1){hour=23;}
}
}
disp_adj(0,hour);
}
if(step==4)
{
if(key2==0)
{
delay6ms();
if(key2==0)
{
delay6ms();
while(!key2);
delay6ms();
TR1=0;s_on=0;
}
}
if(key3==0)
{
delay6ms();
if(key3==0)
{
delay6ms();
while(!key3);
delay6ms();
TR1=1;s_on=1;
}
}
if(key4==0)
{
delay6ms();
if(key4==0)
{
delay6ms();
while(!key4);
delay6ms();
TR1=0;s_on=0;
swec=0;swws=0;
}
}
}
if(stem==1)
{
if(key2==0)
{
delay6ms();
if(key2==0)
{
delay6ms();
while(!key2);
delay6ms();
ring_on=0;
P0=0x71;
}
}
if(key3==0)
{
delay6ms();
if(key3==0)
{
delay6ms();
while(!key3);
delay6ms();
ring_on=1;
P0=0x3f;
}
}
}
if(stem==2)
{
adj_ring=0;
if(key2==0)
{
delay6ms();
if(key2==0)
{
delay6ms();
while(!key2);
delay6ms();
rec++;
if(rec==60){rec=0;}
}
}
if(key3==0)
{
delay6ms();
if(key3==0)
{
delay6ms();
while(!key3);
delay6ms();
rec--;
if(rec==-1){rec=59;}
}
}
disp_adj(2,rec);
}
if(stem==3)
{
if(key2==0)
{
delay6ms();
if(key2==0)
{
delay6ms();
while(!key2);
delay6ms();
rin++;
if(rin==60){rin=0;}
}
}
if(key3==0)
{
delay6ms();
if(key3==0)
{
delay6ms();
while(!key3);
delay6ms();
rin--;
if(rin==-1){rin=59;}
}
}
disp_adj(1,rin);
}
if(stem==4)
{
if(key2==0)
{
delay6ms();
if(key2==0)
{
delay6ms();
while(!key2);
delay6ms();
rour++;
if(rour==24){rour=0;}
}
}
if(key3==0)
{
delay6ms();
if(key3==0)
{
delay6ms();
while(!key3);
delay6ms();
rour--;
if(rour==-1){rour=23;}
}
}
disp_adj(0,rour);
}
}
//********************************
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -