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

📄 outlight.lst

📁 一整套电梯控制器源程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
  24   4      //				if(GetArrayData(pEleData->bXiaHuKeTing, cLIdx)==1)	//只有楼层可停,才有可能点灯
  25   4      					SetArrayData(pDeng->bXia, cLIdx, bVal);
  26   4      //				else
  27   4      //					SetArrayData(pDeng->bXia, cLIdx, 0);
  28   4      			}else{		 //确保没有点灯
  29   4      //				if(GetArrayData(pDeng->bXia, cLIdx) == 1)
  30   4      					SetArrayData(pDeng->bXia, cLIdx, bVal);
  31   4      			}
  32   3      		}
  33   2      	}
  34   1      }
  35          
  36          //说明:该函数实际上仅用于撤销外呼分配
  37          void SetOutCallDistribution(uchar cLIdx, uchar updown_flg, uchar bVal)
  38          {
  39   1      	uchar 		m_cENum	= m_pL_Data->cENum;
  40   1      	uchar		i=0;
  41   1      	E_XiangYing	 *pXiangYing = 0;
  42   1      	E_DianTi	 *pEleData = 0;
  43   1      
  44   1      	for(i=0; i<m_cENum; i++){
  45   2      		pXiangYing = &(m_pE_OutputData->mXiangYing[i]); 
  46   2      		pEleData = &(m_pE_InputData->mDianTi[i]); 
  47   2      		if((updown_flg==D_Up)){	//上呼
  48   3      			if(bVal==1){ 
  49   4      				if(GetArrayData(pEleData->bShangHuKeTing, cLIdx)==1)	//该分支永远都不会执行到
  50   4      					SetArrayData(pXiangYing->bShang, cLIdx, bVal);
  51   4      			}
  52   3      			else{		 //确保没有点灯
  53   4      				if(GetArrayData(pXiangYing->bShang, cLIdx) == 1)
  54   4      					SetArrayData(pXiangYing->bShang, cLIdx, bVal);
  55   4      			}
C51 COMPILER V6.12  OUTLIGHT                                                               06/05/2005 15:44:44 PAGE 15  

  56   3      		}
  57   2      		else{					//下呼
  58   3      			if(bVal==1){ 
  59   4      				if(GetArrayData(pEleData->bXiaHuKeTing, cLIdx)==1)	//该分支永远都不会执行到
  60   4      					SetArrayData(pXiangYing->bXia, cLIdx, bVal);
  61   4      			}
  62   3      			else{		 //确保没有点灯
  63   4      				if(GetArrayData(pXiangYing->bXia, cLIdx) == 1)
  64   4      					SetArrayData(pXiangYing->bXia, cLIdx, bVal);
  65   4      			}
  66   3      		}
  67   2      	}
  68   1      }
  69          //若有一部电梯恰好到达外呼层,顺向,零速信号为1或运行停止信号为0,则撤销外呼点灯
  70          uchar IsWithdrawOutLight(uchar cLIdx, uchar updown_flg)
  71          {
  72   1      	uchar 		m_cENum	= m_pL_Data->cENum;
  73   1      	uchar		i=0;
  74   1      	uchar    cCurFloorIdx=0;
  75   1      	E_XiangYing	 *pXiangYing = 0;
  76   1      	E_DianTi	 *pEleData = 0;
  77   1      
  78   1      	for(i=0; i<m_cENum; i++){
  79   2      		pXiangYing = &(m_pE_OutputData->mXiangYing[i]); 
  80   2      		pEleData = &(m_pE_InputData->mDianTi[i]); 
  81   2      		cCurFloorIdx = pEleData->cDangQianCeng-1;
  82   2      
  83   2      		if(e_online[i]==1){
  84   3      
  85   3      			if(updown_flg==1){
  86   4      				if(cCurFloorIdx==cLIdx)
  87   4      				if((pEleData->FangXiang.bShang==1)&&(pEleData->FangXiang.bXia==0))
  88   4      				if((pEleData->bLingSuXinHao==1)||(pEleData->bDongOrJing==0)){
  89   5      				 return 1;
  90   5      				}
  91   4      			}else{
  92   4      				if(cCurFloorIdx==cLIdx)
  93   4      				if((pEleData->FangXiang.bShang==0)&&(pEleData->FangXiang.bXia==1))
  94   4      				if((pEleData->bLingSuXinHao==1)||(pEleData->bDongOrJing==0)){
  95   5      				 return 1;
  96   5      				}
  97   4      			}
  98   3      
  99   3      		}
 100   2      	}
 101   1      	return 0;
 102   1      }
 103          
 104          //2004.11.25 added by LHM循环设置点灯数据(对应三状态切换为正常时的点灯处理)
 105          void LoopSetCallLightData(uchar cCalUpLIdx, uchar cCalDownLIdx)
 106          {
 107   1      	uchar 	m_cENum	= m_pL_Data->cENum;
 108   1      	uchar	i=0;
 109   1          uchar   j=0;
 110   1          uchar   cVal=0;
 111   1          uchar   cUpExistFlg=0;
 112   1          uchar   cDownExistFlg=0;
 113   1          for(i=0; i<m_cENum; i++){
 114   2              //上呼点灯(若有一个外呼点灯亮,则所有正常梯子外呼灯应全亮)
 115   2              if(GetArrayData(mE_OutputData.mDeng[i].bShang, cCalUpLIdx) == 1){
 116   3                  cUpExistFlg=1;
 117   3              }
C51 COMPILER V6.12  OUTLIGHT                                                               06/05/2005 15:44:44 PAGE 16  

 118   2              //下呼点灯(若有一个外呼点灯亮,则所有正常梯子外呼灯应全亮)
 119   2              if(GetArrayData(mE_OutputData.mDeng[i].bXia, cCalDownLIdx) == 1){
 120   3                  cDownExistFlg=1;
 121   3              }
 122   2          }
 123   1          for(i=0; i<m_cENum; i++){
 124   2              if( (mE_InputData.mDianTi[i].TeBie.bJianXiu==0)&&
 125   2                  (mE_InputData.mDianTi[i].TeBie.bSuoTi==0)&&
 126   2                  (mE_InputData.mDianTi[i].TeBie.bXiaoFang==0)){
 127   3                  if(cUpExistFlg==1){
 128   4                      SetArrayData(mE_OutputData.mDeng[i].bShang, cCalUpLIdx, 1);
 129   4                  }
 130   3                  if(cDownExistFlg==1){
 131   4                      SetArrayData(mE_OutputData.mDeng[i].bXia, cCalDownLIdx, 1);
 132   4                  }
 133   3              }else{
 134   3                  SetArrayData(mE_OutputData.mDeng[i].bShang, cCalUpLIdx, 0);
 135   3                  SetArrayData(mE_OutputData.mDeng[i].bXia, cCalDownLIdx, 0);
 136   3              }
 137   2      
 138   2          }
 139   1      }
