⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test.lst

📁 液晶6963模块 240*64,外接PS2键盘,多级菜单.这是我工作中的一个程序,有兴趣的可以看
💻 LST
📖 第 1 页 / 共 2 页
字号:
 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 + -