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

📄 main.lst

📁 这是本人有幸收集的最完整的10多级液晶显示程序模块
💻 LST
📖 第 1 页 / 共 5 页
字号:
C51 COMPILER V7.01  MAIN                                                                   12/21/2003 15:17:23 PAGE 1   


C51 COMPILER V7.01, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN D:\522\ST520CODE\MAIN.OBJ
COMPILER INVOKED BY: D:\WAVE6000\KEIL\C51\BIN\C51.EXE D:\522\ST520CODE\MAIN.C DB SB OE

stmt level    source

   1          //#pragma src
   2          
   3          #include <reg52.h>       //
   4          #include <regusre.h>
   5          #include <value.h>       //肖桂平
   6          #include <tab.h>         //共用字库表
   7          #include <v_static.h>    //陈建伟
   8          //#include <show.h>        //杜建中
   9          //#include <control.c>     //杜建中
  10          void startwd(void);
  11          #define high 1;
  12          #define low 0;
  13          
  14          
  15          /*----------------------------------    主程序及主程序初始化开始    -------------------------------------*
             -/
  16          void main()
  17          {
  18   1              /*-------------主程序初始化------------*/
  19   1          unsigned  char idata *  data  a;
  20   1          uchar tempb;
  21   1          uchar xdata * idata addr_xa;
  22   1         // uchar tempp,tempp1;
  23   1          IE=0x1a;                                       /*中断允许*/
  24   1          TMOD=0x21;                                     /*堆栈设置*/
  25   1          TCON&=0x00;                                    /*定时器0工作模式设置,工作于重新装入常数的16位定时器*/
  26   1          T2CON=0x00;                                    /*定时器2工作模式设置,工作于自动重新装入常数的16位定时
             -器*/
  27   1          T2MOD=0x00;
  28   1          TL0=reload_low0;
  29   1          TH0=reload_high0;                              /*定时器溢出值设定,定时时间为1ms*/
  30   1          TL2=reload_low2;
  31   1          TH2=reload_high2;
  32   1          AUXR|=0x0c;
  33   1          //WDTPRG=0;                                    //for debug
  34   1          //WDTRST=0x1e;
  35   1          //WDTRST=0xe1;
  36   1      
  37   1      
  38   1                //dis_number=CMOD;
  39   1      
  40   1      //通讯初始化子程序
  41   1              TMOD|=0x20;                             //设定T1为定时模式2
  42   1              ET1=0;                                  //关闭T1中断使能
  43   1              TH1=0xfd;                               //预置定时器初值f5,波特率9.6k
  44   1              TL1=0xfd;
  45   1              TR1=1;                                  //起动定时器T1
  46   1              PCON|=0x80;                             //波特率加倍
  47   1              SCON=0x50;                              //串口工作在方式1,并且接收使能
  48   1              IE|=0x10;                               //使能串口中断
  49   1      //通讯初始化结束
  50   1                                                   /*通讯初始化*/
  51   1          P0=P2=0x0ff;
  52   1          P1=P1&0xf8;
  53   1          P3=P3|0x04;
