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

📄 key.h

📁 4*4键盘控制程序 //分三个部分
💻 H
📖 第 1 页 / 共 2 页
字号:
///////////////////////////////////////key board//////////////////////////
/////////////////////////////键盘函数模块/////////////////////////////////////////
//分三个部分,数字键部分,小数点,方向键部分,功能键(ok)部分。可以在不同的页面调//
//用相应的功能实现菜单操作。                                                    //
//////////////////////////////////////////////////////////////////////////////////

///////////////////////////////////方向键部分/////////////////////////////////////
//无返回值,无输入参数,用到全局变量page_number,xposition,yposition,scroll_value//
//////////////////////////////////////////////////////////////////////////////////
void key_up()
{
	if(page_number==0)  //开机画面页面
	{
		page_number=1;
		scroll_value=0;
		xposition=1; //坐标位置指向左边功能项
		yposition=2;
                display_page(page_number,scroll_value,1);
	}
        else if(page_number==1)//功能选择页面
	{
		if(scroll_value>0)
		{
			xposition=1;//坐标位置指向左边功能项
		        yposition=2;
			scroll_value--;  //向上移动滚动条翻动功能页面
			display_page(page_number,scroll_value,1);
		}
	}
        else//各功能页面(各功能页面的编辑坐标位置不同,操作也不同)
	{
		if(page_number==2)   //可在此添加方向键对各功能页面的操作
		{
                     if(xposition>0)
                     {
                          xposition--;
                     }
                }
		else if(page_number==3)
		{
                if(wave_amp>5)
                {
                   wave_amp--;
                }
                wave_display();
                
            }
		else
		{}
	}

}
void key_down()
{
	if(page_number==0)//开机画面页面
	{
		page_number=1;
		scroll_value=0;
		xposition=1;//坐标位置指向左边功能项
		yposition=2;
                display_page(page_number,scroll_value,1);
	}
        else if(page_number==1)//功能选择页面
	{
		if(scroll_value<1)
		{
			xposition=1;//坐标位置指向左边功能项
		        yposition=2;
			scroll_value++;//向下移动滚动条翻动功能页面
			display_page(page_number,scroll_value,1);
		}
	}
        else//各功能页面(各功能页面的编辑坐标位置不同,操作也不同)
	{
		if(page_number==2)   //可在此添加方向键对各功能页面的操作
		{
                    if(xposition<3)
                    {
                         xposition++;
                    }

            }
		else if(page_number==3)
		{
                  wave_amp++;
                  wave_display();
            }
		else
		{}
	}

}



void key_left()
{
	if(page_number==0)//开机画面页面
	{
		page_number=1;
		scroll_value=0;
		xposition=1;
		yposition=2;
                display_page(page_number,scroll_value,1);
	}
        else if(page_number==1)//功能选择页面
	{
		xposition=1;     //选择左边功能选项
		yposition=2;
    	        display_page(page_number,scroll_value,1);//左边功能选项反色显示
	}
        else//各功能页面(各功能页面的编辑坐标位置不同,操作也不同)
	{   
	          //对不同功能页面分别执行的操作
	    if(page_number==2)//可在此添加方向键对各功能页面的操作
	    {
                  if(yposition==5 && xposition>0)
                  {
                      yposition=7;
                      xposition--;
                  }
                  else if(yposition>5)
                  {
                       yposition--;

                       clear_key_buffer(xposition);//use for back space
                       display_output_word(xposition*2,32,back_space,2,1);


                       if(yposition==7)  //not select back
                       {
                             display_output_word(6,64,back,2,1);
                       }
                  }
                  else{}

            }
	    else if(page_number==3)
	    {
                   //add wave display function here
                   if(wave_move>10)
                   {
                   wave_move-=10;
                   }
                   else if(wave_move<=10)
                   {
                    wave_move=0;
                   }
                   else{}
                   wave_display();
          }
            else{}
	}
}



