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

📄 main.lst

📁 制袋机程序.rar
💻 LST
📖 第 1 页 / 共 5 页
字号:
C51 COMPILER V8.09   MAIN                                                                  04/21/2010 21:14:14 PAGE 1   


C51 COMPILER V8.09, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN E:\项目\制袋机\程序\制袋机~1\MAIN.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE E:\项目\制袋机\程序\制袋机~1\MAIN.C DB SB OE

line level    source

   1          /*****************************************************
   2          * 制袋机程序
   3          *
   4          * 描述:
   5          * 版本:
   6          *
   7          * 创建者:wzq、lcg
   8          * 最后修改时间: 2010-4-6
   9          *
  10          ******************************************************/
  11          
  12          #include "INCLUDES.H"
  13          
  14          void UpdateState();//当状态发生改变时,才会有更新
  15          void ShowTable(uchar page);//更新所有状态
  16          void UpdateMode(void);//当状态发生改变时,才会有更新
  17          void ShowMode(void);//更新所有状态
  18          void ButtonAction();//按键动作
  19          
  20          
  21          //全局变量
  22          struct G_STATUS xdata g_Status;
  23          
  24          void main(void)
  25          {
  26   1      //定义一些变量
  27   1        uchar i;
  28   1        uchar xdata *px;
  29   1        uint j,len;
  30   1      
  31   1      //g_Status初始化
  32   1        len = sizeof(struct G_STATUS);
  33   1        px = &g_Status;
*** WARNING C182 IN LINE 33 OF E:\项目\制袋机\程序\制袋机~1\MAIN.C: pointer to different objects
  34   1        for(j = 0; j < len; j++)
  35   1        {
  36   2          *px++ = 0;
  37   2        }
  38   1        g_Status.Mode = MODE_RUNABLE;
  39   1        g_Status.bTouchPressed = false;
  40   1        g_Status.bButtonPressed = false;
  41   1        g_Status.Password = 0;
  42   1        g_Status.PasswordCount = 0;
  43   1        g_Status.nPage = 1;
  44   1        g_Status.Modify_Index = 0;
  45   1        g_Status.Modify_Position = 0;
  46   1        g_Status.LED_Modify_Position = 0xff;
  47   1        g_Status.Relay_Status1 = 0xff;
  48   1        g_Status.Relay_Status2 = 0xff;
  49   1      
  50   1      
  51   1        //g_Status.bPasswordDialog = false;
  52   1        //g_Status.Password = 0x00;
  53   1        //g_Status.bParaModifyPermitted = false;
  54   1        //g_Status.PasswordCount = 0;
C51 COMPILER V8.09   MAIN                                                                  04/21/2010 21:14:14 PAGE 2   

  55   1      
  56   1      
  57   1      //系统初始化
  58   1        //关总中断
  59   1        INTR_ALL_DISABLE;
  60   1        //IO初始化
  61   1        P0 = 0xff;
  62   1        P1 = 0xff;
  63   1        P2 = 0xff;
  64   1        P3 = 0xff;
  65   1        RELAYOUT1 = 0xff;
  66   1        RELAYOUT2 = 0xff;
  67   1        KEY_INIT();
  68   1        TOUCH_INIT();
  69   1        INTR_INT0_DISABLE;//关触摸屏中断
  70   1        LEDSTATUS_INIT();
  71   1        LCD_INIT();
  72   1        LCD_WelcomeInterface();
  73   1        LCD_MainInterface();
  74   1        //开总中断
  75   1        INTR_ALL_ENABLE;
  76   1      
  77   1        //RESET
  78   1        KEYK_DOWN();
  79   1        delay_ms(10);
  80   1        KEYK_UP();
  81   1        delay_ms(50);
  82   1      
  83   1      
  84   1        //更新状态
  85   1        Update_LEDSTATUS();
  86   1        UpdateState();
  87   1        LCD_ShowStatusOrParameter(5, 1, GetRealyStatus(1), ITEM_UNCHECK_TEXT_COLOR, ITEM_UNCHECK_BK_COLOR);
  88   1        LCD_ShowStatusOrParameter(6, 1, GetRealyStatus(2), ITEM_UNCHECK_TEXT_COLOR, ITEM_UNCHECK_BK_COLOR);
  89   1        LCD_ShowStatusOrParameter(7, 1, GetRealyStatus(3), ITEM_UNCHECK_TEXT_COLOR, ITEM_UNCHECK_BK_COLOR);
  90   1        LCD_ShowStatusOrParameter(8, 1, GetRealyStatus(4), ITEM_UNCHECK_TEXT_COLOR, ITEM_UNCHECK_BK_COLOR);
  91   1        ShowMode();
  92   1      
  93   1      //初始化结束
  94   1      
  95   1      
  96   1        while(1)
  97   1        {
  98   2      Label1:
  99   2          INTR_INT0_ENABLE;//开触摸屏中断
 100   2      
 101   2          Update_LEDSTATUS();
 102   2          UpdateState();
 103   2          UpdateMode();
 104   2      
 105   2          //等待触摸屏按下事件
 106   2          if(g_Status.bTouchPressed)
 107   2          {
 108   3              INTR_INT0_DISABLE;//关触摸屏中断
 109   3            Update_TouchPoint();
 110   3            g_Status.bTouchPressed = false;
 111   3      
 112   3            //判断按键有效性
 113   3            g_Status.Button_id = LCD_WhichButton(800 - g_Status.x, 600 - g_Status.y);
 114   3            if(g_Status.Button_id > 0 && g_Status.Button_id <= 14)
 115   3            {
 116   4              g_Status.bButtonPressed = true;
C51 COMPILER V8.09   MAIN                                                                  04/21/2010 21:14:14 PAGE 3   

 117   4            }
 118   3            else
 119   3            {
 120   4              g_Status.bButtonPressed = false;
 121   4            }
 122   3      
 123   3      Label2:
 124   3            //如果按键按下,处理
 125   3            if(g_Status.bButtonPressed)
 126   3            {
 127   4              //显示按键按下效果
 128   4              if((g_Status.Button_id == BUTTON_DIANZHENG) || (g_Status.Button_id == BUTTON_DIANFAN) || (g_Status
             -.Button_id == BUTTON_TRACK) || (g_Status.Button_id == BUTTON_RUN) || (g_Status.Button_id == BUTTON_STOP))
 129   4              {}
 130   4              else if((g_Status.Button_id == BUTTON_UP) || (g_Status.Button_id == BUTTON_DOWN) || (g_Status.Butt
             -on_id == BUTTON_LEFT) || (g_Status.Button_id == BUTTON_RIGHT))
 131   4              {
 132   5                //if(g_Status.Mode = MODE_PARAMODIFY)
 133   5                  LCD_ShowButton(g_Status.Button_id, BTN_DOWN_TEXT_COLOR, BTN_DOWN_BK_COLOR, BTN_DOWN_BORDER_COL
             -OR);
 134   5              }
 135   4              else
 136   4              {
 137   5                LCD_ShowButton(g_Status.Button_id, BTN_DOWN_TEXT_COLOR, BTN_DOWN_BK_COLOR, BTN_DOWN_BORDER_COLOR
             -); 
 138   5              }
 139   4              //执行按键功能
 140   4              ButtonAction();
 141   4      
 142   4              //更新状态显示
 143   4              Update_LEDSTATUS();
 144   4              UpdateState();
 145   4              UpdateMode();
 146   4      
 147   4              //判断按键是否释放
 148   4              if(TOUCH_IsReleased())
 149   4              {
 150   5                g_Status.bButtonPressed = false;
 151   5                //显示按键释放效果
 152   5                if((g_Status.Button_id == BUTTON_DIANZHENG) || (g_Status.Button_id == BUTTON_DIANFAN) || (g_Stat
             -us.Button_id == BUTTON_TRACK) || (g_Status.Button_id == BUTTON_RUN) || (g_Status.Button_id == BUTTON_STOP))
 153   5                {}
 154   5                else if((g_Status.Button_id == BUTTON_UP || g_Status.Button_id == BUTTON_DOWN) || (g_Status.Butt
             -on_id == BUTTON_LEFT) || (g_Status.Button_id == BUTTON_RIGHT))
 155   5                {
 156   6                  //if(g_Status.Mode = MODE_PARAMODIFY)
 157   6                    LCD_ShowButton(g_Status.Button_id, BTN_UP_TEXT_COLOR, BTN_UP_BK_COLOR, BTN_UP_BORDER_COLOR);
 158   6                }
 159   5                else
 160   5                {
 161   6                  LCD_ShowButton(g_Status.Button_id, BTN_UP_TEXT_COLOR, BTN_UP_BK_COLOR, BTN_UP_BORDER_COLOR);
 162   6                }
 163   5                goto Label1;
 164   5              }
 165   4              else
 166   4              {
 167   5                //do nothing
 168   5                goto Label2;
 169   5              }
 170   4      
 171   4            }
 172   3            else
C51 COMPILER V8.09   MAIN                                                                  04/21/2010 21:14:14 PAGE 4   

 173   3            {
 174   4              //do nothing
 175   4              goto Label1;
 176   4            }
 177   3          }//等待触摸屏按下事件 end
 178   2        }//while
 179   1      }
