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

📄 door.lst

📁 一整套电梯控制器源程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
 286      =1  //void SetDoorStateFlg(void);
 287      =1  
 288      =1  //init.c
 289      =1  void InitData(void);
 290      =1  
 291      =1  //intervalue.c
 292      =1  uchar GetMinBottomFloor();
 293      =1  uchar GetMaxTopFloor();
 294      =1  uchar GetCanDistEleCount();
 295      =1  void SetPartInterVal(void);
 296      =1  void SetInterVal_FloorCanStop(uchar cLIdx, uchar updown_flg);
 297      =1  void SetInterVal_2FloorMove(uchar cLIdx, uchar updown_flg);
 298      =1  void SetInterVal_SameDirection(uchar cLIdx, uchar updown_flg);
 299      =1  uchar GetDoorOvertime(uchar cEIdx);
 300      =1  
 301      =1  //timer.c
 302      =1  void UpdateDoorOvertimer(void);
 303      =1  
 304      =1  //door.c
 305      =1  uchar GetDoorActionState(uchar cEIdx);
 306      =1  
C51 COMPILER V6.12  DOOR                                                                   06/05/2005 15:44:44 PAGE 13  

 307      =1  //distribute.c
 308      =1  void DistributeEle(void); 
 309      =1  void Check3states(void);
 310      =1  
 311      =1  //outlight.c
 312      =1  void SetOutCallLight(uchar cLIdx, uchar updown_flg, uchar bVal);
 313      =1  void SetOutCallDistribution(uchar cLIdx, uchar updown_flg, uchar bVal);
 314      =1  uchar IsWithdrawOutLight(uchar cLIdx, uchar updown_flg);
 315      =1  void LoopSetCallLightData(uchar cCalUpLIdx, uchar cCalDownLIdx);
 316      =1  
 317      =1  //optimize.c
 318      =1  uchar GetNextStopLIdx(uchar cEIdx, uchar cStartFloorIdx, uchar bStartDirect, uchar *bDirect, uchar *cStart
             -SearchEnd);
 319      =1  uchar GetNoDirectEleTrend(uchar cEIdx);
 320      =1  void OptimizeArrange(uchar cLIdx, uchar updown_flg);
 321      =1  
 322      =1  //staticstop.c
 323      =1  void SetStaticStopFloor();
 324      =1  void SetPeekStopFloor();
 325      =1  uchar IsPeekTime(L_SysTime *pSysTime, L_GaoFeng *pGaoFeng);
 326      =1  uchar IsExistCurFloorUp(uchar cEIdx);
 327      =1  uchar IsExistCurFloorDown(uchar cEIdx);
 328      =1  
 329      =1  //clock.c
 330      =1  void  time_x1226(void);
 331      =1  uchar eread(uchar t_addr1);                     //读x1203一个字节
 332      =1  void  ewrite(uchar t_addr2,uchar t_data);       //写x1203一个字节 
 333      =1  
 334      =1  //rs232.c
 335      =1  void serial_comm(void);
 336      =1  void comm_check(void);
 337      =1  void monitor_rec(void);                       //rs232主程序
 338      =1  void message_quit(void);                        //0x3 及m_message_quit 执行程序
 339      =1  void command(uchar *pBuf);			//完整命令解析
 340      =1  void monitor_send(void);
 341      =1  void make_send_buf(void);
 342      =1  uchar __toascii(uchar c);
 343      =1  uchar __tofig(uchar cAscii);
 344      =1  uint GetValidAdd(uchar *pBuf);
 345      =1  void SetParamVal(uchar *pSrcBuf, uchar *pDestBuf, uchar type);
 346      =1  void serial_command_resolve(void);
 347      =1  void serial_make_senddata(void);
 348      =1  
 349      =1  //datainit.c
 350      =1  void data_init(void);
 351      =1  void orgdata_init(void);							//恢复原始数据
 352      =1  void orgdata_init_total(void);
 353      =1  void orgdata_init_input(void);
 354      =1  void orgdata_init_output(void);
 355      =1  void GetUserParamSaveOverFlg();
 356      =1  void SetUserParamSaveOverFlg();
 357      =1  
 358      =1  //param_save_restore.c
 359      =1  void restore_user_param(void);
 360      =1  void save_user_param(void);
 361      =1  void restore_factory_param(void);
 362      =1  uchar erase(uint addr);
 363      =1  uchar writef(uint x,uchar y);
 364      =1  
 365      =1  //can.c
 366      =1  void can_init(uint pointa);          					//can初始化
 367      =1  void can_reset(void);
