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

📄 lcd_msg.c

📁 keil c51平台,此代码可用于学习TFT LCD TV 搜台等,(本人自己修改)
💻 C
📖 第 1 页 / 共 2 页
字号:
                    return NOTIFY_POWERUP;
		}	
                else
                    return NOTIFY_NONE;
            }
            else
                return NOTIFY_NONE;
        }
    }

#endif

    // Generate Key Messages
    switch (ucP3_Curr)
    {
    case AUTO_KEY_MASK :
        if(ucOSD_Page_Index)
#if(IRPOLLING)
    		usOSD_Timer	= (unsigned int)stGUD1.OSD_TIMEOUT * 34;
#else
    		usOSD_Timer	= (unsigned int)stGUD1.OSD_TIMEOUT * 51;
#endif

        if ((ucP3_Prev ^ ucP3_Curr) & AUTO_KEY_MASK)
        {
            ucKey_Issued    = 0;
            for(m=0;m<5;m++)
            {
            	if (bAUTO_KEY)
            	{
            		ucNotify = NOTIFY_NONE;            	
            		break;
            	}
            	BitDly();  
            }

            ucNotify        = NOTIFY_AUTO_KEY;
        }
        break;

#if (KEY_TYPE == KEY_6)        
    case EXIT_KEY_MASK :
        if(ucOSD_Page_Index)
#if(IRPOLLING)
    		usOSD_Timer	= (unsigned int)stGUD1.OSD_TIMEOUT * 34;
#else
    		usOSD_Timer	= (unsigned int)stGUD1.OSD_TIMEOUT * 51;
#endif
        if ((ucP3_Prev ^ ucP3_Curr) & EXIT_KEY_MASK)
        {
            ucKey_Issued    = 0;
            for(m=0;m<5;m++)		//V211
            {
            	if (bEXIT_KEY)
            	{
            		ucNotify = NOTIFY_NONE;            	
            		break;
            	}
            	BitDly();  
            }

            ucNotify        = NOTIFY_EXIT_KEY;
        }
        break;
#endif

    case CHINC_KEY_MASK :
#if(IRPOLLING)
    	usOSD_Timer	= (unsigned int)stGUD1.OSD_TIMEOUT * 34;
#else
    	usOSD_Timer	= (unsigned int)stGUD1.OSD_TIMEOUT * 51;
#endif
        if ((ucP3_Prev ^ ucP3_Curr) & CHINC_KEY_MASK)
        {
            ucKey_Issued    = 0;
            ucNotify        = NOTIFY_CHINC_KEY;
            ucKey_Repeat    = KEY_REPEAT_COUNT;
        }
        else
        {
            if (ucKey_Repeat)
                ucKey_Repeat    -= 1;
            else
            {
                if (KEY_TURBO_ENABLE > ucKey_Issued)
                {
                    ucKey_Issued    += 1;
                    ucKey_Repeat    = KEY_REPEAT_PERIOD;
                }
                else
                    ucKey_Repeat    = 0;

                ucNotify        = NOTIFY_CHINC_KEY;                     // Post CHINC-key repeat message
            }
        }
        break;
        
    case CHDEC_KEY_MASK :
#if(IRPOLLING)
    	usOSD_Timer	= (unsigned int)stGUD1.OSD_TIMEOUT * 34;
#else
    	usOSD_Timer	= (unsigned int)stGUD1.OSD_TIMEOUT * 51;
#endif        
        if ((ucP3_Prev ^ ucP3_Curr) & CHDEC_KEY_MASK)
        {
            ucKey_Issued    = 0;
            ucNotify        = NOTIFY_CHDEC_KEY;
            ucKey_Repeat    = KEY_REPEAT_COUNT;
        }
        else
        {
            if (ucKey_Repeat)
                ucKey_Repeat    -= 1;
            else
            {
                if (KEY_TURBO_ENABLE > ucKey_Issued)
                {
                    ucKey_Issued    += 1;
                    ucKey_Repeat    = KEY_REPEAT_PERIOD;
                }
                else
                    ucKey_Repeat    = 0;

                ucNotify        = NOTIFY_CHDEC_KEY;                     // Post CHINC-key repeat message
            }
        }
        break;
   
    case ENTER_KEY_MASK :
        if ((ucP3_Prev ^ ucP3_Curr) & ENTER_KEY_MASK)
        {
            ucKey_Issued    = 0;
#if(IRPOLLING)
    	    usOSD_Timer	= (unsigned int)stGUD1.OSD_TIMEOUT * 34;
#else
    	    usOSD_Timer	= (unsigned int)stGUD1.OSD_TIMEOUT * 51;
#endif
            for(m=0;m<5;m++)		//V211
            {
            	if (bENTER_KEY)
            	{
            		ucNotify = NOTIFY_NONE;            	
            		break;
            	}         	
            	BitDly();  
            }

            ucNotify        = NOTIFY_ENTER_KEY;                         // Post enter-key pressed message
            ucKey_Repeat    = KEY_REPEAT_COUNT * 8;
        }
        else
        {
            if (ucKey_Repeat)
                ucKey_Repeat    -= 1;
            else
            {
                if (ucOSD_Page_Index)
                {
                    usOSD_Timer = 0;
                    ucNotify    = NOTIFY_CLEAR_OSD;
                }
            }
        }
        break;
    
    case RIGHT_KEY_MASK :
#if(IRPOLLING)
    	usOSD_Timer	= (unsigned int)stGUD1.OSD_TIMEOUT * 34;
#else
    	usOSD_Timer	= (unsigned int)stGUD1.OSD_TIMEOUT * 51;
#endif
            
        if ((ucP3_Prev ^ ucP3_Curr) & RIGHT_KEY_MASK)
        {
            ucKey_Issued    = 0;

            for(m=0;m<5;m++)		//V211
            {
            	if (bRIGHT_KEY)
            	{
            		ucNotify = NOTIFY_NONE;            	
            		break;
            	}
            	BitDly();  
            }
            ucNotify        = NOTIFY_RIGHT_KEY;                         // Post right-key pressed message
            ucKey_Repeat    = KEY_REPEAT_COUNT;
        }
        else
        {
            if (ucKey_Repeat)
                ucKey_Repeat    -= 1;
            else
            {
                if (KEY_TURBO_ENABLE > ucKey_Issued)
                {
                    ucKey_Issued    += 1;
                    ucKey_Repeat    = KEY_REPEAT_PERIOD;
                }
                else
                    ucKey_Repeat    = 0;

                ucNotify        = NOTIFY_RIGHT_KEY;                     // Post right-key repeat message
            }
        }
        break;
    
    case LEFT_KEY_MASK :
#if(IRPOLLING)
    	usOSD_Timer	= (unsigned int)stGUD1.OSD_TIMEOUT * 34;
#else
    	usOSD_Timer	= (unsigned int)stGUD1.OSD_TIMEOUT * 51;
#endif
        if ((ucP3_Prev ^ ucP3_Curr) & LEFT_KEY_MASK)
        {
            ucKey_Issued    = 0;

            for(m=0;m<5;m++)		//V211
            {
            	if (bLEFT_KEY)
            	{
            		ucNotify = NOTIFY_NONE;            	
            		break;
            	}
            	BitDly();  
            }
            ucNotify        = NOTIFY_LEFT_KEY;                          // Post left-key pressed message
            ucKey_Repeat    = KEY_REPEAT_COUNT;
        }
        else
        {
            if (ucKey_Repeat)
                ucKey_Repeat    -= 1;
            else
            {
                if (KEY_TURBO_ENABLE > ucKey_Issued)
                {
                    ucKey_Issued    += 1;
                    ucKey_Repeat    = KEY_REPEAT_PERIOD;
                }
                else
                    ucKey_Repeat    = 0;

                ucNotify        = NOTIFY_LEFT_KEY;                      // Post left-key repeat message
            }
        }
        break;

#if (IRPOLLING)
    case IR_KEY_MASK :
        usOSD_Timer         = (unsigned int)stGUD1.OSD_TIMEOUT * 51; 
        ucKey_Issued    = 0;
        if ((ucP3_Prev ^ ucP3_Curr) & IR_KEY_MASK)
        {
            ucNotify        = Data[0];                                      // Post IR-key pressed message
            ucKey_Repeat    = KEY_REPEAT_COUNT;
            if (NOTIFY_IR_VOLINC == Data[0] || NOTIFY_IR_VOLDEC == Data[0] || NOTIFY_IR_CHINC == Data[0] || NOTIFY_IR_CHDEC == Data[0] || NOTIFY_IR_RIGHT_KEY== Data[0] || NOTIFY_IR_LEFT_KEY== Data[0])
                ucIR_Cmd[1] = 1;
        }
        else if(NOTIFY_IR_VOLINC == Data[0] || NOTIFY_IR_VOLDEC == Data[0] || NOTIFY_IR_CHINC == Data[0] || NOTIFY_IR_CHDEC == Data[0] || NOTIFY_IR_RIGHT_KEY== Data[0] || NOTIFY_IR_LEFT_KEY== Data[0])
        {
            if (ucKey_Repeat)
                ucKey_Repeat    -= 1;
            else
            {
                ucNotify        = Data[0];
                ucKey_Repeat    = KEY_REPEAT_PERIOD;
            }
        }
        break;
#endif
    
    default :
        // No key or more than 1 key pressed. Post no message and reset key-repeat.
        ucKey_Repeat    = KEY_REPEAT_COUNT;
        ucKey_Issued    = 0;

#if (HIDDEN_PAGE)        
        // For triggering the hidden page
        if (0 == ucOSD_Page_Index && (RIGHT_KEY_MASK | LEFT_KEY_MASK) == ucP3_Curr)
        {    
            for(m=0;m<20;m++)		//V211
            {
            	if (bRIGHT_KEY || bLEFT_KEY)
            	{
            		ucNotify = NOTIFY_NONE;            	
            		break;
            	}
            	BitDly();  
            }
            ucNotify    = NOTIFY_LR_KEY;
#if(IRPOLLING)
    	    usOSD_Timer	= (unsigned int)stGUD1.OSD_TIMEOUT * 34;
#else
    	    usOSD_Timer	= (unsigned int)stGUD1.OSD_TIMEOUT * 51;
#endif
        }
#endif
        break;
    }

    return ucNotify;
}

⌨️ 快捷键说明

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