|
#include "FUN.h"
#include "LCD12864.h"
#include "DELAY.h"
#include "ZK.h"
#define uchar unsigned char
sbit keydown=P1^1; //下鍵
sbit keyenter=P1^3; //確定鍵
sbit keyup=P1^0; // 上鍵
sbit keyback=P1^2 ;//返回
uchar func_index=0;
void (*current_operation_index)();
typedef struct
{
uchar current;
uchar up;//向上翻索引號(hào) x
uchar down;//向下翻索引號(hào) y
uchar enter;//確認(rèn)索引號(hào) z
uchar back;// 返回索引號(hào) w
void (*current_operation)();
} key_table;
key_table code table[30]=
{
// x,y,z,w
{0,2,1,3,0, (*fun1)},//第一層,顯示【清華大學(xué)】、北京大學(xué)、重慶三峽學(xué)院
{1,0,2,6,0,(*fun2)},//第一層,顯示清華大學(xué)、【北京大學(xué)】、重慶三峽學(xué)院
{2,1,0,9,0,(*fun3)},//第一層,顯示清華大學(xué)、北京大學(xué)、【重慶三峽學(xué)院】
// {3,2,0,25,(*fun4)},//第一層,顯示清華大學(xué)、北京大學(xué)、重慶三峽學(xué)院
{3,5,4,12,0,(*fun5)},//第二層,清華大學(xué)層下顯示【地點(diǎn)】、創(chuàng)建時(shí)間、簡(jiǎn)介
{4,3,5,13,0,(*fun6)},//第二層,清華大學(xué)層下顯示地點(diǎn)、【創(chuàng)建時(shí)間】、簡(jiǎn)介
{5,4,3,14,0,(*fun7)}, //第二層,清華大學(xué)層下顯示地點(diǎn)、創(chuàng)建時(shí)間、【簡(jiǎn)介】
// {7,6,4,0,(*fun8)},//第二層,清華大學(xué)層下顯示地點(diǎn)、創(chuàng)建時(shí)間、簡(jiǎn)介
{6,8,7,15,0,(*fun9)},//第二層,北京大學(xué)層下顯示【歷史】、政治、簡(jiǎn)介
{7,6,8,16,0,(*fun10)},//第二層,北京大學(xué)層下顯示歷史、【政治】、簡(jiǎn)介
{8,7,6,17,0,(*fun11)}, //第二層,北京大學(xué)層下顯示歷史、政治、【簡(jiǎn)介】
// {11,10,8,1,(*fun12)},//第二層,北京大學(xué)層下顯示歷史、政治、簡(jiǎn)介
{9,11,10,18,0,(*fun13)},//第二層,重慶三峽學(xué)院層下顯示【簡(jiǎn)介】、最佳院系、最佳實(shí)驗(yàn)室
{10,9,11,19,0,(*fun14)}, //第二層,重慶三峽學(xué)院層下顯示簡(jiǎn)介、【最佳院系】、最佳實(shí)驗(yàn)室
{11,10,9,20,0,(*fun15)}, //第二層,重慶三峽學(xué)院層下顯示簡(jiǎn)介、最佳院系、【最佳實(shí)驗(yàn)室】
// {15,14,12,2,(*fun16)}, //第二層,重慶三峽學(xué)院層下顯示簡(jiǎn)介、最佳院系、最佳實(shí)驗(yàn)室
{12,12,12,12,3,(*fun17)}, //第三層,清華大學(xué)地點(diǎn)層
{13,13,13,13,4,(*fun18)}, //第三層,清華大學(xué)創(chuàng)時(shí)間層
{14,14,14,14,5,(*fun19)}, //第三層,清華大學(xué)簡(jiǎn)介層
{15,15,15,15,6,(*fun20)}, //第三層,北京大學(xué)歷史層
{16,16,16,16,7,(*fun21)}, //第三層,北京大學(xué)政治層
{17,17,17,17,8,(*fun22)}, //第三層,北京大學(xué)簡(jiǎn)介層
{18,18,18,18,9,(*fun23)}, //第三層,重慶三峽學(xué)院簡(jiǎn)介層
{19,19,19,19,10,(*fun24)}, //第三層,重慶三峽學(xué)院最佳院系層
{20,20,20,20,11,(*fun25)}, //第三層,重慶三峽學(xué)院最佳實(shí)驗(yàn)室層
{21,21,21,21,0,(*fun26)}, //第0層
};
void main()
{
InitializeLCD(); //初始化LCD模塊
while(1)
{
/*******************find index****************************/
if((keyup==0)||(keydown==0)||(keyenter==0)||(keyback==0))
{
delayms(5);//消抖
if(keyup==0)
{
func_index=table[func_index].up; //向上翻
while(!keyup);//松手檢測(cè)
}
if(keydown==0)
{
func_index=table[func_index].down; //向下翻
while(!keydown);
}
if(keyenter==0)
{
func_index=table[func_index].enter; //確認(rèn)
while(!keyenter);
}
if(keyback==0)
{
func_index=table[func_index].back; //返回
while(!keyback);
}
clear_screen();
InitializeLCD();
}
current_operation_index=table[func_index].current_operation;
(*current_operation_index)();//執(zhí)行當(dāng)前操作函數(shù)
}
}
|
-
-
LGM菜單顯示 - 副本.rar
2017-4-25 22:25 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
119.15 KB, 下載次數(shù): 14, 下載積分: 黑幣 -5
|