void key_right()
{
	if(page_number==0)//开机画面页面
	{
		page_number=1;
		scroll_value=0;
		xposition=1;
                yposition=2;
                display_page(page_number,scroll_value,1);
	}
        else if(page_number==1)//功能选择页面
	{
		xposition=1;//选择右边功能选项
		yposition=8;
    	        display_page(page_number,scroll_value,0);//右边功能选项反色显示
	}
        else//各功能页面(各功能页面的编辑坐标位置不同,操作也不同)
	{

            if(page_number==2)//可在此添加方向键对各功能页面的操作
	      {

                  if(yposition==7 && xposition<3)
                  {
                      yposition=5;
                      xposition++;
                  }
                  else if(yposition<8)
                  {
                       yposition++;
                       if(yposition==8) //select back
                       {
                            display_output_word(6,64,back,2,0);
                       }
                  }
                  else{}
            }
            else if(page_number==3)
            {
                   //add wave display function here
                   wave_move+=10;
                   wave_display();
            }
	      else 
	      {}
	
	}
}
//////////////////////////////////功能键(ok)部分//////////////////////////////////////
//无返回值,无输入参数,用到全局变量page_number,xposition,yposition,scroll_value    //
//用于选择功能,实现菜单操作。使用时在相应页面,相应层次内,添加相应功能函数.确定   //
//键操作过程如下所述。在功能选择页面(page_number=1)由方向键选择相应功能,按确定键即可/
//显示相应功能页面。各功能页面都包括确定和返回选项,功能页面显示后,光标位置默认指向//
//确定选项。由方向键移动光标编辑参数,选定确定选项,开始执行相应功能。              //
//////////////////////////////////////////////////////////////////////////////////////
void key_ok()
{
	if(page_number==0)  //开机画面页
	{
		page_number=1;
		scroll_value=0;
		xposition=1;
		yposition=2;
                display_page(page_number,scroll_value,1);
	}                             //可以在此添加层次,并添加功能窗口显示
        else if(page_number==1)      //功能选择页面。在此页面内按确定键则显示相应功能窗口
	{
    	        if(scroll_value==0)    //功能选择页面第0层
		{
		         if(xposition==1 && yposition==2)//功能选择页面第0层左边功能选择
			 {
				 page_number=2;
				 xposition=0;//光标位置指向确定
				 yposition=5;
				 display_page(page_number,0,0);
			 }
			 else if(xposition==1 && yposition==8)//功能选择页面第0层右边功能选择
			 {
				 page_number=3;
				 xposition=0;//光标位置指向确定
				 yposition=0;
				 display_page(page_number,0,0);

                         //add wave display function here
                         wave_num=0;
                         wave_move=0;
                         wave_display();
			 }
			 else
			 {}
		}
		else if(scroll_value==1)    //功能选择页面第1层
		{
			if(xposition==1 && (yposition==2||yposition==8))//功能选择页面第1层左边功能选择
			{
				page_number=4;
				xposition=0;//光标位置指向确定
				yposition=0;
                        display_page(page_number,0,0); 
                        delay600ms();
                        delay600ms();	
                        //add serise function here		
                        serise();
			}
			else
			{}
		
		}
		else{}
	}
        else if(page_number==2)
	{
              if(yposition==8 && xposition==3)  //back
              {
                page_number=1;
		    scroll_value=0;
		    xposition=1;
		    yposition=2;
                display_page(page_number,scroll_value,1);
              }
              else
              {
                 //add set parameter function here
                   read_key_buffer(0,&voltage_value);
                   read_key_buffer(1,&current_value);
                   read_key_buffer(2,&phase_value);
                   read_key_buffer(3,&wave_value);
                    
                   //use for input parameter error 
                   if(voltage_value>255 || current_value>500 || phase_value>360)
                   {
                      display_clear(0,40,7,64);
                      clear_key_buffer(0);
                      clear_key_buffer(1);
                      clear_key_buffer(2);
                      clear_key_buffer(3);
                      return;
                   }

                   //start set parameter
                   display_output_word(0,96,vol_wait,11,1);
                   if(set_voltage())    //set_voltage() 成功返回1不成功返回0
                   {
                      delay600ms();

⌨️ 快捷键说明

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