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

📄 hardwareinit.lst

📁 一整套电梯控制器源程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
  34      =2  sfr T2CON  = 0xC8;
  35      =2  sfr T2MOD  = 0xC9;
  36      =2  sfr RCAP2L = 0xCA;
  37      =2  sfr RCAP2H = 0xCB;
  38      =2  sfr TL2    = 0xCC;
  39      =2  sfr TH2    = 0xCD;
  40      =2  
  41      =2  /* W77C32 extensions */
  42      =2  sfr DPS    = 0x86;
  43      =2  sfr CKCON  = 0x8E;
  44      =2  sfr EXIF   = 0x91;
  45      =2  sfr SADDR  = 0xA9;
  46      =2  sfr SADDR1 = 0xAA;
  47      =2  sfr SADEN  = 0xB9;
  48      =2  sfr SADEN1 = 0xBA;
  49      =2  sfr SCON1  = 0xC0;
  50      =2  sfr SBUF1  = 0xC1;
  51      =2  sfr ROMMAP = 0xC2;
  52      =2  sfr PMR    = 0xC4;
  53      =2  sfr STATUS = 0xC5;
  54      =2  sfr TA     = 0xC7;
  55      =2  sfr WDCON  = 0xD8;
  56      =2  sfr EIE    = 0xE8;
  57      =2  sfr EIP    = 0xF8;
  58      =2  
  59      =2  /*  BIT Registers  */
  60      =2  /*  P0  */
  61      =2  sbit P0_7  = P0^7;
  62      =2  sbit P0_6  = P1^6;
  63      =2  sbit P0_5  = P0^5;
  64      =2  sbit P0_4  = P1^4;
  65      =2  sbit P0_3  = P0^3;
  66      =2  sbit P0_2  = P1^2;
  67      =2  sbit P0_1  = P0^1;
  68      =2  sbit P0_0  = P1^0;
  69      =2  
  70      =2  /*  TCON  */
  71      =2  sbit TF1   = TCON^7;
  72      =2  sbit TR1   = TCON^6;
  73      =2  sbit TF0   = TCON^5;
  74      =2  sbit TR0   = TCON^4;
  75      =2  sbit IE1   = TCON^3;
  76      =2  sbit IT1   = TCON^2;
  77      =2  sbit IE0   = TCON^1;
C51 COMPILER V6.12  HARDWAREINIT                                                           06/05/2005 15:44:45 PAGE 6   

  78      =2  sbit IT0   = TCON^0;
  79      =2  
  80      =2  /*  P1  */
  81      =2  sbit P1_7  = P1^7;
  82      =2  sbit P1_6  = P1^6;
  83      =2  sbit P1_5  = P1^5;
  84      =2  sbit P1_4  = P1^4;
  85      =2  sbit P1_3  = P1^3;
  86      =2  sbit P1_2  = P1^2;
  87      =2  sbit P1_1  = P1^1;
  88      =2  sbit P1_0  = P1^0;
  89      =2  
  90      =2  /*  SCON  */
  91      =2  sbit SM0   = SCON^7;
  92      =2  sbit SM1   = SCON^6;
  93      =2  sbit SM2   = SCON^5;
  94      =2  sbit REN   = SCON^4;
  95      =2  sbit TB8   = SCON^3;
  96      =2  sbit RB8   = SCON^2;
  97      =2  sbit TI    = SCON^1;
  98      =2  sbit RI    = SCON^0;
  99      =2  
 100      =2  /*  P2  */
 101      =2  sbit P2_7  = P2^7;
 102      =2  sbit P2_6  = P2^6;
 103      =2  sbit P2_5  = P2^5;
 104      =2  sbit P2_4  = P2^4;
 105      =2  sbit P2_3  = P2^3;
 106      =2  sbit P2_2  = P2^2;
 107      =2  sbit P2_1  = P2^1;
 108      =2  sbit P2_0  = P2^0;
 109      =2  
 110      =2  /*  IE  */
 111      =2  sbit EA    = IE^7;
 112      =2  sbit ES1   = IE^6;
 113      =2  sbit ET2   = IE^5; 
 114      =2  sbit ES    = IE^4;
 115      =2  sbit ET1   = IE^3;
 116      =2  sbit EX1   = IE^2;
 117      =2  sbit ET0   = IE^1;
 118      =2  sbit EX0   = IE^0;
 119      =2  
 120      =2  /*  P3  */
 121      =2  sbit RD    = P3^7;
 122      =2  sbit WR    = P3^6;
 123      =2  sbit T1    = P3^5;
 124      =2  sbit T0    = P3^4;
 125      =2  sbit INT1  = P3^3;
 126      =2  sbit INT0  = P3^2;
 127      =2  sbit TXD   = P3^1;
 128      =2  sbit RXD   = P3^0;
 129      =2  
 130      =2  /*  IP  */
 131      =2  sbit PS1   = IP^6;
 132      =2  sbit PT2   = IP^5;
 133      =2  sbit PS    = IP^4;
 134      =2  sbit PT1   = IP^3;
 135      =2  sbit PX1   = IP^2;
 136      =2  sbit PT0   = IP^1;
 137      =2  sbit PX0   = IP^0;
 138      =2  
 139      =2  /*  SCON1  */
