📄 12864指针式时钟.txt
字号:
case 4:
disp_set=3;
two_show=0;
break;
}
if ( two_show==40 )
{
disp_set=3;
two_show=(two_show-10)/10;
}
break;
case 20:if(three_show<12)
{
three_show++;
}
else
{
three_show=0;
}
break;
}
}
/****************************************************************************
函 数 名: key_ok(void)
功 能:按键确认键处理
说 明:无
入口参数:无
返 回 值:无
*****************************************************************************/
void key_ok()
{
LCM12864_Clear_Screen();
switch(disp_set)
{
case 10:if((show==0)||(show==1))
{
if((inittime[2]<24)&&(inittime[3]<32)&&(inittime[4]<13))
{
disp_set=3;
two_show=0;
write_time();
Set1302(&inittime);
}
else
{
LCM12864_Disp_Char_x_16(1,16,0,80,56);//
LCM12864_Disp_Char_x_16(1,16,0,96,57);//"错误"
LCM12864_Disp_Char_x_16(1,8,0,112,18);//"!"
}
}
break;
}
}
/****************************************************************************
函 数 名: two_up(void)
功 能:按键上键处理
说 明:处于二级菜单下
入口参数:无
返 回 值:无
*****************************************************************************/
void two_up()
{
if(show==0) {show=5;} else {show--;}
}
/****************************************************************************
函 数 名: two_down(void)
功 能:按键下键处理
说 明:处于二级菜单下
入口参数:无
返 回 值:无
*****************************************************************************/
void two_down()
{
if(show<5) {show++;} else {show=0;}
}
/****************************************************************************
函 数 名: three_up(void)
功 能:按键上键处理
说 明:处于三级菜单下
入口参数:无
返 回 值:无
*****************************************************************************/
void three_up() //向上/加/键
{
switch(two_show)
{
case 10:if(inittime[2]<20) //时十位调整
{
inittime[2]+=10;
}
else
{
inittime[2]-=20;
}
break;
case 11:if((inittime[2]%10)==9) //时个位调整
{
inittime[2]=(inittime[2]/10)*10;
}
else
{
inittime[2]+=1;
}
break;
case 12:if(inittime[1]<49) //分十位调整
{
inittime[1]+=10;
}
else
{
inittime[1]=(inittime[1]%10);
}
break;
case 13:if((inittime[1]%10)==9) // 分个位调整
{
inittime[1]=(inittime[1]/10)*10;
}
else
{
inittime[1]+=1;
}
break;
case 14:if(inittime[0]<49) //秒十位调整
{
inittime[0]+=10;
}
else
{
inittime[0]=(inittime[0]%10);
}
break;
case 15:if((inittime[0]%10)==9) // 秒个位调整
{
inittime[0]=(inittime[0]/10)*10;
}
else
{
inittime[0]+=1;
}
break;
case 20:if(inittime[6]<90) //年十位调整
{
inittime[6]+=10;
}
else
{
inittime[6]=(inittime[6]%10);
}
break;
case 21:if((inittime[6]%10)==9) // 年个位调整
{
inittime[6]=(inittime[6]/10)*10;
}
else
{
inittime[6]+=1;
}
break;
case 22:if(inittime[4]<10) //月十位调整
{
inittime[4]+=10;
}
else
{
inittime[4]=(inittime[4]%10);
}
break;
case 23:if((inittime[4]%10)==9) //月个位调整
{
inittime[4]=(inittime[6]/10)*10;
}
else
{
inittime[4]+=1;
}
break;
case 24:if(inittime[3]<30) //日十位调整
{
inittime[3]+=10;
}
else
{
inittime[3]=(inittime[3]%10);
}
break;
case 25:if((inittime[3]%10)==9) //日个位调整
{
inittime[3]=(inittime[3]/10)*10;
}
else
{
inittime[3]+=1;
}
break;
case 26:if(inittime[5]<7) //星期调整+++
{
inittime[5]+=1;
}
else
{
inittime[5]=1;
}
break;
case 40:if(yid_speed > 64035)
{
yid_speed -= 150 ;
}
else
{
yid_speed = 65385 ;
}
break;
case 50:
case 51:
case 52:
case 53:if(two_show<51)
{
two_show=53;
}
else
{
two_show--;
}
break;
}
}
/****************************************************************************
函 数 名: three_down(void)
功 能:按键下键处理
说 明:处于三级菜单下
入口参数:无
返 回 值:无
*****************************************************************************/
void three_down() //向下或减 按键
{
switch(two_show)
{
case 10:if(inittime[2]>9)
{
inittime[2]-=10;
}
else
{
inittime[2]+=20;
}
break;
case 11:if((inittime[2]%10)==0) //时个位调整
{
inittime[2]=(inittime[2]/10)*10+9;
}
else
{
inittime[2]-=1;
}
break;
case 12:if(inittime[1]<9) //分十位调整
{
inittime[1]+=50;
}
else
{
inittime[1]-=10;
}
break;
case 13:if((inittime[1]%10)==0) // 分个位调整
{
inittime[1]=(inittime[1]/10)*10+9;
}
else
{
inittime[1]-=1;
}
break;
case 14:if(inittime[0]<9) //秒十位调整
{
inittime[0]+=50;
}
else
{
inittime[0]-=10;
}
break;
case 15:if((inittime[0]%10)==0) //秒个位调整
{
inittime[0]=(inittime[0]/10)*10+9;
}
else
{
inittime[0]-=1;
}
break;
case 20:if(inittime[6]<9) //年十位调整
{
inittime[6]+=90;
}
else
{
inittime[6]-=10;
}
break;
case 21:if((inittime[6]%10)==0) //年个位调整
{
inittime[6]=(inittime[6]/10)*10+9;
}
else
{
inittime[6]-=1;
}
break;
case 22:if(inittime[4]<9) //月十位调整
{
inittime[4]+=10;
}
else
{
inittime[4]-=10;
}
break;
case 23:if((inittime[4]%10)==0) //月个位调整
{
inittime[4]=(inittime[4]/10)*10+9;
}
else
{
inittime[4]-=1;
}
break;
case 24:if(inittime[3]<9) //日十位调整
{
inittime[3]+=30;
}
else
{
inittime[3]-=10;
}
break;
case 25:if((inittime[3]%10)==0) //日个位调整
{
inittime[3]=(inittime[4]/10)*10+9;
}
else
{
inittime[3]-=1;
}
break;
case 26:if(inittime[5]==1) //星期调整
{
inittime[5]=7;
}
else
{
inittime[5]-=1;
}
break;
case 40:if(yid_speed < 65385)
{
yid_speed += 150 ;
}
else
{
yid_speed = 64035 ;
}
break;
case 50:
case 51:
case 52:
case 53:if(two_show<53)
{
two_show++;
}
else
{
two_show=50;
}
break;
}
}
/****************************************************************************
函 数 名: four_up(void)
功 能:按键上键处理
说 明:处于四级菜单下.调整定时时间和状态
入口参数:无
返 回 值:无
*****************************************************************************/
void four_up()
{
unsigned char i, temp[7],address;
address=(two_show-50)*14+0xc1;
for(i=0;i<7;i++)
{
temp[i]=R1302(address+(i*2));
}
switch(three_show)
{
case 0:if(temp[0]==0) //状态调整"开/关"
{
temp[0]=1;
}
else
{
temp[0]=0;
}
break;
case 1:if(temp[1]<20) //时十位调整 定时
{
temp[1]+=10;
}
else
{
temp[1]-=20;
}
break;
case 2:if((temp[1]%10)==9) //时个位调整
{
temp[1]=(temp[1]/10)*10;
}
else
{
temp[1]+=1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -