⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 12864指针式时钟.txt

📁 LCM128*64指针式万年 硬件:LCM128*64 M16 DS1302 软件:WinAVR 2.0.6.1 时钟:内部4M
💻 TXT
📖 第 1 页 / 共 5 页
字号:
			   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 + -