C51 COMPILER V6.12  HARDWAREINIT                                                           06/05/2005 15:44:45 PAGE 7   

 140      =2  sbit SM0_1  = SCON1^7; // alternative FE_1
 141      =2  sbit SM1_1  = SCON1^6;
 142      =2  sbit SM2_1  = SCON1^5;
 143      =2  sbit REN_1  = SCON1^4;
 144      =2  sbit TB8_1  = SCON1^3;
 145      =2  sbit RB8_1  = SCON1^2;
 146      =2  sbit TI_1   = SCON1^1;
 147      =2  sbit RI_1   = SCON1^0;
 148      =2  
 149      =2  /*  T2CON  */
 150      =2  sbit TF2    = T2CON^7;
 151      =2  sbit EXF2   = T2CON^6;
 152      =2  sbit RCLK   = T2CON^5;
 153      =2  sbit TCLK   = T2CON^4;
 154      =2  sbit EXEN2  = T2CON^3;
 155      =2  sbit TR2    = T2CON^2;
 156      =2  sbit C_T2   = T2CON^1;
 157      =2  sbit CP_RL2 = T2CON^0;
 158      =2  
 159      =2  /*  PSW  */
 160      =2  sbit CY    = PSW^7;
 161      =2  sbit AC    = PSW^6;
 162      =2  sbit F0    = PSW^5;
 163      =2  sbit RS1   = PSW^4;
 164      =2  sbit RS0   = PSW^3;
 165      =2  sbit OV    = PSW^2;
 166      =2  sbit F1    = PSW^1;
 167      =2  sbit P     = PSW^0;
 168      =2  
 169      =2  /* WDCON */
 170      =2  sbit SMOD_1 = WDCON^7;
 171      =2  sbit POR    = WDCON^6;
 172      =2  sbit WDIF   = WDCON^4;
 173      =2  sbit WTRF   = WDCON^3;
 174      =2  sbit EWT    = WDCON^1;
 175      =2  sbit RWT    = WDCON^0;
 176      =2  
 177      =2  /* EIE */
 178      =2  sbit EWDI  = EIE^4;
 179      =2  sbit EX5   = EIE^3;
 180      =2  sbit EX4   = EIE^2;
 181      =2  sbit EX3   = EIE^1;
 182      =2  sbit EX2   = EIE^0;
 183      =2  
 184      =2  /* EIP */
 185      =2  sbit PWDI  = EIP^4;
 186      =2  sbit PX5   = EIP^3;
 187      =2  sbit PX4   = EIP^2;
 188      =2  sbit PX3   = EIP^1;
 189      =2  sbit PX2   = EIP^0;
   3      =1  #include<intrins.h>
   1      =2  /*--------------------------------------------------------------------------
   2      =2  INTRINS.H
   3      =2  
   4      =2  Intrinsic functions for C51.
   5      =2  Copyright (c) 1988-2001 Keil Elektronik GmbH and Keil Software, Inc.
   6      =2  All rights reserved.
   7      =2  --------------------------------------------------------------------------*/
   8      =2  
   9      =2  extern void          _nop_     (void);
  10      =2  extern bit           _testbit_ (bit);
  11      =2  extern unsigned char _cror_    (unsigned char, unsigned char);
