📄 keyfuncx.lst
字号:
246 2 case 1:
247 2 if(_DemoIndeX<(_DemoItemsCount[_DemoType])) _DemoIndeX++;
248 2 else _DemoIndeX=0;
249 2 ShowAL720DemoX(_DemoType,_DemoIndeX);
250 2 break;
251 2 }
252 2
253 2 break;
254 2 case 0x01: // down
255 2 switch(_KeyPressLevel){
256 2 case 0:
257 2 if(_DemoType>0) --_DemoType;
258 2 else _DemoType=0x07;
259 2 _DemoIndeX=0;
260 2 SelectAL720DemoX(_DemoType);
261 2 break;
262 2 case 1:
263 2 if(_DemoIndeX>0) --_DemoIndeX;
264 2 else _DemoIndeX=(_DemoItemsCount[_DemoType]);
265 2 ShowAL720DemoX(_DemoType,_DemoIndeX);
266 2 break;
267 2 }
268 2
269 2
270 2 break;
271 2
272 2 case 0x02:
273 2 switch(_KeyPressLevel){
274 2 case 0:
275 2
276 2 if(_DemoType==0){//
277 2 // RunAL720DemoX(_DemoType,_DemoIndeX);
278 2 PrintAString(" Ready! ",20,0x40);
279 2 _StateFlag=_AfterProcess;
280 2 _KeyPressLevel=0x00;}
281 2 else {
282 2 _KeyPressLevel=0x01;
283 2 _DemoIndeX=0;
284 2 ShowAL720DemoX(_DemoType,_DemoIndeX);
285 2 }
286 2 break;
287 2 case 1:
288 2 if(_DemoIndeX==(_DemoItemsCount[_DemoType])){ _KeyPressLevel=0x00;
289 2 PrintAString(" ",20,0x40);
290 2
291 2 _KeyPressLevel=0;
292 2
293 2 SelectAL720DemoX(_DemoType);
294 2 _StateFlag=_Idle;//AfterProcess;
295 2 }
296 2
297 2
298 2 else{
299 2
300 2 PrintAString(" Process... ",20,0x40);
301 2 // RunAL720DemoX(_DemoType,_DemoIndeX);
302 2 PrintAString(" Ready! ",20,0x40);
C51 COMPILER V7.07 KEYFUNCX 05/17/2006 03:13:55 PAGE 6
303 2 _StateFlag=_AfterProcess;
304 2 }
305 2
306 2
307 2 break;
308 2 }
309 2
310 2 break;
311 2 */
312 2 case 0x00:
313 2
314 2 case 0x01:
315 2
316 2 case 0x02:
317 2 PrintAInt(_vx,0x40);
318 2 _vx++;
319 2 break;
320 2 case 0x03:
321 2 // sprintf(_dx,"PCON=0x%2x",PCON);
322 2 PrintAString("PCON=0x",7,0x40);
323 2 _dx=PCON;
324 2 PrintAShortInt(_dx,0x48);
325 2 break;
326 2 case 0x04:
327 2 // sprintf(_dx,"SCON=0x%2x",SCON);
328 2 // PrintAString(_dx,9,0x40);
329 2 PrintAString("SCON=0x",7,0x40);
330 2 _dx=SCON;
331 2 PrintAShortInt(_dx,0x48);
332 2 break;
333 2 case 0x05:
334 2 // sprintf(_dx,"TMOD=0x%2x",TMOD);
335 2 // PrintAString(_dx,9,0x40);
336 2 PrintAString("TMOD=0x",7,0x40);
337 2 _dx=TMOD;
338 2 PrintAShortInt(_dx,0x48);
339 2 break;
340 2 case 0x06:
341 2 // sprintf(_dx,"TCON=0x%2x",TCON);
342 2 // PrintAString(_dx,9,0x40);
343 2 PrintAString("TCON=0x",7,0x40);
344 2 _dx=TCON;
345 2 PrintAShortInt(_dx,0x48);
346 2 break;
347 2 case 0x07:
348 2 PrintAString("Initial UART",12,0x40);
349 2 _FuncX|=_UARTInit;
350 2 os_send_signal(_Init);
351 2
352 2 break;
353 2 case 0x08:
354 2 PrintAString("Initial IR",10,0x40);
355 2 _FuncX|=_IRInit;
356 2 os_send_signal(_Init);
357 2 break;
358 2 case 0x09:
359 2 PrintAString("IR interrupt",12,0x40);
360 2 break;
361 2 case 0x0a:
362 2
363 2 break;
364 2 case 0x0b:
C51 COMPILER V7.07 KEYFUNCX 05/17/2006 03:13:55 PAGE 7
365 2 // break;
366 2 case 0x0c:
367 2 // break;
368 2 case 0x0d:
369 2 // break;
370 2 case 0x0e:
371 2 // break;
372 2 case 0x0f:
373 2 // break;
374 2 case 0x10:
375 2 // break;
376 2 case 0x11:
377 2 // break;
378 2 case 0x12:
379 2 // break;
380 2 case 0x13:
381 2 // break;
382 2 case 0x14:
383 2 // break;
384 2 case 0x15:
385 2 // break;
386 2 case 0x16:
387 2 // break;
388 2 case 0x17:
389 2 // break;
390 2 case 0x18:
391 2 // break;
392 2 case 0x19:
393 2 // break;
394 2 case 0x1a:
395 2 // break;
396 2 case 0x1b:
397 2 // break;
398 2 case 0x1c:
399 2 // break;
400 2 case 0x1d:
401 2 // break;
402 2 case 0x1e:
403 2 // break;
404 2 case 0x1f:
405 2 // break;
406 2 case 0x20:
407 2 // break;
408 2 case 0x21:
409 2 // break;
410 2 case 0x22:
411 2 // break;
412 2 case 0x23:
413 2
414 2 break;
415 2 }
416 1 }
417
418
419
420 void DispatchKeyFunction(unsigned char _charx){
421 1 FunctionDispatch(_charx);
422 1
423 1 /*
424 1 switch(_StateFlag){
425 1 case _Initiate:
426 1 _DemoType=0;_DemoIndeX=0;
C51 COMPILER V7.07 KEYFUNCX 05/17/2006 03:13:55 PAGE 8
427 1 SelectAL720DemoX(_DemoType);
428 1 _StateFlag=_Idle;
429 1 break;
430 1 case _Ready:
431 1 if(_DemoType==0){ PrintAString(" ",7,0x48);}
432 1 else{
433 1 ShowAL720DemoX(_DemoType,_DemoIndeX);
434 1 }
435 1 _StateFlag=_Idle;
436 1 break;
437 1 case _AfterProcess:
438 1 ShowAL720DemoX(_DemoType,_DemoIndeX);// SelectAL720DemoX(_DemoType);//
439 1 _StateFlag=_Idle;
440 1 break;
441 1 default: FunctionDispatch(_charx);
442 1 break;
443 1 }
444 1 */
445 1
446 1
447 1
448 1 }
449
450 code unsigned char _KeyBoardMap[]={
451 0,1,4,7,
452 0x0a,2,5,8,
453 0x0b,3,6,9,
454 0x0f,0x0e,0x0d,0x0c
455 };
456
457 unsigned char KeyPressDecode(void){
458 1 unsigned char _dx;
459 1 unsigned char _Mask=0x01;
460 1 char _ix,_jx;
461 1
462 1 _ix=0;
463 1 do{
464 2 P1=~_Mask;
465 2 _dx=(P1&0xf0);
466 2 _Mask=_Mask<<1;
467 2 _ix++;
468 2 }
469 1 while((_dx==0xf0)&&(_ix<4));
470 1 --_ix;
471 1
472 1 _dx=(~_dx&0xf0);
473 1 _jx=0;
474 1 while(_dx!=0x10){
475 2 _dx>>=1;
476 2 _jx++;
477 2 }
478 1 _dx=(3-_jx)*4+_ix;
479 1
480 1 P1=0xf0;
481 1 return(_KeyBoardMap[_dx]);
482 1 }
483
484
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 745 ----
C51 COMPILER V7.07 KEYFUNCX 05/17/2006 03:13:55 PAGE 9
CONSTANT SIZE = 763 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 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 + -