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

📄 setupmenu.lst

📁 SPWM三相波形发生器
💻 LST
字号:
C51 COMPILER V7.08   SETUPMENU                                                             12/25/2004 18:50:53 PAGE 1   


C51 COMPILER V7.08, COMPILATION OF MODULE SETUPMENU
OBJECT MODULE PLACED IN SETUPMENU.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE SETUPMENU.C OPTIMIZE(SIZE) REGFILE(.\gprsnew.ORC) BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <stdio.h>
   2          #include <string.h>
   3          #include <reg52.h>
   4          #include <menuaddress.h>
   5          
   6          #define uchar  unsigned char
   7          #define uint   unsigned int
   8          
   9          extern const unsigned char code menu[];
  10          
  11          extern unsigned char idata input[32];
  12          extern unsigned char idata tempbuf[32];
  13          extern void Delay(uint x);
  14          extern void ReadUserBlock(uchar idata *input,uint Address,uchar Number);
  15          extern void WriteUserBlock(uint Address,uchar idata *source,uchar Number);
  16          extern void WriteDefault();
  17          
  18          extern  bit             _AsyncPutTest(void);
  19          extern  void    _AsyncPut(uchar ucValue);
  20          extern  bit             _AsyncGetTest(void);
  21          extern  uchar   _AsyncGet(void);
  22          
  23          uchar get_char()
  24          {
  25   1              uchar   TPC;
  26   1      
  27   1              while(_AsyncGetTest == 0) ;
  28   1              TPC = _AsyncGet();
  29   1              return TPC;     
  30   1      }
  31          
  32          void put_chars(uchar *p)
  33          {
  34   1              while(*p)
  35   1              {
  36   2                      while(_AsyncPutTest()==0) ;
  37   2                      _AsyncPut(*p);
  38   2                      p++;
  39   2              }       
  40   1      }
  41          
  42          void get_chars(uchar *p,uchar len)
  43          {
  44   1              uchar i = 0;
  45   1              uchar   TPC;
  46   1      
  47   1              if (len == 0) return ;  
  48   1              while(1)
  49   1              {
  50   2                      TPC = get_char();
  51   2                      if(TPC == 0x0D)
  52   2                      {               
  53   3                              *p = '\0';
  54   3                              break;
  55   3                      }
C51 COMPILER V7.08   SETUPMENU                                                             12/25/2004 18:50:53 PAGE 2   

  56   2                      else 
  57   2                      {
  58   3                              *p = TPC;
  59   3                              p ++;
  60   3                              i ++;
  61   3                              if(i >= len-1)
  62   3                              {
  63   4                                      *p = '\0';
  64   4                                      break;
  65   4                              }       
  66   3                      }
  67   2              }       
  68   1      }
  69          
  70          
  71          void setup(void)        
  72          {
  73   1              uchar i;
  74   1              uchar   TPC;
  75   1              uchar ch,YorN;
  76   1      
  77   1              ReadUserBlock(input,Write_default_flag,sizeof(input));
  78   1              if(input[0] != 'R')
  79   1              {
  80   2                      WriteDefault();                 
  81   2              }
  82   1      
  83   1              for(i=0;i<32;i++) input[i]=0;
  84   1              put_chars("\n\r请输入管理员密码(系统默认为888888,回车确认!):");
  85   1              ReadUserBlock( tempbuf, Pass_Word,sizeof(input));
  86   1              while(1)
  87   1              {
  88   2                      get_chars(input,sizeof(input));
  89   2                      if( strcmp(input,tempbuf) )     
  90   2                      {
  91   3                              put_chars("\n\r密码不正确!请重新输入:");
  92   3                      }
  93   2                      else break;
  94   2              }
  95   1              put_chars("\n\r管理员成功登录!\n\r");
  96   1              Delay(100);     
  97   1              put_chars("\n\r进入菜单设置......");
  98   1      
  99   1              put_chars(menu);
 100   1              put_chars("\n\r请正确输入功能选项:");
 101   1      
 102   1              do
 103   1              {//p
 104   2                      ch = (uchar)get_char();
 105   2                      switch(ch)
 106   2                      {//a
 107   3      
 108   3                              case '1' :      
 109   3                                              put_chars("\n\r当前固定电话号码为: ");
 110   3                                              for(i = 0;i<32;i++)     input[i] = 0;
 111   3                                              ReadUserBlock( input,Fixed_IP,sizeof(input));   
 112   3                                              put_chars(input);
 113   3                                              put_chars("\n\r请输入新的固定电话号码:");
 114   3                                              get_chars(input,sizeof(input));
 115   3                                              put_chars("\n\r请键入[Y/y]确认?");
 116   3                                              YorN =(uchar) get_char() ;
 117   3                                              if(YorN == 'Y' || YorN == 'y')
C51 COMPILER V7.08   SETUPMENU                                                             12/25/2004 18:50:53 PAGE 3   

 118   3                                              {
 119   4                                                      WriteUserBlock( Fixed_IP,input,sizeof(input));  //write FixedIP
 120   4                                                      for(i = 0;i<32;i++)     input[i] = 0;
 121   4                                                      put_chars("\n\r固定电话号码已成功设置为:");
 122   4                                                      ReadUserBlock( input, Fixed_IP,sizeof(input));  
 123   4                                                      put_chars(input);
 124   4                                                      Delay(100);                                                             
 125   4                                              }
 126   3                                              else 
 127   3                                              {
 128   4                                                      put_chars("\n\r放弃该次操作!\n\r");
 129   4                                                      Delay(100);     
 130   4                                              }
 131   3                                              put_chars(menu);
 132   3                                              put_chars("\n\r请正确输入功能选项:");
 133   3                                              break;
 134   3      
 135   3                              case '2':
 136   3                                              put_chars("\n\r当前移动电话号码为:");
 137   3                                              for(i = 0;i<32;i++)     input[i] = 0;
 138   3                                              ReadUserBlock(input,Host_Name,sizeof(input));   
 139   3                                              put_chars(input);       
 140   3                                              put_chars("\n\r请输入新的移动电话号码:");      
 141   3                                              get_chars(input,sizeof(input));
 142   3                                              put_chars("\n\r请键入[Y/y]确认?");
 143   3                                              YorN = (uchar)get_char() ;
 144   3                                              if(YorN == 'Y' || YorN == 'y')
 145   3                                              {
 146   4                                                      WriteUserBlock( Host_Name,input,sizeof(input)); //write FixedIP
 147   4                                                      for(i = 0;i<32;i++)     input[i] = 0;
 148   4                                                      put_chars("\n\r当前移动电话号码已成功设置为:");
 149   4                                                      ReadUserBlock( input, Host_Name,sizeof(input)); 
 150   4                                                      put_chars(input);
 151   4                                                      Delay(100);             
 152   4                                              }
 153   3                                              else 
 154   3                                              {
 155   4                                                      put_chars("\n\r放弃该次操作!\n\r");    
 156   4                                                      Delay(100);                                     
 157   4                                              }
 158   3                                              put_chars(menu);
 159   3                                              put_chars("\n\r请正确输入功能选项:");
 160   3                                              break;
 161   3      
 162   3      
 163   3                              case '3':
 164   3                                              put_chars("\n\r当前管理员密码为:");
 165   3                                              for(i = 0;i<32;i++)     input[i] = 0;
 166   3                                              ReadUserBlock( input, Pass_Word,sizeof(input)); 
 167   3                                              put_chars(input);
 168   3                                              put_chars("\n\r请输入新的管理员密码:");
 169   3                                              get_chars(input,sizeof(input));
 170   3                                              put_chars("\n\r请键入[Y/y]确认?");
 171   3                                              YorN = (char)get_char() ;
 172   3                                              if(YorN == 'Y' || YorN == 'y')
 173   3                                              {
 174   4                                                      WriteUserBlock( Pass_Word,input,sizeof(input)); //write FixedIP
 175   4                                                      for(i = 0;i<32;i++)     input[i] = 0;
 176   4                                                      put_chars("\n\r当前管理员密码已成功设置为:");
 177   4                                                      ReadUserBlock( input, Pass_Word,sizeof(input)); 
 178   4                                                      put_chars(input);
 179   4                                                      Delay(100);             
C51 COMPILER V7.08   SETUPMENU                                                             12/25/2004 18:50:53 PAGE 4   

 180   4                                              }
 181   3                                              else 
 182   3                                              {
 183   4                                                      put_chars("\n\r放弃该次操作!\n\r");
 184   4                                                      Delay(100);     
 185   4                                              }
 186   3                                              put_chars(menu);
 187   3                                              put_chars("\n\r请正确输入功能选项:");
 188   3                                              break;  
 189   3      
 190   3      
 191   3                              case '4':
 192   3                                              put_chars("\n\r状态查询中......");
 193   3      
 194   3      
 195   3                                              put_chars("\n\r当前固定电话号码为: ");
 196   3                                              ReadUserBlock( input, Fixed_IP,sizeof(input));  
 197   3                                              put_chars(input);
 198   3      
 199   3                                              put_chars("\n\r当前移动电话号码为:");
 200   3                                              ReadUserBlock( input, Host_Name,sizeof(input)); 
 201   3                                              put_chars(input);
 202   3      
 203   3      
 204   3                                              put_chars("\n\r当前管理员密码为:");
 205   3                                              ReadUserBlock( input, Pass_Word,sizeof(input)); 
 206   3                                              put_chars(input);
 207   3      
 208   3                                              put_chars("\n\r任意键继续!");
 209   3                                              TPC = get_char();
 210   3                                              put_chars(menu);
 211   3                                              put_chars("\n\r请正确输入功能选项:");                                  
 212   3                                              break;
 213   3      
 214   3                              case 'Q':       
 215   3                              case 'q':
 216   3                                              put_chars("\n\r设置结束!");
 217   3                                              Delay(100);     
 218   3                                              break;
 219   3      
 220   3                              default:
 221   3                                              put_chars("\n\n\r*** 错误的功能选项代码!***\n\n\r");   
 222   3                                              Delay(100);             
 223   3                                              put_chars(menu);
 224   3                                              put_chars("\n\r请正确输入功能选项:");
 225   3                                              break;                          
 226   3                      }//a    
 227   2              }while(ch != 'Q' && ch != 'q'); 
 228   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    876    ----
   CONSTANT SIZE    =    501    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       4
   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 + -