电子密码锁设计说明书_第1页
电子密码锁设计说明书_第2页
电子密码锁设计说明书_第3页
电子密码锁设计说明书_第4页
电子密码锁设计说明书_第5页
已阅读5页,还剩29页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

单片课程设计说明电子密锁控制统设计专

学姓

班学

级号

B电指教完日

年6月

盐城工学院课程设计说明书(2011电子密码锁控制系统计目录1.概述1.1电子密码锁的历史背景和意..........................................31.2电子密码锁的发展与现..............................................42.系统方案论证2.1主控部分的选择2.2密码输入方式的选择3.系统硬件设计3.1总体方案设计3.2矩阵键盘电........................................................73.3显示单元模........................................................83.4单片机最小系统电..................................................3.5电子密码锁原理...................................................4.系统软件设计4.1电子密码锁流程...................................................4.2主程序5.软硬件联调5.1设计实物图背.....................................................5.2设计实物功能显示.................................................20总结附录附录1:原理.........................................................23附录2:PCB图附录3:PROTEUS仿真图附录4:基于单片机的电子密码锁C言清...............................26附录5:基于单片机电子密码锁元器件目录...............................322

盐城工学院课程设计说明书(20111.1电子密码锁的历史背景和意义在我们的日常生活和工作中,住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决有防盗警报功能的点子密码控制系统逐渐代替传统的机械式密码控制系统,克服了机械式密码控制的密码量少、安全性能差的缺点电子密码控制系统无论在技术上还是在性能上都大大提高了一步随着大规模集成电路技术的发展特别是单片机的问世出现了带微处理器的智能密码锁控制系统它除了具有传统点子密码锁控制系统的功能外还引入了智能化管理、专家分析系统等功能,从而使密码锁控制系统具有很高的安全性、可靠性,应用日益广泛。电子密码控制是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的组合完成开锁闭锁任务的电子产品点子密码锁控制不论性能还是安全性都已大大超过了机械类。其特点如下:1)保密性好,远远高于机械锁控制。随机开锁成功率几乎为零2)密码可变,用户可以随时更改密码,防止密码被盗,同时也可以避免因人员的更替而使控制的保密性下降。3)误码输入保护,当输入密码次数过多时,报警系统自动启动。4)无活动零件,不会磨损,寿命长。5)使用灵活性好,不像机械锁必须佩戴钥匙才能开锁。6)电子密码锁控制系统具有操作简单易行,一学即会的特点。3

盐城工学院课程设计说明书(20111.2电子密码锁的发展与现状随着人们生活水平的提高和安全意识的加强,对安全的要求也就越来越高。锁自古以来就是把守护门的铁将军人们对它要求甚高既要安全可靠的防盗又要使用方便这也是制锁者长期以来研制的主题随着电子技术的发展各类电子产品应运而生,电子密码锁就是其中之一。据有关资料介绍,电子密码锁的研究从20世纪30年代就开始了,在一些特殊场合早就有所应用。这种锁是通过键盘输入一组密码完成开锁过程研究这种锁的初衷就是为了提高锁的安全性由于电子锁的密钥量(密码量极大可以与机械锁配合使用并且可以避免因钥匙被仿制而留下安全隐患电子锁只需记住一组密码需携带金属钥匙免除了人们携带金属钥匙的烦恼,而被越来越多的人所欣赏。电子密码锁的种类繁多,例如数码锁,指纹锁,磁卡锁,IC卡锁,生物锁等。但较实用的还是按键式电子密码锁。20世纪80年代后,随着电子锁专用集成电路的出现,电子密码锁的体积缩小,可靠性提高成本较高是适合使用在安全性要求较高的场合且需要有电源提供能量,使用还局限在一定范围内,难以普及,所以对它的研究一直没有明显进展。目前,西方发达国家,电子密码锁技术相对先进,种类齐全,电子密码锁已被广泛应用于智能门禁系统中,通过多种更加安全,更加可靠的技术实现大门的管理。在我国电子锁整体水平尚处于国际上代左右,电子密码锁的成本还很高,市场上仍以按键电子锁为主按键式和卡片钥匙式电子锁已引进国际先进水平现国内有几个工厂生产供应市场但国内自行研发的电子锁其市场结构尚未成形应用还不广泛国内不少企业也引进了世界上先进的技术发展前景非常可观希望通过不断的努力,使电子密码锁在我国也能得到广泛应用。目前使用的点子密码锁大部分是基于单片机技术,以单片机为主要器件,其编码器与解码器的生成为软件方式在实际应用中由于程序容易跑飞系统的可靠性能较差。利用单片机芯片可以大大提高设计效率。4

盐城工学院课程设计说明书(20112.1主控部分的选择方案一:采用数字电路控制用以74LS112双JK触发器构成的数字逻辑电路作为密码锁的核心控制,将密码保存在JK触发器中,与输入密码通过比较器比较,判断结果是否相符合。采用数字电路设计的方案好处就是设计简单,但控制的准确性和灵活性差,故不采用。方案二:采用以单片机为核心的控制方案选用单片机作为系统的核心部件控制与处理的功能片机具有资源丰富、速度快编程容易等优点利用单片机内部的随机存储(和只读存储(ROM)及其引脚资源,外接液晶显示(LCD盘输入等实现数据的处理传输和显示功能,基本上能实现设计指标,因此综合考虑,本系统采用方案二。2.2密码输入方式的选择方案一:指纹输入识别指纹识别技术主要涉及四个功能:读取指纹图像、提取特征、保存数据和比对。通过指纹读取设备读取到人体指纹的图像然后要对原始图像进行初步的处理使之更清晰,再通过指纹辨识软件建立指纹的特征数据。软件从指纹上找到被称为“节点”(minutiae)的数据点,即指纹纹路的分叉、终止或打圈处的坐标位置,这些点同时具有七种以上的唯一性特征。通常手指上平均具有个节点,所以这种方法会产生大约490个数据。这些数据,通常称为模板。通过计算机模糊比较的方法,把两个指纹的模板进行比较计算出它们的相似程度最终得到两个指纹的匹配结果从而判断输入结果的正确与否考虑到本方案软硬件太过复杂而且成本也高故不采用。方案二:矩阵键盘输入识别由各按键组成的矩阵键盘每条行线和列线都对应一条口线位设在行线和列线的交叉点当一个键按下就会有某一条行线与某一条列线接触只要确定接触的是哪两条线,即哪两个I/O口线,就可以确定哪一个键被触动。行线设计成上拉口线,初始时被置高电位,列线悬空,初始置低。通过不断读行线口线,或者中断方式触发键位扫描。当发现有键按下,将列线逐一置低,其他列线置高,读行线口线。当某条列线置低时,某条行线也被拉低,则确定这两条线的交点处的按钮被按下每个按键都可通过程序赋予功能从而完成密码识别本方案简单易行,故采用。5

盐城工学院课程设计说明书(20113.1总体方案设计本密码锁要实现的功能是每按下一个键要求在液晶屏上显示并以此左移每删除一位在左边空出的位补充零按下设置功能键可以进行密码设置输入密码按下检验键可以确定密码输入是否正确并由提示部分做出相应的反应经初步分析确定系统总体方框图如下:键盘有输入

液晶显示输入值数据采

单片机主控集输

采集数据

模块

密码正确

解锁发光二极管显示模块蜂鸣器模块入设置密码

密码设置模块图统总体方框图6

盐城工学院课程设计说明书(20113.2矩阵键盘电路本设计采用4*4盘,即矩阵键盘,通过行列键盘扫描的方法可获取键盘输入的键值,从而得知按下的是哪个键,具体过程如下:首先查询是否有按键按下。单片机向行扫描出位“0”的扫描码,然后从列检验测口检测信号,只要有一列信号不为列即对应为按下的键所在的列。然后查询按下键所在的行列位置。前面已经取得列按下键的列号,接下来要确定键所在的行,这需要进行逐行扫描。单片机首先第一行为余各行为“1着进行行列检测,若全为“示不在第一行,依次类推逐行检测,知道检测到按下键所在的行。当各行都扫面后仍没有找到,则放弃扫描,认为是键的误操作,最后对得到的行号和列号译码得到键值。图3-2矩阵键盘电路7

盐城工学院课程设计说明书(20113.3显示单元模块本设计采用的LCD液晶屏是12864号。2.5晶显示,12864液晶使用ST7920控制器,5V电压驱动,带背光,内置个16×16点阵,个字符点阵)64×256点阵显示(GDRAM外接口采用并行或串行二种控制方式。12864晶接口信号说明如表所示:表2-112864引脚说编号

符号VO

引脚说明电源地电源正极液晶显示对比调解端数据/命令选择端

编号

符号

引脚说明数据口数据口数据口数据口(H/L口数据)

R/W

读写选择串

PSB

并串选择H并

口数据)

行L串行

使能信号(串同步时

空脚K)

钟信号)

数据口数据口数据口数据口

BLABLK

复位平有效空脚背光电源正极背光电源负极主要技术参数:表12864晶主要技术参数表显示容量芯片工作电压模块最佳工作电压与MCU接工作温度(常温型)工作温度(宽温型)

3.3~5.5V5.0V或为/位行-10℃~℃-20℃~℃8

盐城工学院课程设计说明书(20113.4单片机最小系统电路单片机最小系统电路,如下图所示,和19引脚两端并联一的晶振,两个20pf的电容连接在晶振的两脚,电容另一脚共地。图2-3单片机最小系统电路9

盐城工学院课程设计说明书(20113.5电子密码锁原理图图电子密码锁原理图10

盐城工学院课程设计说明书(20114.1电子密码锁流程图图子密码锁流程图11

盐城工学院课程设计说明书(20114.2主程序#include<reg51.h>#include<string.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedint#definedelay4us(){_nop_();_nop_();_nop_();_nop_();}sbitRS=P2^0;sbitRW=P2^1;sbitLCDEN=P2^2;sbitSCL=P3^2;//串行时钟sbitSDA=P3^3;//串行数据sbitLED_OPEN=P2^7;//LED灯sbitBEEP=P3^7;//蜂鸣器ucharPre_KeyNo=16,KeyNo=16;ucharcodeTitle_Text[]="YourPassword...";//标题字符串ucharDSY_BUFFER[16]="";//ucharMyPassword[16]="123456";ucharUserPassword[16]="";用户输入密码ucharRecString(ucharSlave,ucharSubaddr,uchar*Buffer,ucharN);ucharSendString(ucharSlave,ucharSubaddr,uchar*Buffer,ucharN);ucharKeys_Scan();voidwrite_com(ucharcom);voidwrite_date(uchardate);voidDelayMS(uintx);voidLCD_Init();//液晶初始化voidDisplay_String(uchar*str,ucharLineNo);//在液晶指定行

显示字符串voidInit_iic();//iic初始化voidBeep();//蜂鸣器/*********延时程序***********/voidDelayMS(uintx){uchari;while(x--)for(i=0;i<120;i++);}/**************蜂鸣器报警子程序******************************/voidBeep(){uchari;for(i=0;i<100;i++){DelayMS(1);BEEP=~BEEP;}BEEP=0;}/************清除密码程序***************************/voidClear_Password(){UserPassword[0]='\0';DSY_BUFFER[0]='\0';}/**********液晶显示程序**************/voidDisplay_String(uchar*str,ucharLineNo){uchari;write_com(LineNo);i=0;12

盐城工学院课程设计说明书(2011)while(str[i]!='\0'){write_date(str[i]);i++;}}/**********液晶初始*************************/voidLCD_Init(){RW=0;LCDEN=0;write_com(0x38);write_com(0x06);write_com(0x01);write_com(0x0c);write_com(0x80);

{while((Busy_Check()&0x80)==0x80);//忙等待RS=0;RW=0;LCDEN=0;P0=com;DelayMS(5);LCDEN=1;DelayMS(5);LCDEN=0;}voidwrite_date(uchardate){while((Busy_Check()&0x80)==0x80);//忙等待RS=1;}/***************************************/ucharBusy_Check(){ucharLCD_Status;RS=0;//寄存器选择RW=1;//读状态寄存器LCDEN=1;//开始读DelayMS(1);LCD_Status=P0;LCDEN=0;returnLCD_Status;}voidwrite_com(ucharcom)

RW=0;LCDEN=0;P0=date;DelayMS(5);LCDEN=1;DelayMS(5);LCDEN=0;}/**********************************主函数************************************/voidmain(){ucharj=0;uchari=0;ucharIIC_Password[10];ucharIS_Valid_User=0;13

P0=P1=P2=0xFF;TMOD=0x02;TH0=175;TL0=175;TR0=1;DelayMS(10);LCD_Init();Init_iic();

盐城工学院课程设计说明书(2011)case6:case7:case8:case9:if(i==0)Display_String("",0xC0);UserPassword[i]='0';UserPassword[i+1]='\0';//SendString(0xa0,0,MyPassword,6);//Display_String(Title_Text,0x80);//显示标题//将中预先写入的码读入IIC_Password//RecString(0xa0,0,IIC_Password,6);IIC_Password[6]='\0';while(1){P1=0xF0;if(P1!=0xF0)KeyNo=Keys_Scan();//扫描盘获取序号KeyNoif(Pre_KeyNo!=KeyNo){if(i<10){switch(KeyNo){case0:case1:case2:case3:case4:case5:

DSY_BUFFER[i]='*';DSY_BUFFER[i+1]='\0';Display_String(DSY_BUFFER,0xC0);i++;break;case10://按A键开锁if(strcmp(UserPassword,IIC_Password)==0){LED_OPEN=0;//点亮Clear_Password();Display_String("UnlockOK!",0xC0);IS_Valid_User=1;}else{LED_OPEN=1;Clear_Password();Display_String("ERROR!",0xC0);j++;if(j==3)while(1)Beep();IS_Valid_User=0;}14

盐城工学院课程设计说明书(2011)i=0;i=0;break;case11://按B键上锁Display_String(Title_Text,0x80);LED_OPEN=1;//关闭LEDClear_Password();Display_String("PasswordSaved!",0xc0);Display_String(Title_Text,0x80);}Display_String("break;",0xC0);i=0;IS_Valid_User=0;break;case12://按c键设置新密码if(!IS_Valid_User)Display_String("Norignts!",0xC0);else{i=0;Display_String("NewPassword:",0x80);Display_String("",0xC0);}break;case13://按D键保存新密码if(!IS_Valid_User)Display_String("Norignts!",0xc0);else{SendString(0xa0,0,UserPassword,6);//重新读入新密码RecString(0xa0,0,IIC_Password,6);IIC_Password[6]='\0';

case14://按E键消除所有输入i=0;Clear_Password();Display_String("",0xc0);}}Beep();Pre_KeyNo=KeyNo;}DelayMS(100);}}/*******************初始化**********************************///*****起始位************//voidStart(){SDA=1;SCL=1;delay4us();SDA=0;delay4us();SCL=0;}//********停止位********//voidStop()15

{

盐城工学院课程设计说明书(2011)SDA=0;SDA=0;SCL=1;delay4us();SDA=1;delay4us();SCL=0;}//*****总线初始化*****//voidInit_iic(){SCL=0;Stop();}/*voidRespons(){uchari;SCL=1;_nop_();while((SDA==1)&&(i<250))i++;SCL=0;_nop_();}*///******发送应答信号*******//voidACK(){SDA=0;SCL=1;delay4us();SCL=0;SDA=1;}//*******发送非应答信号*****//voidNO_ACK(){SDA=1;SCL=1;delay4us();SCL=0;

}//****从芯片读取1个字节*****//ucharRecByte(){uchari,rd;rd=0x00;SDA=1;for(i=0;i<8;i++){SCL=1;rd<<=1;rd|=SDA;delay4us();SCL=0;delay4us();}SCL=0;delay4us();returnrd;}//*******向芯片发送1字节*******//ucharSendByte(ucharwd){uchari;bitack0;for(i=0;i<8;i++){SDA=(bit)(wd&0x80);_nop_();_nop_();SCL=1;delay4us();SCL=0;wd<<=1;}16

盐城工学院课程设计说明书(2011)delay4us();SDA=1;//释放总线准备读取应答SCL=1;delay4us();ack0=!SDA;//0表示无应答SCL=0;delay4us();returnack0;//返回应答}//*******发送字数据函数*********//ucharSendString(ucharSlave,ucharSubaddr,uchar*Buffer,ucharN){uchari;Start();if(!SendByte(Slave))return0;if(!SendByte(Subaddr))return0;for(i=0;i<N;i++){if(!SendByte(Buffer[i]))return0;}Stop();return1;}//******据函******//ucharRecString(ucharSlave,ucharSubaddr,uchar*Buffer,ucharN){uchari;

Start();if(!SendByte(Slave))return0;if(!SendByte(Subaddr))return0;Start();if(!SendByte(Slave+1))return0;for(i=0;i<N-1;i++){Buffer[i]=RecByte();ACK();}Buffer[N-1]=RecByte();NO_ACK();Stop();return1;}/**********键盘矩扫描程序**************************/ucharKeys_Scan(){ucharTmp;P1=0x0f;//高4位置0,放入4行DelayMS(1);Tmp=P1^0x0f;//按键后0f变成0000XXXX,X中一个为0,3个仍为1,通过异或把3个1变为0一的0变为1switch(Tmp)判断按键发生于0~3列的哪一列{case1:KeyNo=0;break;case2:KeyNo=1;break;case4:KeyNo=2;break;case8:KeyNo=3;break;default:KeyNo=16;无键按17

盐城工学院课程设计说明书(2011)附加起始值0,4,8,12}P1=0xf0;//低4位置0入4列DelayMS(1);Tmp=P1>>4^0x0f;//键后f0变成XXXX0000X中有1个为0三个仍为14位转移到低4位并异或得到改变的值

{case1:KeyNo+=0;break;case2:KeyNo+=4;break;case4:KeyNo+=8;break;case8:KeyNo+=12;}returnKeyNo;switch(Tmp)//0~3行分别

}18

盐城工学院课程设计说明书(2011)软硬件在参考资《单片机原理与接口技术原理图单片机引脚直接接液晶屏,并且用Proteus仿真时并未发现错误而在用万能板焊接时在完全按照原理图焊接,且焊接正确的情况下,液晶屏并不能正常显示。在通过大家讨论分析,发现液晶屏需要加可调电阻来调分辨率才能正常显示,在重新改了面包板焊接后,可以正常显示。图5-1设计实物图正面19

盐城工学院课程设计说明书(2011)5.1设计实物图背面图5-2实物面图5.2设计实物功能显示图图5-3入密码

图解锁成功20

盐城工学院课程设计说明书(2011)图入新密码

图新密码输入成功21

盐城工学院课程设计说明书(2011)通过这次单片机课程设计使我更加深入的掌握了单片机知识以及一些外围电路的使用也使我尝试到了去制作一个完整系统的步骤和过程通过这样一次设计使我有了一个全面性的提高外围器件的使用能够使我们去真正的验证理论我认为这样有助于培养我们的学习思维习惯和能力因为我们总是进行单纯的理论学习这样我们能够单方面的接受书本知识即使有疑惑也只能去查找资料通过这次课程设计我们可以对实际器件的使用来解决所遇到的问题和验证书本知识总的来说这次课程设计使我有了一个整体提高我相信这对我以后的学习和工作都将是一个很好的锻炼。感谢张兰红老师一学期以来在单片机学习方面给予的帮助与课程设计的指导。22

盐城工学院课程设计说明书(2011)附录1:原理图附录:原理图23

盐城工学院课程设计说明书(2011)附录2:PCB图附录:PCB图24

PP14P1盐城工学院课程设计说明书(2011)PP14P1附录3:Proteus仿真图LCD1LM016LC1

SDESDEVVV

SWRR

1345DDDDD048

P

159

P

26开锁

22pFC222pF1uFP

R110kC337上锁

X1CRYSTALP10P11P12P13P14P15P16P17

1918929303112345678

U2XTAL1P0.0/AD0P0.1/AD1P0.2/AD2XTAL2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6RSTP0.7/AD7P2.0/A8P2.1/A9P2.2/A10PSENP2.3/A11ALEP2.4/A12EAP2.5/A13P2.6/A14P2.7/A15P1.0P3.0/RXDP1.1P3.1/TXDP1.2P3.2/INT0P1.3P3.3/INT1P1.4P3.4/T0P1.5P3.5/T1P1.6P3.6/WRP1.7P3.7/RD

393837363534333221222324252627281011121314151617

2SREd0d1d2d3d4d5d6d7RSRWED1LED-YELLOWLS1

8023413457dddd3457dddd86432RP1RESPACK-8R2220U162SCKA153SDAA27WP24C04A

AT89C51输入新码

保存新码

重新输

未定义

P16

初始密码

:123456P17附录3:Proteus仿真图25

盐城工学院课程设计说明书(2011)附录4:基于单片机的电子密码锁语言清单#include<string.h>ucharuintint{_nop_();_nop_();_nop_();_nop_();}RS=P2^0;LCDEN=P2^2;SDALED_OPEN=P2^7;BEEP=P3^7;codeTitle_Text[]="YourDSY_BUFFER[16]="";MyPassword[16]="123456";UserPassword[16]="";//用户输入密码RecString(ucharSlave,uchar*Buffer,ucharN);SendString(uchar*Buffer,ucharN);write_date(ucharx);LCD_Init();//液晶初始化Display_String(uchar*str,ucharLineNo);//在液晶指定行显示字符串始化

蜂鸣器/*********时程序***********/x){i;whilefor(i=0;i<120;i++);}/**************序******************************/Beep(){i;for(i=0;i<100;i++){DelayMS(1);}}/************清除密码程序***************************/Clear_Password(){UserPassword[0]='\0';DSY_BUFFER[0]='\0';}/**********液晶显示程序**************/Display_String(ucharLineNo){uchari;write_com(LineNo);i=0;'\0')26

{i++;}

盐城工学院课程设计说明书(2011)RW=0;LCDEN=0;DelayMS(5);}/**********液晶初始*************************/

LCDEN=1;DelayMS(5);LCDEN=0;LCD_Init(){LCDEN=0;write_com(0x38);write_com(0x06);write_com(0x01);write_com(0x80);}/***************************************/Busy_Check(){RS=0;//存器选择RW=1;读状态寄存

}write_date(uchardate){while((Busy_Check()&0x80)==0x8//等待RS=1;RW=0;LCDEN=0;P0=date;DelayMS(5);LCDEN=1;DelayMS(5);LCDEN=0;}/********************************器}

LCDEN=1;//始读DelayMS(1);LCD_Status=P0;LCDEN=0;

主函数**************************************/main(){j=0;i=0;IIC_Password[10];{while((Busy_Check()&0x80)==0x8//等待RS=0;

P0=P1=P2=0xFF;TMOD=0x02;TL0=175;27

DelayMS(10);LCD_Init();

盐城工学院课程设计说明书(2011)UserPassword[i+1]='\0';DSY_BUFFER[i+1]='\0';//Display_String(Title_Text,0x80);//显示标题//将24C04中预先写入的密码读入IIC_Password//RecString(0xa0,0,IIC_Password,6);IIC_Password[6]='\0';while(1){!=KeyNo=Keys_Scan();//描键盘获取序号if!=KeyNo){if{switch(KeyNo){0:1:2:3:4:5:6:7:8:9:if(i==0)",0xC0);=+

i++;break;10://按A开锁if(strcmp(UserPassword,IIC_Password)==0){=点亮LEDDisplay_String("Unlock",0xC0);1;}{1;!",0xC0);j++;if(j==3)while(1)Beep();0;}i0;break;11://按键上锁1;//闭Display_String(Title_Text,0x80);",0xC0);28

盐城工学院课程设计说明书(2011)i=0;0;break;12://按c键设置新密码if(Display_String("No!",0xC0);{i=0;Display_String("NewPassword:",0x80);",0xC0);}break;13://按D键保存新密码

)

}}Pre_KeyNo=KeyNo;}}}/*******************初始化**********************************///*****起始位************//Start(){SDA1;if()Display_String("Norignts!{SendString(0xa0,0,UserPassword,6);//重新读入新密码RecString(0xa0,0,IIC_Password,6);IIC_Password[6]='\0';i=0;Display_String(Title_

温馨提示

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

评论

0/150

提交评论