




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、电子综合设计与制作实践数字密码锁第一部分 总 述2一引言2二课题内容及要求2第二部分 硬件设计部分2 一STC89C52介绍.2二设计总框图3三设计总体电路图3四功能模块设计3第三部分 软件设计部分8一总体功能流程图8二各个模块详细流程图9第四部分 调试报告11一硬件调试11二软件调试11第五部分 附录11一元器件清单11二工具13三心得体会13四参考书目14 五程序清单.15 第一部分:总述一 、引言 在日常的生活和工作中, 住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。若使用传统的机械式钥匙开锁,人们常需携带多把钥匙, 使用极不方便, 且钥匙丢失
2、后安全性即大打折扣。随着科学技术的不断发展,人们对日常生活中的安全保险器件的要求越来越高。为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。密码锁具有安全性高、成本低、功耗低、易操作等优点。 本文从经济实用的角度出发,采用单片机STC89C52作为主控芯片与数据存储器单元,用C语言编写的主控芯片控制程序,并用Keil软件进行编译。本系统由单片机系统、矩阵键盘、LCD显示和报警系统组成。系统能完成开锁、管理员登陆、超次锁定、解密、修改用户密码基本的密码锁的功能。除上述的密码锁功能外,还具有修改和确认并给出提示,恢复密码,在密码错误的时候可以发出声音,能在多次按键错误的情况下
3、进行锁定并给出提示。关键词:STC89C52,ISD1760,44矩阵键盘,LCD液晶显示器, 密码锁。二、 课题内容及要求 使用单片机STC89C52作为主芯片,采用LCD液晶显示,44的矩形键盘输入电子密码锁,能够实现修改密码,纠错,确认等功能。 1.基本要求 实现电路较简单,硬件布局合理规范,连线焊接较美观,器件运用合理,能实现密码的输入、清除、更改、开锁等基本功能。 2.提高功能 电子密码锁能够实现管理员登陆、动态显示登陆密码、登陆密码验证,登陆成功与否给出提示、超次锁定并报警鸣示、在登陆成功的情况下进行修改和确认密码,能在修改密码成功的情况下给出提示、恢复初始密码,并能利用电磁锁在输
4、入密码正确的情况赋予电磁锁一个电平开锁会发出“卡嚓”开锁的声音,另外,可依据实际的情况还可以添加遥控功能。另外,可以用语音发声芯片发出相应的提示信息。 第二部分:硬件设计部分 一、STC89C52介绍: STC89C52是一个低电压,高性能CMOS8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,STC89C52单片机在电子行业中有着广泛的应用。P0 口是一组8 位漏极开路型双向I/O 口, 也即地址/
5、数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8 个TTL逻辑门电路,对端口P0 写“1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8 位)和数据总线复用,在访问期间激活内部上拉电阻。 在Flash 编程时,P0 口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1 是一个带内部上拉电阻的8 位双向I/O 口,P1 的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉 电阻,某个引脚被外部信号拉低时会输出一个
6、电流(IIL)。 P2 是一个带有内部上拉电阻的8 位双向I/O 口,P2 的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对端口P2 写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16 位地址的外部数据存储器(例如执行MOVX DPTR 指令)时,P2 口送出高8 位地址数据。在访问8 位地址的外部数据存储器(如执行MOVX RI 指令)时,P2 口输出P2 锁存器的内容。Flash 编程或校验时,P2亦接收高位地址和一些控制信号。P3 口是一组带有内部
7、上拉电阻的8 位双向I/O 口。P3 口输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对P3 口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3 口将用上拉电阻输出电流(IIL),P3 口除了作为一般的I/O 口线外,更重要的用途是它的第二功能,P3 口还接收一些用于Flash 闪速存储器编程和程序校验的控制信号。XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。XTAL2:振荡器反相放大器的输出端。二、设计总框图 指示电路44矩阵键盘控制 STC89C52 单片机 报警控制电路 晶振电路 ISD1760语音电路 复位电路 LCD液态显示电路 图
8、一:总体设计框图本设计主要由单片机、矩阵键盘、液晶显示器和语音电路等部分组成。其中矩阵键盘用于输入数字密码和进行各种功能的实现。由用户通过连接单片机的矩阵键盘输入密码,后经过单片机对用户输入的密码与自己保存的密码进行对比,从而判断密码是否正确,然后控制引脚的高低电平传到开锁电路或者报警电路控制开锁还是报警系统,能完成开锁、管理员登陆、超次锁定、解密、修改用户密码基本的密码锁的功能三、设计总体电路图四、功能模块设计 3.1 44矩形键盘设计 矩阵键盘又叫行列式键盘,在按键比较多的时候,为了能减少键盘与单片机接口时所占用的I/O线的数目,通常将按键排成矩阵形式,它在口线的行、列交叉处跨接按键,平时
9、不连通,如图所示: 每一条水平(行线)与垂直线(列线)的交叉处不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需要N条行线和M条列线,即可组成具有NM个按键的键盘。当没有按键按下时,所有的输入端都是高电平,当行线输出是低电平时,一旦有按键按下,则相应的输入线就会被拉成低电平,这样读入输入线的状态就知倒是否有按键按下。在这种行列式矩阵键盘非键盘编码的单片机系统中,键盘处理程序首先执行等待按键并确认有无按键按下的程序段。矩阵式结构的键盘显然要比直接法需要更多的器件,识别软件的设计也要更复杂些。程序中按键响应方式可以采用主程序循环查询或中断后检测的响应方式,然后进行具体的按键识别。对键的识别
10、通常有两种方法:一种是常用的逐行扫描查询法;另一种是速度较快的线反转法。对照上图所示的键盘,说明线反转法工作原理。首先辨别键盘中有无键按下,有单片机I/O口向键盘送全扫描字,然后读入行线状态来判断。方法是:向行线输出全扫描字00H,把全部列线置为低电平,然后将列线的电平状态读入累加器A中。如果有按键按下,总会有一根行线电平被拉至低电平从而使行线不全为1。判断键盘中哪一个键被按下使通过将列线逐列置低电平后,检查行输入状态来实现的。方法是:依次给列线送低电平,然后查所有行线状态,如果全为1,则所按下的键不在此列;如果不全为1,则所按下的键必在此列,而且是在与零电平行线相交的交点上的那个键。 44矩
11、形键盘各个键的功能如下图所示: 10 0 11 16 7 8 9 15 4 5 6 14 1 2 3 13本键盘除了数字键0-9外用来输入密码外,还有六个功能键(10、11、12、13、14、15、16),用来扩展密码锁的功能,使其更加完善。其功能如下: 10:取消 11:确定 13:时钟 14:开锁/改密 15:门铃/查看消息 16:管理员3.2 晶振电路晶体振荡器,简称晶振,其作用在于产生原始的时钟频率,这个频率经过频率发生器的放大或缩小后就成了各种不同的总线频率,石英晶体振荡器是一种高精度和高稳定度的振荡器,单片机XIAL1和XIAL2分别接30PF的电容,中间再并个12MHZ的晶振,形
12、成单片机的晶振电路,如图所示:3.3 复位电路 单片机复位是使CPU和系统中的其他功能部件都处在一个确定的初始状态,并从这个状态开始工作。原来RST是低电平,当按键按下时,它变成高电平,实现复位功能,电路如图所示: 3.4 LCD液态显示电路 为了提高密码锁的密码显示效果能力,本设计的显示部分由液晶显示器LCD1602取代普通的数码管来完成,用户能通过LCD的各种提示进行各种相应的操作,简单易行。LCD1602管脚为:编号符号引脚说明编号符号引脚说明1VSS电源地9D2Data I/O2VDD电源正极10D3Data I/O3V0液晶显示偏压信号11D4Data I/O4RS数据/命令选择端(
13、H/L)12D5Data I/O5R/W读写选择端(H/L)13D6Data I/O6E使能信号14D7Data I/O7D0Data I/O15BLA背光源正极8D1Data I/O16BLK背光源负极 该模块工作时,通过单片机的P1口进行控制,送数据时,先写入高四位数据,然后在写入第四位数据。按下键盘上的开锁按键后利用键盘上的数字键09输入密码,每按下一个数字键后在显示器上显示一个*,输入多少位就显示多少个*,其电路如图所示:3.5 报警电路报警模块有单片机和蜂鸣器组成,密码正确时,不发声直接开锁,当密码输入错误时,单片机的P3.1引脚为低电平,三极管导通轰鸣器发出噪鸣声报警,电路如图所示
14、:3.6 ISD1760语音电路本模块采用ISD1760来实现,它是用来用语音提示LCD显示的状况,每当输入一次密码时,语音电路就会给出相应的提示,其电路如图所示: 第三部分:软件设计 软件设计实现了以下功能:1. 提示功能;2. 基本时钟功能;3. 门铃留言功能;4. 报警功能;5. 多用户登录功能;6. 密码修改功能;7. 键盘锁功能.一、总体功能流程图: 二、各个功能详细流程图2.1 门铃功能流程图2.2 密保功能流程图 2.3 开锁改密流程图2.4 管理员模式功能流程图 第四部分:调试报告一、硬件调试1.在焊好电路板后,用万用表对电路进行测试,排除短路、短路(虚焊、漏焊等)等故障。 2
15、.用waveK51/L仿真器对电子密码锁进行仿真调试,看是否能实现预想功能,排除各个模块的错误。二、软件调试1.软件调试用proteus和keil软件进行,用proteus设计好电路图并且用keil编好程序后,将程序写进电路图的芯片进行仿真测试,排除了一些异状。2.在硬件支持的情况下,用waveK51/L仿真器对其进行仿真调试,发现了部分程序漏洞和错误并及时排除,并在一定程度上修改了程序,达到最良好地效果。 第五部分:附录一、原件清单 STC89C52单片机 1个 IDS1420语音芯片 1个 LCD液晶显示屏 1个 扬声器 1个 发光二极管 1个 12MHZ晶振 1个 蜂鸣器 1个 底座 若
16、干 10K欧排阻 1个 10K欧电阻 1个 4.7K欧电阻 3个 5.1K欧电阻 3个 1K欧电阻 2个 80K欧电阻 1个 200欧电阻 1个 3pF电容 2个 22uF电容 1个 4.7uF电容 5个 0.1uF电容 7个 1nF电容 1个 按键 19个 三极管 1个 导线 若干 跳线 若干二、工具 电 烙 铁 1个 钳 子 1个 镊 子 1个 平头螺丝刀 若干三、心得体会 课程设计是培养学生综合运用所学知识,发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可
17、以说得是无处不在。因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。 回顾本次设计,我们学到了很多,通过对该课题的研究,加深对所学知识的理解,提高对课外知识的学习能力,增强知识的应用能力,提高解决实际问题的能力,培养自我创新意识。积累实践经验,为以后的发展打下基础,也为以后我们自己在这方面的发展打下基础,并能够在这方面培养自己的兴趣,不仅巩固了以前学到的知识,而且学到了很多在书本上所没有学到过的知识。 在本次设计,我们懂得了理论与实际相结合的重要性,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立
18、思考的能力,在设计的过程中遇到问题,可以说得是困难重重,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,对单片机汇编语言掌握得不好,通过这次课程设计之后,认识到了我们有些不足之处,激励我们更加努力。 再者,我们懂得了团队合作的重要性,在本次设计中我们分工合理,团结一致,碰到困难,不退缩,相互鼓励,合力解决问题,学到了很多东西。 在本次设计中,我们得到了指导老师的耐心细致的辅导和方法指引,老师的热心点拨让我们受益匪浅,从而保证我们能按时并顺利完成实习任务。在此,向老师们的辛勤劳动表示感谢! 总之,本次设计让我们受益匪浅,让我们
19、的大学生活更加精彩!四、参考文献 1、ISD1700系列数码语音电路使用手册 华邦公司 2、单片机原理及应用 清华大学出版社 印勇等著 2012 3、LCD1602使用手册 长沙太阳人有限公司 五、程序清单#include#include #define lcd P0 #define uchar unsigned char #define uint unsigned int#define KeyPort P2sbit rs=P35;sbit lcden=P34;/lcd使能信号端sbit beep=P31;sbit led=P37; sbit led2=P36;sbit SS=P14;sbit
20、 SCLK=P15;sbit MOSI=P16;sbit MISO=P17;uint StartAdr,EndAdr;void I_delay(void); void Play(uchar num);uchar ISD_SendData(uchar BUF_ISD); uchar code week_string74=MON,TUE,WED,THU,FRI,SAT,SUN;uchar data correct_code=8,8,8,8,8,8;uchar data correct_code3=8,8,8,8,8,8; uchar data correct_code2=1,1,1,1,1,1;u
21、char data save_code6; uchar data save_code16;uchar data mb16;uchar data number16=0;uchar code welcome= Welcome ;uchar code keyboard=keybord unlocked ;uchar code lev_message=leave a message ;uchar code message=you have message ;uchar code opened= Lock Is Opened ; uchar code sure= ARE YOU SURE ;uchar
22、code enter0=Enter Your Code ; uchar code admi_mode= admini mode ;uchar code enter1=1 mdfy admincod ; uchar code enter2=2 mdfy gustcod ;uchar code enter_1=ent 1 read mes ; uchar code dig=Code Must 6 Dig ;uchar code error_code= Code Error ;uchar code yesno=yes or no ; uchar code enter_agin=enter twice
23、 ! ;uchar code simple= Too Simple ; uchar code new_code= Enter New Code ; uchar code old_code= Enter Old Code ;uchar code renew_code=Confirm New Code;uchar code success= Successful ;uchar code fail= Failed ;uchar code wait=limit!PleaseWait;uchar code codebig=code is BIG ; uchar code codesmall=code i
24、s SMALL ; uchar code clear= ;uchar code smb1=yourmother birth ;uchar code smb=set your mb ;uchar code mes1=first message ;uchar code modifycode=modify code ;uchar flag=0,conflag=0,keynum=0,jp=0,js=0,i,i3=0,j=0,counter=0,statu; uchar num,t0,hour=0,min=0,sec=0,year=12,month=7,day=6,week=5; void delay(
25、uint z)uint x,y;for(y=z;y0;y-) for(x=100;x0;x-);void Play(uchar num) /16个地址是2秒。 if(num=0x01)StartAdr=0x0014;EndAdr=0x001f;/门铃 else if(num=0x02)StartAdr=0x0020;EndAdr=0x0028;/键盘已锁住 else if(num=0x03)StartAdr=0x002a;EndAdr=0x0034; /键盘解锁成功 else if(num=0x04)StartAdr=0x0036;EndAdr=0x003c;/ 位数不够 else if(nu
26、m=0x05)StartAdr=0x0040;EndAdr=0x004d;/ 是否留言 else if(num=0x06)StartAdr=0x0051;EndAdr=0x005f; / 请输入电话号码 else if(num=0x07)StartAdr=0x0063;EndAdr=0x0078;/ 留言成功 else if(num=0x08)StartAdr=0x007a;EndAdr=0x0084; / 母亲生日 else if(num=0x09)StartAdr=0x0087;EndAdr=0x008e;/ 答案错误 else if(num=0x10)StartAdr=0x0090;En
27、dAdr=0x00a4;/ 回答正确 else if(num=0x11)StartAdr=0x00ab;EndAdr=0x00b8;/ 请输入开锁密码 else if(num=0x12)StartAdr=0x00bb;EndAdr=0x00c1;/ 密码错误 else if(num=0x13)StartAdr=0x00c4;EndAdr=0x00ca;/ 密码正确 else if(num=0x14)StartAdr=0x00cd;EndAdr=0x00d3;/ 开锁成功 else if(num=0x15)StartAdr=0x00d7;EndAdr=0x00dc;/ 您有留言 else if(
28、num=0x16)StartAdr=0x00e1;EndAdr=0x00ef;/ 请输入管理员密码 else if(num=0x17)StartAdr=0x00f3;EndAdr=0x0104;/ 错误次数太多禁止输入 else if(num=0x18)StartAdr=0x0106;EndAdr=0x0110;/ 请再次确认 else if(num=0x19)StartAdr=0x0111;EndAdr=0x0121;/ 修改管理员密码 else if(num=0x20)StartAdr=0x0123;EndAdr=0x0132;/ 修改开锁密码 else if(num=0x21)Start
29、Adr=0x0134;EndAdr=0x0139;/ 修改成功 else if(num=0x22)StartAdr=0x013d;EndAdr=0x0143;/ 修改失败 else if(num=0x23)StartAdr=0x014a;EndAdr=0x0158;/ 请修改密保答案 else if(num=0x24)StartAdr=0x015b;EndAdr=0x0164;/ 请您回电话 else if(num=0x25)StartAdr=0x0167;EndAdr=0x0169;/1 else if(num=0x26)StartAdr=0x016c;EndAdr=0x016e;/2 el
30、se if(num=0x27)StartAdr=0x0171;EndAdr=0x0173;/3 else if(num=0x28)StartAdr=0x0176;EndAdr=0x0182;/请输入旧密码 else if(num=0x29)StartAdr=0x0184;EndAdr=0x0190;/请输入新密码 else if(num=0x30)StartAdr=0x0197;EndAdr=0x019d;/密码偏小 else if(num=0x31)StartAdr=0x01a1;EndAdr=0x01a7;/密码偏大 else if(num=0x32)StartAdr=0x01aa;End
31、Adr=0x01b4;/密码太简单 ISD_SendData(0x03);/ RESET ISD_SendData(0x00); SS=1; delay(50); ISD_SendData(0x01);/ pu ISD_SendData(0x00); SS=1; delay(50); ISD_SendData(0x45);/ WR_APC ISD_SendData(0x08); ISD_SendData(0x0C); / SS=1; delay(50); statu=0; while(statu&0x01)=0x00) ISD_SendData(0x05);/ READSTATU ISD_Se
32、ndData(0x00); statu=ISD_SendData(0x00); / SS=1; delay(50); ISD_SendData(0x80);/ SETPLAY ISD_SendData(0x00); ISD_SendData(StartAdr&0x00ff);/ ISD_SendData(StartAdr8); ISD_SendData(EndAdr&0x00ff);/ ISD_SendData(EndAdr8); ISD_SendData(0x00); SS=1; ISD_SendData(0x05);/ READSTATU ISD_SendData(0x00); statu
33、=ISD_SendData(0x00); / SS=1; while(statu&0x04)=0x04) ISD_SendData(0x05);/ READSTATU ISD_SendData(0x00); statu=ISD_SendData(0x00); / SS=1; ISD_SendData(0x07); /pd ISD_SendData(0x00); SS=1; /*void Rec(uchar num) /16个地址是2秒。 if(num=0x01)StartAdr=0x001b;EndAdr=0x0024; else if(num=0x02)StartAdr=0x0031;End
34、Adr=0x003d; ISD_SendData(0x03);/ RESET ISD_SendData(0x00); SS=1; delay(50); ISD_SendData(0x01);/ pu ISD_SendData(0x00); SS=1; delay(50); ISD_SendData(0x45);/ WR_APC ISD_SendData(0x40); ISD_SendData(0x04); / SS=1; delay(50); statu=0; while(statu&0x01)=0x00) ISD_SendData(0x05);/ READSTATU ISD_SendData
35、(0x00); statu=ISD_SendData(0x00); / SS=1; delay(50); ISD_SendData(0x81);/ SETREC ISD_SendData(0x00); ISD_SendData(StartAdr&0x00ff);/ ISD_SendData(StartAdr8); ISD_SendData(EndAdr&0x00ff);/ ISD_SendData(EndAdr8); ISD_SendData(0x00); SS=1; ISD_SendData(0x05);/ READSTATU ISD_SendData(0x00); statu=ISD_Se
36、ndData(0x00); / SS=1; while(statu&0x08)=0x08) ISD_SendData(0x05);/ READSTATU ISD_SendData(0x00); statu=ISD_SendData(0x00); / SS=1; ISD_SendData(0x07); /pd ISD_SendData(0x00); SS=1; */void I_delay(void)uchar i;for(i=0;i1;i+);uchar ISD_SendData(uchar BUF_ISD) uchar i,dat=BUF_ISD; SCLK=1; SS=0; for(i=0
37、;i=1; if(MISO) dat|=0x80; SCLK=1; I_delay(); MOSI=0; / SS=1; return(dat); void beep_( uint frq,uint time) uint tt1,tt2; for(tt1=time;tt10;tt1-) beep=0; for(tt2=frq;tt20;tt2-); beep=1; for(tt2=frq;tt20;tt2-); void write_com(uchar com)P0=com;rs=0;lcden=0;delay(5);lcden=1;delay(5);lcden=0;void write_da
38、te(uchar date)P0=date;rs=1;lcden=0;delay(5);lcden=1;delay(5);lcden=0;void write_clock(uchar add,uchar dat) uchar first,second; second=dat/10; first=dat%10;delay(10);write_com(0x80+0x40+add+1); /第一位的位置/delay(5); write_date(0x30+first); /写入第一位 write_com(0x80+0x40+add);/delay(5); write_date(0x30+second
39、); void write_nyr(uchar add,uchar dte) uchar shi,ge; shi=dte/10; ge=dte%10; write_com(0x80+add); delay(1000); write_date(0x30+shi); write_com(0x80+add+1); delay(5); write_date(0x30+ge); uchar KeyScan(void) /键盘扫描函数,使用行列逐级扫描法 uchar Val; KeyPort=0xf0;/高四位置高,低四位拉低 if(KeyPort!=0xf0)/表示有按键按下 delay(10); /去
40、抖if(KeyPort!=0xf0) /表示有按键按下 KeyPort=0xfe; /检测第一行if(KeyPort!=0xfe) Val=KeyPort&0xf0; Val+=0x0e; while(KeyPort!=0xfe); delay(10); /去抖 while(KeyPort!=0xfe); return Val; KeyPort=0xfd; /检测第二行if(KeyPort!=0xfd) Val=KeyPort&0xf0; Val+=0x0d; while(KeyPort!=0xfd); delay(10); /去抖 while(KeyPort!=0xfd); return V
41、al; KeyPort=0xfb; /检测第三行if(KeyPort!=0xfb) Val=KeyPort&0xf0; Val+=0x0b; while(KeyPort!=0xfb); delay(10); /去抖 while(KeyPort!=0xfb); return Val; KeyPort=0xf7; /检测第四行if(KeyPort!=0xf7) Val=KeyPort&0xf0; Val+=0x07; while(KeyPort!=0xf7); delay(10); /去抖 while(KeyPort!=0xf7); return Val; return 0xff;uchar KeyPro(void) switch(KeyScan() case 0xee:return 1;break;/1按下相应的键显示相对应的码值 case 0xde:return 2;break;/2 case 0xbe:return 3;break;/3 case 0x7e:return 13;break;/功能1 case 0xed:retu
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年HDTV彩色显像管及其材料和部件合作协议书
- 佛山国五道路施工方案
- 2024-2025学年下学期高一语文第四单元B卷
- 科学合理施用肥料对农产品质量的影响及高效解决措施研究
- 专项施工方案评审
- 智研咨询发布:中国海缆敷设船行业市场发展环境及前景研究报告
- 新未来大学英语 视听说教程1(智慧版) 听力脚本 Unit 6
- 新课标下高中生物生活化教学策略研究
- 江西省赣州市2024-2025学年高一上学期1月期末考试政治试题2
- 高考物理一轮复习课时跟踪检测(三十一)磁场的描述磁场对电流的作用(重点高中)
- 新版(七步法案例)PFMEA
- 临床护理重点专科建设项目评审标准
- 新苏教版科学五年级下册全套教学课件
- 审计部组织架构及岗位设置
- 流行性乙型脑炎PPT课件
- 深圳市轨道交通线网规划(2016_2035)(草案)
- 400V电缆分支箱生产实用工艺流程
- 四十二式太极剑剑谱
- 完整解读2021年《建设工程抗震管理条例》PPT教学讲座课件
- 新版小学英语PEP四年级下册教材分析(课堂PPT)
- 食用植物油生产许可证审查细则.doc
评论
0/150
提交评论