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

📄 menudrive.lst

📁 这是用proteus做的基于51核的一个菜单仿真的程序开发环境keil 没有使用os在裸机上跑
💻 LST
📖 第 1 页 / 共 2 页
字号:
 165   4                                                  
 166   4                                      case DOWN_KEY:
 167   4                                              
 168   4                                              if (pCurrentMenu->pBrotheNext!=NULL)
 169   4                                                    {
 170   5                                                      AdressPointSet((GRAPHIC_HOME_ADRESS+6+pCurrentMenu->Horizon*32)%256,(GRAPHIC_HOME_ADRESS+6+pCurrentM
             -enu->Horizon*32)/256);
 171   5                                                      GraphicAttribAutoWrite(00,10);
 172   5                                                      pCurrentMenu=pCurrentMenu->pBrotheNext;
 173   5                                                      AdressPointSet((GRAPHIC_HOME_ADRESS+6+pCurrentMenu->Horizon*32)%256,(GRAPHIC_HOME_ADRESS+6+pCurrentM
             -enu->Horizon*32)/256);
C51 COMPILER V7.09   MENUDRIVE                                                             07/09/2005 09:45:19 PAGE 4   

 174   5                                                      GraphicAttribAutoWrite(05,10);
 175   5                                                    }
 176   4      
 177   4                                                     break;
 178   4                                      case ESC_KEY:
 179   4                                                      
 180   4                                              if(pCurrentMenu->pFatheMenu!=NULL)
 181   4                                                      {
 182   5                                                       pCurrentMenu=pCurrentMenu->pFatheMenu;
 183   5                                                      // ClrScreen();
 184   5                                                       pCurrentMenu1=pCurrentMenu;
 185   5                                       if (pCurrentMenu1->pFatheMenu!=NULL)
 186   5                                              {
 187   6                                               pCurrentMenu1=pCurrentMenu1->pFatheMenu;
 188   6                                               pCurrentMenu1=pCurrentMenu1->pSonMenu;
 189   6                                              }
 190   5                                              else 
 191   5                                                while(pCurrentMenu1->pBrothePrev!=NULL)
 192   5                                                      pCurrentMenu1=pCurrentMenu1->pBrothePrev;
 193   5                                                      i=0;
 194   5                                                while(pCurrentMenu1->pBrotheNext!=NULL)
 195   5                                                 {
 196   6                                                   AdressPointSet((6+i*32)%256,(6+i*32)/256);
 197   6                                                   DisplayString(pCurrentMenu1->MenuTitle);
 198   6                                                   i++;
 199   6                                                   pCurrentMenu1=pCurrentMenu1->pBrotheNext;
 200   6                                                                                            
 201   6                                                 }
 202   5                                                      AdressPointSet((6+i*32)%256,(6+i*32)/256);
 203   5                                                   DisplayString(pCurrentMenu1->MenuTitle);
 204   5                                                 AdressPointSet((GRAPHIC_HOME_ADRESS+6+pCurrentMenu->Horizon*32)%256,(GRAPHIC_HOME_ADRESS+6+pCurren
             -tMenu->Horizon*32)/256);
 205   5                                                 
 206   5                                                  GraphicAttribAutoWrite(05,10);
 207   5                                                      } 
 208   4                                                 else 
 209   4                                                {     
 210   5                                                 //ClrScreen();
 211   5                                                 AdressPointSet(0,0);
 212   5                                                 DisplayString("please enter menukey to in the menu");
 213   5                                                // pCurrentMenu=&MyMenu[0];
 214   5                                                // MenuStatus=0;
 215   5                                                }
 216   4                                       
 217   4      
 218   4                                      case 0: break;
 219   4                                  default: break;
 220   4                                              
 221   4      
 222   4                                      }
 223   3                              break;
 224   3      
 225   3                              }
 226   2       
 227   2                       case 2:
 228   2                                
 229   2                              (pCurrentMenu->CurrentOperation)();
 230   2                                 if (CurrentOperations==OVER_RUN)
 231   2                              {  Chars=GetKey();
 232   3                                  if (Chars==ESC_KEY)
 233   3                                 {
 234   4                                 pCurrentMenu1=pCurrentMenu;
C51 COMPILER V7.09   MENUDRIVE                                                             07/09/2005 09:45:19 PAGE 5   

 235   4                                if (pCurrentMenu1->pFatheMenu!=NULL)
 236   4                                              {
 237   5                                               pCurrentMenu1=pCurrentMenu1->pFatheMenu;
 238   5                                               pCurrentMenu1=pCurrentMenu1->pSonMenu;
 239   5                                              }
 240   4                                              else 
 241   4                                                while(pCurrentMenu1->pBrothePrev!=NULL)
 242   4                                              pCurrentMenu1=pCurrentMenu1->pBrothePrev;
 243   4                                                      i=0;
 244   4                                                while(pCurrentMenu1->pBrotheNext!=NULL)
 245   4                                                 {
 246   5                                                   AdressPointSet((6+i*32)%256,(6+i*32)/256);
 247   5                                                   DisplayString(pCurrentMenu1->MenuTitle);
 248   5                                                   i++;
 249   5                                                   pCurrentMenu1=pCurrentMenu1->pBrotheNext;
 250   5                                                                                            
 251   5                                                 }
 252   4                                                 AdressPointSet((GRAPHIC_HOME_ADRESS+6+pCurrentMenu->Horizon*32)%256,(GRAPHIC_HOME_ADRESS+6+pCurren
             -tMenu->Horizon*32)/256);
 253   4                                                 
 254   4                                               GraphicAttribAutoWrite(05,10);
 255   4                               MenuStatus=1;
 256   4                                 }
 257   3                              }
 258   2                                      
 259   2                               break;      
 260   2                              
 261   2      
 262   2                      
 263   2                      }
 264   1               
 265   1                
 266   1              }
 267          
 268          void Function0()
 269                  {
 270   1                   AdressPointSet(14*32%256,14*32/256);
 271   1                  DisplayString("this is the first menu Function");
 272   1                  
 273   1              }
 274          
 275          void Function1()
 276                  {
 277   1                 AdressPointSet(14*32%256,14*32/256);
 278   1                  DisplayString("this is the secend menu Function");
 279   1              }
 280          
 281          void Function2()
 282                  {
 283   1                AdressPointSet(14*32%256,14*32/256);
 284   1                  DisplayString("this is the third menu Function");
 285   1              }
 286          void Function3()
 287                  {
 288   1                  AdressPointSet(14*32%256,14*32/256);
 289   1                  DisplayString("this is the fourth menu Function");
 290   1              }
 291          void Function4()
 292                  {
 293   1                  AdressPointSet(14*32%256,14*32/256);
 294   1                  DisplayString("this is the fifth menu Function");
 295   1              }
C51 COMPILER V7.09   MENUDRIVE                                                             07/09/2005 09:45:19 PAGE 6   

 296          void Function5()
 297                  {
 298   1                  AdressPointSet(14*32%256,14*32/256);
 299   1                  DisplayString("this is the sixth menu Function");
 300   1              }
 301          
 302          void Function6()
 303                  {
 304   1                   AdressPointSet(14*32%256,14*32/256);
 305   1                  DisplayString("this is the seventh menu Function"); 
 306   1              }
 307          
 308          
 309          
 310          
 311          
 312          
 313          
 314          
 315          
 316          
 317          
 318          
 319          
 320          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   2541    ----
   CONSTANT SIZE    =    417    ----
   XDATA SIZE       =     96       5
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      1    ----
   IDATA SIZE       =      5    ----
   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 + -