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

📄 key.c

📁 单片机控制的12864液晶显示器的驱动程序,通过按键控制
💻 C
📖 第 1 页 / 共 3 页
字号:
				 break;
				 case LED_DEFAULT_3:	//直流量
				 		if(IsUpdateLed==TRUE)
						{
							LedFillNULL();
				 			MessageBox(MESSAGE_MENU3,MESSAGE_MENU3_STARTX,MESSAGE_MENU3_STARTY,MESSAGE_MENU3_XNUM,MESSAGE_MENU3_YNUM);
							IsUpdateLed  = FALSE;
						}
						FillDirectCurrent();
				 break;
				 case LED_DEFAULT_4:	//故障查询
				 		if(IsUpdateLed==TRUE)
						{
							LedFillNULL();
				 			MessageBox(MESSAGE_MENU5,MESSAGE_MENU5_STARTX,MESSAGE_MENU5_STARTY,MESSAGE_MENU5_XNUM,MESSAGE_MENU5_YNUM);
							IsUpdateLed  = FALSE;
						}
						FillGuZhangCode();
				 break;
			     } 
    	break;
        default:
        break;
        }
}

/*---------------------------------main menu,按键在显示主菜单时按下后的处理-------------------------------*/
void KeyInLedMain()
{
        switch (gKeyCode)
        {
        case KEY_OK :
             switch(MenuSelect)
             {
              case 1:
              MenuLayer =  LED_MENU1;
              ShowCharPage(PAGE_MENU_MAIN1,PAGE_MENU_MAIN1_LINE,PAGE_MENU_MAIN1_SEL);
			  FillInput();
              break;
              case 2:
              MenuLayer =  LED_MENU2;
              ShowCharPage(PAGE_MENU_MAIN2,PAGE_MENU_MAIN2_LINE,PAGE_MENU_MAIN2_SEL);
			  FillOutput();
              break;
              case 3:
			  MenuLayer =  LED_MENU3;
			  LedFillNULL();
			  MessageBox(MESSAGE_MENU3,MESSAGE_MENU3_STARTX,MESSAGE_MENU3_STARTY,MESSAGE_MENU3_XNUM,MESSAGE_MENU3_YNUM); 
			  FillDirectCurrent();
              break;
              case 4:  
              MenuLayer =  LED_MENU4;
			  LedFillNULL();
			  MessageBox(MESSAGE_MENU4,MESSAGE_MENU4_STARTX,MESSAGE_MENU4_STARTY,MESSAGE_MENU4_XNUM,MESSAGE_MENU4_YNUM); 
			  FillCountTime();
              break;
              case 5:
			  MenuLayer =  LED_MENU5;
			  MenuSelect = 1;
			  GuZhangNum=ByteRead25045EEROM(SAVEGUZHANGNUM_ADD);
			  if(GuZhangNum == 0)
			  {
			  	   LedFillNULL();
			  	   MessageBox(MESSAGE_WUGUZHANG,MESSAGE_WUGUZHANG_STARTX,MESSAGE_WUGUZHANG_STARTY,MESSAGE_WUGUZHANG_XNUM,MESSAGE_WUGUZHANG_YNUM); 
			  	   break;
			  }
              ReadGuZhangPtr = ByteRead25045EEROM(SAVEWRITEGUZHANG_ADD);
			  if(ReadGuZhangPtr == SAVEGUZHANG_ADD);
			  		ReadGuZhangPtr = SAVEGUZHANG_ADD+8*(GUZHAHNGLEN-1);
			  else
			  		ReadGuZhangPtr-=8;
			  GetGuZhang();
			  GuZhangPageNum = 1;
			  FillGuZhang();
              break;
              case 6:
              MenuLayer =  LED_MENU6;
			  LedFillNULL();
			  MessageBox(MESSAGE_QUEREN,MESSAGE_QUEREN_STARTX,MESSAGE_QUEREN_STARTY,MESSAGE_QUEREN_XNUM,MESSAGE_QUEREN_YNUM); 
              break;
              default:
              break;
             }
        break;
        case KEY_UP :
             if (MenuSelect <= PAGE_MENU_MAIN_SEL)	MenuSelect = PAGE_MENU_MAIN_LINE-1; 
			 else	MenuSelect--;	
             ShowCharPage(PAGE_MENU_MAIN,PAGE_MENU_MAIN_LINE,MenuSelect);
        break;
        case KEY_DOWN :
             if (MenuSelect >= (PAGE_MENU_MAIN_LINE-1))	MenuSelect = PAGE_MENU_MAIN_SEL;
			 else  MenuSelect++;		  
             ShowCharPage(PAGE_MENU_MAIN,PAGE_MENU_MAIN_LINE,MenuSelect);
        break;
        case KEY_CANCEL :
			MenuLayer =  LED_DEFAULT;			
			DefaultPageProcess();
			FillDefault();
        break;
        case KEY_UPDATE:
       		if (IsUpdateLed)
			{
 	            ShowCharPage(PAGE_MENU_MAIN,PAGE_MENU_MAIN_LINE,MenuSelect);
				IsUpdateLed  = FALSE;
			}
		break;
        default:
        break;
        }
}

