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

📄 menu.lst

📁 这是一个我以前用AT89S52单片机做的128-64液晶屏的驱动显示程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
 223   2                      if(p16==0) 
 224   2                      {       
 225   3                              if(VOI==1) voice();                                             //      按键声音
 226   3                              fill_GD(0,0+i,4,16,0x00);                //     清除反白;      
 227   3                              if(i==0) i=16;
 228   3                              else i=0;
 229   3                      }
 230   2              }
 231   1      }
 232          /////////////////////////////////////////////////////////////////////////////////
 233          void menu1(void)
 234          {        
 235   1              fill_GD(0,0,4,32,0);             //     清除反白
 236   1          clrddram(); // 文本模式缓冲区清除
 237   1              LCD_puts("系统设计中!",11);
 238   1              delay(800);
 239   1              while(p17==1);
 240   1              if(VOI==1) voice();                                             //      按键声音        
 241   1      }
C51 COMPILER V7.50   MENU                                                                  12/28/2007 10:53:52 PAGE 5   

 242          
 243          void menu2(void)
 244          {       
 245   1              fill_GD(0,16,4,16,0x00);                 //     清除反白;
 246   1          clrddram(); // 文本模式缓冲区清除   
 247   1              LCD_puts("系统设计中!",11);
 248   1              delay(800);
 249   1              while(p17==1);
 250   1              if(VOI==1) voice();                                             //      按键声音        
 251   1      }
 252          void menu3(void)
 253          {        
 254   1              fill_GD(0,32,4,16,0x00);                 //     清除反白;
 255   1          clrddram(); // 文本模式缓冲区清除   
 256   1              LCD_puts("系统设计中!",11);
 257   1              delay(800);
 258   1              while(p17==1);
 259   1              if(VOI==1) voice();                                             //      按键声音        
 260   1      }
 261          
 262          void menu4(void)
 263          {        
 264   1              fill_GD(0,48,4,16,0x00);                 //     清除反白;
 265   1          clrddram(); // 文本模式缓冲区清除   
 266   1              LCD_puts("系统设计中!",11);
 267   1              delay(800);
 268   1              while(p17==1);
 269   1              if(VOI==1) voice();                                             //      按键声音        
 270   1      }
 271          
 272          void menu5(void)
 273          {        
 274   1              fill_GD(4,0,4,16,0x00);          //     清除反白;
 275   1          clrddram(); // 文本模式缓冲区清除   
 276   1              LCD_puts("系统设计中!",11);
 277   1              delay(800);
 278   1              while(p17==1);
 279   1              if(VOI==1) voice();                                             //      按键声音        
 280   1      }
 281          
 282          void menu6(void)
 283          {        
 284   1              fill_GD(4,16,4,16,0x00);                 //     清除反白;
 285   1          clrddram(); // 文本模式缓冲区清除   
 286   1              LCD_puts("系统设计中!",11);
 287   1              delay(800);
 288   1              while(p17==1);
 289   1              if(VOI==1) voice();                                             //      按键声音        
 290   1      }
 291          
 292          void menu7(void)
 293          {        
 294   1              fill_GD(4,32,4,16,0x00);                 //     清除反白;
 295   1          clrddram(); // 文本模式缓冲区清除   
 296   1              LCD_puts("系统设计中!",11);
 297   1              delay(800);
 298   1              while(p17==1);
 299   1              if(VOI==1) voice();                                             //      按键声音        
 300   1      }
 301          
 302          void menu8(void)
 303          {
C51 COMPILER V7.50   MENU                                                                  12/28/2007 10:53:52 PAGE 6   

 304   1              uchar i=0;
 305   1      //      fill_GD(4,48,4,16,0x00);                 //     清除反白;
 306   1              while(1)
 307   1              {
 308   2                      clrgdram();
 309   2                      clrddram();     // 文本模式缓冲区清除   
 310   2      
 311   2                      gotoxy(0,0);
 312   2                      LCD_puts("背光设置",8);
 313   2                      gotoxy(0,1);
 314   2                      LCD_puts("密码设置",8);
 315   2                      gotoxy(0,2);
 316   2                      LCD_puts("按键声音",8);
 317   2      
 318   2                      fill_GD(0,0+i,4,16,0xff);                //     反白;
 319   2                      delay(200);
 320   2                      while(P1==0xff);
 321   2                      if(p17==0) 
 322   2                      {       
 323   3                              if(VOI==1) voice();                                             //      按键声音
 324   3                              break;                                                                                                                  //      按P17跳到主菜单
 325   3                      }
 326   2                      if(p14==0)
 327   2                      {       
 328   3                              if(VOI==1) voice();                                             //      按键声音
 329   3                              switch(i)
 330   3                              {
 331   4                                      case 0:  menu8_1(); break;
 332   4                                      case 16: menu8_2(); break;
 333   4                                      case 32: menu8_3(); break;
 334   4                                      default : break;
 335   4                              }
 336   3                              delay(100);                                     //      防止连续返回菜单
 337   3                      }
 338   2                      if(p15==0) 
 339   2                      {
 340   3                              if(VOI==1) voice();                                             //      按键声音
 341   3                              fill_GD(0,0+i,4,16,0x00);                //     清除反白;      
 342   3                              i+=16;                                                  //      反白下调
 343   3                              if(i==48)i=0;                   
 344   3                      }
 345   2                      if(p16==0) 
 346   2                      {       
 347   3                              if(VOI==1) voice();                                             //      按键声音
 348   3                              fill_GD(0,0+i,4,16,0x00);                //     清除反白;      
 349   3                              if(i==0) i=32;
 350   3                              else i-=16;                                             //      反白上调
 351   3                      }
 352   2              }
 353   1      }
 354          
 355          /////////////////////////////////////////////////////////////////////
 356          void menu_main(void)             //       主菜单;
 357          {
 358   1              clrgdram();     // 液晶图形缓冲区清除
 359   1          clrddram(); // 文本模式缓冲区清除   
 360   1              send_i(0x0c);                    //关光标;
 361   1              gotoxy(0,0);                      //设置文本输入位置;
 362   1              LCD_puts("万年历",6);
 363   1              gotoxy(0,1);
 364   1              LCD_puts("秒表",4);
 365   1              gotoxy(0,2);
C51 COMPILER V7.50   MENU                                                                  12/28/2007 10:53:52 PAGE 7   

 366   1              LCD_puts("记事本",6);
 367   1              gotoxy(0,3);
 368   1              LCD_puts("计算器",6);   
 369   1              gotoxy(4,0);
 370   1              LCD_puts("电话本",6); 
 371   1              gotoxy(4,1);
 372   1              LCD_puts("音乐",4);
 373   1              gotoxy(4,2);
 374   1              LCD_puts("游戏",4);
 375   1              gotoxy(4,3);
 376   1              LCD_puts("设置",4);     
 377   1      } 
 378          
 379          
 380          /*////////////////////////////////////////////////////////////////
 381          //////操作菜单////////////////////////////////////*////////*/////*/
 382          
 383          void menu_operate(void)
 384          {                                                                       
 385   1              uchar j=0;                      //菜单左右变量;
 386   1              uchar menu_updown=0;       //菜单上下按键;
 387   1      
 388   1              while(1)
 389   1              {
 390   2                      menu_main();                            //主菜单显示
 391   2                      fill_GD(0+j,0+menu_updown,4,16,0XFF);                   //      反白;
 392   2                      delay(100);                                             //      防止连续按键闪动过快
 393   2                      while(P1==0xff);
 394   2                      if(p14==0)                                                                      //      选中菜单
 395   2                      {
 396   3                              if(VOI==1) voice();                                             //      按键声音
 397   3                              switch(menu_updown)
 398   3                              {
 399   4                                      case 0:  if(j==0) menu1();      else menu5();   break;
 400   4                                      case 16: if(j==0) menu2();      else menu6();   break;
 401   4                                      case 32: if(j==0) menu3();      else menu7();   break;
 402   4                                      case 48: if(j==0) menu4();      else menu8();   break;
 403   4                                      default :       break;
 404   4                              }
 405   3                      }       
 406   2                      if(p15==0)                                                              //      菜单下调
 407   2                      { 
 408   3                              if(VOI==1) voice();                                             //      按键声音
 409   3                              fill_GD(0+j,0+menu_updown,4,16,0x00);            //     清除反白;
 410   3                              menu_updown+=16;
 411   3                      }
 412   2                      if(p16==0)                                                              //      菜单上调
 413   2                      {
 414   3                              if(VOI==1) voice();                                             //      按键声音
 415   3                              fill_GD(0+j,0+menu_updown,4,16,0x00);
 416   3                              if(menu_updown==0) 
 417   3                              {
 418   4                                      if(j==0)j=4;
 419   4                                      else j=0;
 420   4                                      menu_updown=48;
 421   4                              }
 422   3                              else menu_updown-=16;
 423   3                      }
 424   2                      if(menu_updown==64) 
 425   2                      {
 426   3                              menu_updown=0;
 427   3                              if(j!=4)j=4;
C51 COMPILER V7.50   MENU                                                                  12/28/2007 10:53:52 PAGE 8   

 428   3                              else j=0;
 429   3                      }
 430   2              }
 431   1      }       
 432                  
 433          
 434          
 435          
 436          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1769    ----
   CONSTANT SIZE    =    228    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----      25
   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 + -