免费1夜情网站-免费18岁禁看-免费 在线观看 视频-免费 视频 1级-87福利在线-87福利视频

歡迎訪問杭州精顯科技有限公司液晶顯示屏網(wǎng)站! 設(shè)為首頁 | 收藏本站| 網(wǎng)站地圖
全國統(tǒng)一服務(wù)熱線
15382323032
?

技術(shù)知識

您只需一個電話我們將推薦性價比高的液晶屏產(chǎn)品選型,讓您花合理的價格,達(dá)到預(yù)期的效果

全國統(tǒng)一服務(wù)熱線
15382323032

產(chǎn)品動態(tài)

聯(lián)系我們

全國統(tǒng)一服務(wù)熱線:

15382323032

客服QQ:3234659108

手機(jī):15382323032

地址:浙江省杭州市西湖區(qū)文一西路830號蔣村商務(wù)中心B樓2-8007室

當(dāng)前位置: 主頁 > 資訊中心 > 技術(shù)知識 > >

12864液晶屏如何去做多級菜單?

文章出處:原創(chuàng) 人氣:發(fā)表時間:2017-07-17

現(xiàn)在很多的工程師在使用12864液晶屏?xí)r,都會碰到應(yīng)該如何做多級菜單的問題,去請教供應(yīng)商吧,往往是得不到想要的答案的,去問百度吧,又不能夠確定答案是否正確,難!今天,我們就請杭州精顯的工程師來給您一個12864液晶屏如何做多級菜單的范例。
#include "menu_level1.h"
#include "./Driver/key/key.h"
#include "./Driver/SysInterrupt/SetInterruptStatus.h"
#include "./Driver/LCD12864/ms12864r.h"
#include "./Driver/LCD12864/menu_function.h"

#include "haitun.h"
#include "aaa.h"
//全局變量引入
extern unsigned int menu_list_roll_choice;
extern unsigned int TimeBase128;

const unsigned int hand_bmp1[16]=        //手型字符
{
        0x0000,        0x0180,        0x0360,        0x0550,        0x0558,        0x0554,        0x0554,        0x7554,
        0x4d54,        0x2404,        0x1004,        0x1004,        0x0804,        0x0408,        0x03f8,        0x07f8
};
const unsigned int hand_bmp2[16]=        //手型字符
{
        0x0000,        0x0400,        0x0a00,        0x0a00,        0x0b50,        0x0aa8,        0x0aa8,        0x1aa8,
        0x2aa8,        0x2808,        0x2808,        0x2008,        0x1008,        0x0808,        0x07f0,        0x0ff0
};
//菜單數(shù)組
const unsigned int menu_1_0[7][16] =                 //一級菜單
{
        {"1.字符顯示演示  "},
        {"2.數(shù)據(jù)顯示演示  "},
        {"3.光標(biāo)閃爍開關(guān)  "},        
        {"4.圖形顯示演示  "},                
        {"5.動畫演示      "},
        {"6.點(diǎn)畫圖形      "},        
        {"7.版本信息..    "}        
};
const unsigned int menu_1_1[2][16] =         
{
        {"1.字符顯示演示  "},
        {"enter 鍵返回    "}
};
const unsigned int menu_1_2[2][16] =         
{
        {"2.數(shù)據(jù)顯示演示  "},
        {"+,-,enter返回   "}
};
const unsigned int menu_1_3[1][16] = 
{
        {"3.光標(biāo)閃爍開關(guān)  "},
};
const unsigned int menu_1_4[2][16] = 
{
        {"4.圖形顯示演示  "},
        {"+,-,enter 返回  "}
};
const unsigned int menu_1_5[0][16] = 
{
};
const unsigned int menu_1_6[1][16] = 
{
        {"6.點(diǎn)畫圖形      "},
};
const unsigned int menu_1_7[4][16] = 
{
        {"  液晶演示程序  "},
        {"  Version 1.0   "},
        {"  制作人: 虎子  "},
        {"  按enter:返回  "}
};
const unsigned int menu_1_end[]={};                 //此項(xiàng)用于計(jì)算用

