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

📄 try.cpp

📁 一个液晶的菜单例子
💻 CPP
字号:
#include <neo.h>

/* 各按键宏,到时候你可以51上把这几个宏的值换了就OK */ 
#define UP      21504    
#define DOWN    21760
#define ENTER   17165
#define ESC     15131


int keyboard();
void LOG(char i);             /* 界面开始处   */ 
void ZCD1_1();
void CL2_4();
void GDSJ();
void PLCS();
void KSCL1_2();
void SJCX1_2();
void CDSJ();
void CKTX();



int keyboard()          /* 键盘模块,到时候你也可以直接把51的按键函数替换readkey() */ 
{
    int key;
    clear_keybuf();
    key = readkey();
    return key;
}

void LOG(char i)
{
       
    while (1)
    {
        switch (i)                     /* 通过i确定显示哪张图片         */ 
        {
            case 1:
                show_bmp("ZCD1.bmp", 0, 0);
                break;
                
            case 2:
                show_bmp("ZCD2.bmp", 0, 0);
                break;
            case 3:
                show_bmp("ZCD3.bmp", 0, 0);
                break;
        }
    
        switch (keyboard())              /* 通过按键,改变i的值,以此来决定显示ZCD1-3的哪张图片          */ 
        {
            case DOWN:
                i++;
                if (i == 4)
                {
                    i = 1;
                }
                break;
                
            case UP:
                i--;
                if (i == 0)
                {
                    i = 3;
                }
                break;
                
            case ENTER:
                switch (i)
                {
                    case 1:
                        ZCD1_1();
                        break;
                    
                    case 2:
                        CL2_4();
                        break;
                        
                    case 3:
                        SJCX1_2();
                        break;
                }
                break;
            case ESC:
                return ;
        }
    }  
}

void ZCD1_1()
{
    show_bmp("ZCD1_1.bmp", 0, 0);
    while (1)
    {
         if (ESC == keyboard())                      
         {
             return ;
         }
    }
}

void CL2_4()
{
    char i = 1;
    
    while (1)
    {
        switch (i)                     
        {
            case 1:
                show_bmp("CL2.bmp", 0, 0);
                break;
                
            case 2:
                show_bmp("CL3.bmp", 0, 0);
                break;
            case 3:
                show_bmp("CL4.bmp", 0, 0);
                break;
        }
    
        switch (keyboard())
        {
            case DOWN:
                i++;
                if (i == 4)
                {
                    i = 1;
                }
                break;
                
            case UP:
                i--;
                if (i == 0)
                {
                    i = 3;
                }
                break;
                
            case ENTER:
                switch (i)
                {
                    case 1:
                        GDSJ();
                        break;
                    
                    case 2:
                        PLCS();
                        break;
                        
                    case 3:
                        KSCL1_2();
                        break;
                }
                break;
            
            case ESC:
                return ;
        }
    }
}

void GDSJ()
{
    show_bmp("GDSJ.bmp", 0, 0);
    while (1)
    {
         if (ESC == keyboard())                      
         {
             return ;
         }
    }
}

void PLCS()
{
    show_bmp("PLCS.bmp", 0, 0);
    while (1)
    {
         if (ESC == keyboard())                      
         {
             return ;
         }
    }
}

void KSCL1_2()
{
    char i = 1;
    
    while (1)
    {
        switch (i)                     
        {
            case 1:
                show_bmp("KSCL1.bmp", 0, 0);
                break;
                
            case 2:
                show_bmp("KSCL2.bmp", 0, 0);
                break;
        }
        
        switch (keyboard())
        {
            case DOWN:
                i++;
                if (i == 3)
                {
                    i = 1;
                }
                break;
                
            case UP:
                i--;
                if (i == 0)
                {
                    i = 2;
                }
                break;
                
            case ENTER:
                switch (i)
                {
                    case 1:
                        /* 是 */ 
                        break;
                    
                    case 2:
                        /* 否 */ 
                        break;
                }
                break;
            
            case ESC:
                return ;
        }
    }
}

void SJCX1_2()
{
    char i = 1;
    
    while (1)
    {
        switch (i)                     
        {
            case 1:
                show_bmp("SJCX1.bmp", 0, 0);
                break;
                
            case 2:
                show_bmp("SJCX2.bmp", 0, 0);
                break;
        }
        
        switch (keyboard())
        {
            case DOWN:
                i++;
                if (i == 3)
                {
                    i = 1;
                }
                break;
                
            case UP:
                i--;
                if (i == 0)
                {
                    i = 2;
                }
                break;
                
            case ENTER:
                switch (i)
                {
                    case 1:
                        CDSJ();
                        break;
                    
                    case 2:
                        CKTX();
                        break;
                }
                break;
            
            case ESC:
                return ;
        }
    }
}

void CDSJ()
{
    show_bmp("CDSJ.bmp", 0, 0);
    while (1)
    {
         if (ESC == keyboard())                      
         {
             return ;
         }
    }
}

void CKTX()
{
    show_bmp("CKTX.bmp", 0, 0);
    while (1)
    {
         if (ESC == keyboard())                      
         {
             return ;
         }
    }
}


int main()
{
   neo_init();
   set_window_mode(0);
   set_vbe_mode(VBE320X200X256);
   install_keyboard();
   
   show_bmp("LOGO1.bmp", 0, 0);        /* 显示LOG画面,此函数就是位图显示模块,到时候你也自己换上51的  */
   rest(1000);                         /* 延时函数     */
   LOG(1);
}
END_OF_MAIN();

⌨️ 快捷键说明

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