C51 COMPILER V6.12  DOOR                                                                   06/05/2005 15:44:44 PAGE 14  

 368      =1  void can_call_in(uchar a);           //外呼
 369      =1  can_receive_more(uchar a);      //控制器
 370      =1  can_receive_only(uchar a);      //控制器
 371      =1  clear_unknow_code(uchar a);     //清乱码
 372      =1  void can_call_assign();              //外呼分派
 373      =1  can_call_lamp();                //暂定50ms循环点灯,灭灯
 374      =1  
 375      =1  
   2          
   3          //取得电梯门的状态
   4          uchar GetDoorActionState(uchar cEIdx)
   5          {
   6   1      	uchar state=0x00;
   7   1      	E_DianTi *pEleData; 
   8   1      	E_Men	 *pMen;
   9   1      	pEleData = &(m_pE_InputData->mDianTi[cEIdx]);
  10   1      	pMen	 = &(pEleData->Men);
  11   1      
  12   1      	if((pMen->bGuanMenDaoWei==0) && (pMen->bGuanMenZhong==0 && (pMen->bKaiMenDaoWei!=1)))	//开门中
  13   1      		return Door_Opening;
  14   1      	else if(pMen->bGuanMenZhong == 1)	//关门中
  15   1      		return Door_Closing;
  16   1      	else if(pMen->bKaiMenDaoWei == 1)	//开门到位
  17   1      		return Door_OpenOK;
  18   1      	else if(pMen->bGuanMenDaoWei== 1)	//关门到位
  19   1      		return Door_CloseOK;
  20   1      
  21   1      	return Door_ERROR;	//错误数据(以上4种状态都不是)
  22   1      }
C51 COMPILER V6.12  DOOR                                                                   06/05/2005 15:44:44 PAGE 15  

ASSEMBLY LISTING OF GENERATED OBJECT CODE


             ; FUNCTION _GetDoorActionState (BEGIN)
;---- Variable 'cEIdx' assigned to Register 'R7' ----
                                           ; SOURCE LINE # 4
                                           ; SOURCE LINE # 5
                                           ; SOURCE LINE # 6
0000 E4                CLR     A
0001 900000      R     MOV     DPTR,#state
0004 F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 9
0005 EF                MOV     A,R7
0006 75F06E            MOV     B,#06EH
0009 A4                MUL     AB
000A FF                MOV     R7,A
000B 900000      E     MOV     DPTR,#m_pE_InputData
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 2F                ADD     A,R7
0016 F9                MOV     R1,A
0017 EA                MOV     A,R2
0018 35F0              ADDC    A,B
001A FA                MOV     R2,A
;---- Variable 'pEleData' assigned to Register 'R1/R2/R3' ----
                                           ; SOURCE LINE # 10
001B E9                MOV     A,R1
001C 2406              ADD     A,#06H
001E F9                MOV     R1,A
001F E4                CLR     A
0020 3A                ADDC    A,R2
0021 FA                MOV     R2,A
;---- Variable 'pMen' assigned to Register 'R1/R2/R3' ----
                                           ; SOURCE LINE # 12
0022 900001            MOV     DPTR,#01H
0025 120000      E     LCALL   ?C?CLDOPTR
0028 FE                MOV     R6,A
0029 7012              JNZ     ?C0001
002B 900003            MOV     DPTR,#03H
002E 120000      E     LCALL   ?C?CLDOPTR
0031 700A              JNZ     ?C0001
0033 120000      E     LCALL   ?C?CLDPTR
0036 6401              XRL     A,#01H
0038 6003              JZ      ?C0001
                                           ; SOURCE LINE # 13
003A 7F02              MOV     R7,#02H
003C 22                RET     
003D         ?C0001:
                                           ; SOURCE LINE # 14
003D 900003            MOV     DPTR,#03H
0040 120000      E     LCALL   ?C?CLDOPTR
0043 B40103            CJNE    A,#01H,?C0004
                                           ; SOURCE LINE # 15
0046 7F03              MOV     R7,#03H
0048 22                RET     
0049         ?C0004:
                                           ; SOURCE LINE # 16