//菜單字符數(shù)組
const unsigned int *menu_level1_address_array[]= {
(unsigned int*)menu_1_0,(unsigned int*)menu_1_1,(unsigned int*)menu_1_2,(unsigned int*)menu_1_3,
(unsigned int*)menu_1_4,(unsigned int*)menu_1_5,(unsigned int*)menu_1_6,(unsigned int*)menu_1_7,
(unsigned int*)menu_1_end
};
//菜單處理函數(shù),與菜單字符數(shù)組一一對應(yīng)
const menu_function menu_level1_dispose_array[]={
menu_1_0_fun,menu_1_1_fun,menu_1_2_fun,menu_1_3_fun,
menu_1_4_fun,menu_1_5_fun,menu_1_6_fun,
menu_1_7_fun
//下一級菜單入口函數(shù)

};

//-------------以下是菜單處理函數(shù)-------------------------------
void menu_1_0_fun(void)//本級菜單初始化
{
        menu_init((unsigned int *)hand_bmp1);
        menu_addr_array=(unsigned int **)menu_level1_address_array;
        menu_dispose_array=(menu_function *)menu_level1_dispose_array;
        menu_list_display();
        while(1) 
        {        
                *P_Watchdog_Clear = C_WDTCLR;
                switch(Key_Get())
                {
                        case KEY_1://enter press
                                menu_chg_windows();                //本級菜單窗口切換
                                break;                
                        case KEY_2://+ key press
                                menu_down_roll();
                                break;
                        case KEY_3://- key press
                                menu_up_roll();
                                break;        
               }
        }
}
void menu_1_1_fun(void)
{
        LCD_disp_string(8,(unsigned int *)"lcd 顯示字符");        
while (1)        {
                switch(Key_Get())
                {
                case 1:        //press enter
                        return;
                case 2://+ key press
                        break;
                case 4://- key press
                        break;        
                }//switch end
                LCD_disp_char(24,TimeBase128);        //顯示一個漢字字符
                *P_Watchdog_Clear = C_WDTCLR;
        }//while end
}
void menu_1_2_fun(void)
{
        unsigned int tmp=0;
while (1)        {
        *P_Watchdog_Clear = C_WDTCLR;
                switch(Key_Get())
                {
                case 1:        
                        return;        
                        break;
                case 2://+ key press
                        LCD_Set_Mask_bit(tmp++);
                        LCD_disp_string(8,(unsigned int *)"                ");
                        LCD_disp_string(24,(unsigned int *)"                ");                        
                        break;
                case 4://- key press
                        LCD_Set_Mask_bit(tmp--);
                        LCD_disp_string(8,(unsigned int *)"                ");
                    LCD_disp_string(24,(unsigned int *)"                ");        
                        break;        
                }//switch end
        //十進(jìn)制顯示無符號整數(shù)數(shù)值
        LCD_disp_dec_uint(8,TimeBase128);                
        //十六進(jìn)制顯示整數(shù)數(shù)值
        LCD_disp_hex_uint(11,TimeBase128);
        //十進(jìn)制顯示有符號整數(shù)數(shù)值                
        LCD_disp_dec_int(13,(int)TimeBase128);
        //十六進(jìn)制顯示32位整數(shù)數(shù)值        
        LCD_disp_hex_lint(24,(unsigned long int)TimeBase128);                
        }//while end
}