C51 COMPILER V6.12  OUTLIGHT                                                               06/05/2005 15:44:44 PAGE 17  

ASSEMBLY LISTING OF GENERATED OBJECT CODE


             ; FUNCTION _SetOutCallLight (BEGIN)
0000 900000      R     MOV     DPTR,#cLIdx
0003 EF                MOV     A,R7
0004 F0                MOVX    @DPTR,A
0005 A3                INC     DPTR
0006 ED                MOV     A,R5
0007 F0                MOVX    @DPTR,A
0008 A3                INC     DPTR
0009 EB                MOV     A,R3
000A F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 3
                                           ; SOURCE LINE # 4
                                           ; SOURCE LINE # 5
000B 900000      E     MOV     DPTR,#m_pL_Data
000E E0                MOVX    A,@DPTR
000F FB                MOV     R3,A
0010 A3                INC     DPTR
0011 E0                MOVX    A,@DPTR
0012 FA                MOV     R2,A
0013 A3                INC     DPTR
0014 E0                MOVX    A,@DPTR
0015 F9                MOV     R1,A
0016 900001            MOV     DPTR,#01H
0019 120000      E     LCALL   ?C?CLDOPTR
001C 900000      R     MOV     DPTR,#m_cENum
001F F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 6
0020 E4                CLR     A
0021 A3                INC     DPTR
0022 F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 8
0023 F0                MOVX    @DPTR,A
0024         ?C0001:
0024 900000      R     MOV     DPTR,#m_cENum
0027 E0                MOVX    A,@DPTR
0028 FF                MOV     R7,A
0029 A3                INC     DPTR
002A E0                MOVX    A,@DPTR
002B FE                MOV     R6,A
002C C3                CLR     C
002D 9F                SUBB    A,R7
002E 4003              JC      $ + 5H
0030 020000      R     LJMP    ?C0010
                                           ; SOURCE LINE # 9
0033 900000      E     MOV     DPTR,#m_pE_OutputData
0036 E0                MOVX    A,@DPTR
0037 FB                MOV     R3,A
0038 A3                INC     DPTR
0039 E0                MOVX    A,@DPTR
003A FA                MOV     R2,A
003B A3                INC     DPTR
003C E0                MOVX    A,@DPTR
003D 2470              ADD     A,#070H
003F F9                MOV     R1,A
0040 E4                CLR     A
0041 3A                ADDC    A,R2
0042 FA                MOV     R2,A
0043 EE                MOV     A,R6
0044 75F00E            MOV     B,#0EH
C51 COMPILER V6.12  OUTLIGHT                                                               06/05/2005 15:44:44 PAGE 18  