/*----------------------------------按键在显示输入时按下后的处理--------------------------------------*/
void KeyInLedMenu1()
{
        switch (gKeyCode)
        {
        case KEY_UP :
        break;
        case KEY_DOWN :
        break;
        case KEY_CANCEL :
                MenuSelect = 1;
                MenuLayer = LED_MENU_MAIN;
                ShowCharPage(PAGE_MENU_MAIN,PAGE_MENU_MAIN_LINE,MenuSelect);
        break;
        case KEY_OK :
		break;
        case KEY_UPDATE :
       		 if (IsUpdateLed)
			 	{
                	ShowCharPage(PAGE_MENU_MAIN1,PAGE_MENU_MAIN1_LINE,PAGE_MENU_MAIN1_SEL);
				    IsUpdateLed = FALSE;
				}
				FillInput();
        break;
        default:
        break;
        }
}

/*-------------------------------------按键在显示输出内容时按下---------------------------------------*/
void KeyInLedMenu2()
{
        switch (gKeyCode)
        {
        case KEY_UP :
        break;
        case KEY_DOWN :
        break;
        case KEY_CANCEL :
		     MenuSelect = 2;
             MenuLayer = LED_MENU_MAIN;
             ShowCharPage(PAGE_MENU_MAIN,PAGE_MENU_MAIN_LINE,MenuSelect);
        break;
        case KEY_OK :
		break;
        case KEY_UPDATE :
       		 if (IsUpdateLed)
			 {
             	ShowCharPage(PAGE_MENU_MAIN2,PAGE_MENU_MAIN2_LINE,PAGE_MENU_MAIN2_SEL);
				IsUpdateLed = FALSE;
			 }
             FillOutput();
        break;
        default:
        break;
        }
}

/*--------------------显示直流电压电流时按键处理--------------------*/
void KeyInLedMenu3()
{
        switch (gKeyCode)
        {
        case KEY_UP :
        case KEY_DOWN :
        break;
        case KEY_CANCEL :
			 MenuSelect = MenuSelect = 3;
             MenuLayer = LED_MENU_MAIN;
             ShowCharPage(PAGE_MENU_MAIN,PAGE_MENU_MAIN_LINE,MenuSelect);
        break;
        case KEY_OK :
		break;
        case KEY_UPDATE:
       		 if (IsUpdateLed)
			 {
			 	LedFillNULL();
			 	MessageBox(MESSAGE_MENU3,MESSAGE_MENU3_STARTX,MESSAGE_MENU3_STARTY,MESSAGE_MENU3_XNUM,MESSAGE_MENU3_YNUM); 
 	 		 	IsUpdateLed = FALSE;
			 }
			 FillDirectCurrent();
		break;
        default:
        break;
        }
}

