標(biāo)題: 求大佬修改單片機(jī)菜單函數(shù),謝謝 [打印本頁]

作者: lynn710    時間: 2018-8-16 10:36
標(biāo)題: 求大佬修改單片機(jī)菜單函數(shù),謝謝
void T1_time() interrupt 3
{
  TF1=0;  //清除中斷標(biāo)志
  TR1=0; //關(guān)中斷
if(kenter==0||kxuanze==0)
{
delay(10);
  if(kxuanze==0)
  {
  s1num++;
  while(!kxuanze);  /////////////
  
  
  }
  if(kenter==0)
  {
  ++flag;
  while(!kenter);
  
  
  }
  

  }
  TH1=0xf8;   //重裝初始值(65535-2000)=63535=0xf82f
  TL1=0x2f;
  TR1=1;  //開中斷
}

void key_service() //按鍵服務(wù)的應(yīng)用程序
{
   if(s1num==1)   
   {
   set_postion(0,4);    //一行三列(第一菜單的界面)
   Lcd_WriteCmd(0x0f);  //光標(biāo)閃爍
   delay(6000);
   }
   else if(s1num==2)    //變量為2
   {
   set_postion(1,4);   //二行三列
   Lcd_WriteCmd(0x0f);   //光標(biāo)閃爍
   delay(6000);
   }
   else if(s1num==3)    //變量為3
   {
   set_postion(2,4);
   Lcd_WriteCmd(0x0f);
   delay(6000);
   }
   if(s1num==4)
   {
   set_postion(3,4);
   Lcd_WriteCmd(0x0f);
   delay(6000);
   }
   if(s1num==5)
   {
   s1num=0;
   delay(6000);
   }
  if(s1num!=0)   //如果slnum不等于0,目的是為了讓S1鍵起作用后S2鍵才發(fā)揮相應(yīng)的作用
  {
   
    if((s1num==1)&&(flag==1)) //與選擇鍵中選中的相應(yīng)欄目對應(yīng)
     {
     s1num=0;
     Lcd_WriteCmd(0x01);  //清屏
     delay(5);
     Lcd_WriteCmd(0x0f);
     delay(5);     //目的為了當(dāng)進(jìn)入父菜單后的子菜單,S1鍵能發(fā)揮作用
     game ();
     }
    if((s1num==2)&&(flag==1))
     {
     s1num=0;
     Lcd_WriteCmd(0x01);  //清屏
     delay(5);
     Lcd_WriteCmd(0x0f);
     delay(5);
     speed();     //目的為了當(dāng)進(jìn)入父菜單后的子菜單,S1鍵能發(fā)揮作用
     }
    if((s1num==1)&&(flag==2))  //如果變量為2.,進(jìn)入子菜單的下一級菜單,下s1num==1,否則會進(jìn)入誤操作
     {
     Lcd_WriteCmd(0x0C);
     delay(5);
     Lcd_WriteCmd(0x01);
     delay(5);
     Speed1();
     }
    if((s1num==2)&&(flag==2))  //if((s1num==2)&&(flag==2)&&(flag==1))
     {
     Lcd_WriteCmd(0x0C);
     delay(5);
     Lcd_WriteCmd(0x01);
     delay(5);
     Speed2();
     }
    if((s1num==3)&&(flag==2))
     {
     Lcd_WriteCmd(0x0C);
     delay(5);
     Lcd_WriteCmd(0x01);
     delay(5);
     Speed3();
     }
    if((s1num==4)&&(flag==2))
     {
     Lcd_WriteCmd(0x0C);
     delay(5);
     Lcd_WriteCmd(0x01);
     delay(5);
     Speed4();
     }
    if((s1num==3)&&(flag==1))
     {
     s1num=0;     //目的為了當(dāng)進(jìn)入父菜單后的子菜單,S1鍵能發(fā)揮作用
     Lcd_WriteCmd(0x01);  //清屏
     delay(5);
     Lcd_WriteCmd(0x0f);
     delay(5);
     moshi();
     }
    if((s1num==1)&&(flag==2))
     {
     Lcd_WriteCmd(0x0C);
     delay(5);
     Lcd_WriteCmd(0x01);
     delay(5);
     moshi1();
     }
    if((s1num==2)&&(flag==2))
     {
     Lcd_WriteCmd(0x0C);
     delay(5);
     Lcd_WriteCmd(0x01);
     delay(5);
     moshi2();
     }
    if(s1num==4)
     {
     s1num=0;
     }
    if(flag==3)
     {
     flag=0;
     }
    }   
}







歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1