




已阅读5页,还剩83页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
/=GPRS MODULE PROGRAM=/=FROM 2003.9.=/=by cfj=#include/#include#include#include#include#include#include#define Uint unsigned int#define _3NOP() _NOP();_NOP();_NOP();#define _4NOP() _NOP();_NOP();_NOP();_NOP();#define _5NOP() _NOP();_NOP();_NOP();_NOP();_NOP();#define Estart_Addr 0 /0 EEprom起始地址#define Work_Mode_Addr Estart_Addr+6 /6 工作模式设置:1字节#define MAPN_Addr Work_Mode_Addr+1 /7 移动网关接入点名称:20字节ASCI#define DSC_Ip_Addr MAPN_Addr+20 /27 数据服务中心IP地址:12字节ASC#define DSC_Port_Addr DSC_Ip_Addr+12 /39 数据中心端口:5字节ASCII#define Net_Protocol_Addr DSC_Port_Addr+5 /44 网络数据传输协议#define Terminal_SIM_Addr Net_Protocol_Addr+1 /45 终端SIM#define Beat_Addr Terminal_SIM_Addr+11 /56 心跳周期地址#define PassWord_Addr Beat_Addr+1 /57 设置密码#define SCA_SIM_Addr PassWord_Addr+6 /63 短信服务中心号码#define DSC_SIM_Addr SCA_SIM_Addr+11 /74 数据中心号码#define BackUp_Addr DSC_SIM_Addr+11 /85 备用#define Set_Crc BackUp_Addr+4 /89 CRC校验码#define Estart2_Addr Estart_Addr+100/*/函数:main()/功能:主函数/输入参数:/输出参数:/=/常量定义/=char *AT=ATr;/AT命令用于检测GPRS是否存在或开机。char AT_Echo12=A,T,E,=,0,V,=,1,&,D,1,0X0D;/命令码不返回。/char *AT_Echo=ATE=0V=1&D1r;/命令码不返回。char *AT_O=ATOr;/从命令状态返回到数据状态。char *AT_3Plus=+ATr;char *AT_W=AT&Wr; /保存设置。char *AT_ActivateIp=AT*E2IPA=1,1r;char OpenIp11=A,T,*,E,2,I,P,O,=,1,;char *AT_CloseIp=AT*E2IPCr;/关闭GPRS通道char *AT_CMGF=AT+CMGF=0r;/短信PDU MODEchar Terminal_Command19=0x68,0x0d,0x0d,0x68,0x4a,0x99,0x99,0x07,0x00,0x0b,0x80,0x30char Echo_Array=0X2F,0X00,0X07,0XFF,0XFF,0XFD,0XA3,0X03;/设置正确信号char Alarm_Switch_Echo=0X2F,0X00,0X08,0XFF,0XFF,0XCE,0XEC,0X8F,0X14;char Data_Switch_Echo=0X2F,0X00,0X08,0XFF,0XFF,0XCD,0XEC,0XDA,0X47;/=/函数定义/=void Port_Initial(void);void Delay(Uint);void First_Wr_EEprom(void);void Variable_Initial(void);void Turn_On_Gprs(void);void Turn_Off_Gprs(void);/打开GPRS电源void USART0_Initial(void);void USART1_Initial(void);void Timer_Initial(void);void Data_Cmnd_Snd(Uint L,char *Temp_Pointer,char Sport,Uint);void Gprs_At_Command(Uint,char *Pcommand,Uint WTime);void Rx1Data_Judge_Trasmit(void);void Rx0Data_Judge_Trasmit(void);/extern void EWEN_93lc66(void);extern void Start_93lc66(char Op_Code);extern char Rd_Data(char Start_Addr,char Data_Len,Uint *Pointer);extern void Wr_Data(char Start_Addr,char Data_Len,Uint *Pointer);void Cal_Crc(char *Pointer,Uint L);/计算返回CRC值。char Read_Parameters_Initial(char);/从EEPROM中读取工作参数、初始化。void WorkMode_Initial_Log(void);extern void Construct_PDU_SMS(char UDL,char *User_Data);/构造SMS内容。extern void Echo_SMS_Master(char);void Asci_To_Hex(char *Pointer,Uint);extern void Echo_Sms_Mobile(void);void Echo_Rx0(char *Pointer,char Lenth);extern void Mobile_SMS_Get(char);extern void Mobile_SMS_Set(char);extern void Encode7Bit(char);extern void Decode8Bit(char);extern char ReturnHex(char);void Heart_Beat(void);void Read_Delete_SMS(void);void Feed_WatchDog(void);void Gprs_Mode_SMS(Uint);void Judge_SMS_Counter(void);void Data_Status(void);void Connect_Master_Station(void);extern void Waiting_Result(Uint Wresult_Time);extern void ZheJiang_Protocol_Down(Uint);extern void ZheJiang_Protocol_Up(Uint);void Inqury_Signal(void);/=/全局变量定义/=char VIO;Uint Tx1_Snd_Lenth,Tx1_Pointer,Rx1_Pointer; /发送长度、发送指针、接收指针Uint Tx0_Snd_Lenth,Tx0_Pointer,Rx0_Pointer; /发送长度、发送指针、接收char *Pointer0,*Pointer1;char Command_Data_Status;char Rx1_Start_Flag; /串口接收开始标志Uint Rx1_Time_Counter;/串口接收时间长度char Rx1_TimeOut_Flag;/接收超时标志char Rx0_Start_Flag; /串口接收开始标志char Rx0_Time_Counter;/串口接收时间长度char Rx0_TimeOut_Flag;/接收超时标志Uint Wait_Result_Time;char Wait_Result_TimeOut;char Flash_Timer_Len; /CPU正常运行指示灯。char Led1_Flash;Uint Heart_Beat_Interval;/自动检测IP连接的间隔时间char Heart_Beat_Flag; /自动检测标志char nMinute_Beat_Flag;char Heart_Beat_Time;char AT_OpenIp035;char Rx1_Data_Buffer360;/GPRS串口数据缓冲区char Rx0_Data_Buffer256;/终端数据缓冲区char Terminal_SIM12;/终端手机号码。char Center_SIM12; /短信通信手机号码。char Data_Center_Sim12;/数据中心手机号码。char SCA_SIM4; /短信服务中心号码Uint Temp_iArray100;/临时缓冲区:整数char Temp_cArray200;/临时缓冲区:字符char SMS_TPDU300;char User_Data140;char PassWord6;char AT_CGDCONT40;char AT_Set_Ok;Uint PDU_Len;char Retry_Counter;char AT_Test_Flag;char IpConnect_Flag;char Rx1_Led,Tx1_Led;/串口1收发指示灯Uint CRC;/CRC校验值。char Signal_Val;/信号强度Uint Beat_Rcv_Fail;/心跳未接收到次数(若连续发送三次未收到,则重新连接)Uint Read_SMS_Time;char Work_Mode;/模块工作模式char ,Tx1_Pointer,Rx1_Pointer; /发送长度、发送指针、接收指针char Msg_Snd_Flag;char Tx_Head; /发送引导头char SMS_Mode;char Terminal_Addr_High;char Terminal_Addr_Low;char Read_SMS_Flag;char SIM_SMS_Flag;char Received_Read_Msg_Flag;char DSR;Uint SMS_Index;/连接失败次数。char Read_Flag;char Ring_Counter;char Beat_Rcved_Flag;/心跳接收到标志。char Beat_Test_Start;/心跳测试标志。char Beat_Test_Fail;Uint Beat_Test_Interval;char First_Connect_Flag;/上电第一次连接标志。Uint Minute2_Interval;char Minute2_Interval_Flag;char Inqury_Signal_Flag;char Terminal_Request_Flag;char ii;/清缓冲区指针。Uint Second;Uint Signalmscnt;char Minute;char Connect_Counter;Uint Rx1_Time_Interval;char extern Msg_Snd_Success;Uint Tel_Ring_Counter;char Ring_Start_Flag;Uint Ring_Time;char Zj_Protocol_Flag;char SMS_Counter;char Load_Master_Flag;char Heart_Flag;char No_Carrier_Flag;/=/主程序/=void main(void)char i;_3NOP();/WDTCTL=WDTPW+WDTHOLD;BCSCTL1|=XT2OFF+XTS; /启动LFTX1 4M高速晶振,关闭XT2晶振 BCSCTL2|=SELM1+SELM0; /LFTTX1CLK:4M-MCLKdoIFG1&=OFIFG;for(i=0xFF;i0;i-);while(IFG1&OFIFG)!=0);/等待时钟源转换完。P2DIR|=0X08;/P2.0:LED5;P2.1:LED6;p2.2-ring P2OUT&=0XF7;P1DIR|=0X10;P1OUT&=0XEF;WDTCTL=WDTPW+WDTSSEL;/看门狗开启。Delay(20000);Port_Initial();/初始化P1、P2、P3口等while(VIO=0X00) /若GPRS尚未开机,则打开GPRS电源Turn_On_Gprs();VIO=P5IN&0X10; /VIO=P5.4_3NOP();Variable_Initial();/变量初始化。Delay(10);/EWEN_93lc66();/EEPROM擦、写使能 Rd_Data(254,1,Temp_iArray);/检测是否为第一次运行程序if(Temp_iArray0!=0X555C)First_Wr_EEprom();/写入出厂默认数据Read_Parameters_Initial(Estart_Addr);if(Read_Flag=0)/从EEPROM中读取工作参数、初始化CPU。 Read_Parameters_Initial(Estart2_Addr);/初始化时,若原始数据不对,则从备分区读取。_3NOP();Read_Delete_SMS();/上电时,读取删除短信息。for(;)/*主循环*_3NOP();VIO=P5IN&0X10; /VIO=P5.4WDTCTL=WDTPW+WDTCNTCL;DSR=P3IN&0X08; /P3.3:显示系统命令状态/数据状态。 if(DSR!=0) /P1OUT|=0X40;/P1.6: 命令状态。 /Load_Master_Flag=0;elseP1OUT&=0X40;/数据状态。if(Rx1_TimeOut_Flag=1)/RX1若接收超时,进行判断。Rx1_TimeOut_Flag=0;Rx1_Start_Flag=0;Rx1_Time_Counter=0;Rx1Data_Judge_Trasmit();/串口1数据判断转发给终端。if(Rx0_TimeOut_Flag=1)/RX0若接收超时,进行判断。Rx0_TimeOut_Flag=0;Rx0_Start_Flag=0;Rx0_Time_Counter=0;Rx0Data_Judge_Trasmit();/串口0数据转发给主站。if(Command_Data_Status=1)/GPRS连接上,则发2个心跳,有关变量复位。Data_Status();if(DSR!=0X00)&(Inqury_Signal_Flag=1)/Inqury_Signal_Flag=0;Inqury_Signal();if(DSR!=0X00)&(Minute+1)%30)=0)/每隔周期检测是否有新的短信接收到。Minute+;SIM_SMS_Flag=0;Read_SMS_Flag=0;Read_Delete_SMS();if(DSR=0)&(Heart_Flag=1)&(Work_Mode=1)/for zhejiang testHeart_Beat();Heart_Flag=0;Beat_Test_Start=1;Beat_Test_Interval=2000;/20秒钟自动检测心跳Beat_Test_Fail=0;Beat_Rcved_Flag=0;if(Work_Mode=1)&(nMinute_Beat_Flag=1)&(Heart_Beat_Time!=0) /每隔?分钟心跳周期发 nMinute_Beat_Flag=0;Heart_Beat();Beat_Test_Start=1;Beat_Test_Interval=2000;/20秒钟自动检测心跳Beat_Test_Fail=0;Beat_Rcved_Flag=0;if(Tel_Ring_Counter=1)|(First_Connect_Flag=1)|(Terminal_Request_Flag=1)|(Beat_Te if(Work_Mode=1)&(Heart_Beat_Flag=1)Heart_Beat_Flag=0;Heart_Beat_Interval=6000;Connect_Master_Station();if(Connect_Counter+=30)Turn_Off_Gprs();/复位GPRSif(VIO=0)/判断是否有异常关机。_5NOP();_5NOP();VIO=P5IN&0X10; /确认 VIO=P5.4_5NOP();_5NOP();if(VIO=0)Turn_On_Gprs();/=/函数:Variable_Initial(void)/功能:有关变量初始化/输入:/输出:/=void Variable_Initial(void)Signalmscnt=0;Ring_Counter=0;Received_Read_Msg_Flag=0;nMinute_Beat_Flag=0;Connect_Counter=0;Command_Data_Status=0;Beat_Rcv_Fail=2;First_Connect_Flag=1;/第一次连接标志Inqury_Signal_Flag=0;Terminal_Request_Flag=0;Beat_Test_Fail=0;Beat_Test_Start=0;Beat_Test_Interval=2000;/心跳等待时间间隔。 Heart_Beat_Interval=6000;Second=0;Minute=0;Rx1_Time_Interval=4;Msg_Snd_Flag=0;Msg_Snd_Success=0;Tel_Ring_Counter=0;Ring_Start_Flag=0;Ring_Time=0;Zj_Protocol_Flag=1;/浙江规约SMS_Counter=0;Load_Master_Flag=0;Heart_Flag=0;No_Carrier_Flag=0;Signal_Val=13;/=/函数:Data_Status(void)/功能:数据状态时有关变量状态。/输入:/输出:/=void Data_Status(void)char i;char CheckSum=0;char Temp_Load=0X68,0X91,0X01,0X07,0X1A,0X1E,0X00,0X68,0XA1,0X03,0X00,0X11,0X11,0X11,0X00,0X16;Command_Data_Status=0;Heart_Beat_Interval=6000;Ring_Counter=0;First_Connect_Flag=0;Beat_Test_Fail=0;Beat_Test_Start=0;Minute2_Interval=12000;Minute2_Interval_Flag=0;Terminal_Request_Flag=0;nMinute_Beat_Flag=0;Connect_Counter=0;Tel_Ring_Counter=0;Second=0;Minute=0;Heart_Flag=0;No_Carrier_Flag=0;if(Work_Mode=0x01)&(Zj_Protocol_Flag=0)_NOP();Heart_Beat();Delay(50);Heart_Beat();if(Work_Mode=0x01)&(Zj_Protocol_Flag=1) & (Load_Master_Flag=0)/浙江规约登陆请求 Load_Master_Flag=0;Delay(50);for(i=0;i=15;i+)Temp_cArrayi=Temp_Loadi;/*for(i=0;i=3;i+)/终端地址Temp_cArrayi+1=(Terminal_SIMi*2+1-0x30)4)+(Terminal_SIMi*2-0x3 */ / hunter term addressfor(i=0;i=13;i+)/校验和CheckSum+=Temp_cArrayi;Temp_cArray14=CheckSum;Delay(100);Tx_Head=Temp_cArray0;Data_Cmnd_Snd(15,&Temp_cArray1,1,5);/*Delay(200);Tx_Head=Temp_cArray0;Data_Cmnd_Snd(15,&Temp_cArray1,1,5);*/Beat_Test_Start=1;Beat_Test_Interval=12000;/20秒钟自动检测心跳Beat_Test_Fail=0;Beat_Rcved_Flag=0;_NOP();/=/函数:Inqury_Signal()/功能:查询当前GSM信号强度/输入:/输出:/=void Inqury_Signal(void)char *AT_CSQ=AT+CSQr;/检测信号强度。char i,CheckSum=0;char Inqury_Counter=3;char Temp;Inqury_Again:;Temp=Signal_Val;Inqury_Signal_Flag=0;AT_Set_Ok=0;Rx1_Pointer=0;Rx1_TimeOut_Flag=0;Tx_Head=AT_CSQ0;Data_Cmnd_Snd(6,&AT_CSQ1,1,40); /查寻信号强弱命令Delay(200);for(i=0;i=2)&(Rx1_Data_Bufferi+7-48)20)P2OUT|=0X01;P1OUT|=0X10;Signal_Val=Rx1_Data_Bufferi+6-48;/十位BCD码Signal_Val=Signal_Val0x31)Signal_Val=0x31;goto Signal000;if(Rx1_Data_Bufferi+;/接收超时标志6-48)=AT_Set_Ok=1;P2OUT&=0XFE;/LED5亮、中。(1020) P1OUT|=0X90;Signal_Val=Rx1_Data_Bufferi+6-48;/十位BCD码 Signal_Val=Signal_Val0x19)Signal_Val=0x19;goto Signal000;if(Rx1_Data_Bufferi+7=,)/信号强度小于10 AT_Set_Ok=1;P1OUT&=0XEF;/LED6亮、低。(9)Signal_Val=0x09;goto Signal000;Signal000:if(AT_Set_Ok=0)Signal_Val=0x00;AT_Set_Ok=0;if(Signal_Val=0x00)if(Inqury_Counter-)!=0)for(i=0;i4)&0X0F)+0X30; for(i=0;i4)&0X0F)+0X30; for(i=0;i=20;i+)/计算校验和CheckSum+=User_Datai;User_Data21=CheckSum;User_Data22=0x16;Data_Cmnd_Snd(22,User_Data,0,5);/向串口0发送信号强度数据,发送长度22 P5OUT|=0x80;/接收指示灯灭。Rx1_TimeOut_Flag=0;/=/函数:Rd_Parameter_Initial()/功能:从EEPROM中读取工作参数、IP地址、端口、SMS号码等/ 初始化波特率、定时器等/输入参数:/输出参数:/=char Read_Parameters_Initial(char Address)char i,j;Uint Temp2;char *Cgdcont=AT+CGDCONT=1,; /设置PDP通道 WDTCTL=WDTPW+WDTCNTCL;Rd_Data(Address,91,Temp_iArray);/读取0x06通讯口配置参数。if(Temp_iArray0=0x2f)/寻找数据头if(Temp_iArray2=90)&(Temp_iArray5=0xfd)/判断数据长度、功能码是否为设置命 for(i=0;i=90;i+)Temp_cArrayi=Temp_iArrayi;Cal_Crc(&Temp_cArray1,88);/计算CRCTemp2=Temp_cArray89;/比较CRCTemp2=Temp28;Temp2=Temp2+Temp_cArray90;if(CRC=Temp2)/若CRC相等,则读出的数据正确。 Read_Flag=1; /从EEPROM中读取的数据正确。 Work_Mode=Temp_cArray6;/工作模式for(i=0;i=12;i+)/读取APN名称.AT_CGDCONTi=*(Cgdcont+i);/=AT+CGDCONT=1, AT_CGDCONT13=AT_CGDCONT16=0X22; AT_CGDCONT14=I;AT_CGDCONT15=P;AT_CGDCONT17=,;AT_CGDCONT18=0X22;for(i=0;i=19;i+)/读取APN名称.if(Temp_cArray7+i!=0xFF)AT_CGDCONTi+19=Temp_cArray7+i; elsebreak;AT_CGDCONTi+19=0x22;AT_CGDCONTi+20=0x0d;for(j=i+21;j=39;j+)/后面填零,以便计算长度. AT_CGDCONTj=0;WDTCTL=WDTPW+WDTCNTCL;/=以下装入IP地址= for(i=0;i=10;i+)/IP地址的AT命令。 AT_OpenIp0i=OpenIpi;/AT_OpenIp011=;AT_OpenIp027=;AT_OpenIp015=.;AT_OpenIp019=.;AT_OpenIp023=.;AT_OpenIp028=,;AT_OpenIp034=0x0d;for(i=0;i=2;i+)/*.*.*.*IP地址格式。 AT_OpenIp012+i=Temp_cArray27+i; for(i=0;i=2;i+)/*.*.*.*IP地址格式。 AT_OpenIp016+i=Temp_cArray30+i;for(i=0;i=2;i+)/*.*.*.*IP地址格式。 AT_OpenIp020+i=Temp_cArray33+i;for(i=0;i=2;i+)/*.*.*.*IP地址格式。 AT_OpenIp024+i=Temp_cArray36+i;for(i=0;i=4;i+)/数据服务中心通信端口号。 AT_OpenIp029+i=Temp_cArray39+i;/=IP地址处理结束=。TCP_UDP=Temp_cArray44;/网络数据传输协议。 Heart_Beat_Time=Temp_cArray56;/心跳周期for(i=0;i=5;i+)PassWordi=Temp_cArray57+i;/模块设置密码 for(i=0;i=5;i+)Terminal_SIMi*2+1=Temp_cArray45+i*2;/数据终端手机号码,位置交换。 Terminal_SIMi*2=Temp_cArray45+i*2+1; Center_SIMi*2+1=Temp_cArray74+i*2; /短信通信手机号码。位置交换。 Center_SIMi*2=Temp_cArray74+i*2+1;Data_Center_Simi*2+1=Temp_cArray74+i*2;/报警数据中心手机号码。位置交换 Data_Center_Simi*2=Temp_cArray74+i*2+1; Terminal_SIM10=F;Center_SIM10=F;Data_Center_Sim10=F;WDTCTL=WDTPW+WDTCNTCL;for(i=0;i=3;i+)/短信服务中心号码的区号SCA_SIMi=Temp_cArray63+4+i;_NOP();if(Read_Flag=0)/若未进行初始化过或读取参数不对,则工作于GSM+SMS模式、9600波特率。 Work_Mode=0x02;WDTCTL=WDTPW+WDTCNTCL;_3NOP();Timer_Initial(); /初始化TIMERA。_3NOP();USART0_Initial();_3NOP();USART1_Initial();/串行口1初始化:无校验,9600、8位数据位、1位停止位。_3NOP();_EINT(); /开放全局中断_3NOP();WorkMode_Initial_Log();/初始化GPRS工作方式、登陆CMNET、连接中心IP等。return Read_Flag;/=/函数:WorkMode_Initial_Log()/功能:GPRS工作模式初始化、连接(若工作于GPRS模式)/输入参数:/输出参数:/=void WorkMode_Initial_Log(void)char i;char *AT_CNMI=AT+CNMI=3,2,0,1r;/SMS串口接收char AT_CNMI0116=A,T,+,C,N,M,I,=,3,1,0,0,0x0D char AT_CBST15=A,T,+,C,B,S,T,=,7,0,1,0X0D;/数据 char AT_CPMS0123=A,T,+,C,P,M,S,=,S,M,S,M,S,M,0X0D;char *AT_CRC=AT+CRC=1r;/区分是语音来电、还是数据来电。char *AT_S00=ATS0=0r;char *AT_S02=ATS0=2r;char *AT_IpParameters=AT*E2IPS=2,10,1,512r;/等待2秒,重试10次,100毫秒,缓冲区512 char AT_SCA25=A,T,+,C,S,C,A,=,+,8,6,1,3,8,0,0,5,7,1,5,0,0,0x0d; char *AT_Ring=AT*E2SMSRI=500r;/char *AT_PRn=AT*EPNR=2,1,8r;WDTCTL=WDTPW+WDTCNTCL;SMS_Mode=0xFF;/SMS_Index=0;Command_Data_Status=0;/在命令行状态。AT_Test_Flag=0;First_Connect_Flag=1;Read_SMS_Time=60000;/10;P1OUT|=0X40;P2OUT|=0X02;for(i=0;i=3;i+)AT_SCA16+i=SCA_SIMi;for(i=0;i=3;i+)Gprs_At_Command(sizeof(AT)+1,AT,30);/AT命令,测试GPRS.if(AT_Test_Flag=0)/若AT测试命令没有返回并且GPRS电源打开。P4OUT|=0X02; /回到命令状态。Delay(200);TXBUF1=0X1B;Delay(10);Gprs_At_Command(sizeof(AT_3Plus)+1,AT_3Plus,30);elsebreak;Gprs_At_Command(12,AT_Ech
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 豫剧花木兰课件
- 2025年度数据中心内部设备安装合同协议
- 2025版汽车维修厂维修车间维修技师劳动合同范本
- 2025年度个人信用贷款担保及审核合同
- 2025版跨国企业外教引进与海外员工语言提升服务合同
- 2025年车辆抵押借款合同关键条款分析
- 2025代持股权转让与公司战略调整合作协议
- 2025大型设备运输合同范本
- 2025年版云南省劳动合同范本下载
- 红绿灯课件教学课件
- 加油、加气、充电综合站项目可行性研究报告
- 2025保密协议范本:物流行业货物信息保密
- 塔机拆卸合同范本
- 2024-2025学年广东省深圳市南山区四年级(下)期末数学试卷
- 《煤矿安全规程(2025版)》知识培训
- 2025秋数学(新)人教五年级(上)第1课时 小数乘整数
- 半导体行业面试问题及答案解析
- 《数字技术应用基础模块》技工中职全套教学课件
- 房屋拆除专项施工方案(3篇)
- AutoCAD电气工程制图 课件 项目1 低压配电柜的绘制与识图
- 2025至2030年中国绿色船舶行业发展前景预测及投资方向研究报告
评论
0/150
提交评论