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

📄 key.c

📁 keil C51 LCD 驱动源码,其中还有I2C驱动,ADC驱动,键盘操作等,是一个完整的keil源代码,供大家参考
💻 C
📖 第 1 页 / 共 5 页
字号:
void    EnterKeyReturn()
{
        FgFunInc=0;
        if(OSDMenuPage==L0_USERADJUST)
        {
                OSDMenuPage=L0_USERCOLOR;
                OSDNumber=L0_USERCOLOR;
                PrintChar(1,25,_UARROW,BLACK);
                PrintChar(7,25,_DARROW,BLACK);
                VerticalKey();
        }
        else if(OSDMenuPage==L0_FAC_ADCADJUST)
        {
                OSDMenuPage=L0_FAC_MENU0;
                OSDNumber=L0_FAC_MENU0;
                PrintChar(1,25,_UARROW,BLACK);
                PrintChar(7,25,_DARROW,BLACK);
                VerticalKey();
        }
        else if(OSDMenuPage==L0_FAC_ZURACCB)
        {
                OSDMenuPage=L0_FAC_MENU1;
                OSDNumber=L0_FAC_MENU1;
                PrintChar(1,25,_UARROW,BLACK);
                PrintChar(7,25,_DARROW,BLACK);
                VerticalKey();
        }
        else if(OSDMenuPage==L0_FAC_MISC)
        {
                OSDMenuPage=L0_FAC_MENU2;
                OSDNumber=L0_FAC_MENU2;
                PrintChar(1,25,_UARROW,BLACK);
                PrintChar(7,25,_DARROW,BLACK);
                VerticalKey();
        }
        else if(OSDMenuPage==L0_MENU2 && OSDPoint == OSDM_MENU2_ITEM-1)
        {
                PrintString(7,1,BACK_BLACK,&ClearCol);
                OSDPoint=5;
                VerticalKey();
        }
        else
        {
                OSDNumber=OSDMenuPage;
                OsdShowWindowB();
                OSDPoint=OSDMainPoint;
                VerticalKey();
        }
}




Byte    GetItemNumber()
{
        Byte    a;
        a=1;
        if(FgMenuSelect)
        {
                switch(OSDMenuPage)
                {
                        case L0_USERADJUST :
                        case L0_USERCOLOR :
                                a=a+OSDM_MENU6_ITEM;
                        case L0_MENU6 :
                                a=a+OSDM_MENU5_ITEM;
                        case L0_MENU5 :
                                a=a+OSDM_MENU4_ITEM;
                        case L0_MENU4 :
                                a=a+OSDM_MENU3_ITEM;
                        case L0_MENU3 :
                                a=a+OSDM_MENU2_ITEM;
                        case L0_MENU2 :
                                a=a+OSDM_MENU1_ITEM;
                        case L0_MENU1 :
                                a=a+OSDM_MENU0_ITEM;
                        case L0_MENU0 :
                                a=a+ITEM_START+OSDPoint;
                                break;
                        case L0_FAC_MENU6 :
                                a=a+FAC_MENU5_ITEM;
                        case L0_FAC_MENU5 :
                                a=a+FAC_MENU4_ITEM;
                        case L0_FAC_MENU4 :
                                a=a+FAC_MENU3_ITEM;
                        case L0_FAC_MENU3 :
                                a=a+FAC_MENU2_ITEM;
                        case L0_FAC_MISC :
                        case L0_FAC_MENU2 :
                                a=a+FAC_MENU1_ITEM;
                        case L0_FAC_ZURACCB :
                        case L0_FAC_MENU1 :
                                a=a+FAC_MENU0_ITEM;
                        case L0_FAC_ADCADJUST :
                        case L0_FAC_MENU0 :
                                a=a+FACITEMSTART+OSDPoint;
                }
        }
        else
        {
                a=a+OSDPoint;
                if(FgMenuPage)
                        a=a+FAC_MENU_START;
        }
        return(a);
}

