📄 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) //机器参数
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菜单显示数据结构
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机器参数设置屏幕A
550 15,15,15,15,15, 14,14,//15机器参数设置屏幕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 功能:主函数
577 输入参数:无
578 输出参数:无
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])();//调用标准请求
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;//直接调用菜单ID号
607 3 }
608 2
609 2
610 2 (*LCD[LCD_Now])();//调用函数
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 + -