📄 irfunc.lst
字号:
C51 COMPILER V7.50 IRFUNC 07/03/2006 14:17:09 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE IRFUNC
OBJECT MODULE PLACED IN ..\..\OUTPUT\NTSC_SOUTH\IrFunc.obj
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE ..\..\KERNEL\IrFunc.c OPTIMIZE(9,SIZE) BROWSE ORDER INCDIR(..\..\INC\;..\..
-\UI\NTSC_SOUTH\) DEFINE(PABLO,MCU_MTV412M,OLGA) DEBUG OBJECTEXTEND PRINT(..\..\OUTPUT\NTSC_SOUTH\IrFunc.lst) OBJECT(..\.
-.\OUTPUT\NTSC_SOUTH\IrFunc.obj)
line level source
1 /******************************************************************************
2 Copyright (c) 2003 MStar Semiconductor, Inc.
3 All rights reserved.
4
5 [Module Name]: IrFunc.c
6 [Date]: 05-Feb-2004
7 [Comment]:
8 Remote control function routines.
9 [Reversion History]:
10 *******************************************************************************/
11
12 #define _IRFUNC_C_
13
14 // System
15 #include <intrins.h>
16
17 // Common
18 #include "board.h"
19 #include "define.h"
20 #include "mcu.h"
21 #include "userdef.h"
22 // External
23 #include "global.h"
24 #include "uart.h"
25 #include "ir.h"
26 #include "keypad.h"
27 #include "i2c.h"
28 #include "uart.h"
29 #include "UserPref.h"
30 #include "Ram.h"
31
32 // Internal
33 #include "irfunc.h"
34
35
36 void irDecodeCommand( void )
37 {
38 1 #define KEYDELAY1 10
39 1 #define KEYDELAY2 0
40 1
41 1 BOOL bProcessDefaultIREvent = TRUE;
42 1
43 1 g_IrCodeParam[5] = FALSE;
44 1
45 1 if ( !_testbit_( g_bIrDetect ) )
46 1 return;
47 1
48 1 //printf("\r\n [0x%x]", g_ucIrCode); //IR Command
49 1 //printf("\r\n [0x%x]", g_IrCodeParam[4]); // From IR
50 1
51 1 if ( !bProcessDefaultIREvent ) // Don't process default IR event
52 1 return;
53 1
C51 COMPILER V7.50 IRFUNC 07/03/2006 14:17:09 PAGE 2
54 1 irDecodeRepeat( 0 );//KEYDELAY1);
55 1
56 1 switch ( g_ucIrCode )
57 1 {
58 2 case IRKEY_0:
59 2 case IRKEY_1:
60 2 case IRKEY_2:
61 2 case IRKEY_3:
62 2 case IRKEY_4:
63 2 case IRKEY_5:
64 2 case IRKEY_6:
65 2 case IRKEY_7:
66 2 case IRKEY_8:
67 2 case IRKEY_9:
68 2 irAdjustNumKey( g_ucIrCode );
69 2 break;
70 2
71 2 case IRKEY_TVMENU:
72 2 break;
73 2 case IRKEY_POWER:
74 2 break;
75 2 case IRKEY_INPUT:
76 2 break;
77 2 case IRKEY_VOL_UP:
78 2 break;
79 2 case IRKEY_VOL_DOWN:
80 2 break;
81 2 case IRKEY_PMODE:
82 2 break;
83 2 case IRKEY_SLEEP:
84 2 break;
85 2 case IRKEY_SMODE:
86 2 break;
87 2 case IRKEY_CH_UP:
88 2 break;
89 2 case IRKEY_CH_DOWN:
90 2 break;
91 2 case IRKEY_CH_RECALL:
92 2 break;
93 2
94 2 case IRKEY_MUTE:
95 2 break;
96 2 case IRKEY_DISPLAY:
97 2 irPullFactoryKey(IRKEY_DISPLAY);
98 2 break;
99 2 case IRKEY_STILL:
100 2 break;
101 2 case IRKEY_AAA:
102 2 break;
103 2
104 2 //cx20050713
105 2 case IRKEY_CC:
106 2 break;
107 2
108 2 case IRKEY_LOCK:
109 2 break;
110 2 case IRKEY_ATSC:
111 2 break;
112 2
113 2 case IRKEY_ASPECT_RATIO:
114 2 break;
115 2 case IRKEY_MTS:
C51 COMPILER V7.50 IRFUNC 07/03/2006 14:17:09 PAGE 3
116 2 break;
117 2 case IRKEY_C_SYS:
118 2 break;
119 2 case IRKEY_S_SYS:
120 2 break;
121 2 case IRKEY_22:
122 2 break;
123 2 case IRKEY_24:
124 2 break;
125 2 case IRKEY_NAVI:
126 2 break;
127 2 } // End of switch
128 1 }
129
130 /////////////////////////////////////////////////////
131 void irAdjustNumKey( BYTE ucPressNum )
132 {
133 1 BYTE i;
134 1
135 1 if ( g_ucIrNumKeyTimer == 0 )
136 1 {
137 2 for ( i = 0; i < 3; i++ )
138 2 {
139 3 g_IrCodeParam[i] = ' ';
140 3 }
141 2 }
142 1 g_ucIrNumKeyTimer = IR_NUMKEY_DELAY_TIME1;
143 1 g_IrCodeParam[0] = g_IrCodeParam[1];
144 1 g_IrCodeParam[1] = g_IrCodeParam[2];
145 1 //IrCodeParam[2] = ucPressNum + OSD_0_INDEX;
146 1 g_IrCodeParam[2] = ucPressNum ;
147 1 g_IrCodeParam[3] = '\0';
148 1 }
149
150 //IRKEY_SLEEP ->IRKEY_DISPLAY ->IRKEY_OSD_MENU ->IRKEY_DISPLAY
151 //IRKEY_DISPLAY ->IRKEY_PICMODE ->IRKEY_SMODE ->IRKEY_SLEEP
152 //bit0 bit1 bit2 bit3
153 void irPullFactoryKey( BYTE ucPressKey )
154 {
155 1 switch ( ucPressKey )
156 1 {
157 2 case IRKEY_DISPLAY:
158 2 if ( g_ucFacEnterKey == 0 )
159 2 g_ucFacEnterKey |= _BIT0;
160 2 else if ( g_ucFacEnterKey == _BIT0 )
161 2 break;//Not care repeat
162 2 else
163 2 g_ucFacEnterKey = 0;
164 2 break;
165 2 case IRKEY_PMODE:
166 2 if ( g_ucFacEnterKey == ( _BIT0 ) )
167 2 g_ucFacEnterKey |= _BIT1;
168 2 else if ( g_ucFacEnterKey == ( _BIT0 | _BIT1 ) )
169 2 break;//Not care repeat
170 2 else
171 2 g_ucFacEnterKey = 0;
172 2 break;
173 2 case IRKEY_SMODE:
174 2 if ( g_ucFacEnterKey == ( _BIT0 | _BIT1 ) )
175 2 g_ucFacEnterKey |= _BIT2;
176 2 else if ( g_ucFacEnterKey == ( _BIT0 | _BIT1 | _BIT2 ) )
177 2 break;//Not care repeat
C51 COMPILER V7.50 IRFUNC 07/03/2006 14:17:09 PAGE 4
178 2 else
179 2 g_ucFacEnterKey = 0;
180 2 break;
181 2 case IRKEY_SLEEP:
182 2 if ( g_ucFacEnterKey == ( _BIT0 | _BIT1 | _BIT2 ) )
183 2 g_ucFacEnterKey |= _BIT3;
184 2 else if ( g_ucFacEnterKey == ( _BIT0 | _BIT1 | _BIT2 | _BIT3 ) )
185 2 break;//Not care repeat
186 2 else
187 2 g_ucFacEnterKey = 0;
188 2 break;
189 2 default:
190 2 break;
191 2 }
192 1 }
193
194 /////////////////////////////////////////////////////
195 void irDecodeNumKey( void )
196 {
197 1 if ( g_ucIrNumKeyTimer )
198 1 {
199 2 g_ucIrNumKeyTimer--;
200 2 }
201 1 }
202
203
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 201 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -