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

📄 hardwareinit.lst

📁 一整套电梯控制器源程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
C51 COMPILER V6.12  HARDWAREINIT                                                           06/05/2005 15:44:45 PAGE 1   


C51 COMPILER V6.12, COMPILATION OF MODULE HARDWAREINIT
OBJECT MODULE PLACED IN .\hardwareinit.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE .\hardwareinit.c LARGE BROWSE DEBUG OBJECTEXTEND CODE LISTINCLUDE SYMBOLS

stmt level    source

   1          #include "global.h"
   1      =1  #include "common.h"
   1      =2  
   2      =2  #ifndef EXTERN
   3      =2  #define EXTERN extern
   4      =2  #endif
   5      =2  
   6      =2  #define uchar	unsigned char 
   7      =2  #define uint	unsigned int
   8      =2  #define ulong	unsigned long 
   9      =2  #define schar	signed char 
  10      =2  #define sint	signed int
  11      =2  #define slong	signed long 
  12      =2  
  13      =2  #define LNum_MAX_OVERGROUND		48
  14      =2  #define LNum_MAX_UNDERGROUND	8
  15      =2  #define LNum_MAX		(LNum_MAX_OVERGROUND+LNum_MAX_UNDERGROUND) //最大楼层数(地上最大48层,地下最大8层)
  16      =2  #define ENum_MAX		8		//最大群控电梯数(该宏关系到串口通讯程序的变量地址,慎重修改)
  17      =2  #define ARRAY_BYTENUM	7		//"内选数据""内选可停""上呼可停""下呼可停"数组所占字节数
  18      =2  #define QuXianShu_Max	8		//最大曲线数
  19      =2  #define MenChaoShi_Num	5		//门超时判定数量
  20      =2  
  21      =2  //--------------------------  输入数据结构 start ------------------------// 
  22      =2  
  23      =2  struct tag_E_FangXiang{		//运动方向
  24      =2  	uchar bShang;				//上
  25      =2  	uchar bXia;					//下
  26      =2  };
  27      =2  #define E_FangXiang struct tag_E_FangXiang
  28      =2  
  29      =2  struct tag_E_Men{			//门状态
  30      =2  	uchar bKaiMenDaoWei;		//开门到位
  31      =2  	uchar bGuanMenDaoWei;		//关门到位
  32      =2  	uchar bKaiMenAnNiu;			//开门按钮
  33      =2  	uchar bGuanMenZhong;		//关门中
  34      =2  	uchar bMenGuZhang;			//门故障
  35      =2  };
  36      =2  #define E_Men struct tag_E_Men
  37      =2  
  38      =2  struct tag_E_ChengZai{		//承载状态
  39      =2  	uchar bKongZai;				//空载
  40      =2  	uchar bQingZai;				//轻载
  41      =2  	uchar bZhongZai;			//重载
  42      =2  	uchar bManZai;				//满载
  43      =2  	uchar bChaoZai;				//超载
  44      =2  };
  45      =2  #define E_ChengZai struct tag_E_ChengZai
  46      =2  
  47      =2  struct tag_E_TeBie{			//特别状态
  48      =2  	uchar bJianXiu;				//检修
  49      =2  	uchar bSiJi;				//司机
  50      =2  	uchar bZhiShi;				//直驶
  51      =2  	uchar bBaoLiu;				//保留
  52      =2  	uchar bSuoTi;				//锁梯
  53      =2  	uchar bXiaoFang;			//消防
C51 COMPILER V6.12  HARDWAREINIT                                                           06/05/2005 15:44:45 PAGE 2   

  54      =2  	uchar bJiTing;              //急停
  55      =2  	uchar bGuZhang;				//故障
  56      =2  	uchar bJingGao;				//警告
  57      =2  };
  58      =2  #define E_TeBie struct tag_E_TeBie
  59      =2  
  60      =2  struct tag_E_TongXun{	//通讯状态
  61      =2  	uchar bCanChuShiOK;		//Can初始化OK
  62      =2  	uchar bZhiShi;			//通讯指示
  63      =2  };
  64      =2  #define E_TongXun struct tag_E_TongXun
  65      =2  
  66      =2  
  67      =2  struct tag_E_MenTime{		//门时间
  68      =2  	uchar	cKaiMenTime;		//开门时间
  69      =2  	uchar   cGuanMenTime;		//关门时间
  70      =2  	uchar	cGMYanChiTime;		//自动关门延迟时间
  71      =2  };
  72      =2  #define E_MenTime struct tag_E_MenTime
  73      =2  
  74      =2  struct tag_E_DianTi{	//电梯数据
  75      =2  	//来源于Can的输入数据
  76      =2  	uchar	bZhunBeiHao;					//准备好
  77      =2  	uchar	bDanOrQun;						//单梯/群控
  78      =2  	uchar	cDangQianCeng;					//当前层
  79      =2  	uchar    bDongOrJing;					//运动/静止
  80      =2  	E_FangXiang		FangXiang;				//运动方向
  81      =2  	E_Men			Men;					//门状态
  82      =2  	E_ChengZai		ChengZai;				//承载状态
  83      =2  	E_TeBie			TeBie;					//特别状态
  84      =2  	uchar			bNeiXuan[ARRAY_BYTENUM];//内选数据
  85      =2  	//来源于群控器的输入数据
  86      =2  	uchar	cPortNo;						//控制器端口号
  87      =2  	uchar   cChengZhong;					//承重值
  88      =2  	uchar	cZaoGFCeng;						//高峰停靠层(早)
  89      =2  	uchar	cWuGFCeng;						//高峰停靠层(午)
  90      =2  	uchar	cWanGFCeng;						//高峰停靠层(晚)
  91      =2  	signed char cJuDiCengShu;				//起始层距地面楼层数
  92      =2  	uchar	cXueXiCengShu;					//学习楼层数
  93      =2  	uchar	cYouXianJi;						//优先级
  94      =2  	uchar	cQuXianShu;						//曲线数
  95      =2  	uint	nTiSu[QuXianShu_Max];			//各曲线匀速段梯速
  96      =2  	uint	nJiaSuDu;						//额定加速度
  97      =2  	uint	nZhuanSu;						//电机转速(取值范围:1400-1500	单位:转/分)
  98      =2  	uchar	cPinLv;							//电机频率(取值范围:30-60		单位:Hz)
  99      =2  	uchar	cEDingTiSu;						//额定梯速(取值范围:5-30		单位:分米/秒)
 100      =2  	uchar	cYunXingTiSu;					//运行梯速(取值范围:5-30		单位:分米/秒)
 101      =2  	ulong	lBMQMaiChongShu;				//编码器脉冲数
 102      =2  	ulong	lDGCMaiChongShu;				//等高层脉冲数
 103      =2  	uchar		bQunKong;					//群控选中
 104      =2  	uchar		cMinFenPei;					//分配最小楼层数
 105      =2  	uchar		cMinCancelFenPei;			//取消分配最小楼层数
 106      =2  	uchar		cZuiDiCeng;					//可到最底层
 107      =2  	uchar		cZuiGaoCeng;				//可到最高层
 108      =2  	uchar		cChaoShiTime[MenChaoShi_Num];//门超时时间
 109      =2  	E_TongXun		TongXun;				//通讯状态
 110      =2  	E_MenTime	MenTime;					//门时间
 111      =2  	uchar		bNeiXuanKeTing[ARRAY_BYTENUM];	//内选可停
 112      =2  	uchar		bShangHuKeTing[ARRAY_BYTENUM];	//上呼可停
 113      =2  	uchar		bXiaHuKeTing[ARRAY_BYTENUM];		//下呼可停
 114      =2  //2004.05.19 added by LHM (为解决撤销外呼追加)
 115      =2  	uchar       bLingSuXinHao;					//零速信号
C51 COMPILER V6.12  HARDWAREINIT                                                           06/05/2005 15:44:45 PAGE 3   

 116      =2      uchar       bBenCengKaiMen;					//本层开门
 117      =2  //end
 118      =2  };
 119      =2  #define E_DianTi struct tag_E_DianTi
 120      =2  
 121      =2  struct tag_E_WaiHu{		//外呼状态
 122      =2  	uchar	bShang[ARRAY_BYTENUM];						//上呼
 123      =2  	uchar	bXia[ARRAY_BYTENUM];						//下呼
 124      =2  };
 125      =2  #define E_WaiHu struct tag_E_WaiHu
 126      =2  
 127      =2  struct tag_E_InputData{	//输入数据
 128      =2  	E_DianTi	mDianTi[ENum_MAX];			
 129      =2  	E_WaiHu		mWaiHu;			
 130      =2  };
 131      =2  #define E_InputData struct tag_E_InputData
 132      =2  //--------------------------  输入数据结构 end   ------------------------//
 133      =2  
 134      =2  //--------------------------  输出数据结构 start ------------------------// 
 135      =2  struct tag_E_XiangYing{	//外呼响应状态
 136      =2  	uchar	bShang[ARRAY_BYTENUM];							//上呼
 137      =2  	uchar	bXia[ARRAY_BYTENUM];								//下呼
 138      =2  };
 139      =2  #define E_XiangYing struct tag_E_XiangYing
 140      =2  struct tag_E_Deng{	//外呼响应状态
 141      =2  	uchar	bShang[ARRAY_BYTENUM];							//上呼
 142      =2  	uchar	bXia[ARRAY_BYTENUM];								//下呼
 143      =2  };
 144      =2  #define E_Deng struct tag_E_Deng
 145      =2  
 146      =2  struct tag_E_OutputData{//输出数据
 147      =2  	E_XiangYing mXiangYing[ENum_MAX];	
 148      =2  	E_Deng		mDeng[ENum_MAX];
 149      =2  };
 150      =2  #define E_OutputData struct tag_E_OutputData
 151      =2  //--------------------------  输出数据结构 end   ------------------------// 
 152      =2  
 153      =2  //--------------------------  楼及其他总体数据 start --------------------// 
 154      =2  struct tag_L_YearMonDat{
 155      =2  	uchar cYear;
 156      =2  	uchar cMonth;
 157      =2  	uchar cDate;
 158      =2  	uchar cWeek;
 159      =2  };
 160      =2  #define L_YearMonDat struct tag_L_YearMonDat
 161      =2  
 162      =2  struct tag_L_HourMin{
 163      =2  	uchar cHour;
 164      =2  	uchar cMinute;
 165      =2  	uchar cSecond;
 166      =2  };
 167      =2  #define L_HourMin struct tag_L_HourMin
 168      =2  
 169      =2  struct tag_L_SysTime{
 170      =2  	L_YearMonDat mYearMonDat;
 171      =2  	L_HourMin	 mHourMinSec;
 172      =2  };
 173      =2  #define L_SysTime struct tag_L_SysTime
 174      =2  
 175      =2  struct tag_L_GaoFeng{	//高峰信息
 176      =2  	L_HourMin lStartTime;						//高峰开始时间
 177      =2  	L_HourMin lEndTime;							//高峰结束时间
C51 COMPILER V6.12  HARDWAREINIT                                                           06/05/2005 15:44:45 PAGE 4   

 178      =2  };
 179      =2  #define L_GaoFeng struct tag_L_GaoFeng
 180      =2  
 181      =2  #define L_GaoFeng struct tag_L_GaoFeng
 182      =2  
 183      =2  struct tag_L_Data{		//楼及其他总体数据
 184      =2  	uchar cLNum;						//最大楼层数
 185      =2  	uchar cENum;						//最大群控电梯数
 186      =2  	uint  nTKYanChiTime;				//静态停靠延迟时间
 187      =2  	L_SysTime   mSysTime;			//系统时间
 188      =2  	L_GaoFeng	ZaoGF;				//早高峰
 189      =2  	L_GaoFeng	WuGF;					//午高峰
 190      =2  	L_GaoFeng	WanGF;				//晚高峰
 191      =2  //	uchar		cJTTingkaoCeng[ENum_MAX];	//静态停靠层
 192      =2  };
 193      =2  #define L_Data struct tag_L_Data
 194      =2  //--------------------------  楼及其他总体数据 end   --------------------// 
 195      =2  
 196      =2  struct tag_Temp_Timer{
 197      =2  	long	lJingTaiTimer;				//静态计时
 198      =2  	long	lChaoShiTimer[ENum_MAX];	//电梯门超时计时
 199      =2  };
 200      =2  #define TIMER struct tag_Temp_Timer
 201      =2  
 202      =2  struct tag_PtrALLData{		//所有数据
 203      =2  	L_Data			*pL_Data;
 204      =2  	E_InputData		*pE_InputData;
 205      =2  	E_OutputData	*pE_OutputData;
 206      =2  	TIMER			*pTimer;
 207      =2  };
 208      =2  #define PtrALLData struct tag_PtrALLData
 209      =2  
 210      =2  
 211      =2  //Variable Defination 
 212      =2  EXTERN xdata L_Data			mL_Data;
 213      =2  EXTERN xdata E_InputData	mE_InputData;
 214      =2  EXTERN xdata E_OutputData	mE_OutputData;
 215      =2  EXTERN xdata TIMER			m_Timer;
 216      =2  
 217      =2  //xdata L_Data			mL_Data;
 218      =2  //xdata E_InputData		mE_InputData;
 219      =2  //Function Refrence
 220      =2  void Set0Data(uchar *pData, uchar cMOD);
 221      =2  uchar GetArrayData(uchar *pData, uchar cIdx);
 222      =2  void  SetArrayData(uchar *pData, uchar cIdx, uchar cVal);
 223      =2  void  SetArrayData_INTERRUPT(uchar *pData, uchar cIdx, uchar cVal);
   2      =1  #include<w77c32.h>
   1      =2  /*--------------------------------------------------------------------------
   2      =2  W77C32.H - preliminary release
   3      =2  
   4      =2  Header file for Winbond microcontroller W77C32
   5      =2  Based on the Preliminary Release form March 1999 
   6      =2  
   7      =2  Copyright (c) 1988-1999 Keil Elektronik GmbH and Keil Software, Inc.
   8      =2  All rights reserved.
   9      =2  --------------------------------------------------------------------------*/
  10      =2  
  11      =2  /*  BYTE Registers  */
  12      =2  sfr P0     = 0x80;
  13      =2  sfr P1     = 0x90;
  14      =2  sfr P2     = 0xA0;
  15      =2  sfr P3     = 0xB0;
C51 COMPILER V6.12  HARDWAREINIT                                                           06/05/2005 15:44:45 PAGE 5   

  16      =2  sfr P4     = 0xA5;
  17      =2  sfr PSW    = 0xD0;
  18      =2  sfr ACC    = 0xE0;
  19      =2  sfr B      = 0xF0;
  20      =2  sfr SP     = 0x81;
  21      =2  sfr DPL    = 0x82;
  22      =2  sfr DPH    = 0x83;
  23      =2  sfr PCON   = 0x87;
  24      =2  sfr TCON   = 0x88;
  25      =2  sfr TMOD   = 0x89;
  26      =2  sfr TL0    = 0x8A;
  27      =2  sfr TL1    = 0x8B;
  28      =2  sfr TH0    = 0x8C;
  29      =2  sfr TH1    = 0x8D;
  30      =2  sfr IE     = 0xA8;
  31      =2  sfr IP     = 0xB8;
  32      =2  sfr SCON   = 0x98;
  33      =2  sfr SBUF   = 0x99;

⌨️ 快捷键说明

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