毕业设计基于51单片机的电子密码锁课程设计报告.doc

上传人:教**** 文档编号:87907081 上传时间:2023-04-18 格式:DOC 页数:24 大小:777KB
返回 下载 相关 举报
毕业设计基于51单片机的电子密码锁课程设计报告.doc_第1页
第1页 / 共24页
毕业设计基于51单片机的电子密码锁课程设计报告.doc_第2页
第2页 / 共24页
点击查看更多>>
资源描述

《毕业设计基于51单片机的电子密码锁课程设计报告.doc》由会员分享,可在线阅读,更多相关《毕业设计基于51单片机的电子密码锁课程设计报告.doc(24页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、 单片机原理与应用 课程设计报告 题 目 基于51单片机的电子密码锁设计 系 别 物理与电子工程学院 专 业 电子信息科学与技术 学生姓名 学 号 班 级 2013年 12月26日 摘要 电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。在保密性、操作的方便性、密码的可变性、和一些自动化的功能上已经远远超过了机械密码锁。因此其应用非常广泛。而且由于其使用微型计算机的特质,导致其可以灵活的挂载电子化设备,比如界面友好的显示设备,方便快捷的输入设备等。本文简要介绍了一种基于AT89C51单片机的电子密码锁设计,主要采用汇编程序完成整个软件的设

2、计,可以实现简易的电子密码锁功能。 关键词:44矩阵键盘;AT89C51;密码锁;单片机 目录一、绪论 3二、系统所要完成的功能3三、系统总体方案设计 4四、硬件电路设计 6 4.1单片机最小系统6 4.2 键盘电路设计6 4.3 LCD显示电路8 4.4 开锁电路8五、软件设计 9六、系统调试13七、心得体会13参考文献14附 录 15源程序清单 15实物图 2322一、绪论 在日常的生活和工作中, 住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。若使用传统的机械式钥匙开锁,人们常需携带多把钥匙, 使用极不方便, 且钥匙丢失后安全性即大打折扣。随着科

3、学技术的不断发展,人们对日常生活中的安全保险器件的要求越来越高。为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。密码锁具有安全性高、成本低、功耗低、易操作等优点。在安全技术防范领域,具有防盗报警功能的电子密码锁逐渐代替传统的机械式密码锁,克服了机械式密码锁密码量少、安全性能差的缺点,使密码锁无论在技术上还是在性能上都大大提高一步。随着大规模集成电路技术的发展,特别是单片机的问世,出现了带微处理器的智能密码锁,它除具有电子密码锁的功能外,还引入了智能化管理、专家分析系统等功能,从而使密码锁具有很高的安全性、可靠性,应用日益广泛。随着人们对安全的重视和科技的发展,许多电子智

4、能锁(指纹识别、IC卡辨认)已在国内外相继面世。但是这些产品的特点是针对特定的指纹和有效卡,只能适用于保密要求的箱、柜、门等。而且指纹识识别器若在公共场所使用存在容易机械损坏,IC卡还存在容易丢失、损坏等特点。加上其成本较高,一定程度上限制了这类产品的普及和推广。鉴于目前的技术水平与市场的接收程度,电子密码锁是这类电子防盗产品的主流。 二、系统所要完成的功能基于以上思路,本文主要介绍一种使用 STC公司的 STC11F16XE单片机电子密码锁的设计,其主要具有如下功能: 1、密码确认功能:密码通过矩阵键盘输入,若密码输入正确,则将通过驱动口发出高电平信号作为机械制动开锁的依据完成开锁功能。同时

5、在主界面上显示:“The keywords is ok!” 2、密码设置功能:单片机刚刚上电复位后会通过LCD1602界面提示设置密码:“Please set the keywords!”而且设置的密码是可重复的,程序运行中可再次通过输入相应密码然后修改。3、在密码输入错误时系统会通过LCD1602界面提示密码输入错误字符:“The keywords is false!”同时不做开锁动作。 4、本次设计中利用一只LED代替机械制动系统,灯亮表示开锁,灯灭表示闭锁。在本次的设计中,具体实现系统设计的过程如下: 1、完成硬件的设计。通过PROTEL99SE绘制单片机最小系统板和矩阵键盘的原理图和P

6、CB版图,然后通过实验室的腐蚀液腐蚀出来,焊上元件,下载测试程序调试。1、 完成软件的设计。通过Keil uVision3软件,编辑好源汇编程序,然后编译和修改直到编译器通过为止。2、 把编译好的HEX文件下载到单片机内部运行,通过查找系统功能上的不足和可修改的地方,然后回过去修改源文件,最终成型。 三、系统总体方案设计方案一:采用数字电路控制。利用数字电路的逻辑运算功能,然后设计成电子密码锁,也可以完成系统的设计,甚至直接用FPGA完成设计就更加方便了。但是如果用FPGA完成则显得非常的浪费,因为,FPGA一方面价格昂贵,另一方面用功能如此强大的芯片制作功能如此简单的系统是一种耗费资源的行为

7、,极不可取,故这里不采用此方案。方案二:采用DSP芯片TMS320F2812完成电子密码锁的设计。由于DSP芯片在逻辑运算和数学运算上的强大,完成电子密码锁的设计非常容易,而且容易实现。但是DSP芯片TMS320F2812的价格昂贵,故此处不采用此方案。方案三:采用51系列单片机STC11F16XE为核心来完成控制方案,然后实现电子密码锁的设计。我们可以利用单片机灵活的编程设计和丰富的IO端口,及其控制的准确性,不但能实现基本的密码锁功能,还能添加调电存储、声光提示甚至添加遥控控制功能。其原理如图31所示。89S51单片机矩阵键盘控制输入错误锁定键盘延时报警控制电路AT24C02掉电存储开锁控

8、制电路指示电路串口显示电路图31单片机控制方案通过比较以上三种方案,单片机方案有较大的活动空间,不但能实现所要求的功能而且能在很大的程度上扩展功能,而且还可以方便的对系统进行升级,所以我们采用第三种方案。设计的效果场景如下:1、输入密码用矩形键盘,包括数字键、字母键和功能键。2、用液晶显示屏LCD1602显示字符和操作界面。3、用发光二极管代替开锁的电路,发光表示开锁,熄灭表示闭锁。4、打开电源后,显示器显示“Please set the keywords!”提示用户设置密码,用户可以在此时输入一个8位的密码。输入至8位后系统自动跳转到另一界面,显示字符“The keywords set ok

9、!”5、在完成上面的步骤后,系统再次跳换到另一个界面:“Please input the keywords!”此时系统提示用户输入正确的密码以完成开锁的功能。用户此时可以通过矩阵键盘来完成输入密码的功能。输入位数为8位数。6、若输入密码正确则系统会显示:“The keywords is ok!” ,同时点亮LED灯完成开锁。否则系统将显示“The keywords is false!”并且不做任何动作。在本次设计中,硬件主要完成单片机最小系统和矩阵键盘的设计,软件主要由矩阵键盘子程序、显示初始化程序、显示字符子程序、数据比较子程序、数据寄存子程序和子程序调度主程序等组成。四、硬件电路设计4.1

10、、单片机最小系统设计单片机的最小系统中包括外接晶振、复位电路和P0口的上拉电阻。其原理图如图4.1所示: 图4.1 单片机最小系统4.2、键盘电路设计本设计中使用矩阵键盘作为输入设备,它最大的优点就是可以减少单片机I/O总线的占用,节省资源,而且可以产大量的不同组输入数据。在按键比较多的时候,通常采用这样方法。其原理如图4.2所示: 。 图4.2 矩阵键盘原理图每一条水平(行线)与垂直线(列线)的交叉处不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需要N条行线和M条列线,即可组成具有NM个按键的键盘。在这种行列式矩阵键盘非键盘编码的单片机系统中,键盘处理程序首先执行等待按键并确认有无

11、按键按下的程序段。当确认有按键按下后,下一步就要识别哪一个按键按下。对键的识别通常有两种方法:一种是常用的逐行扫描查询法;另一种是速度较快的线反转法。对照图4.2所示的44键盘,说明线反转的工作原理。首先辨别键盘中有无键按下,有单片机I/O口向键盘送全扫描字,然后读入行线状态来判断。方法是:向行线输出全扫描字00H,把全部列线置为低电平,然后将列线的电平状态读入累加器A中。如果有按键按下,总会有一根行线电平被拉至低电平从而使行线不全为1。判断键盘中哪一个键被按下使通过将列线逐列置低电平后,检查行输入状态来实现的。方法是:依次给列线送低电平,然后查所有行线状态,如果全为1,则所按下的键不在此列;

12、如果不全为1,则所按下的键必在此列,而且是在与零电平行线相交的交点上的那个键。本次电路的设计中,矩阵键盘的具体的功能设计如表3.1: 表4.1 按键功能按 键键 名功 能 说 明19键数 字 键输 入 密 码A-F键字母键输入密码4.3、LCD显示电路 由于LCD1602的引脚中有一个对比调整电压,因此电路设计中主要就是对它串联可调电阻和对背光灯串联可调电阻的设计。这里我们采用P0口的并口总线和LCD1602数据总线相对应。控制线采用P2.2、P2.3、P2.4三个位组成,分别控制RS、RW和E。在程序中用指令EQU定义。由于显示电路比较简单,故不截图单独说明。4.4、开锁电路在本次设计中,基

13、于节省材料的原则,暂时用发光二极管代替电磁锁,发光管亮,表示开锁;灭,表示没有开锁。电路图如3.3所示。当P2.0口输出低电平时,二极管发光,表示开锁。 图4.3 开锁电路五、软件设计5.1、软件设计思路电子密码锁工作的主要过程是LCD1602液晶显示器提示开始输入密码,通过矩阵键盘输入密码,同时由液晶显示器显示输入的情况,到输入完成后系统自动作出判断,作出开锁或闭锁处理。密码的设定,在本设计中的程序中输入的密码是保存在30H46H中的。在输入过程中,首先输入密码的长度,接着根据密码的长度输入密码的位数,直到所有长度的密码都已经输入完毕;或者输入确认功能键之后,才能完成密码的输入过程。进入密码

14、的判断比较处理状态并给出相应的处理过程。5.2 各个子程序的设计 1、键盘扫描子程序键盘扫描流程图如图4.2.1 图5.1 键盘扫描流程图键盘扫描子程序如下:KEY1: MOV A,P1 /键盘程序入口 ORL A,#0F0H CPL A JZ KEY1 ACALL DELAY10MS MOV A,P1 ORL A,#0F0H CPL A JZ KEY1 MOV P1,#7FH / 确认有键按下 MOV P1,#7FH MOV A,P1 ORL A,#0F0H CPL A JNZ CHULI1 / 开始各种相应处理 MOV P1,#0BFH MOV A,P1 ORL A,#0F0H CPL A

15、 JNZ CHULI2 MOV P1,#0DFH MOV A,P1 ORL A,#0F0H CPL A JNZ CHULI3 MOV P1,#0EFH MOV A,P1 ORL A,#0F0H CPL A JNZ CHULI42、液晶显示初始化程序初始化程序主要完成各种显示功能的配置: MOV P0,#01H /显示程序入口 初始化 ACALL ENABLE MOV P0,#38H ACALL ENABLE MOV P0,#0FH ACALL ENABLE MOV P0,#06H ACALL ENABLE MOV P0,80H3、液晶显示部分程序液晶显示程序主要完成读时序和写时序的功能:ENA

16、BLE: CLR RS CLR RW CLR E ACALL DELAY10MS SETB E RETDAT1: SETB RS CLR RW CLR E ACALL DELAY10MS SETB E RET 其中,ENABLE子程序主要完成对LCD1602的写控制的功能,DAT1子程序主要完成对其的写数据的功能。4、数据比较判断子程序 BIJIAO: ACALL DELAY MOV P0,#01H ACALL ENABLE ACALL PLEASE ACALL INPUT ACALL PASSWORD MOV R3,#8 MOV R1,#2AH ACALL MAIN CLR C MOV A,

17、20H SUBB A,2AH JNZ ZHONGZHI MOV A,21H SUBB A,2BH JNZ ZHONGZHI MOV A,22H SUBB A,2CH JNZ ZHONGZHI MOV A,23H SUBB A,2DH JNZ ZHONGZHI MOV A,24H SUBB A,2EH JNZ ZHONGZHI MOV A,25H SUBB A,2FH JNZ ZHONGZHI MOV A,26H SUBB A,30H JNZ ZHONGZHI MOV A,27H SUBB A,31H JNZ ZHONGZHI 此子程序根据输入的密码自动和设置的密码进行比对,并且依据其是否相等作

18、出判断而跳转至不同的其他的子程序中去做相应的操作。六、系统调试 本次调试采用实物调试。首先设计电子密码锁的源程序,源程序经过汇编后,生成的目标文件下载到单片机内部,运行并做操作后查看和预期结果是否一样。经过不断地修改,效果见附页。其中主要包括了开机界面的显示,输入密码正确后的显示,提示输入密码的界面显示和开锁后的效果。 七、心得体会实践是检验真理的唯一标准,当然也是检验学习成果的标准。在经过一段时间的学习之后,我们需要了解自己的所学应该如何应用在实践中,因为任何知识都源于实践,归于实践,所以要将所学的知识在实践中来检验。 这次课程设计终于顺利完成了,由于我们对于单片机的应用并不熟悉,因此,我们

19、请了硕勋励志班的优秀同学给我们进行指导。虽然老师并不要求做出实物,但硕勋班的那位同学认为要在实践中我们才能学到更多,理解的更全面。因此,我们在那位同学的指导下做出了实物,虽然并不完美,但却比理论学习的更多,实践是检验真理的唯一标准。当然我们在设计中也遇到了很多问题,仿真软件不熟悉,指令指针应用不熟悉,实务操作就更是困难,真正体现出书到用时方恨少,我们女生在实践方面的劣势也严重的凸显出来。开始的时候,几乎是寸步难行,编程,操作什么的都要靠硕勋班同学细心地解释指导,慢慢地才生疏地上手了,在这里要诚挚的感谢硕勋励志班的同学,耐心的指导我们。其实一直到最后作品出来了,我们也没有真正地理解了所有的东西,

20、只是明白了许多零零散散的概念,这也证明了没有什么是可以轻易学到的。这次我们最大的心得就是要想真正地学习某一方面的东西,就必须全心全意心无旁骛地朝着这个方向走下去。 在做设计期间,在励志班同学的指导下,通过自身的不断努力,无论是思想上,学习上,都取得了长足的发展和巨大的收获。顾起此次单片机课程设计,至今我们感慨颇多,的确,从选题到定稿,从理论到实践,在整整两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我们懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知

21、识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,对单片机汇编语言掌握得不好,通过这次课程设计之后,一定把以前所学过的知识重新温故。参考文献1 李朝青.单片机原理及接口技术(简明修订版)M.北京:北京航空航天大学出版社,19982 李全利.单片机原理及接口技术M.高等教育出版社,20033 PROTEL99 SE电路设计与制板M.机械工业出版社,20074 杨将新,

22、李华军,刘到骏等.单片机程序设计及应用(从基础到实践)J电子工业出版社,20067 黄智伟.全国大学生电子设计竞赛训练教程M.北京:电子工业出版社, 2005附录源程序清单 ORG 0000H RS EQU P2.2 RW EQU P2.3 E EQU P2.4 AJMP START ORG 2000HDB 30H,31H,32H,33H,34H,35H,36H,37HDB 38H,39H,41H,42H,43H,44H,45H,46H ORG 0030HSTART: MOV DPTR,#2000H /系统初始化 MOV SP,#60H MOV R3,#8 MOV R1,#20H SETB P

23、2.0 MOV P0,#01H /显示程序入口 初始化 ACALL ENABLE MOV P0,#38H ACALL ENABLE MOV P0,#0FH ACALL ENABLE MOV P0,#06H ACALL ENABLE MOV P0,80H ACALL ENABLE ACALL PLEASE ACALL SEET ACALL PASSWORD ACALL MAIN ACALL XIANSHI1 ACALL BIJIAO AJMP $MAIN: MOV P1,#0FHKEY1: MOV A,P1 /键盘程序入口 ORL A,#0F0H CPL A JZ KEY1 ACALL DELA

24、Y10MS MOV A,P1 ORL A,#0F0H CPL A JZ KEY1 MOV P1,#7FH / 确认有键按下 MOV P1,#7FH MOV A,P1 ORL A,#0F0H CPL A JNZ CHULI1 / 开始各种相应处理 MOV P1,#0BFH MOV A,P1 ORL A,#0F0H CPL A JNZ CHULI2 MOV P1,#0DFH MOV A,P1 ORL A,#0F0H CPL A JNZ CHULI3 MOV P1,#0EFH MOV A,P1 ORL A,#0F0H CPL A JNZ CHULI4CHULI1: MOV P1,#07FH /键值生

25、成程序部分 MOV A,P1 JNB ACC.0,C1Z1 JNB ACC.1,C1Z2 JNB ACC.2,C1Z3 JNB ACC.3,C1Z4C1Z1: MOV A,#3 AJMP WANCC1Z2: MOV A,#7 AJMP WANCC1Z3: MOV A,#11 AJMP WANCC1Z4: MOV A,#15 AJMP WANCCHULI2: MOV P1,#0BFH MOV A,P1 JNB ACC.0,C2Z1 JNB ACC.1,C2Z2 JNB ACC.2,C2Z3 JNB ACC.3,C2Z4C2Z1: MOV A,#2 AJMP WANCC2Z2: MOV A,#6

26、AJMP WANCC2Z3: MOV A,#10 AJMP WANCC2Z4: MOV A,#14 AJMP WANCCHULI3: MOV P1,#0DFH MOV A,P1 JNB ACC.0,C3Z1 JNB ACC.1,C3Z2 JNB ACC.2,C3Z3 JNB ACC.3,C3Z4C3Z1: MOV A,#1 AJMP WANCC3Z2: MOV A,#5 AJMP WANCC3Z3: MOV A,#9 AJMP WANCC3Z4: MOV A,#13 AJMP WANCCHULI4: MOV P1,#0EFH MOV A,P1 JNB ACC.0,C4Z1 JNB ACC.1,

27、C4Z2 JNB ACC.2,C4Z3 JNB ACC.3,C4Z4C4Z1: MOV A,#0 AJMP WANCC4Z2: MOV A,#4 AJMP WANCC4Z3: MOV A,#8 AJMP WANCC4Z4: MOV A,#12 AJMP WANCWANC: MOV R1,A /键值显示程序 INC R1 MOVC A,A+DPTR MOV P0,A ACALL DAT1 DJNZ R3,MM1MM0: AJMP ZUIHOUMM1: AJMP MAINZUIHOU: RETXIANSHI1: MOV P0,#01H ACALL ENABLE /清屏 MOV P0,#50H /P

28、 ACALL DAT1 MOV P0,#41H /A ACALL DAT1 MOV P0,#53H /S ACALL DAT1 MOV P0,#53H /S ACALL DAT1 MOV P0,#57H /W ACALL DAT1 MOV P0,#4FH/O ACALL DAT1 MOV P0,#52H/R ACALL DAT1 MOV P0,#44H/D ACALL DAT1 MOV P0,#2DH/- ACALL DAT1 ACALL SEET MOV P0,#2DH ACALL DAT1/- MOV P0,#4FH ACALL DAT1/O MOV P0,#4BH ACALL DAT1/

29、K MOV P0,#21H ACALL DAT1/! ACALL DELAY MOV P0,#01H/清屏 ACALL ENABLE RETDELAY10MS:MOV R0,#5DEL1: MOV R4,#192DEL2: MOV R2,#255 DJNZ R2,$ DJNZ R4,DEL2 DJNZ R0,DEL1 RETDELAY: MOV 30H,#50DY1: MOV 31H,#200DY2: MOV 32H,#200 DJNZ 32H,$ DJNZ 31H,DY2 DJNZ 30H,DY1 RETBIJIAO: ACALL DELAY MOV P0,#01H ACALL ENABLE

30、 ACALL PLEASE ACALL INPUT ACALL PASSWORD MOV R3,#8 MOV R1,#2AH ACALL MAIN CLR C MOV A,20H SUBB A,2AH JNZ ZHONGZHI MOV A,21H SUBB A,2BH JNZ ZHONGZHI MOV A,22H SUBB A,2CH JNZ ZHONGZHI MOV A,23H SUBB A,2DH JNZ ZHONGZHI MOV A,24H SUBB A,2EH JNZ ZHONGZHI MOV A,25H SUBB A,2FH JNZ ZHONGZHI MOV A,26H SUBB A

31、,30H JNZ ZHONGZHI MOV A,27H SUBB A,31H JNZ ZHONGZHITRUE: MOV P0,#01H ACALL ENABLE /清屏 MOV P0,#50H /P ACALL DAT1 MOV P0,#41H /A ACALL DAT1 MOV P0,#53H /S ACALL DAT1 MOV P0,#53H /S ACALL DAT1 MOV P0,#57H /W ACALL DAT1 MOV P0,#4FH/O ACALL DAT1 MOV P0,#52H/R ACALL DAT1 MOV P0,#44H/D ACALL DAT1 MOV P0,#2

32、DH/- ACALL DAT1 MOV P0,#49H/I ACALL DAT1 MOV P0,#53H ACALL DAT1/S MOV P0,#2DH ACALL DAT1/- MOV P0,#4FH ACALL DAT1/O MOV P0,#4BH ACALL DAT1/K MOV P0,#21H ACALL DAT1/! CLR P2.0/ LCALL DELAY AJMP EDDZHONGZHI: MOV P0,#01H ACALL ENABLE /清屏 MOV P0,#50H /P ACALL DAT1 MOV P0,#41H /A ACALL DAT1 MOV P0,#53H /

33、S ACALL DAT1 MOV P0,#53H /S ACALL DAT1 MOV P0,#57H /W ACALL DAT1 MOV P0,#4FH/O ACALL DAT1 MOV P0,#52H/R ACALL DAT1 MOV P0,#44H/D ACALL DAT1 MOV P0,#2DH/- ACALL DAT1 MOV P0,#49H/I ACALL DAT1 MOV P0,#53H ACALL DAT1/S MOV P0,#2DH ACALL DAT1/- MOV P0,#46H ACALL DAT1 MOV P0,#61H ACALL DAT1 MOV P0,#6CH AC

34、ALL DAT1 MOV P0,#53H ACALL DAT1 MOV P0,#65H ACALL DAT1 SETB P2.0EDD: AJMP BIJIAO RETPLEASE: MOV P0,#50H/P ACALL DAT1 MOV P0,#6CH /L ACALL DAT1 MOV P0,#65H /e ACALL DAT1 MOV P0,#61H /a ACALL DAT1 MOV P0,#73H /s ACALL DAT1 MOV P0,#65H /e ACALL DAT1 MOV P0,#2DH /- ACALL DAT1 RETINPUT: MOV P0,#69H / i A

35、CALL DAT1 MOV P0,#6EH /n ACALL DAT1 MOV P0,#70H /p ACALL DAT1 MOV P0,#75H /u ACALL DAT1 MOV P0,#74H /t ACALL DAT1 MOV P0,#2DH /- ACALL DAT1 RETPASSWORD: MOV P0,#50H /P ACALL DAT1 MOV P0,#41H /A ACALL DAT1 MOV P0,#53H /S ACALL DAT1 MOV P0,#0C0H ACALL ENABLE MOV P0,#53H /S ACALL DAT1 MOV P0,#57H /W ACALL DAT1 MOV P0,#4FH/O ACALL DAT1 MOV P0,#52H/R ACALL DAT1 MOV P0,#44H/D

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