亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? key.h

?? 剛做完的課程設計-萬年歷
?? H
字號:
#ifndef _KEY
#define _KEY
/***********************鍵盤預定義******************************************/
#define up_array          0x01
#define down_array        0x02
#define clear_array       0x03
#define function_array    0x04
#define null              0

/********************************************************************************************
* 函數名稱:Key_Idle()
* 功    能:鍵盤松開
* 入口參數:無
* 出口參數:無
*********************************************************************************************/
void Key_Idle()
{
   while( ( P0 & 0x0f ) != 0x0f );
}

/********************************************************************************************
* 函數名稱:Key_Scan()
* 功    能:鍵盤掃描
* 入口參數:無
* 出口參數:鍵值
*********************************************************************************************/
uchar Key_Scan()
{
   if( ( P0 & 0x0f ) != 0x0f )         //判斷按鍵
   {
       Delay(4);                  //消除抖動
       if( ( P0 & 0x0f ) != 0x0f )
	   {
          
          switch ( P0 & 0x0f )              //將按鍵碼轉換成鍵值
          {  
             case  0x0e: return  up_array;  
             case  0x0d: return  down_array;
             case  0x0b: return  clear_array; 
             case  0x07: return  function_array;
             default :   return  null;
          }
	   }
	  
   }
   return null;
}
/********************************************************************************************
* 函數名稱:Key_Set_Clock( uchar * clock_time )
* 功    能:鍵盤設定時間
* 入口參數:clock_time[6]指針
* 出口參數:無
*********************************************************************************************/
void Key_Set_Clock( uchar * clock_time )
{
   uchar *i; 
   i =clock_time ;
   clock_time ++ ;   //指向分
   Lcd_Set_Clock( 2, i );  //屏幕顯示更該時間 
   Key_Idle();
   while(1)
   {
      uchar minute;
      minute = ( ( * clock_time >>4 ) * 10 ) + ( ( * clock_time ) & 0x0f ); //BCD 轉 HEX
      switch( Key_Scan() )   //調整分  
      {	  	  	  	  
         case    up_array:   
		                     { 
							   minute ++  ;
							   if( minute == 60 ) minute=0;
                               ( * clock_time ) =  minute/10 <<4 ; ( * clock_time ) = ( * clock_time ) | ( minute%10);                         //HEX 轉 BCD 
							   Lcd_Set_Clock( 2, i );  //屏幕顯示更該時間 
 							   Key_Idle();
                             }
                              break;
         case    down_array: 
		                     { 
							   if( minute == 0 )  minute = 60;   minute --; 
                               ( *clock_time ) =  minute/10 <<4 ;  ( * clock_time ) = ( * clock_time ) | ( minute%10);                         //HEX 轉 BCD  
                               Lcd_Set_Clock( 2, i );  //屏幕顯示更該時間
                               Key_Idle();
                             }
                             break;
 //******************************************************************************************************************************************************   
case   function_array:    //調整時
               {
			      clock_time ++;   //指向時
                  Lcd_Set_Clock( 3, i );   //屏幕顯示更該時間 
				  Key_Idle();
                  while(1)
                  {
				     uchar hour;
                     hour = ( ( * clock_time >>4 ) * 10 ) + ( ( * clock_time ) & 0x0f );                                //BCD 轉 HEX
                     switch( Key_Scan())
                     {
                        case    up_array:  
					                    {
									       hour ++; if(hour == 24) hour = 0; 
										   ( * clock_time ) = hour/10 <<4 ;  ( * clock_time ) = ( * clock_time ) | (hour%10);                         //HEX 轉 BCD 
                                           Lcd_Set_Clock( 3, i );   //屏幕顯示更該時間 
				                           Key_Idle();
										} 
										break;

                        case  down_array:  
					                    {
									       if(hour == 0) hour = 24; hour --; if( hour == 0) hour =23;
									       ( * clock_time ) = hour/10 <<4 ; ( * clock_time ) = ( * clock_time ) | (hour%10);                         //HEX 轉 BCD 
										   Lcd_Set_Clock( 3, i );   //屏幕顯示更該時間 
				                           Key_Idle();
										}
									    break; 
//******************************************************************************************************************************************************   
case function_array:    //調整日
{
 clock_time ++;   //指向日
 Lcd_Set_Clock( 4, i );   //屏幕顯示更該時間 
 Key_Idle();
 while(1)
 {
    uchar day;
	day = ( (*clock_time >>4)*10 ) + ( (*clock_time)&0x0f );                                //BCD 轉 HEX
	switch(Key_Scan())
	{
	   case up_array:
	                { 
				       day ++; if(day == 32) day = 1; 
					   ( * clock_time ) = day/10 <<4 ;  ( * clock_time ) = ( * clock_time) | (day%10);                         //HEX 轉 BCD 
					   Lcd_Set_Clock( 4, i );   //屏幕顯示更該時間 
                       Key_Idle();
					}
				    break;
       case down_array: 
	                  { 
					     if(day == 0) day= 31;  day --; if(day == 0) day=31; 
						 (*clock_time) = day/10 <<4 ;     (*clock_time) = (*clock_time) | (day%10);                         //HEX 轉 BCD ;
					     Lcd_Set_Clock( 4, i );   //屏幕顯示更該時間 
                         Key_Idle();
					  }
					  break;
//******************************************************************************************************************************************************   
case function_array:    //調整月
 {
    clock_time ++;   //指向月
	Lcd_Set_Clock( 5, i );   //屏幕顯示更該時間 
    Key_Idle();
	while(1)
	{
	   uchar month;
	   month = ( ( * clock_time >>4)*10 ) + ( ( * clock_time ) & 0x0f );                                //BCD 轉 HEX
       switch(Key_Scan())
	   {
          case up_array: 
		               {  
					      month ++; if(month == 13) month= 1;
						  ( * clock_time ) = month/10 <<4 ;  ( * clock_time ) = ( * clock_time ) | (month%10);                         //HEX 轉 BCD 
						  Lcd_Set_Clock( 5, i );   //屏幕顯示更該時間 
                          Key_Idle();
					   }
					   break;
          case down_array:
		                 {  
						    if(month==0) month = 12; month --; if(month==0) month = 12; 
							( * clock_time ) = month/10 <<4 ; ( * clock_time ) = ( * clock_time ) | (month%10);                         //HEX 轉 BCD 
						    Lcd_Set_Clock( 5, i );   //屏幕顯示更該時間 
                            Key_Idle();
						 }
                            break;
//******************************************************************************************************************************************************   
case function_array:    //調整年
{
   clock_time ++;   //指向年
   Lcd_Set_Clock( 6, i );   //屏幕顯示更該時間 
   Key_Idle();
   while(1)
   {
       uchar year;
       year = ( ( * clock_time >>4 ) * 10 ) + ( ( * clock_time ) & 0x0f );                                //BCD 轉 HEX
       switch( Key_Scan() )
	   {
	      case up_array: 
		               {   
					      year ++; if(year == 100) year= 0; 
						  ( * clock_time ) = year / 10 << 4 ;  ( * clock_time ) = ( * clock_time ) | (year%10);                         //HEX 轉 BCD 
						  Lcd_Set_Clock( 6, i );   //屏幕顯示更該時間 
                          Key_Idle();
                       }
					   break;
          case down_array:
		                 {  
					        if(year==0) year=100 ; year--; if(year==0) year=100;
						    ( * clock_time ) = year/10 <<4 ; ( * clock_time ) = ( * clock_time ) | (year%10);                         //HEX 轉 BCD 
							Lcd_Set_Clock( 6, i );   //屏幕顯示更該時間 
                            Key_Idle();
						 }
						 break;
//******************************************************************************************************************************************************
case function_array: 
                 {   
				    goto loop; 
				 } 
                 break;


																												   }
																												   
																											   }
																											}

																					   } 
  
																					}

																				 }
									                     
															}

														 }

													  }
                                 }
                             }         
                           }
      }
   }
loop:  Key_Idle(); 
}
/***************************************************************************************
* 名稱: Key_Set_Alarm( uchar *  alarm_time )
* 功能: 鬧鐘調整
* 入口參數: 鬧鐘地址
* 出口參數:
****************************************************************************************/
void Key_Set_Alarm( uchar * alarm_time )
{
   Lcd_Alarm( 1, alarm_time);//顯示初始鬧鈴時間
   Key_Idle();
   while( 1 )
   {
      switch( Key_Scan() )
	  {
	     case up_array:
		              {   
					     ( *alarm_time)++;
						  if(*alarm_time ==60) 
						  *alarm_time=0;
						 Lcd_Alarm( 1, alarm_time );
						 Key_Idle();
					  }
					  break;
		 case down_array:
		                {
						   if( * alarm_time == 0 )
						   *alarm_time = 60;
						   ( * alarm_time )--;
						   Lcd_Alarm( 1, alarm_time);
						   Key_Idle();
						}
						break;
		case clear_array:
		                {
						   Lcd_Clear();
						   goto loop;
						}
						break;
		case function_array:
		                   {
						      alarm_time ++;
							  Lcd_Alarm( 2, alarm_time - 1 );
							  Key_Idle();
						      while( 1 )
							  {
							     switch( Key_Scan() )
								 {
							        case up_array:
								                 {
									    		    ( *alarm_time ) ++; if( *alarm_time == 24 ) * alarm_time = 0;
										    		Lcd_Alarm( 2, alarm_time - 1 );
												    Key_Idle();
											     }
											      break;
								    case down_array:
								                    {
												       if( * alarm_time == 0 ) *alarm_time = 24; ( *alarm_time ) --;
												       Lcd_Alarm( 2, alarm_time - 1 );
												       Key_Idle();
												     }
                                                     break;
									case clear_array:
									                 {
													    Lcd_Clear();
														goto loop;
													 }
													 break;
								    case function_array:
								                       {
													      Lcd_Clear();
													      goto loop;
													   }
                                                       break;

							       }
							    }
						   }
						   break;
	  }

   }
   loop: Key_Idle();
}
/****************************************************************************************
* 名稱: Key_Function( uchar * clock_time ) 
* 功能: 系統功能調試
* 入口參數: 時鐘程序
* 出口參數: 無
*****************************************************************************************/
void Key_Function( uchar * clock_time, uchar * alarm_time )
{
   uchar temp = 2;
   Lcd_Clear();
   Lcd_Function( temp );
   Key_Idle();
   while( 1 )
   {
      switch( Key_Scan() )
      {
         case up_array:
                       {
                          temp ++;
                          if( temp > 2 )
                             temp = 2;
                          Lcd_Function( temp );
                          Key_Idle();
                       }
                       break;
         case down_array:
                        {
                           temp--;
                           if( temp == 0 )
                              temp = 1;
                           Lcd_Function( temp );
                           Key_Idle();
                        }
                         break;
         case clear_array:
                         {
						    Lcd_Clear();
                            goto loop;
                         }
                         break;
         case function_array:
                            {
                               if( temp == 2 )
                               {
                                  Lcd_Clear();
                                  Key_Set_Clock(clock_time);
                                  Clock_Initial(clock_time);
                                  Lcd_Clear();
                                  goto loop;
                               }
                               if( temp == 1 )
                               {
                                  Lcd_Clear();
                                  Key_Set_Alarm(alarm_time);
								  Lcd_Clear();
								  goto loop;
                               }
                            }
                            break;
      }
   }
   loop: Key_Idle();
}
/********************************************************************************/
#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国模少妇一区二区三区| 亚洲成人久久影院| 欧美片网站yy| 成人h动漫精品一区二区| 日本亚洲天堂网| 亚洲一区二区精品3399| 日韩伦理电影网| 亚洲欧洲精品成人久久奇米网| 欧美电影免费提供在线观看| 欧美剧在线免费观看网站| 色综合久久久久久久| 国产精品系列在线播放| 国内精品嫩模私拍在线| 午夜一区二区三区视频| 久久久久国产免费免费| 欧美人与禽zozo性伦| 欧美色网一区二区| 色国产精品一区在线观看| 91丝袜高跟美女视频| 97精品国产97久久久久久久久久久久| 粉嫩av亚洲一区二区图片| 成人一区二区在线观看| 懂色av一区二区三区蜜臀| 丰满少妇在线播放bd日韩电影| 国产成人综合在线| 成人午夜在线免费| 色综合久久天天综合网| 欧美视频第二页| 日韩一级片网站| 精品不卡在线视频| 久久精品一区八戒影视| 国产精品久久久久永久免费观看| 国产精品色哟哟| 亚洲精品成a人| 丝袜脚交一区二区| 麻豆久久一区二区| 成人精品国产一区二区4080| www.日韩在线| 欧美图片一区二区三区| 6080亚洲精品一区二区| 精品久久久久久久久久久院品网| 日韩一区二区精品在线观看| 久久这里只有精品视频网| 国产精品妹子av| 亚洲妇熟xx妇色黄| 国产在线不卡一区| 99国产一区二区三精品乱码| 在线观看国产91| 日韩欧美在线网站| 亚洲色图在线视频| 美女久久久精品| 从欧美一区二区三区| 欧美日韩精品一区二区三区蜜桃| 精品第一国产综合精品aⅴ| 成人免费在线播放视频| 天天做天天摸天天爽国产一区| 国产一区二区三区久久久| 色成人在线视频| 久久蜜桃一区二区| 性做久久久久久久久| 成人深夜在线观看| 99久久精品一区二区| 日韩一区二区麻豆国产| 亚洲男同性恋视频| 麻豆国产精品一区二区三区| 99久久精品免费看国产| 日韩欧美一区二区视频| 悠悠色在线精品| 国产精品自拍一区| 91麻豆精品国产91久久久久久久久 | 欧美在线播放高清精品| 精品粉嫩超白一线天av| 亚洲高清免费视频| 91色乱码一区二区三区| 国产视频一区二区三区在线观看| 亚洲综合在线第一页| 国产一区二区美女诱惑| 欧美美女直播网站| 亚洲精品高清视频在线观看| 国产a视频精品免费观看| 日韩一区二区视频在线观看| 亚洲已满18点击进入久久| 成人精品小蝌蚪| 国产精品无人区| 国产**成人网毛片九色| 欧美精品一区二区不卡| 六月丁香婷婷久久| 日韩三级电影网址| 日本不卡一区二区三区高清视频| 91福利视频在线| 欧美精品一区二区精品网| 日韩精品欧美成人高清一区二区| 色狠狠色狠狠综合| 日韩美女视频一区二区| 成人免费观看视频| 中文字幕一区视频| 91免费观看国产| 亚洲自拍偷拍综合| 欧美日韩一区二区在线视频| 亚洲一区二区四区蜜桃| 欧美久久久久中文字幕| 日韩精品免费专区| 日韩免费高清av| 激情六月婷婷综合| 国产人成一区二区三区影院| 国产精品一区二区在线看| 日本一区二区三区视频视频| kk眼镜猥琐国模调教系列一区二区| 国产精品国产三级国产aⅴ原创| 91在线观看一区二区| 亚洲免费电影在线| 99国产精品久久久久久久久久久| 国产精品久久毛片av大全日韩| 免费观看在线综合| 精品日韩在线一区| 成人黄动漫网站免费app| 亚洲另类色综合网站| 69av一区二区三区| 国产盗摄精品一区二区三区在线| 亚洲欧美影音先锋| 欧美日韩一级二级| 国产在线一区二区综合免费视频| 欧美激情一二三区| 欧美三级电影网| 国产精品69久久久久水密桃| 亚洲乱码日产精品bd | 欧美成人精品3d动漫h| 国产一区久久久| 亚洲素人一区二区| 91精品国产乱码| 99re在线视频这里只有精品| 五月综合激情婷婷六月色窝| 精品国产a毛片| 欧美少妇性性性| 国产精品亚洲专一区二区三区| 亚洲男人的天堂av| 亚洲精品在线三区| 欧美日韩一区二区三区高清| 国产成人在线电影| 蜜臀精品久久久久久蜜臀| 亚洲欧美一区二区在线观看| 精品日韩在线观看| 在线影视一区二区三区| 国产精品影音先锋| 日韩激情一二三区| 一区二区三区中文在线| 久久久久久久久久久99999| 欧美日韩不卡在线| 91视视频在线直接观看在线看网页在线看 | 成人精品国产一区二区4080| 奇米色一区二区三区四区| 一个色综合网站| 中文在线一区二区| 久久久亚洲欧洲日产国码αv| 777亚洲妇女| 69精品人人人人| 精品视频在线免费看| 91免费观看在线| 日日摸夜夜添夜夜添国产精品| 亚洲视频电影在线| 中文字幕一区视频| 中文字幕在线一区免费| 国产清纯白嫩初高生在线观看91| 欧美大片拔萝卜| 欧美一区二区三区啪啪| 欧美日韩精品一区二区天天拍小说| 色综合久久天天| k8久久久一区二区三区 | 欧美剧在线免费观看网站 | 国产麻豆视频一区| 国内精品自线一区二区三区视频| 日本中文字幕一区二区视频 | 日韩天堂在线观看| 在线不卡a资源高清| 欧美性一二三区| 欧美写真视频网站| 欧美群妇大交群的观看方式| 欧美亚洲自拍偷拍| 制服丝袜亚洲网站| 日韩欧美自拍偷拍| 欧美精品一区二区三区蜜桃视频| 精品捆绑美女sm三区| 久久女同性恋中文字幕| 亚洲精品一线二线三线| 久久亚洲欧美国产精品乐播| 久久久久9999亚洲精品| 日本一区二区视频在线观看| 国产精品初高中害羞小美女文| 亚洲色图另类专区| 亚洲福利视频一区二区| 美女www一区二区| 国产一区二区0| 91麻豆swag| 欧美精品在线观看播放| 精品国产免费视频| 国产精品灌醉下药二区| 亚洲v中文字幕| 国内外成人在线| 欧美亚洲动漫制服丝袜| 国产精品污网站|