void    VerticalKey(void)
{
        Byte    a,i;
        switch(OSDMenuPage)
        {
                case L0_MENU0 :
                        a=OSDM_MENU0_ITEM;
                        break;
                case L0_MENU1 :
                        a=OSDM_MENU1_ITEM;
                        break;
                case L0_MENU2 :
                        a=OSDM_MENU2_ITEM;
                        if(!IsDOSMode())
                                a--;
                        break;
                case L0_MENU3 :
                        a=OSDM_MENU3_ITEM;
                        break;
                case L0_MENU4 :
                        a=OSDM_MENU4_ITEM;
                        break;
                case L0_MENU5 :
                        a=OSDM_MENU5_ITEM;
                        break;
                case L0_MENU6 :
                        a=OSDM_MENU6_ITEM;
                        break;
                case L0_USERCOLOR :
                        a=OSDM_COLORTEMP_ITEM;
                        break;
                case L0_FAC_MENU0 :
                        a=FAC_MENU0_ITEM;
                        break;
                case L0_FAC_MENU1 :
                        a=FAC_MENU1_ITEM;
                        break;
                case L0_FAC_MENU2 :
                        a=FAC_MENU2_ITEM;
                        break;
                case L0_FAC_MENU3 :
                        a=FAC_MENU3_ITEM;
                        break;
                case L0_FAC_MENU4 :
                        a=FAC_MENU4_ITEM;
                        break;
                case L0_FAC_MENU5 :
                        a=FAC_MENU5_ITEM;
                        break;
                case L0_FAC_MENU6 :
                        a=FAC_MENU6_ITEM;
                        break;
                case L0_FAC_ADCADJUST :
                        a=FAC_ADJUST_ITEM;
                        break;
        }
        if(OSDPoint > 0xF0)
                OSDPoint=a-1;
        if(OSDPoint == a)
                OSDPoint=0;
        a=OSDPoint;
        switch( OSDMenuPage )
        {
                case L0_MENU3 :
                        switch(a)
                        {
                                case 0:
                                        ChangeColorTemp(COLOR_9300);
                                        break;
                                case 1:
                                        ChangeColorTemp(COLOR_6500);
                                        break;
                                case 2:
                                        ChangeColorTemp(COLOR_5000);
                                        break;
                                case 3:
                                        ChangeColorTemp(COLOR_USER);
                        }
                        OsdWindow(1,(OSDM_WINDOW1+a*3));
                        break;
                case L0_MENU5 :         //algu 1113
                        OsdSetString(OSDMENU0_MESSAGE,0,a,1);
                        PrintString(8,0,WHITE,DataPointer);
                        OsdWindow(1,(OSDM_WINDOW1+a*3));
                        break;
                                                
                case L0_USERCOLOR :
                        for(i=0;i<3;i++)
                        {
                                PrintChar(i+2,5,__,BACK_BLACK);
                                PrintChar(i+2,18,__,BACK_BLACK);
                        }
                        OsdWindow(1,(OSDM_COLORTEMP_WINDOW1+a*3));
                        break;
                case L0_FAC_MENU0 :
                case L0_FAC_MENU1 :
                        for(i=0;i<6;i++)
                        {
                                PrintChar(i+2,6,__,BACK_BLACK); //algu 1119, col 5->6
                                PrintChar(i+2,19,__,BACK_BLACK); //algu 1119, col 18->19
                        }
                        OsdWindow(1,(FAC_COLORTEMP_WINDOW1+a*3));
                        break;
                case L0_FAC_MENU2 :
                        OsdWindow(1,(FAC_MISC_WINDOW1+a*3));    //algu 1119
                        break;
                default :
                        OsdWindow(1,(OSDM_WINDOW1+a*3));
        }
}

void    Up_Down_Key()
{
        if(FgMenuSelect)
        {
                VerticalKey();
                OsdDisableWindow(2);
        }
        else
        {
                if(OSDPoint>0x80)
                {
                        if(FgFacMode)
                        {
                                FgMenuPage = !FgMenuPage;
                                OsdClearWinB();
                                OsdColorFont();
                        }
                        if(FgMenuPage)
                                OSDPoint=2;
                        else
                                OSDPoint=6;
                }
                if( OSDPoint > 2 && FgMenuPage )
                {
                        FgMenuPage = 0;
                        OsdColorFont();
                        OSDPoint=0;
                }
                else if( OSDPoint > 6)
                {
                        if(FgFacMode)
                        {
                                FgMenuPage = !FgMenuPage;
                                OsdClearWinB();
                                OsdColorFont();
                        }
                        OSDPoint=0;
                }
                if(FgMenuPage)
                        OSDMenuPage=L0_FAC_MENU0+OSDPoint;
                else
                        OSDMenuPage=L0_MENU0+OSDPoint;
                OSDNumber=OSDMenuPage;
                OsdHandler();
        }
//      CurrentValue=ModeCounter;
//      OsdShowData(1,21,RED);
}

void    EnterKey()
{
        Byte    a;
        a=GetItemNumber();
        switch(a)
        {
                case L0_MENU0 :
                case L0_MENU1 :
                case L0_MENU2 :
                case L0_MENU3 :
                case L0_MENU4 :
                case L0_MENU5 :
                case L0_MENU6 :
                                OSDMenuPage=a;
                                OSDNumber=a;
                                OsdClearWinB();
                                OsdDisableWindow(4);
                                FgMenuSelect=1;
                                if(a==L0_MENU3)
                                {
                                        OSDPoint=ColorTemp;
                                        PrintChar(ColorTemp+1,5,_RHAND,MAGENTA);    //TONNY
                                }
                                else if (a==L0_MENU5)   //algu 1113,language
                                {
                                        OSDPoint=OSDLanguage;
                                }

⌨️ 快捷键说明

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