📄 菜单.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 + -