基于单片机语音智能密码锁设计_第1页
基于单片机语音智能密码锁设计_第2页
基于单片机语音智能密码锁设计_第3页
基于单片机语音智能密码锁设计_第4页
基于单片机语音智能密码锁设计_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

百度文库-让每个人平等地提升自我百度文库-让每个人平等地提升自我PAGEPAGE38百度文库-让每个人平等地提升自我PAGE一、设计任务及要求:设计任务:设计一个具有设置数字密码任设、存储、画面显示、语言播报以及具有报警功能的密码锁。要求:1.密码由六位数字组成,可以由用户自定义设置。2.密码锁具有语言播报和状态显示功能。3.一次性只允许三次密码输入操作,支持密码修改。4.具有报警功能。指导教师签名2013年月日二、指导教师评语:指导教师签名:2013年月日三、成绩验收盖章2013年月日目录目录 31设计目的 12设计的主要内容和要求 13整体设计方案 14硬件电路设计 2系统总电路的设计 25V直流稳压电源模块 3控制电路的设计 4语音模块电路的设计 4信号输入电路的设计 5密码贮存电路的设计 6LCD显示电路的设计 7继电器模拟锁模块及蜂鸣器报警模块 75软件程序设计 86系统仿真 14系统仿真环境及参数设置 14系统仿真结果及其分析 147利用说明 198设计总结 19参考文献 20附件 21语音智能密码锁的设计1设计目的本文所设计的智能密码锁系统是以89C52为中心控制器、4*4键盘收集输入信号、用24C04芯片对设定的密码进行保留,同时设有SX6288组成的语音模块,通过LCD、LED灯和语音模块直观的显示密码锁所处状态。用户能够自概念设置六位的数字密码,并有三次输入密码的机缘,当密码输入错误时密码锁将会发出报警声,当三次输入密码错误时,密码锁将进行键盘锁定一段时刻。2设计的主要内容和要求LCD能够及时显示密码锁的状态信息。语音模块能够播报密码锁状态。能够设定初始密码,支持密码修改。能够快速、准确的收集键盘上的输入信息。用24C04芯片进行设定密码和保留。当密码输入错误时,系统自行报警,并在持续输入超过三次密码错误时,将对键盘锁定一段时刻。设计一个5V的稳固电源,给系统供电。8)系统自概念强,工作稳固、安全。3整体设计方案本文设计的语音智能密码锁系统框图如图所示。系统主要分为电源模块、控制模块、语音模块、密码保留模块、LCD显示模块、模拟锁和蜂鸣器报警模块组成。图智能密码锁系统框图本系统分为写初始密码和密码锁工作两部份。1)写密码部份:开始时LCD显示初始化状态,进键盘扫描,当按下C键后,能够自概念设定六位的密码,当按下D键时,LCD显示所设密码。2)密码锁工作部部份:开始时LCD显示初始状态,锁处于关的状态,红色LED亮,等待键盘扫描。按下A键后,蜂鸣器响三声,LCD显示请输入密码提示进入开锁进程,现在有三次输入密码机缘。若输入密码正确,将有蜂鸣器将会响四声,LCD显示锁已打开,红色LED灭、绿色LED亮四种方式提示成功开锁,现在,锁处于已开锁状态。以后若按下E键系统将会进入初始状态;若是现在按下B键,系统将会进入重设密码进程,能够自概念重设六位的数字密码,设定后按下E键,系统进入初始状态。若输入密码错误,蜂鸣器将会发出报警声,持续三次输入错误密码,系统将会对键盘锁定一段时刻,按下E键后,系统进入读密码初始状态。4硬件电路设计系统总电路的设计本系统原理图如图所示:图系统电路原理图在设计本系统硬件时,主要有以下电路模块:+5V直流稳压电源模块;系统硬件将采用AT89C52单片机为控制部份;SX6288中文语音合成播报模块;以4*4矩阵键盘为信号输入模块;采用24C04芯片作为保留密码模块;LCD显示电路模块;继电器模拟锁模块及蜂鸣器报警模块。直流稳压电源模块系统5V直流电源图电路供电,它的工作进程如下:220V市电通过变压器降压为9V,经电容滤波变成光滑的电压,最后通过7805三端稳压器电路降压,再滤波最终取得5V的直流电源。从而保证芯片在正常电压范围内工作,保证了整个电路的正常工作。图直流稳压电源电路原理图控制电路的设计本设计系统采用AT89C52单片机作为总控制电路,如图所示。本单片机具有40个引脚,6个中断源,20个I/O接口。本设计以P0和P2、P3端口作为信号输出口,P1端口作为信号收集输入口,通过C语言编程对其进行控制,本设计利用其集成度高,体积小,开发性能好,控制能力强,靠得住性强的特点使智能密码锁工作稳固安全。图单片机电路图语音模块电路的设计本语音模块包括:控制模块、SX6288A语音合成芯片、数据库芯片spiflash、功放模块和喇叭。主控制器和SX6288A之间通过UART接口连接,控制器通过通信接口SX6288A发送控制命令和文本,SX6288A把接收到的文本转化为语音信号输出,输出的信号通过功率放大器进行放大后接到喇叭进行播放。SX6288A具有音质好、自然度高、利用方式简单、合成速度快、价钱低等特点,支持GB231二、GBK、BIG5和UNICODE内码格式的文本,支持多种通信波特率。实物图如图所示:图语音模块实物图从左至右引脚名称和说明如下:SP+:欧姆的扬声器正级。SP-:欧姆的扬声器正级。BUSY:语音处置忙信号,忙为高电平,不忙为低电平。TX:模块的串行数据发送端,连接单片机RXD引脚。RX:模块的串行数据接收端,连接单片机TXD引脚。GND:电源地GND。VCC;电源直流电。信号输入电路的设计本设计利用4*4矩阵键盘作为信号电路,其电路图如图所示:图4*4键盘信号输入电路的设计单片机通过对4*4键盘扫描,收集输入指令,从而使单片机完成相应数据处置。4*4矩阵键盘工作原理如下:4*4矩阵键盘采用逐行扫描法,依次从第一至最末行线上发出低电平信号,若是该行线所连接的键没有按下的话,则列线所接的端口取得的是全“1”信号,若是有键按下的话,则取得非全“1”信号。然后再通过从列线读入的信号来识别是哪一列的按键闭合。为了避免双键多多键同时按下,再以一样的方式往下扫描,一直到最后一行,若发觉仅有一个“1”,则为有效键,不然全数作废。本设计以P1^0-P^3为行扫描信号,在通过P1^4-P^7作为列线读入。对各个按键进行相应功能的设置,单片机对有效键时的信号收集,进而对收集的信号进行处置。密码贮存电路的设计本设计采用AT24C04芯片作为密码保留模块电路,其引脚图如所示。AT24C04是典型的I2C总线结构,具有512bit容量EEPROM存储器,其是一种采用I2C总线接口的串行总线存储器,这种存储器具有体积小、引脚少、功耗低、工作电压范围宽等特点。其具有支持I2C总线协议、占用单片机I/O端口少,芯片扩展方便、读写简单等长处。密码贮存电路如图所示:图AT24C04引脚图图密码贮存电路工作原理:AT24C04传送数据进程中共有三种类型信号:开始信号、停止信号和应答信号。开始信号:SCL维持高电平的状态下,SDA出现下降沿。出现开始信号以后,总线被以为“忙”。停止信号:SCL维持高电平的状态下,SDA出现上升沿。停止信号事后,总线被以为“空闲”。应答信号:接收数据的器件在接收到8位数据后,向发送数据的器件发出特定的低电平脉冲,表示已收到数据。主器件产生开始信号以后,发送的第一个字节为控制字节。前七位为从器件的地址片选信号。最低位为数据传送方向位(高电平表示读从器件,低电平表示写从器件),然后发送一个选择从器件片内地址的字节,来决定开始读写数据的起始地址。接着再发送数据字节,能够是单字节数据,也能够是一组数据,由主器件来决定。从器件每接收到一个字节以后,都要返回一个应答信号(ASK=0)。主器件在应答时钟周期高电平期间释放SDA线,转由从器件控制,从器件在那个时钟周期的高电平期间必需拉低SDA线,并使之为稳固的低电平,作为有效的应答信号。在本设计中通过单片机和引脚别离对AT24C04芯片SCL和SDA引脚控制,实行密码数据的读和写,从而完成密码的设定保留。LCD显示电路的设计本设计采用1602液晶作为显示电路,能够进行背光对比度调节,内含复位电路,提供了各类控制命令,如:清屏、字符闪烁、光标闪烁、显示移位等多种功能,有80字节显示数据存储器DDRAM内建有160个5X7点阵的字型的字符发生器CGROM8个可由用户自概念的5X7的字符发生器CGRAM。其电路图如图所示。在本系统中,单片机P0端口作为LCD数据接收口,控制液晶的读写和使能端,完成对液晶的显示控制。图LCD显示电路继电器模拟锁模块及蜂鸣器报警模块在本设计系统顶用继电器断开与闭合模拟锁的开锁与锁定的状态,继电器一个端口接在单片机,当为高电平时,继电器绕线电流通过三极管Q2放大,绕线产生磁效应,吸合衔铁,视为开锁,其电路图如图所示。在报警模块中,通过一个三极管放大电流从而完成蜂鸣器的驱动,当端口为高电平时,蜂鸣器发出响声,低电平时不响。本设计通过对电平频率的控制从而实现不同的响声。其电路图如所示。图模拟锁电路图图报警电路5软件程序设计系统程序设计本系统程序分为两部份,初始写密码程序和密码锁工作程序。如图所示图为写初始密码流程图,图为密码工作流程图。密码输入初始化画面显示密码输入初始化画面显示键盘扫描按键C是否按下Y键盘扫描显示设置密码开始结束按键D是否按下YNN图初始密码程序设定流程图图密码锁工作主程序流程图1)写初始密码部份:LCD显示初始化状态,系统进入键盘扫描,仅当C键按下后,系统进入密码设定阶段,其他键对系统不产生作用,进入设定阶段后,能够自概念设定六位的密码。继续对键盘扫描,当按下D键时,LCD显示所设密码,按下C键能够重设密码,按下其他键是将不会对系统产生影响。其设计流程图如图所示。2)密码锁工作部份产生:LCD显示初始状态,系统进入键盘扫描。仅当按下A键后,蜂鸣器响三声,LCD显示请输入密码提示进入开锁进程,现在有三次输入密码机缘。若密码输入正确,蜂鸣器响四声,LCD显示锁已打开,红色LED灭、绿色LED亮,若按下E键系统将会进入初始状态;若是现在按下B键,系统将会进入重设密码进程,能够自概念重设六位的数字密码,设定后按下E键,系统进入初始状态。若输入密码错误,蜂鸣器将会发出报警声,持续三次输入错误密码,系统将会对键盘锁定一段时刻,按下E键后,系统进入读密码初始状态。其流程图如图所示。主要程序设计1)初始密码设定在程序中包括蜂鸣器驱动子函数、延时子函数、4*4键盘扫描函数、开机液晶显示子函数、写密码子函数、读密码子函数、1602驱动子头文件函数、AT24C04驱动头文件函数(见附件)。其主函数如下所示:voidmain(){uchari;BEEP=0;start: Delay_ms(10);lcd_init();I2C_init();lcd_wcmd(0x00|0x80);i=0;while(line1_data[i]!='\0'){lcd_wdat(line1_data[i]);i++;}lcd_wcmd(0x40|0x80);i=0;while(line2_data[i]!='\0'){lcd_wdat(line2_data[i]);i++;}while(1){P1=0xf0;if(P1!=0xf0){MatrixKey();if(key==0x0c)WriteCode();if(key==0x0d)ReadCode();if(key==0x0e)gotostart;}}}2)密码锁工作函数在程序中包括蜂鸣器驱动子函数、延时子函数、4*4键盘扫描函数、开机液晶显示子函数、写密码子函数、读密码子函数、密码输入错误显示子函数、密码输入正确显示子函数、重设密码子函数、报警鸣声子函数、按时中断子函数、1602驱动子头文件函数、AT24C04驱动头文件函数(见附件)。其主函数如下所示:voidmain(){TMOD=0x21;592MHzTL1=0xfd;ES=1;ex文件。打开Proteus软件,进入ProteusISIS,第一将设置初始密码程序的hex文件导入到80C52中,点击按钮,按下C键选择密码设置,D键为读密码功能。再把密码锁工作程序生成的hex导入单片机中,E键位功能复位键,按下A键系统进入密码输入状态,输入密码后,按下B键后系统进入密码重设状态。系统仿真结果及其分析系统仿真系统整体仿真电路图如图所示:图密码锁整体proteus仿真图设定初始密码仿真导入初始密码hex文件后,系统进入初始化状态,仿真结果如图所示。图设定密码初始状态仿真图按下扫描按键C,系统进入密码设定输入状态,LCD上提示输入密码,仿真结果如图所示。图设定初始密码输入仿真图设定密码后按下D键,系统进入读密码状态,LCD上显示所设密码,仿真图如图所示。图设定初始密码读密码仿真图密码锁工作仿真导入密码锁工作hex文件后,系统进入初始状态,仿真图同图所示。按下A键,系统进入输入密码状态,LCD提示请输入密码,仿真图如图所示。图密码锁工作输入密码仿真图输入正确密码时,LCD提示密码输入成功,锁打开,绿色LED灯亮,仿真图如图所示。按下E键,系统初始状态,仿真图同图所示。图密码输入正确仿真图若持续三次输入密码错误,LCD提示密码输入,仿真图如图所示。图持续三次密码输入错误仿真图图重设密码输入仿真图图重设密码成功仿真图输入密码正确后,按下B键,系统进入重设密码状态,LCD提示请输入密码,仿真图如图所示,密码重设成功如图所示。7利用说明利用本设计宜按以下步骤进行:第一加载设定初始密码hex文件,按下C键,进入密码设定输入状态,设定密码后按下D键读取自己所设密码;再加载密码锁工作hex文件,进入密码锁工作状态,按下A键,输入所设密码,输入密码正确后,按下B键能够自概念重设密码,按下E键进入初始状态。8设计总结本设计以89C52为中心控制器、用4*4键盘收集输入信号、采用典型的I2C总线结构AT24C04芯片贮存密码、而且通过LCD显示屏和LED灯直观地显示各密码锁各类状态,用继电器模拟锁的状态,用户能够自概念设置6位的数字密码,系统还具有报警功能,该系统大体能够实现本文能够提出的功能和要求。本设计也存在不足,缺点一,单重的密码锁不能知足较高的安全需要。缺点二,该系统对电的依赖比较大,必需使24C04一直维持供电状态,当断电后不能正常工作。缺点三,在按键按下时,按键声不够响亮清楚,在仿真时显得反映比较慢,假设能采用语音模块,能用语音播报按键时密码所处状态,密码锁将会更具人性化。通过这次对智能密码锁的设计,感受更多的是自己的能力有限,知识不够丰硕,知识点掌握的不够扎实,使得自己不能按自己初始假想完成自己的设计,使得所设的密码锁不够完整。在这次设计中还让,让我了解了实时控制的原理,知道如何合理的利用芯片,发挥其功能。体会到做设计时必需有层次的按必然步骤实行系统的设计、各个步骤的实施。总之,这次课程设计使在电路设计方面收获颇丰。参考文献[1]林立.张俊亮.曹旭东.刘得军.单片机原理及应用:基于Proteus和KeilC[M].北京:电子工业出版社,2009:2-5.[2]郑锋.王巧芝.李英建.刘瑞国.51单片机应用系统典型模块开发大全[M].北京:中国铁道出版社,2011:5-20.[3]张俊谟.单片机中级教程[M].北京:北京航空航天大学出版,2000:36-45.[4]单片机高级语言C51Windows环境编程与应用[M],电子工业出版社,2001:86-95.[5]AT89C51DATASHEEP[M].PhilipsSemiconductors,1999:15-36.[6]康华光.电子技术基础(第5版)[M].北京:高等教育出版社,2006:45-48.[7]彭华林等编.数字电子技术[M].长沙:湖南大学出版社,2004:45-60.[8]金唯香等编.电子测试技术[M].长沙:湖南大学出版社,2004:26-30.附件AT24C04头文件""#include<>#defineucharunsignedchar#defineuintunsignedintsbitSDA=P3^4;sbitSCL=P3^3;bitack;voiddelayNOP();voidI2C_start();voidI2C_stop();voidI2C_init();voidI2C_Ack();voidI2C_NAck();ucharRecByte();ucharSendByte(ucharwrite_data);ucharread_nbyte(ucharSLA,ucharSUBA,uchar*pdat,ucharn);ucharwrite_nbyte(ucharSLA,ucharSUBA,uchar*pdat,ucharn);voiddelayNOP(){_nop_();_nop_();_nop_();_nop_();}voidI2C_start(){SDA=1;SCL=1;delayNOP();SDA=0;delayNOP();SCL=0;}voidI2C_stop(){SDA=0;SCL=1;delayNOP();SDA=1;delayNOP();SCL=0;}voidI2C_init(){SCL=0;I2C_stop();}voidI2C_Ack(){SDA=0;SCL=1;delayNOP();SCL=0;SDA=1;}voidI2C_NAck(){SDA=1;SCL=1;delayNOP();SCL=0;SDA=0;}ucharRecByte(){uchari,read_data;read_data=0x00;SDA=1;for(i=0;i<8;i++){SCL=1;read_data<<=1;read_data|=SDA;delayNOP();SCL=0;delayNOP();}SCL=0;delayNOP();return(read_data);}ucharSendByte(ucharwrite_data){uchari;for(i=0;i<8;i++){SDA=(bit)(write_data&0x80);_nop_();_nop_();SCL=1;delayNOP();SCL=0;write_data<<=1;}delayNOP();SDA=1;SCL=1;delayNOP();if(SDA==1)ack=0;elseack=1;SCL=0;delayNOP();returnack;}ucharwrite_nbyte(ucharSLA,ucharSUBA,uchar*pdat,ucharn){uchars;I2C_start();SendByte(SLA);if(ack==0)return(0);SendByte(SUBA);if(ack==0)return(0);for(s=0;s<n;s++){SendByte(*pdat);if(ack==0)return(0);pdat++;}I2C_stop();return(1);}ucharread_nbyte(ucharSLA,ucharSUBA,uchar*pdat,ucharn){uchars;I2C_start();SendByte(SLA);if(ack==0)return(0);SendByte(SUBA);if(ack==0)return(0);I2C_start();SendByte(SLA+1);if(ack==0)return(0);for(s=0;s<n;s++){*pdat=RecByte();I2C_Ack();pdat++;}I2C_NAck();I2C_stop();return(1);}1602头文件""#include<>#include<>#defineucharunsignedchar#defineuintunsignedintsbitLCD_RS=P2^0;sbitLCD_RW=P2^1;sbitLCD_EN=P2^2;voidDelay_ms(uintxms) ;bitlcd_busy();voidlcd_wcmd(ucharcmd);voidlcd_wdat(uchardat);voidlcd_clr();voidlcd_init();voidDelay_ms(uintxms){uinti,j;for(i=xms;i>0;i--)for(j=110;j>0;j--);}bitlcd_busy(){bitresult;LCD_RS=0;LCD_RW=1;LCD_EN=1;_nop_();_nop_();_nop_();_nop_();result=(bit)(P0&0x80);LCD_EN=0;returnresult;}voidlcd_wcmd(ucharcmd){while(lcd_busy());LCD_RS=0;LCD_RW=0;LCD_EN=0;_nop_();_nop_();P0=cmd;_nop_();_nop_();_nop_();_nop_();LCD_EN=1;_nop_();_nop_();_nop_();_nop_();LCD_EN=0;}voidlcd_wdat(uchardat){while(lcd_busy());LCD_RS=1;LCD_RW=0;LCD_EN=0;P0=dat;_nop_();_nop_();_nop_();_nop_();LCD_EN=1;_nop_();_nop_();_nop_();_nop_();LCD_EN=0;}voidlcd_clr(){lcd_wcmd(0x01);Delay_ms(5);}voidlcd_init(){Delay_ms(15);lcd_wcmd(0x38);Delay_ms(5);lcd_wcmd(0x38);Delay_ms(5);lcd_wcmd(0x38);Delay_ms(5);lcd_wcmd(0x0c);Delay_ms(5);lcd_wcmd(0x06);Delay_ms(5);lcd_wcmd(0x01);Delay_ms(5);}设定初始密码程序#include<>#include""#include""#defineucharunsignedchar#defineuintunsignedintucharcode_buf[6]={1,2,3,4,5,6};ucharkey;uchartemp;sbitBEEP=P3^7;voidbeep(){BEEP=0;Delay_ms(100);BEEP=1;Delay_ms(100);}voidMatrixKey(){P1=0xff;P1=0xef;temp=P1;temp=temp&0x0f;if(temp!=0x0f){Delay_ms(10);temp=P1;temp=temp&0x0f;if(temp!=0x0f){temp=P1;switch(temp){case0xee:key=0;break;case0xed:key=1;break;case0xeb:key=2;break;case0xe7:key=3;break;}temp=P1;beep();temp=temp&0x0f;while(temp!=0x0f){temp=P1;temp=temp&0x0f;}}}P1=0xff;P1=0xdf;temp=P1;temp=temp&0x0f;if(temp!=0x0f){Delay_ms(10);temp=P1;temp=temp&0x0f;if(temp!=0x0f){temp=P1;switch(temp){case0xde:key=4;break;case0xdd:key=5;break;case0xdb:key=6;break;case0xd7:key=7;break;}temp=P1;beep();temp=temp&0x0f;while(temp!=0x0f){temp=P1;temp=temp&0x0f;}}}P1=0xff;P1=0xbf;temp=P1;temp=temp&0x0f;if(temp!=0x0f){Delay_ms(10);temp=P1;temp=temp&0x0f;if(temp!=0x0f){temp=P1;switch(temp){case0xbe:key=8;break;case0xbd:key=9;break;case0xbb:key=10;break;case0xb7:key=11;break;}temp=P1;beep();temp=temp&0x0f;while(temp!=0x0f){temp=P1;temp=temp&0x0f;}}}P1=0xff;P1=0x7f;temp=P1;temp=temp&0x0f;if(temp!=0x0f){Delay_ms(10);temp=P1;temp=temp&0x0f;if(temp!=0x0f){temp=P1;switch(temp){case0x7e:key=12;break;case0x7d:key=13;break;case0x7b:key=14;break;case0x77:key=15;break;}temp=P1;beep();temp=temp&0x0f;while(temp!=0x0f){temp=P1;temp=temp&0x0f;}}}}ucharcodeline1_data[]={"WRITE&READ"};ucharcodeline2_data[]={"PASSWORD"};ucharcodeW_line1_data[]={"WRITECODE"};ucharcodeW_line2_data[]={"NUM:"};ucharcodeR_line1_data[]={"READCODE"};ucharcodeR_line2_data[]={"NUM:"};voidCodeIn(){static ucharlcd_x=0;static ucharcount=0;do{P1=0xf0;if(P1!=0xf0){MatrixKey();if((key>=0)&&(key<=9)){code_buf[count]=key;lcd_wcmd((0x44+lcd_x)|0x80);lcd_wdat(code_buf[count]+0x30);count++;lcd_x++;}}}while(count<6);if(count>=6){count=0;lcd_x=0;}}voidWriteCode(){uchari;lcd_clr();lcd_wcmd(0x00|0x80);i=0;while(W_line1_data[i]!='\0'){lcd_wdat(W_line1_data[i]);i++;}lcd_wcmd(0x40|0x80);i=0;while(W_line2_data[i]!='\0'){lcd_wdat(W_line2_data[i]);i++;}CodeIn();write_nbyte(0xa0,0x00,code_buf,6);}voidReadCode(){uchari,j;lcd_clr();lcd_wcmd(0x00|0x80);i=0;while(R_line1_data[i]!='\0'){lcd_wdat(R_line1_data[i]);i++;}lcd_wcmd(0x40|0x80);i=0;while(R_line2_data[i]!='\0'){lcd_wdat(R_line2_data[i]);i++;}read_nbyte(0xa0,0x00,code_buf,6);for(j=0;j<6;j++){lcd_wcmd((0x44+j)|0x80);lcd_wdat(code_buf[j]+0x30);}}voidmain(){uchari;BEEP=0;start: Delay_ms(10);lcd_init();I2C_init();lcd_wcmd(0x00|0x80);i=0;whi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论