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

📄 clock.lst

📁 一整套电梯控制器源程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
  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  CLOCK                                                                  06/05/2005 15:44:46 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;*/
  98      =1  
  99      =1  sbit P3_0=P3^0;
 100      =1  sbit P3_1=P3^1;
 101      =1  sbit P3_2=P3^2;
 102      =1  sbit P3_3=P3^3;
 103      =1  sbit P3_4=P3^4;
 104      =1  sbit P3_5=P3^5;
 105      =1  
 106      =1      /*can总线定义的变量*/
 107      =1  EXTERN xdata uchar *can3_cs;                 /*can3 指针*/ 
 108      =1  EXTERN xdata uchar *can2_cs;                 /*can2 指针*/   
 109      =1  EXTERN xdata uchar *can1_cs;                 /*can1 指针*/   
 110      =1  EXTERN xdata uchar *can0_cs;                 /*can0 指针*/
 111      =1  
 112      =1  //EXTERN xdata uchar sbuf_rec;                /* SBUF的缓冲区*/
 113      =1  //EXTERN xdata uchar time_flag; 				/* 50ms计数时钟起始标志 */
 114      =1  //EXTERN xdata uchar time_last;				/* 50ms计时时钟上次状态 */
 115      =1  //EXTERN xdata uchar time_now;                 /* 50ms计时时钟本次状态 */
 116      =1  //EXTERN xdata uchar time_over;                /* 50ms计时时钟运行结果标志 */
 117      =1  //EXTERN xdata uchar m_comm_timer;             /* 60s计时计数*/
 118      =1  //EXTERN xdata uchar m_comm_60sover_flg;        /* 60s计时结束标志*/ 
 119      =1  //EXTERN xdata uchar m_comm_enable_flg;             /* 通讯使能 */ 
 120      =1  //EXTERN xdata uchar m_timer_60s_last;         /* 60s计时上次状态*/ 
 121      =1  //EXTERN xdata uchar m_timer_60s_now;          /* 60s计时本次状态*/
C51 COMPILER V6.12  CLOCK                                                                  06/05/2005 15:44:46 PAGE 10  

 122      =1  
 123      =1  //指向传输数据的指针
 124      =1  EXTERN L_Data			*m_pL_Data;				//楼及总体数据
 125      =1  EXTERN E_InputData		*m_pE_InputData;		//电梯输入数据
 126      =1  EXTERN E_OutputData		*m_pE_OutputData;		//电梯输出数据
 127      =1  EXTERN TIMER			*m_pTimer;				//计时变量
 128      =1  
 129      =1  //LHM dyn_test temp动态测试专用变量(移植时不删除)
 130      =1  EXTERN uchar			m_nNextStopLIdx[ENum_MAX];
 131      =1  EXTERN uchar			m_bDirect[ENum_MAX];
 132      =1  EXTERN INTER_DATA		m_InterData[ENum_MAX];				//中间数据--淘汰数据
 133      =1  EXTERN uchar			m_cCurStageStartFloor[ENum_MAX];	//中间数据--电梯当前运动阶段的起始楼层(选曲线用)
 134      =1  EXTERN uchar			m_cOvertime[ENum_MAX];				//中间数据--门超时时间(单位:秒)
 135      =1  EXTERN uchar            m_CalUpLIdx;
 136      =1  EXTERN uchar            m_CalDownLIdx;
 137      =1  
 138      =1  //时钟用
 139      =1  EXTERN uchar m_year;                   	// 年数缓冲区
 140      =1  EXTERN uchar m_month;                  	// 月数缓冲区
 141      =1  EXTERN uchar m_date;                   	// 日数缓冲区
 142      =1  EXTERN uchar m_time;                   	// 时数缓冲区
 143      =1  EXTERN uchar m_minute;                 	// 分数缓冲区
 144      =1  EXTERN uchar m_set_time;               	// 写时钟标志
 145      =1  EXTERN uchar m_read_time;              	// 读时钟标志
 146      =1  EXTERN uchar m_read_time_count;        // 读时钟计数(因为读1226会造成看门狗不能复位,所以改为每隔一段时间读
             -一次)
 147      =1  
 148      =1  //rs232通讯用
 149      =1  EXTERN uchar sbuf_rec;                 	// SBUF的缓冲区
 150      =1  EXTERN uchar m_get_senddata_flg;			// 取得发送数据标记(host专用)
 151      =1  EXTERN uchar m_comm_enable_flg;         	// 通讯使能标记(0:不能 1:能) 
 152      =1  EXTERN uchar m_host_flg;						// 主客标记(0:客 1:主)客要回答上位机,主不需要
 153      =1  EXTERN uint  m_ST_60s_count;            	// 60s计数器
 154      =1  EXTERN uchar m_comm_data_flg;					// 有串口数据标记(0:没有 1:有) 
 155      =1  EXTERN uchar m_comm_60sover_flg;        	// 60s计时结束标志
 156      =1  EXTERN uchar m_msg_monitor_flg;		    	// 监视命令标记
 157      =1  EXTERN uchar m_msg_quit_flg; 					// 解除监视命令标志
 158      =1  EXTERN uchar m_msg_set_flg;			    	// 参数设定命令标记
 159      =1  EXTERN uchar m_monitor_delay_flg;			// 监视延迟标志
 160      =1  EXTERN uchar m_monitor_delay_count;			// 监视延迟计数
 161      =1  EXTERN uchar m_active_idx;						//当前有效的地址和类型索引
 162      =1  EXTERN uchar m_add_type_idx;					//纪录监视参数和地址类型索引
 163      =1  EXTERN uchar m_resolve_flg;					//命令解析开始标记
 164      =1  //EXTERN uchar m_make_senddata_flg;				//发送命令作成标记	
 165      =1  EXTERN xdata uint  m_monitor_ad[MORN_PARAM_NUM];    	// 5个监视参数地址
 166      =1  EXTERN xdata uchar m_monitor_type[MORN_PARAM_NUM];  	// 监视参数类型
 167      =1  EXTERN xdata DT_SCC m_scc;
 168      =1  
 169      =1  //用户参数存储和恢复用
 170      =1  EXTERN xdata uchar m_restore_flg;     		 //用户参数恢复标记
 171      =1  EXTERN xdata uchar m_save_flg;				 //用户参数存储标记
 172      =1  EXTERN xdata uchar m_factory_flg;			//工厂参数恢复
 173      =1  EXTERN xdata uchar m_save_over_flg;			 //用户参数存储过标记
 174      =1  EXTERN xdata uchar m_once_param_over_flg;    //一次性参数传送完毕标志
 175      =1  
 176      =1  //can通讯用
 177      =1  EXTERN xdata uint canx_cs[ENum_MAX];					 //can指针
 178      =1  EXTERN uchar e_out_call_flag;                   //发一组外呼数据
 179      =1  EXTERN uchar m_state_20ms;                    //can发送时间
 180      =1  EXTERN uchar can_send_count;                  //25ms计数
 181      =1  EXTERN uchar e_lamp_call_flag;                  //发一组外呼灯亮灭
 182      =1  EXTERN uchar e_display_reflash_floor[ENum_MAX];           //显示刷新某层呼梯灯
