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

📄 subtask.lst

📁 电梯的51单片机控制资料(电路图+工程代码)
💻 LST
字号:
C51 COMPILER V7.20   SUBTASK                                                               08/16/2002 00:44:16 PAGE 1   


C51 COMPILER V7.20, COMPILATION OF MODULE SUBTASK
OBJECT MODULE PLACED IN subTask.OBJ
COMPILER INVOKED BY: D:\软件目录\keil软件\C51\BIN\C51.EXE subTask.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          
   2          #include "reg51.h"
   3          #include "Head.h"
   4          
   5          /************************************************************/
   6          sbit g_ledClk = P1^0;
   7          sbit g_ledDat = P1^1;
   8          #define d_SetClk() g_ledClk=1
   9          #define d_ClrClk() g_ledClk=0
  10          #define d_SetDat() g_ledDat=1
  11          #define d_ClrDat() g_ledDat=0
  12          
  13          code unsigned char LED_TAB[]={
  14          0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6,0xee,0x3e,0x1a,0x7a,0x9e,0x8e,        //0-f 不带小数点,码为0x00
             --0x0f
  15          0xfd,0x61,0xdb,0xf3,0x67,0xb7,0xbf,0xe1,0xff,0xf7,0xef,0x3f,0x1b,0x7b,0x9f,0x8f,        //0-f 带小数点,码为0x10-0
             -x1f
  16          0x00};//不显,码为0x20
  17          
  18          void LedSendByte(unsigned char ch)
  19          {
  20   1              unsigned char i;
  21   1              ch=LED_TAB[ch];
  22   1              for(i=0;i<8;i++)
  23   1              {
  24   2                      if(ch & 0x01)
  25   2                              d_SetDat();
  26   2                      else
  27   2                              d_ClrDat();
  28   2                      d_ClrClk();
  29   2                      d_SetClk();
  30   2                      ch >>=1;
  31   2         }
  32   1      }
  33          /************************************************************/
  34          char xdata PortAL _at_  0x2000;
  35          char xdata PortAR _at_  0xe000;
  36          char xdata PortBL _at_  0x8000;
  37          char xdata PortBR _at_  0xb000;
  38          
  39          sbit PortCL = P2^3;
  40          sbit PortCR = P2^2;
  41          sbit PortDL = P2^1;
  42          sbit PortDR = P2^0;
  43          
  44          char ReadAL(void)
  45          {
  46   1              return PortAL;
  47   1      }
  48          
  49          char ReadAR(void)
  50          {
  51   1              return PortAR;
  52   1      }
  53          
C51 COMPILER V7.20   SUBTASK                                                               08/16/2002 00:44:16 PAGE 2   

  54          char ReadBL(void)
  55          {
  56   1              return PortBL;
  57   1      }
  58          
  59          char ReadBR(void)
  60          {
  61   1              return PortBR;
  62   1      }
  63          
  64          void WriteCL(char ch)
  65          {
  66   1              PortCL = 1;
  67   1              P0 = ch;
  68   1              PortCL = 0;
  69   1              P0 = 0xff;
  70   1      }
  71          
  72          void WriteCR(char ch)
  73          {
  74   1              PortCR = 1;
  75   1              P0 = ch;
  76   1              PortCR = 0;
  77   1              P0 = 0xff;
  78   1      }
  79          
  80          void WriteDL(char ch)
  81          {
  82   1              PortDL = 1;
  83   1              P0 = ch;
  84   1              PortDL = 0;
  85   1              P0 = 0xff;
  86   1      }
  87          
  88          void WriteDR(char ch)
  89          {
  90   1              PortDR = 1;
  91   1              P0 = ch;
  92   1              PortDR = 0;
  93   1              P0 = 0xff;
  94   1      }
  95          /************************************************************/
  96          char g_portCL = 0;
  97          char g_portCR = 0;
  98          char g_portDL = 0;
  99          char g_portDR = 0;
 100          /************************************************************/
 101          void InitSystem(void)
 102          {
 103   1              g_portCL = 0;
 104   1              g_portCR = 0;
 105   1              g_portDL = 0;
 106   1              g_portDR = 0;
 107   1              WriteCL(g_portCL);
 108   1              WriteCR(g_portCR);
 109   1              WriteDL(g_portDL);
 110   1              WriteDR(g_portDR);
 111   1      }
 112          
 113          void Door(char num)
 114          {
 115   1              g_portCL &= ~L_OPEN;
C51 COMPILER V7.20   SUBTASK                                                               08/16/2002 00:44:16 PAGE 3   

 116   1              g_portCR &= ~R_CLOSE;
 117   1              g_portCL |= L_DOORSPEED;
 118   1              switch(num)
 119   1              {
 120   2              case 1:
 121   2                      g_portCL |= L_OPEN;
 122   2                      break;
 123   2              case 2:
 124   2                      g_portCR |= R_CLOSE;
 125   2                      break;
 126   2              }
 127   1              WriteCL(g_portCL);
 128   1              WriteCR(g_portCR);
 129   1      }
 130          
 131          void Box(char num)
 132          {
 133   1              g_portCL &= ~L_DOWN;
 134   1              g_portCR &= ~R_UP;
 135   1              g_portCR |= R_BOXSPEED;
 136   1              switch(num)
 137   1              {
 138   2              case 1:
 139   2                      g_portCR |= R_UP;
 140   2                      break;
 141   2              case 2:
 142   2                      g_portCL |= L_DOWN;
 143   2                      break;
 144   2              }
 145   1              WriteCL(g_portCL);
 146   1              WriteCR(g_portCR);
 147   1      }
 148          
 149          
 150          void LED_UpDown(char upDown)//0为不显示
 151          {
 152   1              g_portDL &= ~L_RUNUP;
 153   1              g_portDR &= ~R_RUNDOWN;
 154   1              switch(upDown)
 155   1              {
 156   2              case 1:
 157   2                      g_portDL |= L_RUNUP;            
 158   2                      break;
 159   2              case 2:
 160   2                      g_portDR |= R_RUNDOWN;
 161   2                      break;
 162   2              }
 163   1              WriteDL(g_portDL);
 164   1              WriteDR(g_portDR);
 165   1      }
 166          
 167          void LED_floor(char floor)//0为不显示
 168          {
 169   1              g_portDL &= ~L_1FLOOR;
 170   1              g_portDR &= ~R_2FLOOR;
 171   1              g_portDL &= ~L_3FLOOR;
 172   1              g_portDR &= ~R_4FLOOR;
 173   1              switch(floor)
 174   1              {
 175   2              case 1:
 176   2                      g_portDL |= L_1FLOOR;           
 177   2                      break;
C51 COMPILER V7.20   SUBTASK                                                               08/16/2002 00:44:16 PAGE 4   

 178   2              case 2:
 179   2                      g_portDR |= R_2FLOOR;
 180   2                      break;
 181   2              case 3:
 182   2                      g_portDL |= L_3FLOOR;
 183   2                      break;
 184   2              case 4:
 185   2                      g_portDR |= R_4FLOOR;
 186   2                      break;
 187   2              }
 188   1              WriteDL(g_portDL);
 189   1              WriteDR(g_portDR);      
 190   1      }
 191          
 192          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    281    ----
   CONSTANT SIZE    =     33    ----
   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 + -