/*----------------------累计时间按键处理----------------------*/
void KeyInLedMenu4()
{
        switch (gKeyCode)
        {
        case KEY_UP :
        case KEY_DOWN :
        break;
        case KEY_CANCEL :
             MenuSelect = 4;
             MenuLayer = LED_MENU_MAIN;
             ShowCharPage(PAGE_MENU_MAIN,PAGE_MENU_MAIN_LINE,MenuSelect);
        break;
        case KEY_OK :
		break;
        case KEY_UPDATE :
       		 if (IsUpdateLed)
			 {
			 	LedFillNULL();
			 	MessageBox(MESSAGE_MENU4,MESSAGE_MENU4_STARTX,MESSAGE_MENU4_STARTY,MESSAGE_MENU4_XNUM,MESSAGE_MENU4_YNUM); 
			 	IsUpdateLed = FALSE;
			 }
			 FillCountTime();
		break;
        default:
        break;
        }
}

/*-----------------------故障状态下的按键处理--------------------------*/ 
void KeyInLedMenu5()
{
		switch(gKeyCode)
		{
		case KEY_UP:
			GuZhangPageNum++;
			FillGuZhang();
		break;
		case KEY_DOWN:
			GuZhangPageNum--;
			FillGuZhang();
        case KEY_CANCEL :
            MenuSelect = 5;
            MenuLayer  = LED_MENU_MAIN;
            ShowCharPage(PAGE_MENU_MAIN,PAGE_MENU_MAIN_LINE,MenuSelect);
		case KEY_OK :
			MenuLayer++;
			if(MenuLayer > GuZhangNum)
				MenuLayer = 1;
			ReadGuZhangPtr-=8;
			if(ReadGuZhangPtr > SAVEGUZHANG_ADD+8*GuZhangNum)
				ReadGuZhangPtr = SAVEGUZHANG_ADD;
			

/*-----------------------故障状态下的按键处理--------------------------*/ 
void KeyInLedMenu5()
{
        switch (gKeyCode)
        {
        case KEY_UP:
			if( MenuSelect == 1)  MenuSelect = 4;
			else MenuSelect = MenuSelect - 1;
			switch(MenuSelect)
			{
			case 1:
				 ShowCharPage(PAGE_GUZHANGPAGE1,PAGE_GUZHANGPAGE1_LINE,PAGE_GUZHANGPAGE1_SEL);
		     	 FillGuZhangPage1();
			break;
			case 2:
				 ShowCharPage(PAGE_GUZHANGPAGE2,PAGE_GUZHANGPAGE2_LINE,PAGE_GUZHANGPAGE2_SEL);
		     	 FillGuZhangPage2();
			break;
			case 3:
				 ShowCharPage(PAGE_GUZHANGPAGE3,PAGE_GUZHANGPAGE3_LINE,PAGE_GUZHANGPAGE3_SEL);
		     	 FillGuZhangPage3();
			break;
			case 4:
				 ShowCharPage(PAGE_GUZHANGPAGE4,PAGE_GUZHANGPAGE4_LINE,PAGE_GUZHANGPAGE4_SEL);
		     	 FillGuZhangPage4();
			break;
			}
		break;
        case KEY_DOWN :
			if( MenuSelect == 4)  MenuSelect = 1;
			else MenuSelect = MenuSelect + 1;
			switch(MenuSelect)
			{
			case 1:
				 ShowCharPage(PAGE_GUZHANGPAGE1,PAGE_GUZHANGPAGE1_LINE,PAGE_GUZHANGPAGE1_SEL);
		     	 FillGuZhangPage1();
			break;
			case 2:
				 ShowCharPage(PAGE_GUZHANGPAGE2,PAGE_GUZHANGPAGE2_LINE,PAGE_GUZHANGPAGE2_SEL);
		     	 FillGuZhangPage2();
			break;
			case 3:
				 ShowCharPage(PAGE_GUZHANGPAGE3,PAGE_GUZHANGPAGE3_LINE,PAGE_GUZHANGPAGE3_SEL);
		     	 FillGuZhangPage3();
			break;
			case 4:
				 ShowCharPage(PAGE_GUZHANGPAGE4,PAGE_GUZHANGPAGE4_LINE,PAGE_GUZHANGPAGE4_SEL);
		     	 FillGuZhangPage4();
			break;
			}
        break;
        case KEY_CANCEL :
             MenuSelect = 5;
             MenuLayer  = LED_MENU_MAIN;
             ShowCharPage(PAGE_MENU_MAIN,PAGE_MENU_MAIN_LINE,MenuSelect);
        break;
        case KEY_OK :
		break;
        case KEY_UPDATE :
       		 if (IsUpdateLed)	 		
			{	
				switch(MenuSelect)
				{
				case 1:
					 ShowCharPage(PAGE_GUZHANGPAGE1,PAGE_GUZHANGPAGE1_LINE,PAGE_GUZHANGPAGE1_SEL);
		    	 	 FillGuZhangPage1();
				break;
				case 2:
					 ShowCharPage(PAGE_GUZHANGPAGE2,PAGE_GUZHANGPAGE2_LINE,PAGE_GUZHANGPAGE2_SEL);
		     	     FillGuZhangPage2();
				break;
				case 3:
					 ShowCharPage(PAGE_GUZHANGPAGE3,PAGE_GUZHANGPAGE3_LINE,PAGE_GUZHANGPAGE3_SEL);
		     		 FillGuZhangPage3();
				break;
				case 4:
				 	ShowCharPage(PAGE_GUZHANGPAGE4,PAGE_GUZHANGPAGE4_LINE,PAGE_GUZHANGPAGE4_SEL);
		     	 	FillGuZhangPage4();
				break;
			  	}
				IsUpdateLed = FALSE;
			}
        break;
        default:
        break;
        }
}

void KeyInLedMenu6()
{
		unsigned char add;
        switch (gKeyCode)
        {
        case KEY_UP :
        case KEY_DOWN :
        break;
        case KEY_CANCEL :
                MenuSelect = 6;
                MenuLayer = LED_MENU_MAIN;
                ShowCharPage(PAGE_MENU_MAIN,PAGE_MENU_MAIN_LINE,MenuSelect);
        break;
        case KEY_OK :	//确定清除累积时间记录
				LedFillNULL();
				MessageBox(MESSAGE_QINGCHU,MESSAGE_QINGCHU_STARTX,MESSAGE_QINGCHU_STARTY,MESSAGE_QINGCHU_XNUM,MESSAGE_QINGCHU_YNUM);	
				
				CountTime = 0;
				for(add=SAVETIME_ADD;add<SAVETIME_ADD+4;add++);
					ByteWrite25045EEROM(0,add);

				ByteWrite25045EEROM(SAVEGUZHANG_ADD,SAVEWRITEGUZHANG_ADD);//存储地址指针初始化
				ByteWrite25045EEROM(0,SAVEGUZHANGNUM_ADD);//存储地址指针初始化
				for(add=SAVEGUZHANGCOUNT_ADD;add<SAVEGUZHANGCOUNT_ADD+18;add++)
					ByteWrite25045EEROM(0,add);
				
        		FeedDog();
				delay(0xFF);
				FeedDog();
				MenuLayer = LED_MENU_MAIN;
				MenuSelect = 6;	//回到主菜单
                ShowCharPage(PAGE_MENU_MAIN,PAGE_MENU_MAIN_LINE,MenuSelect);
		case KEY_UPDATE :
       		 if (IsUpdateLed)
			 {
			 	LedFillNULL();
			    MessageBox(MESSAGE_QUEREN,MESSAGE_QUEREN_STARTX,MESSAGE_QUEREN_STARTY,MESSAGE_QUEREN_XNUM,MESSAGE_QUEREN_YNUM); 
				IsUpdateLed = FALSE;
			 }
		break;
        default:
        break;
        }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -