无线传感网络优秀课程设计.docx
《无线传感网络优秀课程设计.docx》由会员分享,可在线阅读,更多相关《无线传感网络优秀课程设计.docx(102页珍藏版)》请在咨信网上搜索。
无线传感网络 课程设计汇报 姓名:胡韶辉 胡衎 学号: 班级:物131班 指导老师:卫琳娜 1月1日 无线传感网络课程设计 试验一、无线传感网络点对点通信试验 1. 试验内容 此试验为验证试验,依据试验步骤进行试验,观察结果是否和预期相符 2.试验步骤 用IAR8.1打开路径:C:\Users\xs\Desktop\无线传感器网络课程设计\无线传感网试验资料04\感知RF2-2530WSNV1.2\代码和例子程序\Light_Switch\IDE\Light_Switch\srf05_cc2530\Iar\Light_Switch.eww分别编译并下载至两个节点上,打开节点,左右键选择<device1>/<device2>,选择完成后按中间键确定,观察LED灯显示情况。 3.试验代码及分析 /* 功 能:查找字符在索引中哪一个位置 */ /**************************************************************************************************/ static u16 lookforChar( u8 ch ) { uint16 i; for( i = 0; i < FONTLISTCOUNT; i ++ ) { if( fontList[i] == ch ) return i; } return i; } //查汉字 static u16 lookforChar16( u16 ch ) { uint16 i,j; u16 temp16; for( i = 0; i < fontChar16ListCount; i ++ ) { j = i*2; temp16 = fontChar16List[j + 1]; temp16 <<= 8; temp16 |= fontChar16List[j]; if( temp16 == ch ) return i; } return i; } /**************************************************************************************************/ /* 功 能:在指定位置输出8*8 */ /**************************************************************************************************/ static void LcdPutChar8( u8 x,u8 y,u8 ch ) { LcdBuf[y][x] = ch; } /**************************************************************************************************/ /* 功 能:在指定位置输出16*16 */ /**************************************************************************************************/ /*static void LcdPutChar16( u8 x,u8 y,u16 ch ) { LcdBuf[y][x] = (u8)ch; //低前高后 LcdBuf[y+1][x] = (u8)(ch>>8); } void LcdPutString8( u8 x,u8 y,u8 *ptr u8 len,u8 op ) { u8 i,*tptr = ptr,xx = x,yy = y; u16 m; if( x > 95) return ; if( y > 1) return ; for( i = 0;i < len; i ++ ) { m = lookforChar(*tptr ++); if( m != FONTLISTCOUNT ) { m = m * 8; } else return; xx += 8; if( xx > 88 ) return; } } */ void LcdClearRam( void ) { u8 i; for( i = 0;i < 96;i ++ ) { LcdBuf[0][i] = 0; } for( i = 0;i < 96;i ++ ) { LcdBuf[1][i] = 0; } } void LcdClearScrean( void ) { LcdClearRam(); PutPic( (void *)LcdBuf ); } void LcdPutString16_8( u8 x,u8 y,u8 *ptr,u8 len,u8 op ) { u8 i,j,*tptr = ptr,xx = x,yy = y; u16 m; if( xx > 95) return ; if( yy ) return ; for( i = 0;i < len; i ++ ) { m = lookforChar(*tptr ++); if( m != FONTLISTCOUNT ) { m = m * 16; for( j = 0;j < 8;j ++ ) { if(op) { LcdPutChar8( (xx + j),yy,font[m+j] ); LcdPutChar8( (xx + j),yy+1,font[m+j+8] ); } else { LcdPutChar8( (xx + j),yy,~font[m+j] ); LcdPutChar8( (xx + j),yy+1,~font[m+j+8] ); } } } else break; xx += 8; if( xx > 96 ) return; } PutPic( (void *)LcdBuf ); } //显示16*16字符 void LcdPutString16_16( u8 x,u8 y,u8 *ptr,u8 len,u8 op ) { u8 i,j,*tptr = ptr,xx = x,yy = y; u16 m; if( xx > 95) return ; if( yy ) return ; for( i = 0;i < len; i ++ ) { m = lookforChar(*tptr ++); if( m != FONTLISTCOUNT ) { m = m * 32; for( j = 0;j < 16;j ++ ) { if(op) { LcdPutChar8( (xx + j),yy,font[m+j] ); LcdPutChar8( (xx + j),yy+1,font[m+j+16] ); } else { LcdPutChar8( (xx + j),yy,~font[m+j] ); LcdPutChar8( (xx + j),yy+1,~font[m+j+16] ); } } } else break; xx += 16; if( xx > 80 ) return; } PutPic( (void *)LcdBuf ); } static void LcdPrint8( u8 x,u8 y,u8 vl,u8 op ) { u8 j; u16 m; m = lookforChar( vl ); if( m != FONTLISTCOUNT ) { m = m * 16; for( j = 0;j < 8;j ++ ) { if(op) { LcdPutChar8( (x + j),y,font[m+j] ); LcdPutChar8( (x + j),y+1,font[m+j+8] ); } else { LcdPutChar8( (x + j),y,~font[m+j] ); LcdPutChar8( (x + j),y+1,~font[m+j+8] ); } } } } static void LcdPrint16( u8 x, u8 y, u16 val, u8 op ) { u8 j; u16 m; m = lookforChar16( val ); if( m != fontChar16ListCount ) { m = m * 32; for( j = 0;j < 16;j ++ ) { if(op) { LcdPutChar8( (x + j),y,fontChar16[m+j] ); LcdPutChar8( (x + j),y+1,fontChar16[m+j+16] ); } else { LcdPutChar8( (x + j),y,~fontChar16[m+j] ); LcdPutChar8( (x + j),y+1,~fontChar16[m+j+16] ); } } } } void LcdPutDispBuf( u8 x,u8 y,OledCodeDataType *ptr,u8 op ) { u8 tcount = x; OledCodeDataType *tptr = ptr; u16 temp16; if( x > 88 ) return ; if( y > 1 ) return; while( (*tptr != '\0') && ( tcount <= 88) ) { if(*tptr < 127) //显示ASIC码 { LcdPrint8( tcount,y,*tptr,op ); tptr ++; tcount += 8; } else //显示汉字 { temp16 = tptr[1]; temp16 <<= 8; temp16 |= tptr[0]; LcdPrint16( tcount,y,temp16,op ); tptr += 2; tcount += 16; } } PutPic( (void *)LcdBuf ); } //实现中英文混合显示 void LcdPutDisp( u8 x,u8 y,OledCodeDataType *ptr,u8 op ) { u8 tcount = x; OledCodeDataType *tptr = ptr; u16 temp16; if( x > 88 ) return ; if( y > 1 ) return; while( (*tptr != '\0') && ( tcount <= 88) ) { if(*tptr < 127) //显示ASIC码 { LcdPrint8( tcount,y,*tptr,op ); tptr ++; tcount += 8; } else //显示汉字 { temp16 = tptr[1]; temp16 <<= 8; temp16 |= tptr[0]; LcdPrint16( tcount,y,temp16,op ); tptr += 2; tcount += 16; } } PutPic( (void *)LcdBuf ); } //从右往左输出一组字符并移运显示 void LcdPutScDispRtoL( OledCodeDataType *ptr,u8 op,u16 dl ) { OledCodeDataType *tptr = ptr; u16 temp16; // LcdClearRam(); while( *tptr != '\0' ) { if(*tptr < 127) //显示ASIC码 { memcpy(LcdBuf[0],&LcdBuf[0][8],88); memcpy(LcdBuf[1],&LcdBuf[1][8],88); LcdPrint8( 88,0,*tptr,op ); tptr ++; } else //显示汉字 { memcpy(LcdBuf[0],&LcdBuf[0][16],80); memcpy(LcdBuf[1],&LcdBuf[1][16],80); temp16 = tptr[1]; temp16 <<= 8; temp16 |= tptr[0]; LcdPrint16( 80,0,temp16,op ); tptr += 2; } PutPic( (void *)LcdBuf ); LcdDelay( dl ); } } void LcdPutScDispRtoL12( OledCodeDataType *ptr,u8 op,u16 dl ) { OledCodeDataType *tptr = ptr; u16 i,temp16; for( i = 0;i < 12;) { if(*tptr < 127) //显示ASIC码 { memcpy(LcdBuf[0],&LcdBuf[0][8],88); memcpy(LcdBuf[1],&LcdBuf[1][8],88); LcdPrint8( 88,0,*tptr,op ); tptr ++; i ++ ; } else //显示汉字 { memcpy(LcdBuf[0],&LcdBuf[0][16],80); memcpy(LcdBuf[1],&LcdBuf[1][16],80); temp16 = tptr[1]; temp16 <<= 8; temp16 |= tptr[0]; LcdPrint16( 80,0,temp16,op ); tptr += 2; i +=2; } PutPic( (void *)LcdBuf ); LcdDelay( dl ); } } //从左往右 void LcdPutScDispLtoR12( OledCodeDataType *ptr,u8 op,u16 dl ) { OledCodeDataType *ttptr,*tptr = ptr; u16 temp16; u8 i,len,tempbuf[2][96]; len = 12; tptr = ptr+11; for( i = 0; i < len; ) { if( *(tptr)< 127 ) //显示ASIC码 { memcpy(&tempbuf[0][0],&LcdBuf[0][0],96 ); memcpy(&tempbuf[1][0],&LcdBuf[1][0],96 ); memcpy(&LcdBuf[0][8],&tempbuf[0][0],88); memcpy(&LcdBuf[1][8],&tempbuf[1][0],88); LcdPrint8( 0,0,*tptr,op ); tptr --; i ++; } else //显示汉字 { memcpy(&tempbuf[0][0],&LcdBuf[0][0],96 ); memcpy(&tempbuf[1][0],&LcdBuf[1][0],96 ); memcpy(&LcdBuf[0][16],&tempbuf[0][0],80); memcpy(&LcdBuf[1][16],&tempbuf[1][0],80); ttptr = tptr; temp16 = *ttptr; temp16 <<= 8; ttptr = tptr-1; temp16 |= *ttptr; LcdPrint16( 0,0,temp16,op ); tptr -= 2; i += 2; } PutPic( (void *)LcdBuf ); LcdDelay( dl ); } } void LcdPutScString( OledCodeDataType *ptr,u8 op,u8 rl,u16 dl ) { switch( rl ) { case LIFT_SC: LcdPutScDispLtoR12( ptr,op,dl ); break; case RIGHT_SC: LcdPutScDispRtoL12( ptr,op,dl ); break; default:break; } } void LcdPutPic( u8 x, u8 y,u8 w,u8 h,OledCodeDataType *ptr,u8 op ) { u8 i; OledCodeDataType *tptr = ptr; if( (x > 95) || ((x + w) > 96) ) return; if( (y > 1) || ((y + h) > 2)) return; for( i = 0;i < w; i ++ ) { if(op) { LcdBuf[y][x + i] = *tptr ; if( h == 2 ) LcdBuf[y+1][x + i] = *(tptr+w); tptr ++; } else { LcdBuf[y][x + i] = ~*tptr ; if( h == 2 ) LcdBuf[y+1][x + i] = ~*(tptr+w); tptr ++; } } PutPic( (void *)LcdBuf ); } //整屏滑动显示 void LcdPutScPic( OledCodeDataType *ptr, u8 op,u8 qp,u16 dl ) { u8 i,j; u8 tempbuf[2][96]; if(qp) { for( i = 0 ;i < 96; i ++ ) { tempbuf[0][i] = *ptr++; } for( i = 0 ;i < 96; i ++ ) { tempbuf[1][i] = *ptr++; } } else { for( i = 0 ;i < 96; i ++ ) { tempbuf[0][i] = ~*ptr++; } for( i = 0 ;i < 96; i ++ ) { tempbuf[1][i] = ~*ptr++; } } switch( op ) { case RIGHT_SC: //右边 for( i = 0; i < 8; i ++ ) { for(j = 0;j < 84; j ++ ) { LcdBuf[0][95-j] = LcdBuf[0][83 - j]; LcdBuf[1][95-j] = LcdBuf[1][83 - j]; } for( j = 0;j < 12; j ++ ) { LcdBuf[0][11-j] = tempbuf[0][95 - j]; LcdBuf[1][11-j] = tempbuf[1][95 - j]; } for(j = 0;j < 84; j ++ ) { tempbuf[0][95-j] = tempbuf[0][83 - j]; tempbuf[1][95-j] = tempbuf[1][83 - j]; } PutPic( (void *)LcdBuf ); } LcdDelay( dl ); break; case LIFT_SC: //左边 for( i = 0; i < 8; i ++ ) { for(j = 0;j < 84; j ++ ) { LcdBuf[0][j] = LcdBuf[0][j + 12]; LcdBuf[1][j] = LcdBuf[1][j + 12]; } for( j = 0;j < 12; j ++ ) { LcdBuf[0][95-j] = tempbuf[0][11-j]; LcdBuf[1][95-j] = tempbuf[1][11-j]; } for(j = 0;j < 84; j ++ ) { tempbuf[0][j] = tempbuf[0][j+12]; tempbuf[1][j] = tempbuf[1][j+12]; } PutPic( (void *)LcdBuf ); } LcdDelay( dl ); break; default: break; } } void LcdPutString16_8_R( u8 *ptr,u8 op) { u8 i,x=0; for(i=0;i<12;i++) { x=88-i*8; LcdPutString16_8( x,0,ptr,i+1,op ); LcdDelay(100); } } 4.试验总结 此试验室实现两个节点间通信,能够输出汉字或英文,或中英文混合输出。其关键原理是经过ASIC将中英文转换,经过字符串拼凑输出。 试验二、光照传感器试验 1.试验内容 1.了解光照采集原理 2.学习 CDS 光照传感器从而掌握光照传感器原理 3.掌握“传感器节点板”模块原理和使用方法。 2.试验步骤 第一步:把“代码和例子程序\Zigbee 多传感器”内文件夹 “ZStack-CC2530-2.2.0-1.3.0MS”“”复制至 IAR 安装盘根目录(如 C:\ Texas Instruments)下。使用 IAR7.51 打开“Projects\zstack\Samples\SampleApp\CC2530 DB”中工程文件“SampleApp.eww”。 第二步:打开工程后选择对应设备类型 打开工程后以下右图所表示选择目前要烧写设备类型。 打开后工程文件 工程名称 ZigBee 网络功效 CC2530-WSN 节点功效 CoordinatorEB-Pro 协调器 网关 RouterEB-Pro 路由器 路由器节点、传感器节点 EndDeviceEB-Pro 终端节点 传感器节点 第三步:编译工程并下载到目标板。 点击菜单 Project,选择“Rebuild All”,等候一会儿工程文件编译完成。等 待一会儿工程文件编译完成把仿真器和网关经过仿真器下载线连接起来。确保仿 真器和计算机、仿真器和网关底板连接正确,ZigBee 无线模块正确地插在网关 底板后。 点击菜单 Project,选择“Debug”,或点击以下图标,等候一会儿即完成程 序下载 反复进行第二步和第三步,将“RouterEB-Pro”设备对应程序下载到带传 感器模块传感器节点底板中(SMBD-V11-1) 第四步:修改 IEEE 地址。在物理地址烧写软件中首先经过“Read IEEE”把物 理地址(IEEE 地址)读出来,假如节点物理地址为“0XFF FF FF FF FF FF FF FF” 或在网络中有相同地址,则需要经过“Write IEEE”修改 ZigBee 网络节点物 理地址,在此例中,我们把网关物理地址修改“0x31,0x30,0x30,0x30,0x30,0x30, 0x30,0x30”。根据第二步至第四步方法下载传感器节点模块程序,选择 “RouterEB”或“EndDevice”,如有多组在同一试验室进行试验,请修改为各 不相同 IEEE 地址。 第五步:获取和查看光照传感器数据 用 USB 线连接上 PC 机跟网关,打开“代码和例子程序\Zigbee 多传感 器\无线龙 ZigBee 演示软件 V1.21(串口用)”目录下“无线龙 ZigBee 演示软件 V1.21(串口用).exe”软件。 经过设备管理器查看对应设备串口号是多少,图所表示为 COM3。在监控 软件中选择“COM 端口”COM3,波特率:38400,点击“打开串口”。正确打开串口后,选择网络拓扑图,确保网关和计算机正确连接。 3.试验代码和分析 case 4://一般温度、光敏、蜂鸣器 if(DispState == 0) { LcdPutString16_8(0, 0, (void*)" Temp/Light ", 12 , 1); } else if(DispState == 1) { temp = ReadTc77(); //读取温度 sprintf(msg,"TEMP:%2d ",temp); LcdPutString16_8(0, 0, (void*)msg, 12 , 1); } else if(DispState == 2) //读取光照 { temp = ReadSensorAdc(1); sprintf(msg,"Light:%03d ",temp); LcdPutString16_8(0, 0, (void*)msg, 12 , 1); } break; 经过 ADC 读取光敏传感器值: temp = ReadSensorAdc(1); //读取光敏传感器值 ReadSensorAdc 子函数在“ Components\hal\target\CC2530EB”目录下 Sensor.c 文件中 temp = HalAdcRead(channel,HAL_ADC_RESOLUTION_8); channel à 光敏传感器对应 AD 通道 P01 HAL_ADC_RESOLUTION_8 à 采集分辨率 8Bit ADC 采 集 子 函 数 在 在 “Components\hal\target\CC2530EB ” 目 录 下 “ hal_adc.c”文件 /****************************************************************************** ******************** * @fn HalAdcRead * * @brief Read the ADC based on given channel and resolution * * @param channel - channel where ADC will be read * @param resolution - the resolution of the value * * @return 16 bit value of the ADC in offset binary format. * Note that the ADC is "bipolar", which means the GND (0V) level is mid-scale. ******************************************************************************* *******************/ uint16 HalAdcRead (uint8 channel, uint8 resolution) { int16 reading = 0; #if (HAL_ADC == TRUE) uint8 i, resbits; uint8 adctemp; volatile uint8 tmp; uint8 adcChannel = 1; /* * If Analog input channel is AIN0..AIN7, make sure corresponing P0 I/O pin is enabled. The code * does NOT disable the pin at the end of this function. I think it is better to leave the pin * enabled because the results will be more accurate. Because of the inherent capacitance on * pin, it takes time for the voltage on the pin to charge up to its steady-state level. If * HalAdcRead() has to turn on the pin for every conversion, the results may show a lower voltage * than actuality because the pin did not have time to fully charge. */ if (channel < 8) { for (i=0; i < channel; i++) { adcChannel <<= 1; } } /* Enable channel */ ADCCFG |= adcChannel; /* Convert resolution to decimation rate */ switch (resolution) { case HAL_ADC_RESOLUTION_8: resbits = HAL_ADC_DEC_064; break; case HAL_ADC_RESOLUTION_10: resbits = HAL_ADC_DEC_128; break; case HAL_ADC_RESOLUTION_12: resbits = HAL_ADC_DEC_256; break; case HAL_ADC_RESOLUTION_14: default: resbits = HAL_ADC_DEC_512; break; } /* read ADCL,ADCH to clear EOC */ tmp = ADCL; tmp = ADCH; /* Setup Sample */ adctemp = ADCCON3; adctemp &= ~(HAL_ADC_CHN_BITS | HAL_ADC_DEC_BITS | HAL_ADC_REF_BITS); adctemp |= channel | resbits | HAL_ADC_REF_VOLT; /* writing to this register starts the extra conversion */ ADCCON3 = adctemp; /* Wait for the conversion to be done */ while (!(ADCCON1 & HAL_ADC_EOC)); /* Disable channel after done conversion */ ADCCFG &= (adcChannel ^ 0xFF); /* Read the result */ reading = (int16) (ADCL); reading |= (int16) (ADCH << 8); /* Treat small negative as 0 */ if (reading < 0) reading = 0; switch (resolution) { case HAL_ADC_RESOLUTION_8: reading >>= 8; break; case HAL_ADC_RESOLUTION_10: reading >>= 6; break; case HAL_ADC_RESOLUTION_12: reading >>= 4; break; case HAL_ADC_RESOLUTION_14: default: break; } #else // unused arguments (void) channel; (voi- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 无线 传感 网络 优秀 课程设计
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文