0047 A4                MUL     AB
0048 29                ADD     A,R1
0049 F9                MOV     R1,A
004A EA                MOV     A,R2
004B 35F0              ADDC    A,B
004D FA                MOV     R2,A
004E 900000      R     MOV     DPTR,#pDeng
0051 EB                MOV     A,R3
0052 F0                MOVX    @DPTR,A
0053 A3                INC     DPTR
0054 EA                MOV     A,R2
0055 F0                MOVX    @DPTR,A
0056 A3                INC     DPTR
0057 E9                MOV     A,R1
0058 F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 10
0059 900000      R     MOV     DPTR,#i
005C E0                MOVX    A,@DPTR
005D 75F06E            MOV     B,#06EH
0060 A4                MUL     AB
0061 FF                MOV     R7,A
0062 900000      E     MOV     DPTR,#m_pE_InputData
0065 E0                MOVX    A,@DPTR
0066 FB                MOV     R3,A
0067 A3                INC     DPTR
0068 E0                MOVX    A,@DPTR
0069 FA                MOV     R2,A
006A A3                INC     DPTR
006B E0                MOVX    A,@DPTR
006C 2F                ADD     A,R7
006D F9                MOV     R1,A
006E EA                MOV     A,R2
006F 35F0              ADDC    A,B
0071 FA                MOV     R2,A
0072 900000      R     MOV     DPTR,#pEleData
0075 EB                MOV     A,R3
0076 F0                MOVX    @DPTR,A
0077 A3                INC     DPTR
0078 EA                MOV     A,R2
0079 F0                MOVX    @DPTR,A
007A A3                INC     DPTR
007B E9                MOV     A,R1
007C F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 11
007D 900000      R     MOV     DPTR,#updown_flg
0080 E0                MOVX    A,@DPTR
0081 6401              XRL     A,#01H
0083 703D              JNZ     ?C0004
                                           ; SOURCE LINE # 12
0085 A3                INC     DPTR
0086 E0                MOVX    A,@DPTR
0087 FF                MOV     R7,A
0088 B4011A            CJNE    A,#01H,?C0005
                                           ; SOURCE LINE # 14
008B 900000      R     MOV     DPTR,#pDeng
008E E0                MOVX    A,@DPTR
008F FB                MOV     R3,A
0090 A3                INC     DPTR
0091 E0                MOVX    A,@DPTR
0092 FA                MOV     R2,A
0093 A3                INC     DPTR
0094 E0                MOVX    A,@DPTR
C51 COMPILER V6.12  OUTLIGHT                                                               06/05/2005 15:44:44 PAGE 19  

0095 F9                MOV     R1,A
0096 900000      R     MOV     DPTR,#cLIdx
0099 E0                MOVX    A,@DPTR
009A FD                MOV     R5,A
009B 900000      E     MOV     DPTR,#?_SetArrayData?BYTE+04H
009E EF                MOV     A,R7
009F F0                MOVX    @DPTR,A
00A0 120000      E     LCALL   _SetArrayData
                                           ; SOURCE LINE # 17
00A3 8064              SJMP    ?C0003
00A5         ?C0005:
                                           ; SOURCE LINE # 19
00A5 900000      R     MOV     DPTR,#pDeng
00A8 E0                MOVX    A,@DPTR
00A9 FB                MOV     R3,A
00AA A3                INC     DPTR
00AB E0                MOVX    A,@DPTR
00AC FA                MOV     R2,A
00AD A3                INC     DPTR
00AE E0                MOVX    A,@DPTR
00AF F9                MOV     R1,A
00B0 900000      R     MOV     DPTR,#cLIdx
00B3 E0                MOVX    A,@DPTR
00B4 FD                MOV     R5,A
00B5 900000      R     MOV     DPTR,#bVal
00B8 E0                MOVX    A,@DPTR
00B9 900000      E     MOV     DPTR,#?_SetArrayData?BYTE+04H
00BC F0                MOVX    @DPTR,A
00BD 120000      E     LCALL   _SetArrayData
                                           ; SOURCE LINE # 20
                                           ; SOURCE LINE # 21
00C0 8047              SJMP    ?C0003
00C2         ?C0004:
                                           ; SOURCE LINE # 22
                                           ; SOURCE LINE # 23
00C2 900000      R     MOV     DPTR,#bVal
00C5 E0                MOVX    A,@DPTR
00C6 FF                MOV     R7,A

⌨️ 快捷键说明

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