C51 COMPILER V6.12  HARDWAREINIT                                                           06/05/2005 15:44:45 PAGE 8   

  12      =2  extern unsigned int  _iror_    (unsigned int,  unsigned char);
  13      =2  extern unsigned long _lror_    (unsigned long, unsigned char);
  14      =2  extern unsigned char _crol_    (unsigned char, unsigned char);
  15      =2  extern unsigned int  _irol_    (unsigned int,  unsigned char);
  16      =2  extern unsigned long _lrol_    (unsigned long, unsigned char);
  17      =2  extern unsigned char _chkfloat_(float);
   4      =1  
   5      =1  #define INVALID_ELEINDEX	0xFF	//无效的电梯索引(在选优流程中使用)
   6      =1  #define TIMEINTERVAL_MIN	10		//比较最优时间时使用的最小精度,时间差大于该值的电梯才淘汰(单位:十分之一秒)
   7      =1  
   8      =1  #define COUNT_50ms 5				//串口通信--下位机应答上位机间隔时间计数,50ms
   9      =1  #define COUNT_60s  12000			//串口通信--下位机收不到信号自动终止通信的间隔时间计数,1000ms
  10      =1  #define COUNT_5s   1000             //每5秒读一次1226,5s
  11      =1  #define COUNT_10s  2000             //10s滤波--门故障用
  12      =1  #define COUNT_3s   600              //3s滤波--满载超载用
  13      =1  #define COUNT_1s   200              //1s滤波--特殊状态用
  14      =1  #define INVALID_ASC2		0xFF	//无效asc2字符标记
  15      =1  #define REC_COMMAND			0x1B	//接收命令ESC
  16      =1  #define SEND_COMMAND		0x1C	//应答命令FS
  17      =1  #define END_0x0D			0x0D	//结束命令0x0D
  18      =1  #define END_0x0A			0x0A	//结束命令0x0A
  19      =1  #define MORN_PARAM_NUM		5		//监视参数的个数
  20      =1  #define SCCBUF_MAXSIZE		32		//串口通信的缓冲区
  21      =1  #define SCC_MONITOR_DELAYCOUNT	10	//收到最后一个'M'后,延迟50ms接受动作再发送监视数据
  22      =1  #define COUNT_ERR           2
  23      =1  //方向
  24      =1  enum Direct{
  25      =1  	D_Down=0,
  26      =1  	D_Up
  27      =1  };
  28      =1  
  29      =1  //门动作状态
  30      =1  enum DoorActionState{
  31      =1  	Door_OpenOK=0,	//开门到位
  32      =1  	Door_CloseOK,	//关门到位
  33      =1  	Door_Opening,	//开门中
  34      =1  	Door_Closing,	//关门中
  35      =1  	Door_ERROR
  36      =1  };
  37      =1  
  38      =1  //承载状态
  39      =1  enum{
  40      =1  	Weight_Null,	//空载
  41      =1  	Weight_Light,	//轻载
  42      =1  	Weight_Heavy,	//重载
  43      =1  	Weight_Full,	//满载
  44      =1  	Weight_Over,	//超载
  45      =1  	Weight_ERROR
  46      =1  };
  47      =1  
  48      =1  //中间淘汰数据结构体
  49      =1  struct tag_InterData{
  50      =1  	uchar	bFloorCanStop;	//楼层可停(标志电梯在某层是否可停, 0:不可停   1:可停)
  51      =1  	uchar	bVeto;			//一票否决(标志电梯是否被一票否决, 0:否	   1:是)
  52      =1  	uchar    b2FloorMove;	//2层以内运动中(对于某层外呼,标志电梯到达该层所需距离是否不超过2层, 0:否	   1:是)
  53      =1  	uint	nTime;			//到达大致时间(电梯到达外呼层的大致时间, 单位:秒)
  54      =1  	uchar	cWeight;		//承载程度(标志电梯当前承载状态, 0:空载	   1:轻载	2:重载	3:满载 4:超载)
  55      =1  	uchar	bSameDirection;	//顺向(若电梯响应该外呼是否顺向, 0:否, 1:是)
  56      =1  	uchar	cStopCount;		//停靠层站数(标志电梯电梯所能够停靠的层站数)
  57      =1  	uchar	cPRINo;			//电梯优先级号(范围:1->8,优先级递减)
  58      =1  };
  59      =1  #define INTER_DATA struct tag_InterData 
C51 COMPILER V6.12  HARDWAREINIT                                                           06/05/2005 15:44:45 PAGE 9   

  60      =1  
  61      =1  //串口通信用数据结构
  62      =1  struct tag_DT_SCC{
  63      =1  	uchar	ReadFlg;							// receive flag, always TRUE
  64      =1  	uchar	m_ReadBuf[SCCBUF_MAXSIZE];	// pointer to buffer used to receive data
  65      =1  	uchar	dwReadReqSize;					// size of buffer used to receive data
  66      =1  //	uchar	dwpReadSpoolSize;				// size of data received
  67      =1  	uchar	nReadCount;
  68      =1  
  69      =1  	uchar	WriteFlg;						// send flag
  70      =1  	uchar	m_WriteBuf[SCCBUF_MAXSIZE];// pointer to buffer used to send data
  71      =1  	uchar	dwWriteReqSize;				// size of buffer used to send data
  72      =1  //	uchar	dwWriteSpoolSize;				// size of data sended
  73      =1  	uchar	nWriteCount;
  74      =1  };
  75      =1  #define DT_SCC struct tag_DT_SCC
  76      =1  
  77      =1  
  78      =1  //--------------------------- Variable ---------------------//
  79      =1  
  80      =1  /*
  81      =1  sbit P1_0=P1^0;
  82      =1  sbit P1_1=P1^1;
  83      =1  sbit P1_2=P1^2;
  84      =1  sbit P1_3=P1^3;
  85      =1  sbit P1_4=P1^4;
  86      =1  sbit P1_5=P1^5;
  87      =1  sbit P1_6=P1^6;
  88      =1  sbit P1_7=P1^7;
  89      =1  
  90      =1  sbit P2_0=P2^0;
  91      =1  sbit P2_1=P2^1;
  92      =1  sbit P2_2=P2^2;
  93      =1  sbit P2_3=P2^3;
  94      =1  sbit P2_4=P2^4;
  95      =1  sbit P2_5=P2^5;
  96      =1  sbit P2_6=P2^6;
  97      =1  sbit P2_7=P2^7;*/

⌨️ 快捷键说明

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