?? test.lst
字號:
315 3 { if(key==ESC)
316 4 { LCD_Key=FATHER;
317 5 return;
318 5 }
319 4 }
320 3 }
321 2 }
322 1 }
323 void Task10(void) //時鐘設置
324 { noab();
325 1 ClearScreen();
326 1 // UC xdata Clock[7];//格式為: 秒 分 時 日 月 星期 年
327 1 Lcd_printf(4,0,"年份:",0,1);
328 1 Lcd_Num_Uchar(9,0,Clock[0],2);
329 1 Lcd_printf(4,2,"月份:",0,0);
330 1 Lcd_Num_Uchar(9,2,Clock[0],2);
331 1 Lcd_printf(4,4,"日期:",0,0);
332 1 Lcd_Num_Uchar(9,4,Clock[0],2);
333 1 Lcd_printf(4,6,"星期:",0,0);
334 1 Lcd_Num_Uchar(9,6,Clock[0],2);
335 1 Lcd_printf(17,0,"時鐘:",0,0);
336 1 Lcd_Num_Uchar(22,0,Clock[0],2);
337 1 Lcd_printf(17,2,"分鐘:",0,0);
338 1 Lcd_Num_Uchar(22,2,Clock[0],2);
339 1 Lcd_printf(17,4,"秒鐘:",0,0);
340 1 Lcd_Num_Uchar(22,4,Clock[0],2);
341 1 ab(9,0);
342 1 while(1)
343 1 { key=getchar();
344 2 if (key!=0)//按PC鍵盤開始測試
345 2 {
346 3 if(key==ESC)
347 3 { LCD_Key=FATHER; return;
348 4 }
349 3 }
350 2 }
351 1 }
352 void Task11(void) //流水單元
353 { noab();
354 1 ClearScreen();
355 1 Lcd_Num_Uchar(0,6,11,1);
356 1 while(1)
357 1 { key=getchar();
358 2 if (key!=0)//按PC鍵盤開始測試
359 2 {
360 3 if(key==ESC)
361 3 { LCD_Key=FATHER; return;
362 4 }
363 3 }
364 2 }
365 1 }void Task12(void) //機器參數(shù)
C51 COMPILER V7.07 TEST 01/11/2005 11:05:27 PAGE 7
366 { noab();
367 1 ClearScreen();
368 1 Lcd_Num_Uchar(0,6,12,1);
369 1 while(1)
370 1 { key=getchar();
371 2 if (key!=0)//按PC鍵盤開始測試
372 2 {
373 3 if(key==ESC)
374 3 { LCD_Key=FATHER; return;
375 4 }
376 3 }
377 2 }
378 1 }void Task13(void)
379 { noab();
380 1 ClearScreen();
381 1 Lcd_Num_Uchar(0,6,13,1);
382 1 while(1)
383 1 { key=getchar();
384 2 if (key!=0)//按PC鍵盤開始測試
385 2 {
386 3 if(key==ESC)
387 3 { LCD_Key=FATHER; return;
388 4 }
389 3 }
390 2 }
391 1 }void Task14(void)
392 { noab();
393 1 ClearScreen();
394 1 Lcd_Num_Uchar(0,6,14,1);
395 1 while(1)
396 1 { key=getchar();
397 2 if (key!=0)//按PC鍵盤開始測試
398 2 {
399 3 if(key==ESC)
400 3 {LCD_Key=FATHER; return;
401 4 }
402 3 }
403 2 }
404 1 }void Task15(void)
405 { noab();
406 1 ClearScreen();
407 1 Lcd_Num_Uchar(0,6,15,1);
408 1 while(1)
409 1 { key=getchar();
410 2 if (key!=0)//按PC鍵盤開始測試
411 2 {
412 3 if(key==ESC)
413 3 { LCD_Key=FATHER; return;
414 4 }
415 3 }
416 2 }
417 1 }void Task16(void)
418 { noab();
419 1 ClearScreen();
420 1 Lcd_Num_Uchar(0,6,16,1);
421 1 while(1)
422 1 { key=getchar();
423 2 if (key!=0)//按PC鍵盤開始測試
424 2 {
425 3 if(key==ESC)
426 3 { LCD_Key=FATHER;
427 4 //LCD_Num=FATHER;
C51 COMPILER V7.07 TEST 01/11/2005 11:05:27 PAGE 8
428 4 return;
429 4
430 4 }
431 3 }
432 2 }
433 1 }
434 void Task17(void)
435 { noab();
436 1 ClearScreen();
437 1 Lcd_Num_Uchar(0,6,11,1);
438 1 while(1)
439 1 { key=getchar();
440 2 if (key!=0)//按PC鍵盤開始測試
441 2 {
442 3 if(key==ESC)
443 3 { LCD_Key=FATHER; return;
444 4 }
445 3 }
446 2 }
447 1 }
448 void Task18(void)
449 { noab();
450 1 ClearScreen();
451 1 Lcd_Num_Uchar(0,6,11,1);
452 1 while(1)
453 1 { key=getchar();
454 2 if (key!=0)//按PC鍵盤開始測試
455 2 {
456 3 if(key==ESC)
457 3 { LCD_Key=FATHER; return;
458 4 }
459 3 }
460 2 }
461 1 }
462
463
464
465 void Task19(void)
466 { noab();
467 1 ClearScreen();
468 1 Lcd_Num_Uchar(0,6,19,1);
469 1 while(1)
470 1 { key=getchar();
471 2 if (key!=0)//按PC鍵盤開始測試
472 2 {
473 3 if(key==ESC)
474 3 { LCD_Num=FATHER; break;
475 4 }
476 3 }
477 2 }
478 1 }void Task20(void)
479 { noab();
480 1 ClearScreen();
481 1 Lcd_Num_Uchar(0,6,20,1);
482 1 while(1)
483 1 { key=getchar();
484 2 if (key!=0)//按PC鍵盤開始測試
485 2 {
486 3 if(key==ESC)
487 3 { LCD_Num=FATHER; break;
488 4 }
489 3 }
C51 COMPILER V7.07 TEST 01/11/2005 11:05:27 PAGE 9
490 2 }
491 1 }void Task21(void)
492 { noab();
493 1 ClearScreen();
494 1 Lcd_Num_Uchar(0,6,21,1);
495 1 while(1)
496 1 { key=getchar();
497 2 if (key!=0)//按PC鍵盤開始測試
498 2 {
499 3 if(key==ESC)
500 3 { LCD_Num=FATHER; break;
501 4 }
502 3 }
503 2 }
504 1 }
505
506 code void (*LCD[])(void) =
507 { Task0,
508 Task1,
509 Task2,
510 Task3,
511 Task4,
512 Task5,
513 Task6,
514 Task7,
515 Task8,
516 Task9,
517 Task10,
518 Task11,
519 Task12,
520 Task13,
521 Task14,
522 Task15,
523 Task16,
524 Task17,
525 Task18,
526 Task19,
527 Task20,
528 Task21,
529 };
530
531 // LCD菜單顯示數(shù)據(jù)結(jié)構(gòu)
532 char code LCD_MSK[22][7]={//新的菜單ID,本屏菜單ID
533 //0-4是子菜單ID,5是前菜單,6是后菜單,7父菜單
534 /* Child0;Child1;Child2;Child3;Child4;Last;Next;Father;*/
535 1,1,1,1,1, 1,1,//0初始化
536 2,17,16,6,9, 1,1,//1主屏幕
537 3,3,3,4,3, 2,2,//2
538 3,3,3,3,3, 3,3,//3
539 4,4,4,4,4, 4,4,//4
540 5,5,5,5,5, 5,5,//5
541 6,6,6,6,6, 6,6,//6
542 7,7,7,7,7, 7,7,//7
543 8,8,8,8,8, 8,8,//8
544 10,11,12,13,9, 9,9,//9設置屏幕
545 10,10,10,10,10, 10,10,//10時間設置屏幕
546 11,11,11,11,11, 12,12,//11
547 12,12,12,12,12, 11,11,//12
548 13,13,13,13,13, 13,13,//13
549 14,14,14,14,14, 15,15,//14機器參數(shù)設置屏幕A
550 15,15,15,15,15, 14,14,//15機器參數(shù)設置屏幕B
551 16,16,16,16,16, 16,16,//16
C51 COMPILER V7.07 TEST 01/11/2005 11:05:27 PAGE 10
552 17,18,17,17,17, 17,17,//17
553 18,18,18,18,18, 18,18,//18
554 19,19,19,19,19, 19,19,//19
555 20,20,20,20,20, 20,20,//20文件起名屏幕
556 21,21,21,21,21, 21,21,//21文件刪除屏幕
557
558
559 };
560 void Push_LCD(UC dat)
561 { if(d_num<10)
562 1 { d[d_num]=dat;
563 2 d_num++;
564 2 }
565 1 }
566 UC Pop_LCD(void)
567 { UC dat;
568 1 if(d_num>0)
569 1 { d_num--;
570 2 dat=d[d_num];
571 2 }
572 1 return dat;
573 1 }
574 /*************************************
575 名稱:main
576 功能:主函數(shù)
577 輸入?yún)?shù):無
578 輸出參數(shù):無
579 *************************************/
580 void main(void)
581 {
582 1
583 1
584 1 init_kb();
585 1 T6963_init();
586 1 noab();
587 1
588 1
589 1 LCD_Now=1;
590 1 (*LCD[LCD_Now])();//調(diào)用標準請求
591 1
592 1 while(1)
593 1 {
594 2 if(LCD_Key==CHILD)
595 2 { Push_LCD(LCD_Now);
596 3 LCD_Now=LCD_MSK[LCD_Now][LCD_Num];
597 3 }
598 2 else if(LCD_Key==FATHER)
599 2 {
600 3 LCD_Now=Pop_LCD();
601 3 }
602 2 else
603 2 { if(LCD_Num<7)
604 3 LCD_Now=LCD_MSK[LCD_Now][LCD_Num];
605 3 else
606 3 LCD_Now=LCD_Num;//直接調(diào)用菜單ID號
607 3 }
608 2
609 2
610 2 (*LCD[LCD_Now])();//調(diào)用函數(shù)
611 2
612 2
613 2
C51 COMPILER V7.07 TEST 01/11/2005 11:05:27 PAGE 11
614 2 }
615 1
616 1 }
617
618
619
620
621
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 2318 ----
CONSTANT SIZE = 288 ----
XDATA SIZE = 22 ----
PDATA SIZE = ---- ----
DATA SIZE = 2 ----
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 + -