C51 COMPILER V6.12  CLOCK                                                                  06/05/2005 15:44:46 PAGE 11  

 183      =1  EXTERN uchar e_up_down;                         //刷新上呼还是下呼
 184      =1  EXTERN uchar e_frame_number;                    //帧数据
 185      =1  EXTERN uchar e_online[ENum_MAX];                       //can在线标志  
 186      =1  EXTERN uchar bdata abit;
 187      =1  EXTERN bit abit_0;                           
 188      =1  EXTERN bit abit_1;
 189      =1  EXTERN bit abit_2;
 190      =1  EXTERN bit abit_3;
 191      =1  EXTERN bit abit_4;
 192      =1  EXTERN bit abit_5;
 193      =1  EXTERN bit abit_6;
 194      =1  EXTERN bit abit_7;
 195      =1  
 196      =1  EXTERN uchar bdata abit0;
 197      =1  EXTERN bit abit0_0;
 198      =1  EXTERN bit abit0_1;
 199      =1  EXTERN bit abit0_2;
 200      =1  EXTERN bit abit0_3;
 201      =1  EXTERN bit abit0_4;
 202      =1  EXTERN bit abit0_5;
 203      =1  EXTERN bit abit0_6;
 204      =1  EXTERN bit abit0_7;
 205      =1  
 206      =1  
 207      =1  struct group_out
 208      =1  {
 209      =1  uchar call_up_out[6];
 210      =1  uchar call_down_out[6];
 211      =1  //uchar choose_out;
 212      =1  //uchar yes_no;
 213      =1  };
 214      =1  
 215      =1  EXTERN xdata struct group_out group_assign[ENum_MAX];
 216      =1  EXTERN uchar choose_out[ENum_MAX];
 217      =1  EXTERN uchar yes_no[ENum_MAX];
 218      =1  EXTERN uint e_online_time_count[4];         //1s计时 
 219      =1  EXTERN uchar e_online_flag[4];            //1s计时,初值群控器在线
 220      =1  EXTERN uint e_single_comm_count[4];         //群控方式单梯计时 
 221      =1  EXTERN uint e_group_comm_count[4];          //群控方式群控计时
 222      =1  EXTERN uchar e_1_second_flag[4];            //一次性计时
 223      =1  
 224      =1  //撤销外呼用标记
 225      =1  EXTERN uchar m_SendOpenDoorFlg[ENum_MAX];		//发开门命令的标记(命令60)
 226      =1  EXTERN uchar m_LastDoorState[ENum_MAX];		//上次关门状态(0为非关门中,1为关门中)
 227      =1  
 228      =1  //静态停靠用
 229      =1  EXTERN uchar m_SendStaticInSelDataFlg[ENum_MAX];		//发送静态停靠内选数据标记
 230      =1  EXTERN uchar m_IsExistWaiInFlg;
 231      =1  
 232      =1  //高峰停靠用
 233      =1  EXTERN uchar m_SendPeekInSelDataFlg[ENum_MAX];		//发送高峰停靠内选数据标记
 234      =1  
 235      =1  //can复位用
 236      =1  EXTERN uchar m_can0_flg;       //can0故障标志
 237      =1  EXTERN uchar m_can1_flg;       //can1故障标志
 238      =1  EXTERN uchar m_can2_flg;       //can2故障标志
 239      =1  EXTERN uchar m_can3_flg;       //can3故障标志
 240      =1  EXTERN uchar m_can0_count;     //can0复位脚拉低计时
 241      =1  EXTERN uchar m_can1_count;     //can1复位脚拉低计时
 242      =1  EXTERN uchar m_can2_count;     //can2复位脚拉低计时
 243      =1  EXTERN uchar m_can3_count;     //can3复位脚拉低计时
 244      =1  EXTERN uchar m_can0err_flg;    //can0复位脚拉低计时到标记