unsigned int flag=1;
void menu_1_3_fun(void)
{
        if (flag)
        { 
                LCD_Cursor_Blink_ON();
                flag=0;
        }
        else
        {
                LCD_Cursor_Blink_OFF();
                flag=1;
        }
}
void menu_1_4_fun(void)        
{
        unsigned int x=0,y=32;
        LCD_disp_word_picture(x,y,(unsigned int *)encoding_000);
while (1)        {
        *P_Watchdog_Clear = C_WDTCLR;
 switch(Key_Get())
                {
                case 1:        
                LCD_disp_word_picture(x,y,(unsigned int *)encoding_001);
                return;                        
                case 2://+ key press
                        LCD_disp_word_picture(x,y,(unsigned int *)encoding_001);
                        x+=16;
                        LCD_disp_word_picture(x,y,(unsigned int *)encoding_000);
                        break;
                case 4://- key press
                        LCD_disp_word_picture(x,y,(unsigned int *)encoding_001);
                        y+=1;
                        LCD_disp_word_picture(x,y,(unsigned int *)encoding_000);        
                        break;        
                default:
                        break;        
                }//switch end
        }//while end
}
void menu_1_5_fun(void)
{
        unsigned int time=TimeBase128;
        while (TimeBase128<time+5*128)        //持續(xù)5秒鐘
        {
                LCD_disp_full_screen((unsigned int *)encoding_02);*P_Watchdog_Clear = C_WDTCLR;
                LCD_disp_full_screen((unsigned int *)encoding_03);*P_Watchdog_Clear = C_WDTCLR;
                LCD_disp_full_screen((unsigned int *)encoding_04);*P_Watchdog_Clear = C_WDTCLR;
                LCD_disp_full_screen((unsigned int *)encoding_05);*P_Watchdog_Clear = C_WDTCLR;
                LCD_disp_full_screen((unsigned int *)encoding_06);*P_Watchdog_Clear = C_WDTCLR;
                LCD_disp_full_screen((unsigned int *)encoding_07);*P_Watchdog_Clear = C_WDTCLR;
                LCD_disp_full_screen((unsigned int *)encoding_08);*P_Watchdog_Clear = C_WDTCLR;
                LCD_disp_full_screen((unsigned int *)encoding_00);*P_Watchdog_Clear = C_WDTCLR;
                LCD_disp_full_screen((unsigned int *)encoding_01);*P_Watchdog_Clear = C_WDTCLR;
        }
        LCD_clear_screen();        //清屏
}
void menu_1_6_fun(void)
{
        LCD_disp_string(8,(unsigned int *)"此版本不支持..");
        *P_Watchdog_Clear = C_WDTCLR;
        while(Key_Get()!=1);
        return;
}
void menu_1_7_fun(void)
{
        *P_Watchdog_Clear = C_WDTCLR;
        while(Key_Get()!=1);
        return;
}
 

?

群創(chuàng)液晶屏 友達(dá)液晶屏 京東方液晶屏 京瓷液晶屏 龍騰液晶屏 天馬液晶屏 奇美液晶屏 三菱液晶屏

主站蜘蛛池模板: 亚洲一区免费在线| 母乳女神春日もな| 亚洲精品久久77777| 特黄特色大片免费播放| 五月婷婷影视| 人人干夜夜操| 亚洲qvod图片区电影| 深夜草逼逼| 久久精品国产亚洲AV天美18| 国产在线亚洲v天堂a| 主播内部vip美女视频| 在线网站你懂的| 最新国产成人综合在线观看| 在线中文字幕第一页| 在线视频 91| 中文字幕色视频| 97国产精品视频在线观看| 99久久精品费精品国产| ewp绞死vk失禁编| YELLOW视频在线观看免费版高清| www黄色大片| 这里只有精品首页| 最新3d怪物交video另类| 主播抠逼| 超碰97免费人妻| 中文亚洲字幕| 99久久99久久久99精品齐| xxxx69中国| 国产精品日本一区二区在线播放 | 亚洲波多野结衣日韩在线| 亚洲成人伦理| 亚洲欧洲精品国产二码| 天美网站传媒入口网址| 下雨天小说词枝| 亚洲视频第一页| 亚洲成av人片天堂网| 亚洲人成绝费网站色ww| 一区二区视频在线观看高清视频在线 | 国产精品久久人妻无码蜜| 国模精品一区二区三区视频| 成人AV无码一二二区视频免费看|