*** WARNING C280 IN LINE 27 OF E:\项目\制袋机\程序\制袋机~1\MAIN.C: 'i': unreferenced local variable
 180          /////////////////////////////////////////////////////////////////////////////////////
 181          ////////////////////////////////////////////////////////////////////////////////////////
 182          
 183          
 184          void UpdateState()
 185          {
 186   1        uchar i;
 187   1        switch(g_Status.nPage)
 188   1        {
 189   2          case 1://第一页
 190   2          {
 191   3            //计数:00000
 192   3            for(i = 0; i < 5; i++)
 193   3            {
 194   4              if(g_Status.bUpdated_ItemState[i])
 195   4                LCD_ShowStatusOrParameter(1, i+1, g_Status.ItemState[i], ITEM_UNCHECK_TEXT_COLOR, ITEM_UNCHECK_B
             -K_COLOR);
 196   4            }
 197   3            //长度:0000
 198   3            for(i = 5; i < 9; i++)
 199   3            {
 200   4              if(g_Status.bUpdated_ItemState[i])
 201   4              {
 202   5                if(g_Status.Modify_Index == 2)
 203   5                {
 204   6                  if(g_Status.Modify_Position == (i-4))
 205   6                    LCD_ShowStatusOrParameter(2, i-4, g_Status.ItemState[i], ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_B
             -K_COLOR);
 206   6                  else
 207   6                    LCD_ShowStatusOrParameter(2, i-4, g_Status.ItemState[i], ITEM_UNCHECK_TEXT_COLOR, ITEM_UNCHE
             -CK_BK_COLOR);
 208   6                }
 209   5                else
 210   5                {
 211   6                  LCD_ShowStatusOrParameter(2, i-4, g_Status.ItemState[i], ITEM_UNCHECK_TEXT_COLOR, ITEM_UNCHECK
             -_BK_COLOR);
 212   6                }
 213   5              }
 214   4            }
 215   3            //曲线: 0
 216   3            if(g_Status.bUpdated_ItemState[10])
 217   3            {
 218   4              if(g_Status.Modify_Index == 3 && g_Status.Modify_Position == 1)
 219   4                LCD_ShowStatusOrParameter(3, 1, g_Status.ItemState[10], ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COL
             -OR);
 220   4              else
 221   4                LCD_ShowStatusOrParameter(3, 1, g_Status.ItemState[10], ITEM_UNCHECK_TEXT_COLOR, ITEM_UNCHECK_BK
             -_COLOR);
 222   4            }
 223   3      
 224   3            //个/批: 00
 225   3            if(g_Status.bUpdated_ItemState[15])
 226   3            {
 227   4              if(g_Status.Modify_Index == 4 && g_Status.Modify_Position == 1)
C51 COMPILER V8.09   MAIN                                                                  04/21/2010 21:14:14 PAGE 5   

 228   4                LCD_ShowStatusOrParameter(4, 1, g_Status.ItemState[15], ITEM_CHECK_TEXT_COLOR, ITEM_CHECK_BK_COL
             -OR);
 229   4              else

⌨️ 快捷键说明

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