C51 COMPILER V7.01  MAIN                                                                   12/21/2003 15:17:23 PAGE 2   

  54   1          IE=IE|0x80;                                  /*开中断*/
  55   1      
  56   1      
  57   1          TR0=1;
  58   1          TR2=1;
  59   1      
  60   1           P1=P1|0x38;
  61   1          P3=P3&0x37;
  62   1      
  63   1           LEDStart = 0;
  64   1           LEDAlarm = 0;
  65   1           LEDStop  = 0;
  66   1           LEDFault = 0;
  67   1           LEDRun = 0;
  68   1           lcdinit();
  69   1           clr_fullscreen();     /*LCD显示初始化*/
  70   1      
  71   1        for (a=ram_data_start;a<255;a++)    /*内存初始化*/
  72   1            {tempb=1;*a=0x00;
  73   2               tempb=*a;}
  74   1        for(addr_xa=0x0;addr_xa<1024;addr_xa++)
  75   1          *addr_xa=0;
  76   1          alone_user=1;           //单机模式=1
  77   1          mode_judge=1;           //工作模式未判决
  78   1               menu_program();        //刷新位置1 nnn
  79   1      //      remote_build_count=0;   //通讯建立计数
  80   1              remote_build();                 //调用通讯建立程序
  81   1      //init_remote
  82   1      
  83   1           key_scan=1;
  84   1      
  85   1          old_dis_number=38;
  86   1          dis_number=38;
  87   1         first_enter=0;
  88   1         fault_first_enter=0;
  89   1         TripLogState=0;
  90   1      
  91   1         p25=1;
  92   1         LcdDelay=1;
  93   1         LcdTime=0;
  94   1      
  95   1      
  96   1      //      power_init();
  97   1      
  98   1      /*-------------主程序初始化结束-- ----------*/
  99   1      
 100   1           while(1)
 101   1          {
 102   2            if(ms20s==1)
 103   2            {
 104   3              ms20s=0;
 105   3              if(alone_user==1)//单机模式定时检查设备连接
 106   3                {remote_build();}
 107   3              if(program_state)
 108   3              {
 109   4                CLK=0;
 110   4                if(s05s==1)
 111   4                {
 112   5                      s05s=0;
 113   5                      clr_fullscreen();
 114   5                  lcdwrite_chineseN(2,40,3,bianchen);
 115   5                }
C51 COMPILER V7.01  MAIN                                                                   12/21/2003 15:17:23 PAGE 3   

 116   4                program_state=0;
 117   4              }
 118   3             else
 119   3            {
 120   4              control();
 121   4              if(WaitTime>200)
 122   4              {
 123   5               WaitTime=0;
 124   5               //GetState();
 125   5               OperateStateCheck();
 126   5      
 127   5               }
 128   4      
 129   4               key_check();
 130   4               if(key==0x07)
 131   4               {
 132   5                      if(SuperUser==0)
 133   5                      {
 134   6                              SuperUser=1;
 135   6                              key=0;
 136   6                      }
 137   5                      else
 138   5                      {
 139   6                        SuperUser=0;
 140   6                        key=0;
 141   6                      }
 142   5               }
 143   4               if(key==0x01||key==0x02||key==0x04||key==0x08||key==0x06)
 144   4               {
 145   5                 display();
 146   5                 key=0x00;
 147   5                 display();
 148   5      
 149   5               }
 150   4               else
 151   4               {
 152   5      
 153   5                 if(s05s==1)
 154   5                 {
 155   6                   s05s=0;
 156   6                   LEDFault^=PLEDFault;
 157   6                   display();
 158   6                    //p25^=1;
 159   6                   if((LcdDelay)&&(LcdTime<0xf0))
 160   6                     {p25=1;LcdTime++;}
 161   6                   else
 162   6                   {
 163   7                     p25=0;
 164   7                     LcdDelay=0;
 165   7                     LcdTime=0;
 166   7                   }
 167   6      
 168   6                 }
 169   5               }
 170   4            }
 171   3          }
 172   2        }
 173   1      
 174   1      
 175   1      
 176   1      
 177   1      
C51 COMPILER V7.01  MAIN                                                                   12/21/2003 15:17:23 PAGE 4   

 178   1      }
 179          
 180          
 181          
 182          /*----------------------------------    主程序及主程序初始化结束    -------------------------------------*
             -/
 183          
 184          /*---------------------------------------    界面显示程序开始    ----------------------------------------*
             -/
 185          void    display()
 186          {
 187   1      
 188   1         switch(dis_number)
 189   1         {
 190   2      
 191   2          //----------djz--------------
 192   2          case 0:stop_show();break;
 193   2          case 3: motor_run_show();break;
 194   2          case 8: power_run_show();break;
 195   2          case 10: Stopped_Reason();break;   //(上次)停车原因
 196   2          case 11: Stopping_display();break;   //正在停车(断开)
 197   2      
 198   2          case 12:
 199   2          case 13:
 200   2          case 14:
 201   2          case 15:
 202   2          case 16:
 203   2          case 17:
 204   2          case 18:
 205   2          case 19:
 206   2          case 20:
 207   2          case 21:
 208   2          case 22:
 209   2          case 23:
 210   2          case 24:
 211   2          case 25:
 212   2          case 26:
 213   2          case 27:
 214   2          case 28:
 215   2          case 29:
 216   2          case 30:
 217   2          case 188:
 218   2          case 189:
 219   2          case 190:
 220   2          case 191:
 221   2          case 192:
 222   2          case 193:
 223   2          case 194:
 224   2          case 195:
 225   2                           OperationControl();
 226   2                           break;
 227   2              case 32:     ComunicationFault();
 228   2                           break;
 229   2              case 33:
 230   2                           menu_main_control();
 231   2                           break;
 232   2              case 34:
 233   2              case 35:
 234   2              case 36:
 235   2              case 37:     menu_measure();
 236   2                           break;
 237   2              case 38:     menu_program();
C51 COMPILER V7.01  MAIN                                                                   12/21/2003 15:17:23 PAGE 5   

 238   2                           break;
 239   2              case 53:
 240   2              case 52:
 241   2              case 51:
 242   2              case 49:
 243   2              case 46:
 244   2              case 43:
 245   2              case 41:
 246   2              case 39:
 247   2              case 187:     //debug
 248   2                           menu_adjust();

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -