找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1966|回复: 0
打印 上一主题 下一主题
收起左侧

求大佬修改单片机菜单函数,谢谢

[复制链接]
回帖奖励 4 黑币 回复本帖可获得 4 黑币奖励! 每人限 1 次
跳转到指定楼层
楼主
ID:377361 发表于 2018-8-16 10:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
void T1_time() interrupt 3
{
  TF1=0;  //清除中断标志
  TR1=0; //关中断
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() //按键服务的应用程序
{
   if(s1num==1)   
   {
   set_postion(0,4);    //一行三列(第一菜单的界面)
   Lcd_WriteCmd(0x0f);  //光标闪烁
   delay(6000);
   }
   else if(s1num==2)    //变量为2
   {
   set_postion(1,4);   //二行三列
   Lcd_WriteCmd(0x0f);   //光标闪烁
   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键才发挥相应的作用
  {
   
    if((s1num==1)&&(flag==1)) //与选择键中选中的相应栏目对应
     {
     s1num=0;
     Lcd_WriteCmd(0x01);  //清屏
     delay(5);
     Lcd_WriteCmd(0x0f);
     delay(5);     //目的为了当进入父菜单后的子菜单,S1键能发挥作用
     game ();
     }
    if((s1num==2)&&(flag==1))
     {
     s1num=0;
     Lcd_WriteCmd(0x01);  //清屏
     delay(5);
     Lcd_WriteCmd(0x0f);
     delay(5);
     speed();     //目的为了当进入父菜单后的子菜单,S1键能发挥作用
     }
    if((s1num==1)&&(flag==2))  //如果变量为2.,进入子菜单的下一级菜单,下s1num==1,否则会进入误操作
     {
     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;     //目的为了当进入父菜单后的子菜单,S1键能发挥作用
     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;
     }
    }   
}


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表