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

📄 irkey.h

📁 CS8955控制TV软件。用MCU做模拟电视的控制。
💻 H
字号:
/******************************************************************************\
     Project Version:   MTKCARDVD()
********************************************************************************
     Filename:          Key.c

     Author:            Alan chan

     Company:           CoreTek/ACT Company

********************************************************************************
     File Version:      1.01
     File Created:      July 2007

     Compiled Using:    keil uVision2 Version 2.23 

********************************************************************************
     Files Required:

********************************************************************************
     File Description:

********************************************************************************
     File History:

--------------------------------------------------------------------------------
  Date         Name           Description
--------------------------------------------------------------------------------
  Mar. 2007    Alan chan    File Created
  
\******************************************************************************/

#ifndef _IRKEY_C_
#define _IRKEY_C_

#ifdef _MAIN_
#define EXTERN 
#else
#define EXTERN extern
#endif

#define REMOTE_TIMEOUT 2
#define 	IR_NONE	0xFF
#define IR_IGNORE 	0xFE
enum
{
#ifdef MARTIN_KEY_FUNCTION
/// ir_num1 -ir_num99 ==0x01-0x63; //
       IR_NUM0=0x00,
       IR_NUM1=0x01,
	IR_NUM2=0x02,
	IR_NUM3=0x03,
	IR_NUM4=0x04,
 	IR_NUM5=0x05,
	IR_NUM6=0x06,
	IR_NUM7=0x07,
	IR_NUM8=0x08,
	IR_NUM9=0x09,
	//IR_NUM10 - IR_NUM99 (0x0a -0x63) undefine
       
       IR_RIGHT=0x76,  
	IR_LEFT=0x77, 
	IR_AUDIO=0x78,
	IR_MUTE=0x79,  
	IR_SEL=0x7a,   
	IR_STEP=0x7b,  
	IR_RESET=0x7c,
	IR_ENTER=0x7d,
	IR_FINE_UP=0x82, //IR_FF=0x70,
	IR_FINE_DOWN=0x83, //IR_FR=0x71,    
	IR_MANUAL_UP=0x84, //IR_NEXT=0x72,   
	IR_MANUAL_DOWN=0x85, //IR_PREV=0x73,
	IR_CHANNEL_UP=0x86,   //IR_UP=0x74,  
       IR_CHANNEL_DOWN=0x87, //IR_DOWN=0x75,  
	IR_BAND=0x88,
	IR_SWAP=0x89,
	IR_SYSTEM=0x8a,
	IR_AUTO_SCAN=0x8b,
	IR_SKIP=0x8c,
	IR_STOP=0x8d,
	IR_TV_SOUND=0x8e,
	IR_TV_VERSION=0x8f,
	IR_TV_INIT=0x90,
	IR_TV_DEFAULT=0x91,
	IR_TV_RETURN=0x92,  //07Oct08
       IR_KEY_MAX=0x93,
//////  Below are all null and void.  /////
	
       
	IR_PLAY_PAUSE,   
       IR_SETUP,
       IR_DISPLAY,
       IR_RANDOM,
	IR_PAL_NTSC,          
	IR_PROGRAM,   
	IR_CLEAR,   
	IR_EJECT,   
	IR_TITLE_MENU,   
       IR_ZOOM,
	IR_SUB_TITLE,       
       IR_PBC,
       IR_GOTO,
       IR_REPEAT,
       IR_POWER,
       IR_TITLE,
	IR_ANGLE,       
	IR_A2B,
	IR_ROOT_MENU,
	IR_VOLUME_UP,
	IR_VOLUME_DOWN,
       IR_FF,
	IR_FR, 
	IR_NEXT,
	IR_PREV,
	IR_UP,
       IR_DOWN,
       // other IR define
       IR_MODE,
	IR_DVD,
	IR_USB,
	IR_SD,
	IR_ENC_ENTER,
	IR_EQ,
       IR_CLOCK,