C51 COMPILER V6.12  DOOR                                                                   06/05/2005 15:44:44 PAGE 16  

0049 120000      E     LCALL   ?C?CLDPTR
004C B40103            CJNE    A,#01H,?C0006
                                           ; SOURCE LINE # 17
004F 7F00              MOV     R7,#00H
0051 22                RET     
0052         ?C0006:
                                           ; SOURCE LINE # 18
0052 EE                MOV     A,R6
0053 B40103            CJNE    A,#01H,?C0003
                                           ; SOURCE LINE # 19
0056 7F01              MOV     R7,#01H
0058 22                RET     
0059         ?C0003:
                                           ; SOURCE LINE # 21
0059 7F04              MOV     R7,#04H
                                           ; SOURCE LINE # 22
005B         ?C0002:
005B 22                RET     
             ; FUNCTION _GetDoorActionState (END)

C51 COMPILER V6.12  DOOR                                                                   06/05/2005 15:44:44 PAGE 17  

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


_GetDoorActionState. . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  cEIdx. . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
  state. . . . . . . . . . . . . . . .  AUTO     XDATA  U_CHAR   0000H  1
  pEleData . . . . . . . . . . . . . .  * REG *  DATA   PTR      0001H  3
  pMen . . . . . . . . . . . . . . . .  * REG *  DATA   PTR      0001H  3
P0 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0080H  1
tag_E_DianTi . . . . . . . . . . . . .  * TAG *  -----  STRUCT   -----  110
  bZhunBeiHao. . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0000H  1
  bDanOrQun. . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0001H  1
  cDangQianCeng. . . . . . . . . . . .  MEMBER   -----  U_CHAR   0002H  1
  bDongOrJing. . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0003H  1
  FangXiang. . . . . . . . . . . . . .  MEMBER   -----  STRUCT   0004H  2
  Men. . . . . . . . . . . . . . . . .  MEMBER   -----  STRUCT   0006H  5
  ChengZai . . . . . . . . . . . . . .  MEMBER   -----  STRUCT   000BH  5
  TeBie. . . . . . . . . . . . . . . .  MEMBER   -----  STRUCT   0010H  9
  bNeiXuan . . . . . . . . . . . . . .  MEMBER   -----  ARRAY    0019H  7
  cPortNo. . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0020H  1
  cChengZhong. . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0021H  1
  cZaoGFCeng . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0022H  1
  cWuGFCeng. . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0023H  1
  cWanGFCeng . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0024H  1
  cJuDiCengShu . . . . . . . . . . . .  MEMBER   -----  CHAR     0025H  1
  cXueXiCengShu. . . . . . . . . . . .  MEMBER   -----  U_CHAR   0026H  1
  cYouXianJi . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0027H  1
  cQuXianShu . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0028H  1
  nTiSu. . . . . . . . . . . . . . . .  MEMBER   -----  ARRAY    0029H  16
  nJiaSuDu . . . . . . . . . . . . . .  MEMBER   -----  U_INT    0039H  2
  nZhuanSu . . . . . . . . . . . . . .  MEMBER   -----  U_INT    003BH  2
  cPinLv . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   003DH  1
  cEDingTiSu . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   003EH  1
  cYunXingTiSu . . . . . . . . . . . .  MEMBER   -----  U_CHAR   003FH  1
  lBMQMaiChongShu. . . . . . . . . . .  MEMBER   -----  U_LONG   0040H  4
  lDGCMaiChongShu. . . . . . . . . . .  MEMBER   -----  U_LONG   0044H  4
  bQunKong . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0048H  1
  cMinFenPei . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0049H  1
  cMinCancelFenPei . . . . . . . . . .  MEMBER   -----  U_CHAR   004AH  1
  cZuiDiCeng . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   004BH  1
  cZuiGaoCeng. . . . . . . . . . . . .  MEMBER   -----  U_CHAR   004CH  1
  cChaoShiTime . . . . . . . . . . . .  MEMBER   -----  ARRAY    004DH  5
  TongXun. . . . . . . . . . . . . . .  MEMBER   -----  STRUCT   0052H  2
  MenTime. . . . . . . . . . . . . . .  MEMBER   -----  STRUCT   0054H  3

⌨️ 快捷键说明

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