標題: LGM無字庫液晶菜單顯示 [打印本頁]

作者: wfc    時間: 2017-4-25 22:26
標題: LGM無字庫液晶菜單顯示
#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;//向上翻索引號        x
         uchar down;//向下翻索引號         y
         uchar enter;//確認索引號          z
                 uchar back;// 返回索引號           w
         void (*current_operation)();
         } key_table;

key_table code table[30]=
{
     //     x,y,z,w
         {0,2,1,3,0, (*fun1)},//第一層,顯示【清華大學】、北京大學、重慶三峽學院
         {1,0,2,6,0,(*fun2)},//第一層,顯示清華大學、【北京大學】、重慶三峽學院
         {2,1,0,9,0,(*fun3)},//第一層,顯示清華大學、北京大學、【重慶三峽學院】                     
//         {3,2,0,25,(*fun4)},//第一層,顯示清華大學、北京大學、重慶三峽學院
         {3,5,4,12,0,(*fun5)},//第二層,清華大學層下顯示【地點】、創(chuàng)建時間、簡介                                                   
         {4,3,5,13,0,(*fun6)},//第二層,清華大學層下顯示地點、【創(chuàng)建時間】、簡介      
         {5,4,3,14,0,(*fun7)}, //第二層,清華大學層下顯示地點、創(chuàng)建時間、【簡介】                                                                             
//         {7,6,4,0,(*fun8)},//第二層,清華大學層下顯示地點、創(chuàng)建時間、簡介      
         {6,8,7,15,0,(*fun9)},//第二層,北京大學層下顯示【歷史】、政治、簡介                                                
         {7,6,8,16,0,(*fun10)},//第二層,北京大學層下顯示歷史、【政治】、簡介  
         {8,7,6,17,0,(*fun11)}, //第二層,北京大學層下顯示歷史、政治、【簡介】                                                                                
//         {11,10,8,1,(*fun12)},//第二層,北京大學層下顯示歷史、政治、簡介         
         {9,11,10,18,0,(*fun13)},//第二層,重慶三峽學院層下顯示【簡介】、最佳院系、最佳實驗室                                                      
         {10,9,11,19,0,(*fun14)}, //第二層,重慶三峽學院層下顯示簡介、【最佳院系】、最佳實驗室                                                               
         {11,10,9,20,0,(*fun15)}, //第二層,重慶三峽學院層下顯示簡介、最佳院系、【最佳實驗室】                                                               
//         {15,14,12,2,(*fun16)}, //第二層,重慶三峽學院層下顯示簡介、最佳院系、最佳實驗室   
         {12,12,12,12,3,(*fun17)}, //第三層,清華大學地點層                                                                    
         {13,13,13,13,4,(*fun18)}, //第三層,清華大學創(chuàng)時間層                                                      
         {14,14,14,14,5,(*fun19)}, //第三層,清華大學簡介層
         {15,15,15,15,6,(*fun20)}, //第三層,北京大學歷史層                                                                    
         {16,16,16,16,7,(*fun21)}, //第三層,北京大學政治層                                                           
         {17,17,17,17,8,(*fun22)}, //第三層,北京大學簡介層
         {18,18,18,18,9,(*fun23)}, //第三層,重慶三峽學院簡介層                                                                  
         {19,19,19,19,10,(*fun24)}, //第三層,重慶三峽學院最佳院系層                                                        
         {20,20,20,20,11,(*fun25)}, //第三層,重慶三峽學院最佳實驗室層        
         {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);//松手檢測
                        }

               if(keydown==0)
                {
                  func_index=table[func_index].down;    //向下翻
                  while(!keydown);
                }

               if(keyenter==0)
               {
                     func_index=table[func_index].enter;    //確認
                 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í)行當前操作函數(shù)                                   
       }


}




LGM菜單顯示 - 副本.rar

119.15 KB, 下載次數(shù): 14, 下載積分: 黑幣 -5






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