       // not pass to dvd IR define
	IR_ST,
	IR_LONGPUSH,
	IR_MEM1,
	IR_MEM2,
	IR_MEM3,
	IR_MEM4,
	IR_MEM5,
	IR_MEM6,
	IR_LOUD	
	
#else
 	IR_NUM1=0x01,
	IR_NUM2,
	IR_NUM3,
	IR_NUM4,
 	IR_NUM5,
	IR_NUM6,
	IR_NUM7,
	IR_NUM8,
	IR_NUM9,
	IR_NUM0,
       IR_STOP=0x0c,
       IR_FF=0x0f,
	IR_FR=0x10,   
	IR_STEP=0x12,   
	IR_PLAY_PAUSE,   
	IR_NEXT=0x15,   
	IR_RESET=0x19,   
	IR_MUTE,   
       IR_UP,
       IR_DOWN,
       IR_SETUP,
       IR_PREV,
       IR_DISPLAY=0x26,
       IR_RANDOM=0x2a,
	IR_PAL_NTSC,          
	IR_PROGRAM=0x3e,   
	IR_CLEAR,   
	IR_EJECT,   
	IR_TITLE_MENU,   
       IR_ZOOM=0x43,
	IR_SUB_TITLE,       
	IR_SEL,
	IR_RIGHT,
	IR_LEFT=0x48,
       IR_PBC=0x4a,
       IR_GOTO,
       IR_REPEAT,
       IR_POWER=0x4d,
       IR_ENTER=0x50,
       IR_TITLE,
       IR_AUDIO=0x53,
	IR_ANGLE=0x55,       
	IR_A2B=0x62,
	IR_ROOT_MENU,
	IR_VOLUME_UP,
	IR_VOLUME_DOWN,

       // other IR define
       IR_MODE=0x74,
	IR_DVD,
	IR_USB,
	IR_SD,
	IR_ENC_ENTER,
	IR_EQ,
       IR_CLOCK,

       // not pass to dvd IR define
	IR_ST,
	IR_LONGPUSH,
	IR_MEM1=0x80,
	IR_MEM2,
	IR_MEM3,
	IR_MEM4,
	IR_MEM5,
	IR_MEM6,
	IR_LOUD	
#endif
};
#ifdef MARTIN_KEY_FUNCTION
#define IR_NUM_KEY(bKey) ((bKey>=0x01)&&((bKey<=0x63)))   // 1-99
#endif
//martin 14May08 #define IR_BAND 	IR_ENTER
#define IR_AST  	IR_PBC

// Komec remote control
//	power			MUTE 		      Setup			Eject
//	0x46			0x57			0x51			0x59
//
// 	1				2				3				Vol up
//	0x5a			0x47			0x50			0x58
//
// 	4				5				6				Vol down
//	0x02			0x05			0x54			0x0a
//
// 	7				8				9				0
//	0x1e			0x0e			0x1c				0x14
//
//	Menu			Audio			PBC/AST			Loud/EQ
//	0x0f				0x0c				0x1a			0x0d
//
//	Disp				Up				Subtitle			Title
//	0x13			0x10			0x12			0x11
//
//	Left			       Play_enter/Band	Right			Prev
//	0x17			0x18			0x16			0x15
//
//	Prog				Down		    	Angle		 	Next
//	0x1b			0x19			0x1d			0x1f
//
//	FR				FF				Stop				Play_pause
//	0x5f				0x5e			0x5d			0x5c
//
//	Slow				Rdm				Repeat			A-B
//	0x4f				0x4e			0x4d			0x4c
//
//	Zoom			Sel				ST/P.SPW		PN/P.MENU
//	0x43			0x42			0x41			0x40
//

#define IR_CUSTOM_CODE	0x01
#define IR_CUSTOM_CODE1  0xfe

#define IR_KEY_CODE_MAX   0x60   
#define IR_KEY_GAP_START  0x20
#define IR_KEY_GAP_SIZE   0x20
#define IR_KEY_TBL_SIZE   (IR_KEY_CODE_MAX - IR_KEY_GAP_SIZE)

