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

📄 __c51_4

📁 一整套电梯控制器源程序
💻
字号:
#line 1 ".\function.c" /0  #line 1 "common.h" /0                       struct tag_E_FangXiang{		   unsigned char bShang;				   unsigned char bXia;					  };   struct tag_E_Men{			   unsigned char bKaiMenDaoWei;		   unsigned char bGuanMenDaoWei;		   unsigned char bKaiMenAnNiu;			   unsigned char bGuanMenZhong;		   unsigned char bMenGuZhang;			  };   struct tag_E_ChengZai{		   unsigned char bKongZai;				   unsigned char bQingZai;				   unsigned char bZhongZai;			   unsigned char bManZai;				   unsigned char bChaoZai;				  };   struct tag_E_TeBie{			   unsigned char bJianXiu;				   unsigned char bSiJi;				   unsigned char bZhiShi;				   unsigned char bBaoLiu;				   unsigned char bSuoTi;				   unsigned char bXiaoFang;			   unsigned char bJiTing;                 unsigned char bGuZhang;				   unsigned char bJingGao;				  };   struct tag_E_TongXun{	   unsigned char bCanChuShiOK;		   unsigned char bZhiShi;			  };    struct tag_E_MenTime{		   unsigned char	cKaiMenTime;		   unsigned char   cGuanMenTime;		   unsigned char	cGMYanChiTime;		  };   struct tag_E_DianTi{	    unsigned char	bZhunBeiHao;					   unsigned char	bDanOrQun;						   unsigned char	cDangQianCeng;					   unsigned char    bDongOrJing;					   struct tag_E_FangXiang		FangXiang;				   struct tag_E_Men			Men;					   struct tag_E_ChengZai		ChengZai;				   struct tag_E_TeBie			TeBie;					   unsigned char			bNeiXuan[7];    unsigned char	cPortNo;						   unsigned char   cChengZhong;					   unsigned char	cZaoGFCeng;						   unsigned char	cWuGFCeng;						   unsigned char	cWanGFCeng;						  signed char cJuDiCengShu;				   unsigned char	cXueXiCengShu;					   unsigned char	cYouXianJi;						   unsigned char	cQuXianShu;						   unsigned int	nTiSu[8];			   unsigned int	nJiaSuDu;						   unsigned int	nZhuanSu;						   unsigned char	cPinLv;							   unsigned char	cEDingTiSu;						   unsigned char	cYunXingTiSu;					   unsigned long	lBMQMaiChongShu;				   unsigned long	lDGCMaiChongShu;				   unsigned char		bQunKong;					   unsigned char		cMinFenPei;					   unsigned char		cMinCancelFenPei;			   unsigned char		cZuiDiCeng;					   unsigned char		cZuiGaoCeng;				   unsigned char		cChaoShiTime[5];   struct tag_E_TongXun		TongXun;				   struct tag_E_MenTime	MenTime;					   unsigned char		bNeiXuanKeTing[7];	   unsigned char		bShangHuKeTing[7];	   unsigned char		bXiaHuKeTing[7];		    unsigned char       bLingSuXinHao;					   unsigned char       bBenCengKaiMen;					   };   struct tag_E_WaiHu{		   unsigned char	bShang[7];						   unsigned char	bXia[7];						  };   struct tag_E_InputData{	   struct tag_E_DianTi	mDianTi[8];			  struct tag_E_WaiHu		mWaiHu;			 };     struct tag_E_XiangYing{	   unsigned char	bShang[7];							   unsigned char	bXia[7];								  };  struct tag_E_Deng{	   unsigned char	bShang[7];							   unsigned char	bXia[7];								  };   struct tag_E_OutputData{   struct tag_E_XiangYing mXiangYing[8];	  struct tag_E_Deng		mDeng[8]; };     struct tag_L_YearMonDat{  unsigned char cYear;  unsigned char cMonth;  unsigned char cDate;  unsigned char cWeek; };   struct tag_L_HourMin{  unsigned char cHour;  unsigned char cMinute;  unsigned char cSecond; };   struct tag_L_SysTime{  struct tag_L_YearMonDat mYearMonDat;  struct tag_L_HourMin	 mHourMinSec; };   struct tag_L_GaoFeng{	   struct tag_L_HourMin lStartTime;						   struct tag_L_HourMin lEndTime;							  };     struct tag_L_Data{		   unsigned char cLNum;						   unsigned char cENum;						   unsigned int  nTKYanChiTime;				   struct tag_L_SysTime   mSysTime;			   struct tag_L_GaoFeng	ZaoGF;				   struct tag_L_GaoFeng	WuGF;					   struct tag_L_GaoFeng	WanGF;				   };    struct tag_Temp_Timer{ long	lJingTaiTimer;				  long	lChaoShiTimer[8];	  };   struct tag_PtrALLData{		   struct tag_L_Data			*pL_Data;  struct tag_E_InputData		*pE_InputData;  struct tag_E_OutputData	*pE_OutputData;  struct tag_Temp_Timer			*pTimer; };      extern xdata struct tag_L_Data			mL_Data;  extern xdata struct tag_E_InputData	mE_InputData;  extern xdata struct tag_E_OutputData	mE_OutputData;  extern xdata struct tag_Temp_Timer			m_Timer;     void Set0Data(unsigned char *pData, unsigned char cMOD);  unsigned char GetArrayData(unsigned char *pData, unsigned char cIdx); void  SetArrayData(unsigned char *pData, unsigned char cIdx, unsigned char cVal); void  SetArrayData_INTERRUPT(unsigned char *pData, unsigned char cIdx, unsigned char cVal);#line 1 ".\function.c" /0     unsigned char GetArrayData(unsigned char *pData, unsigned char cIdx) {  unsigned char ret=0x00;  unsigned char  cMOD = cIdx%8;  unsigned char  cMoveBit = cMOD;	  if((cIdx>=0) && (cIdx<8)){ ret = (pData[0]>>cMoveBit) & 0x01; }else if((cIdx>=8) && (cIdx<16)){ ret = (pData[1]>>cMoveBit) & 0x01; }else if((cIdx>=16) && (cIdx<24)){ ret = (pData[2]>>cMoveBit) & 0x01; }else if((cIdx>=24) && (cIdx<32)){ ret = (pData[3]>>cMoveBit) & 0x01; }else if((cIdx>=32) && (cIdx<40)){ ret = (pData[4]>>cMoveBit) & 0x01; }else if((cIdx>=40) && (cIdx<48)){ ret = (pData[5]>>cMoveBit) & 0x01; }else if((cIdx>=48) && (cIdx<56)){ ret = (pData[6]>>cMoveBit) & 0x01; }  return ret; }  void Set0Data(unsigned char *pData, unsigned char cMOD) { switch(cMOD){ case 0: *pData = (*pData)&0xFE; break;	  case 1: *pData = (*pData)&0xFD; break;	  case 2: *pData = (*pData)&0xFB; break;	  case 3: *pData = (*pData)&0xF7; break;	  case 4: *pData = (*pData)&0xEF; break;	  case 5: *pData = (*pData)&0xDF; break;	  case 6: *pData = (*pData)&0xBF; break;	  case 7: *pData = (*pData)&0x7F; break;	  default: break; } }   void SetArrayData(unsigned char *pData, unsigned char cIdx, unsigned char cVal) {  unsigned char  cTemp= cVal;  unsigned char  cMOD = cIdx%8;  unsigned char  cMoveBit = cMOD;	  if(cVal==1){ cTemp = cTemp<<cMoveBit; if((cIdx>=0) && (cIdx<8)){ pData[0] = pData[0]|cTemp; }else if((cIdx>=8) && (cIdx<16)){ pData[1] = pData[1]|cTemp; }else if((cIdx>=16) && (cIdx<24)){ pData[2] = pData[2]|cTemp; }else if((cIdx>=24) && (cIdx<32)){ pData[3] = pData[3]|cTemp; }else if((cIdx>=32) && (cIdx<40)){ pData[4] = pData[4]|cTemp; }else if((cIdx>=40) && (cIdx<48)){ pData[5] = pData[5]|cTemp; }else if((cIdx>=48) && (cIdx<56)){ pData[6] = pData[6]|cTemp; } }else{ if((cIdx>=0) && (cIdx<8)){ Set0Data(&(pData[0]), cMOD);  }else if((cIdx>=8) && (cIdx<16)){ Set0Data(&(pData[1]), cMOD);  }else if((cIdx>=16) && (cIdx<24)){ Set0Data(&(pData[2]), cMOD);  }else if((cIdx>=24) && (cIdx<32)){ Set0Data(&(pData[3]), cMOD);  }else if((cIdx>=32) && (cIdx<40)){ Set0Data(&(pData[4]), cMOD);  }else if((cIdx>=40) && (cIdx<48)){ Set0Data(&(pData[5]), cMOD);  }else if((cIdx>=48) && (cIdx<56)){ Set0Data(&(pData[6]), cMOD);  } }  }  void SetArrayData_INTERRUPT(unsigned char *pData, unsigned char cIdx, unsigned char cVal) {  unsigned char  cTemp= cVal;  unsigned char  cMOD = cIdx%8;  unsigned char  cMoveBit = cMOD;	  if(cVal==1){ cTemp = cTemp<<cMoveBit; if((cIdx>=0) && (cIdx<8)){ pData[0] = pData[0]|cTemp; }else if((cIdx>=8) && (cIdx<16)){ pData[1] = pData[1]|cTemp; }else if((cIdx>=16) && (cIdx<24)){ pData[2] = pData[2]|cTemp; }else if((cIdx>=24) && (cIdx<32)){ pData[3] = pData[3]|cTemp; }else if((cIdx>=32) && (cIdx<40)){ pData[4] = pData[4]|cTemp; }else if((cIdx>=40) && (cIdx<48)){ pData[5] = pData[5]|cTemp; }else if((cIdx>=48) && (cIdx<56)){ pData[6] = pData[6]|cTemp; } }else{ if((cIdx>=0) && (cIdx<8)){ Set0Data(&(pData[0]), cMOD);  }else if((cIdx>=8) && (cIdx<16)){ Set0Data(&(pData[1]), cMOD);  }else if((cIdx>=16) && (cIdx<24)){ Set0Data(&(pData[2]), cMOD);  }else if((cIdx>=24) && (cIdx<32)){ Set0Data(&(pData[3]), cMOD);  }else if((cIdx>=32) && (cIdx<40)){ Set0Data(&(pData[4]), cMOD);  }else if((cIdx>=40) && (cIdx<48)){ Set0Data(&(pData[5]), cMOD);  }else if((cIdx>=48) && (cIdx<56)){ Set0Data(&(pData[6]), cMOD);  } }  }

⌨️ 快捷键说明

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