C51 COMPILER V6.12  CLOCK                                                                  06/05/2005 15:44:46 PAGE 12  

 245      =1  EXTERN uchar m_can1err_flg;    //can1复位脚拉低计时到标记
 246      =1  EXTERN uchar m_can2err_flg;    //can2复位脚拉低计时到标记
 247      =1  EXTERN uchar m_can3err_flg;    //can3复位脚拉低计时到标记
 248      =1  
 249      =1  //淘汰标记滤波计时
 250      =1      //标记
 251      =1  EXTERN uchar m_MenGuZhang_flg[ENum_MAX];
 252      =1  EXTERN uchar m_ManZai_flg[ENum_MAX];
 253      =1  EXTERN uchar m_ChaoZai_flg[ENum_MAX];
 254      =1  EXTERN uchar m_JianXiu_flg[ENum_MAX];
 255      =1  EXTERN uchar m_SiJi_flg[ENum_MAX];
 256      =1  EXTERN uchar m_ZhiShi_flg[ENum_MAX];
 257      =1  EXTERN uchar m_BaoLiu_flg[ENum_MAX];
 258      =1  EXTERN uchar m_SuoTi_flg[ENum_MAX];
 259      =1  EXTERN uchar m_XiaoFang_flg[ENum_MAX];
 260      =1  EXTERN uchar m_JiTing_flg[ENum_MAX];
 261      =1  EXTERN uchar m_GuZhang_flg[ENum_MAX];
 262      =1  EXTERN uchar m_JingGao_flg[ENum_MAX];
 263      =1      //计时
 264      =1  EXTERN uint m_MenGuZhang_count[ENum_MAX];
 265      =1  EXTERN uint m_ManZai_count[ENum_MAX];
 266      =1  EXTERN uint m_ChaoZai_count[ENum_MAX];
 267      =1  EXTERN uint m_JianXiu_count[ENum_MAX];
 268      =1  EXTERN uint m_SiJi_count[ENum_MAX];
 269      =1  EXTERN uint m_ZhiShi_count[ENum_MAX];
 270      =1  EXTERN uint m_BaoLiu_count[ENum_MAX];
 271      =1  EXTERN uint m_SuoTi_count[ENum_MAX];
 272      =1  EXTERN uint m_XiaoFang_count[ENum_MAX];
 273      =1  EXTERN uint m_JiTing_count[ENum_MAX];
 274      =1  EXTERN uint m_GuZhang_count[ENum_MAX];
 275      =1  EXTERN uint m_JingGao_count[ENum_MAX];
 276      =1  //2004.07.26 LHM 计时测试(临时)
 277      =1  //EXTERN uint  m_nTestTimer;
 278      =1  //--------------------------- Function ---------------------//
 279      =1  //hardware.c
 280      =1  void maininit(void);
 281      =1  
 282      =1  //main.c
 283      =1  void main_process();
 284      =1  void WithdrawVetoEle(void);
 285      =1  void WithdrawOutCall(void);
 286      =1  //void SetDoorStateFlg(void);
 287      =1  
 288      =1  //init.c

⌨️ 快捷键说明

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