EXTERN BOOL   		_fgIRKeyValid;
EXTERN xdata BYTE     	_bPlaypostKey;
EXTERN xdata BYTE 	_bIR0;
EXTERN xdata BYTE  	_bIRKey0;
EXTERN xdata BYTE  	 _bIRLongPush;
EXTERN xdata BYTE 	_bRemoteTimer;
EXTERN xdata BYTE  	LongPushCount;

#ifdef _MAIN_
EXTERN code const BYTE _pbIRKeyTbl[IR_KEY_TBL_SIZE] =
{
#ifdef MARTIN_MCU_NO_IR
IR_NEXT,
IR_AUDIO,
#else
  /* 0x00 */ IR_NONE,
  /* 0x01 */ IR_NONE,
  /* 0x02 */ IR_NUM4,
  /* 0x03 */ IR_NONE,
  /* 0x04 */ IR_NONE, 
  /* 0x05 */ IR_NUM5,  
  /* 0x06 */ IR_NONE, 
  /* 0x07 */ IR_NONE,
  /* 0x08 */ IR_NONE,
  /* 0x09 */ IR_NONE,
  /* 0x0a */ IR_VOLUME_DOWN,
  /* 0x0b */ IR_NONE,
  /* 0x0c */ IR_AUDIO,
  /* 0x0d */ IR_EQ,
  /* 0x0e */ IR_NUM8,
  /* 0x0f */  IR_ROOT_MENU,
  /* 0x10 */ IR_UP,
  /* 0x11 */ IR_TITLE,
  /* 0x12 */ IR_SUB_TITLE,     
  /* 0x13 */ IR_DISPLAY,
  /* 0x14 */ IR_NUM0,      
  /* 0x15 */ IR_PREV,  
  /* 0x16 */ IR_RIGHT, 
  /* 0x17 */ IR_LEFT, 
  /* 0x18 */ IR_ENTER, // ENTER/BAND
  /* 0x19 */ IR_DOWN,
  /* 0x1a */ IR_PBC, // PBC/AST
  /* 0x1b */ IR_PROGRAM,
  /* 0x1c */ IR_NUM9,  
  /* 0x1d */ IR_ANGLE,
  /* 0x1e */ IR_NUM7,
  /* 0x1f */ IR_NEXT,
  /* 0x40 */ IR_PAL_NTSC,  // PN/P.MENU 
  /* 0x41 */ IR_ST, // ST/P.SPW 
  /* 0x42 */ IR_SEL,
  /* 0x43 */ IR_ZOOM,
  /* 0x44 */ IR_NONE,
  /* 0x45 */ IR_NONE,    
  /* 0x46 */ IR_MODE,
  /* 0x47 */ IR_NUM2,
  /* 0x48 */ IR_NONE,
  /* 0x49 */ IR_MUTE,
  /* 0x4a */ IR_NONE,
  /* 0x4b */ IR_NONE,
  /* 0x4c */ IR_A2B,     
  /* 0x4d */ IR_REPEAT,
  /* 0x4e */ IR_RANDOM,
  /* 0x4f */  IR_STEP,       
  /* 0x50 */ IR_NUM3,
  /* 0x51 */ IR_SETUP,
  /* 0x52 */ IR_NONE,
  /* 0x53 */ IR_NONE,
  /* 0x54 */ IR_NUM6,
  /* 0x55 */ IR_NONE,
  /* 0x56 */ IR_NONE,
  /* 0x57 */ IR_NONE,
  /* 0x58 */ IR_VOLUME_UP,     
  /* 0x59 */ IR_EJECT,
  /* 0x5a */ IR_NUM1,
  /* 0x5b */ IR_NONE,     
  /* 0x5c */ IR_PLAY_PAUSE,
  /* 0x5d */ IR_STOP,
  /* 0x5e */ IR_FF,
  /* 0x5f */ IR_FR,
  #endif
};
#else
EXTERN code const BYTE _pbIRKeyTbl[IR_KEY_TBL_SIZE];
#endif

extern BYTE bRemoteDetect(void);
extern void vInitIRVar(void);

#endif

⌨️ 快捷键说明

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