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

📄 菜单.c

📁 单片机开发
💻 C
字号:
#include<reg51.h>
#include<12864driver.h>
#include<ziku.h>
#include<state.h>
#include<Menu_Tab.h>

unsigned char Func_Index=0;     //存放当前的菜单索引

void (*Func_Ptr)();				//定义按键功能指针



/***********菜单操作函数*************/
void MenuOperate(uchar key)
{
     switch(key)
	 {
		    case  0x06:				//Up键
			{
				  Func_Index=Menu_Tab[Func_Index].Up;
				  break;
			}

			case  0x05:			    //Enter键
			{
				  Func_Index=Menu_Tab[Func_Index].Enter;
				  break;
			}

			case  0x03:			    //Down键
			{
				  Func_Index=Menu_Tab[Func_Index].Down;
				  break;
			}
			//可添加按键错误代码
	 }
	 Func_Ptr=Menu_Tab[Func_Index].Operate; //执行当前操作
	 (*Func_Ptr)();
										
}


/*********键扫描函数**************/
uchar keyscan()
{
    uchar key;
	P1=0xFF;	  // 1111 1111
	Delay_ms(10); // 防抖动
	key=P1&0x07;  // 0000 0111
	return key;
}


/*******中断处理函数*************/
void int_0(void) interrupt 0   using 0
{
   	 uchar key;
	 key=keyscan();
	 MenuOperate(key);
}




void main()
{
     
	 
	 LCD_Initial();
	 LCD_Clear();		
	 EX0=1;	  //开中断
	 IT0=1;	  //电平触发
	 EA =1;	  //开所有中断

	 
	 MenuOperate(0);

	 while(1)
	 {





	 }

}

⌨️ 快捷键说明

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