?? ir_receiver.lst
字號:
143 _Recall,// 0xd8 // d827 61d6
144 _Scan,// 0x98 // 9867 61d6
145 _Select,// 0x50 // 50af 61d6
146 _Up,// 0x10 // 10ef 61d6
147 _Left,// 0x90 // 906f 61d6
148 _Right,// 0xd0 // d02f 61d6
149
150 _Down,// 0x30 // 30cf 61d6
151 _Menu,// 0xf0 // f00f 61d6
152 _ExitRC,// 0x70 // 708f 61d6
153 _Res,// 0xb0 // b04f 61d6
154 _Input,// 0xa0 // a05f 61d6
155 _Mts,// 0x60 // 609f 61d6
156 _Mute,// 0xe0 // e01f 61d6
157 _Channel_Add,// 0x40 // 40bf 61d6
158
159 _Channel_Sub,// 0x80 // 807f 61d6
160 _Volume_Add,// 0xc0 // c03f 61d6
161 _Volume_Sub,// 0x20 // 20df 61d6
162 _Power,// 0x00 // 00ff 61d6
163 _Repeat,// 0xa5 // 00ff 61d6
164 _UnKnow // 0xff
165 };
166
167 unsigned char DecodeIRCommand(unsigned long _RC_WordX){
168 1 unsigned char _RC_DataX;
169 1 unsigned char _gx;
170 1 unsigned char _hx;
171 1 unsigned char _ix;
172 1 unsigned int _Xadr;
173 1
174 1 _Xadr=(unsigned int)((_RC_WordX>>0x10)&0x0000ffff);
175 1 if(_Xadr==0x61d6){
176 2 // 0x61d6 is a ID code transmitted from remote controller
177 2 // _RC_Word>>=0x10;
C51 COMPILER V7.07 IR_RECEIVER 05/17/2006 03:13:56 PAGE 4
178 2
179 2 _Xadr=(unsigned int)(_RC_WordX&0x0000ffff);
180 2 _gx=(unsigned char)(_Xadr&0x00ff);
181 2 _Xadr>>=8;
182 2 _hx=(unsigned char)(_Xadr&0x00ff);
183 2
184 2 if((_hx|_gx)==0xff){
185 3 for(_ix=0;_ix<0x1d;_ix++){
186 4 if(_hx==_RCKeyTable[_ix]) break;
187 4 }
188 3 if(_ix<0x1d){
189 4 _RC_DataX=_hx;
190 4 // RunRCFuncX(_RC_Data);
191 4
192 4 }
193 3 else _RC_DataX=0xff; // unknow
194 3 }
195 2 }
196 1
197 1 else {
198 2 if((_RC_RepeatCommand==1)&&(_RC_Data!=0xff)){
199 3
200 3 _RC_DataX=0xf0;
201 3 }
202 2 }
203 1
204 1
205 1 return(_RC_DataX);
206 1 }
207
208
209 unsigned char RCFuncX(unsigned char _RC_DataX){
210 1 static unsigned char _gx;
211 1 unsigned char _dx;
212 1 switch(_RC_DataX){
213 2 case _Right:
214 2 case _Up:
215 2 case _1x:
216 2
217 2 _gx=_AddKey;
218 2 _dx=_gx;
219 2 break;
220 2
221 2 case _Down:
222 2
223 2 case _Left:
224 2 case _2x:
225 2
226 2 _gx=_SubKey;
227 2 _dx=_gx;
228 2 break;
229 2 case _Select:
230 2 case _3x:
231 2
232 2 _gx=_SelKey;
233 2 _dx=_gx;
234 2 break;
235 2 case _4x:
236 2 break;
237 2 case _5x:
238 2 case _6x:
239 2 case _7x:
C51 COMPILER V7.07 IR_RECEIVER 05/17/2006 03:13:56 PAGE 5
240 2 case _8x:
241 2 case _9x:
242 2 case _0x:
243 2 case _Recall:
244 2 case _Scan:
245 2 // case _Select:
246 2 // case _Up:
247 2 // case _Left:
248 2 // case _Right:
249 2 // case _Down:
250 2 case _Menu:
251 2 break;
252 2 case _ExitRC:
253 2
254 2 // if(_DebugMode==0){_DebugMode=1; ResetRemoteCTRL_Use_Timer1(); }
255 2 // else _DebugMode=0;
256 2 break;
257 2 case _Res:
258 2
259 2 // ResetRemoteCTRL_Use_Timer1();
260 2 break;
261 2 case _Repeat:
262 2 _dx=_gx;
263 2 break;
264 2 case _Input:
265 2 case _Mts:
266 2 case _Mute:
267 2 case _Channel_Add:
268 2 case _Channel_Sub:
269 2 case _Volume_Add:
270 2 case _Volume_Sub:
271 2 case _Power:
272 2 case _UnKnow:
273 2 break;
274 2 }
275 1 return(_dx);
276 1 }
277
278
279
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 218 ----
CONSTANT SIZE = 30 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 1 5
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 + -