单片机课程设计定时闹钟的设计.doc_第1页
单片机课程设计定时闹钟的设计.doc_第2页
单片机课程设计定时闹钟的设计.doc_第3页
单片机课程设计定时闹钟的设计.doc_第4页
单片机课程设计定时闹钟的设计.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

摘要摘要 本设计是基于单片机的定时闹钟设计 单片机是在一块半导体芯片上集成了 CPU 存储器以及输入和 输出接口电路的微型计算机 其集成度高 功能强 通用性好 特别是它具有体积小 重量轻 能耗低 价格便宜 抗扰 能力强和使用方便等特点 它不仅仅是一项技术性上的突破 同时也是对能源方面的有 效节约与有效利用 因此深受国家有关技术部门和能源部门的重视和支持 其组合而成的配件产品在日常 生活的使用过程中非常方便 简单且实用 深受着广大消费者的喜爱 从而使单片机技术在社会中得到了 广泛的发展和应用 目前 已成为测量控制应用系统中的优选机种和新电子产品的关键部件 特别是 20 世纪 70 年代问世以来 以其极高的性能价格比 受到人们的重视和关注 应用很广 发展很快 推广率 高 市场利润率高 而 51 单片机是各单片机中最为典型和最有代表性的一种 本次设计的定时闹钟在硬件方面就采用了 AT89C51 芯片 用 6 位 LED 数码管来进行 显示 LED 用 P0 口进行驱动 采用的是动态扫描显示 能够比较准确显示时时 分分 秒秒 通过 S1 S2 S3 和 S4 四个功能按键可以实现对时间的修改和定时 定时时间到 喇叭可以发出报警声 在软件方面采用汇编语言编程 整个定时闹钟系统能完成时间的显 示 调时和定时闹钟 复位等功能 并经过系统仿真后得到了正确的结果 目录 1 1 概述概述 1 1 1 设计意义 1 1 2 设计任务 1 1 3 设计系统的主要功能 1 2 2 系统总体方案及硬件设计系统总体方案及硬件设计 2 2 1 系统总体方案 2 2 2 系统设计方框图 2 2 3 硬件设计 2 2 3 1 芯片 AT89C51 2 2 3 2 喇叭 SPEAKER 5 2 3 3 时钟电路 5 2 3 4 显示器模块的设计 5 3 3 软件设计软件设计 7 3 1 划分模块 7 3 2 程序流程图 7 3 3 模块程序 8 3 3 1 时间的设置程序 8 3 3 2 闹钟时间的设置程序 10 3 3 3 喇叭响应程序 12 3 4 数码显示 13 4 4 PROTEUSPROTEUS 软件仿真软件仿真 14 5 5 课程设计体会课程设计体会 16 参考文献参考文献 16 附附 1 1 源程序代码 源程序代码 17 附附 2 2 系统原理图 系统原理图 26 2 1 概述概述 1 1 设计目的 本设计是一个定时闹钟 它仅使用单片的 20 引脚单片机完成闹钟的全部功能 设计目的是为了学习 和巩固单片机知识 使对已学过的基础知识能有更深入的理解 学会独立思考 独立思考 独立工作 以 及提高对所学应用基本理论分析和解决实际问题的能力 1 2 设计任务 本文设计的定时闹钟采用 AT89C51 芯片 用汇编语言进行编程 时 分 秒用 6 位 LED 数码管显示 在电路中通过四个按键 S1 S2 S3 和 S4 来进行定时和调时 定时时间到通过喇叭发出报警声 1 3 设计系统的主要功能 能显示 时时 分分 秒秒 能够设置定时时间 修改定时时间 到定时时间能发出报警声 2 系统总体方案及硬件设计系统总体方案及硬件设计 2 1 系统总体方案 1 由于要显示数字时间 所以需要 6 位数码管 2 时间的定时用时钟电路 修改时间和定时用手动按键控制 报警声通过喇叭发出 3 AT89C51 单片机加上外围器件 数字显示器 7SEG MPX6 CC BLUE RESPACK 8 排阻和 SPEAKER 喇叭 和应用程序 ISIS 6 Professional 软件和 WAVE6000 编译软件 构成相应的应用系统 2 2 系统设计方框图 如图 1 所示 图 1 2 3 硬件设计 2 3 1 芯片 AT89C51 AT89C51 是一种带 4K 字节闪烁可编程可擦除只读存储器 FPEROM Falsh Programmable and Erasable Read Only Memory 的低电压 可稳定地工作于 5V 的电源下 该器件采用 ATMEL 高密度非易失 存储器制造技术制造 与工业标准的 MCS 51 指令集和输出管脚相兼容 由于将多功能 8 位 CPU 和闪烁存 储器组合在单个芯片中 ATMEL 的 AT89C51 是一种高效微控制器 AT89C51管脚说明 VCC 供电电压 GND 接地 P0口 P0口为一个8位漏级开路双向I O口 每脚可吸收8TTL门电流 当P1口的管脚第一次写1时 被 晶振 及复位 键盘 按钮 单片机 AT89C51 RESPACK 8 SPEAKER 喇叭 7SEG MPX6 CC BLUE 数码管显示 3 定义为高阻输入 P0能够用于外部程序数据存储器 它可以被定义为数据 地址的第八位 在FIASH编程 时 P0 口作为原码输入口 当FIASH进行校验时 P0输出原码 此时P0外部必须被拉高 P1口 P1口是一个内部提供上拉电阻的8位双向I O口 P1口缓冲器能接收输出4TTL门电流 P1口管 脚写入1后 被内部上拉为高 可用作输入 P1口被外部下拉为低电平时 将输出电流 这是由于内部上 拉的缘故 在FLASH编程和校验时 P1口作为第八位地址接收 P2口 P2口为一个内部上拉电阻的8位双向I O口 P2口缓冲器可接收 输出4个TTL门电流 当P2口 被写 1 时 其管脚被内部上拉电阻拉高 且作为输入 并因此作为输入时 P2口的管脚被外部拉低 将 输出电流 这是由于内部上拉的缘故 P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时 P2口输出地址的高八位 在给出地址 1 时 它利用内部上拉优势 当对外部八位地址数据存储器进行读 写时 P2口输出其特殊功能寄存器的内容 P2口在FLASH编程和校验时接收高八位地址信号和控制信号 P3口 P3口管脚是8个带内部上拉电阻的双向I O口 可接收输出4个TTL门电流 当P3口写入 1 后 它们被内部上拉为高电平 并用作输入 作为输入 由于外部下拉为低电平 P3口将输出电流 ILL 这 是由于上拉的缘故 P3口也可作为AT89C51的一些特殊功能口 如下表所示 口管脚 备选功能 P3 0 RXD 串行输入口 P3 1 TXD 串行输出口 P3 2 INT0 外部中断0 P3 3 INT1 外部中断1 P3 4 T0 记时器0外部输入 P3 5 T1 记时器1外部输入 P3 6 WR 外部数据存储器写选通 P3 7 RD 外部数据存储器读选通 P3口同时为闪烁编程和编程校验接收一些控制信号 RST 复位输入 当振荡器复位器件时 要保持RST脚两个机器周期的高电平时间 ALE PROG 当访问外部存储器时 地址锁存允许的输出电平用于锁存地址的地位字节 在FLASH编 程期间 此引脚用于输入编程脉冲 在平时 ALE端以不变的频率周期输出正脉冲信号 此频率为振荡器 频率的1 6 因此它可用作对外部输出的脉冲或用于定时目的 然而要注意的是 每当用作外部数据存储 器时 将跳过一个ALE脉冲 如想禁止ALE的输出可在SFR8EH地址上置0 此时 ALE只有在执行 MOVX MOVC指令是ALE才起作用 另外 该引脚被略微拉高 如果微处理器在外部执行状态ALE禁止 置位无效 PSEN 外部程序存储器的选通信号 在由外部程序存储器取指期间 每个机器周期两次 PSEN有效 但在访问外部数据存储器时 这两次有效的 PSEN信号将不出现 EA VPP 当 EA保持低电平时 则在此期间外部程序存储器 0000H FFFFH 不管是否有内部程序 存储器 注意加密方式1时 EA将内部锁定为RESET 当 EA端保持高电平时 此间内部程序存储器 在 FLASH编程期间 此引脚也用于施加12V编程电源 VPP XTAL1 反向振荡放大器的输入及内部时钟工作电路的输入 XTAL2 来自反向振荡器的输出 如图 2 所示 2 3 2 喇叭 SPEAKER 由 P3 7 口控制喇叭 使其定时时间到能发出报警声 2 3 3 时钟电路 单片机的时钟产生方法有两种 内部时钟方式和外部时钟方式 本系统中 AT89C51 单片机采用内部时 钟方式 最常用的内部时钟方式是采用外接晶体和电容组成的并联谐振回路 振荡晶体可在 4 1 2MHz 12MHz 之间 电容值无严格要求 但电容取值对振荡频率输出的稳定性 大小和振荡电路起振速 度有少许影响 一般可在 20pF 100pF 之间取值 AT98C51 单片机的时钟电路 如图 3 所示 图 3 上拉电阻 RESPACK 8 控制按键 BUTTON ACTIVE SPST PushButton 本系统要进行时间的调整和定时 因此用 4 个手动按键对其进行控制 2 3 4 显示器模块的设计 利用7SEG MPX6 CC BLUE数字显示器的1 6引脚连接AT89C51单片机 P2 0 P2 5接口 其他8个引脚分 别与AT89C51单片机的P0 0 P0 7和共阳极管RESPACK 8排阻的 2 9 引脚分别连接 数码管 7SEG MPX6 CC BLUE 单片机中通常使用 7 段 LED LED 是发光二极管显示器的缩写 LED 显示器由于结构简单 价格便宜 体积小 亮度高 电压低 可靠性高 寿命长 响应速度快 颜色鲜艳 配置灵活 与单片机接口方便而 得到广泛应用 LED 显示器是由若干个发光二极管组成显示字段的显示部件 当发光二极管导通时 相应 的一个点或一个笔划发光 控制不同组合的二极管导通 就能显示出各种字符 LED 显示器有多种形式 如 米 字型显示器 点阵显示器和七段数码显示器等 在单片机系统中使用最多的是七段数码显示器 因为共阴极的 LED 数码管它的驱动电流是分开的 在单片机进行动态扫描的时候不会影响彼此的电流 故该系统中的 6 位 LED 数码管均用共阴极的数码管 如图 4 所示 3 软件设计软件设计 3 1 划分模块 根据设计要求 定时闹钟程序可分为以下几个模块 1 显示时间的设置 2 闹钟时间的设置 4 定时时间的响应 AT89C51 XTAL2 XTAL1 JZ 12M C1 30PF C2 30PF 5 3 2 程序流程图 图 5 3 3 模块程序 3 3 1时间的设置程序 如下 SETTIME L0 LCALL DISPLAY1 MM1 JB P1 2 L1 P1 2 1时转移 MOV C P1 2 JC MM1 LCALL DELAY1 延时 JC MM1 MSTOP1 MOV C P1 2 开 始 初始化 显示时间 闹钟时 间到 喇叭响 S4 按下 S3 按下 设置闹钟设置时间 S1 按下 S1 按下 6 JNC MSTOP1 P1 2为0时转移 LCALL DELAY1 延时 MOV C P1 2 JNC MSTOP1 INC 22H 小时自加一 MOV A 22H CJNE A 18H GO12 小时计数循环 MOV 22H 00H 复位 MOV 34H 00H MOV 35H 00H LJMP L0 L1 JB P1 1 L2 P1 1 1时转移 MOV C P1 1 JC L1 LCALL DELAY1 延时 JC L1 MSTOP2 MOV C P1 1 JNC MSTOP2 P1 1 0时转移 LCALL DELAY1 延时 MOV C P1 1 JNC MSTOP2 INC 21H 分钟加一 MOV A 21H CJNE A 3CH GO11 分钟计数循环 MOV 21H 00H 复位 MOV 32H 00H MOV 33H 00H LJMP L0 GO11 MOV B 0AH DIV AB MOV 32H B 将A的低4位存入32单元 MOV 33H A 将A的高4位存入33单元 LJMP L0 GO12 MOV B 0AH DIV AB MOV 34H B 将A的低4位存入34单元 MOV 35H A A的高4位存入35单元 LJMP L0 L2 JB P1 0 L0 P1 0 1时转移 MOV C P1 0 JC L2 LCALL DELAY1 延时 MOV C P1 0 JC L2 STOP1 MOV C P1 0 JNC STOP1 P1 0 0时转移 LCALL DELAY1 延时 MOV C P1 0 JNC STOP1 LJMP LOOP 3 3 2闹钟时间的设置程序 SETATIME LCALL DISPLAY2 调用DISPLAY2 N0 LCALL DISPLAY2 MM2 JB P1 1 N1 P1 1 1时转移 MOV C P1 1 JC MM2 LCALL DELAY1 延时 JC MM2 7 MSTOP3 MOV C P1 1 JNC MSTOP3 P1 1 0时转移 LCALL DELAY1 延时 MOV C P1 1 JNC MSTOP3 INC 24H 小时加一 MOV A 24H CJNE A 24 GO22 小时计数循环 MOV 24H 00H 复位 MOV 38H 00H MOV 39H 00H LJMP N0 N1 JB P1 3 N2 P1 3 1时转移 MOV C P1 3 JC N1 LCALL DELAY1 延时 JC N1 MSTOP4 MOV C P1 3 JNC MSTOP4 P1 3 0时转移 LCALL DELAY1 延时 MOV C P1 3 JNC MSTOP4 INC 23H 分钟加一 MOV A 23H CJNE A 60 GO21 分钟计数循环 MOV 23H 00H 复位 MOV 36H 00H MOV 37H 00H LJMP N0 GO21 MOV B 0AH DIV AB MOV 36H B 将A的低4位存入36单元 MOV 37H A 将A的高4位存入37单元 LJMP N0 GO22 MOV B 0AH DIV AB MOV 38H B 将A的低4位存入38单元 MOV 39H A 将A的高4位存入39单元 LJMP N0 N2 JB P1 0 N0 P1 0 1时转移 MOV C P1 0 JC N2 LCALL DELAY1 延时 MOV C P1 0 JC N2 STOP2 MOV C P1 0 JNC STOP2 LCALL DELAY1 MOV C P1 0 JNC STOP2 LJMP LOOP 3 3 3喇叭响应程序 TIMEPRO MOV A 21H MOV B 23H CJNE A B BK 判断定时闹钟的分钟 MOV A 22H MOV B 24H CJNE A B BK 判断定时闹钟的小时 8 SETB 25H 0 MOV C 25H 0 JC XX XX LCALL TIMEOUT 调用TIMEOUT BK RET TIMEOUT X1 LCALL BZ 用喇叭响应程序 LCALL DISPLAY2 延时 CLR 25H 0 调用喇叭响应程序结束 JB P1 0 X1 P1 3 1时转移 LCALL DELAY CLR 25H 0 LJMP DISPLAY1 延时 BZ CLR P3 7 MOV R7 250 喇叭响应时间 T2 MOV R6 124 T3 DJNZ R6 T3 DJNZ R7 T2 SETB P3 7 RET 3 4 数码显示 将所编程序在 WAVE 里进行编译 编译正确后生成 HEX 文件 在 AT89C51 芯片中加载此文件后 进行 仿真 系统运行后 能准确的显示时间 通过 S1 S2 S3 和 S4 四个按键 能够对时间进行修改和闹钟的 设置 定时时间到能发出报警声 如图 6 所示 图 6 5 课程设计体会课程设计体会 课程设计是培养学生综合运用所学知识 发现 提出 分析和解决实际问题 锻炼实践能力的重要环 节 是对学生实际工作能力的具体训练和考察过程 随着科学技术发展的日新日异 单片机已经成为当今 计算机应用中空前活跃的领域 在生活中可以说得是无处不在 作为二十一世纪的大学生来说掌握单片机 9 的开发技术是十分重要的 通过本次单片机原理及应用课程设计使我充分认认到了课程设计的理要性和必要性 本次设计使我对 已学过的基础知识有了更深入的理解 学会了独立思考 独立工作以及对应用所学基本理论分析和解决实 际问题的能力有了很大的提高 另外 本次设计使我的实际操作技能得到了训练 同时也进一步培养了 我严谨的科学作风 回顾起此次单片机课程设计 从选题到定稿 从理论到实践 在整整一星期的日子里 可以说得是苦 多于甜 但是从中却学到很多很多的的东西 不但巩固了以前所学过的知识 而且对单片机原理课外知识 也的到了拓展 做的过程中 开始的确遇到了不少困难的问题 比如说芯片管脚不熟悉怎么放置 对单片 机汇编语言掌握得不好等等 同时在这过程中也发现了自己的许多不足之处 对以前所学过的知识理解得 不够深刻 掌握得不够牢固 通过单片机课程设计之后 我不仅加深了对单片机理论的理解 将理论很好地应用到实际当中去 而 且我们还学会了如何去培养创新精神和严谨的科学作风 从而不断地战胜自己 超越自己 更重要的是 我在这一设计过程中 学会了坚持不懈 不轻易言弃 参考文献参考文献 1 李朝青 单片机原理及接口技术 修订版 北京 北京航空航天大学出版社 1998 2 李广弟 单片机基础 北京 北京航空航天大学出版社 1992 3 何立民 单片机应用技术大全 北京 北京航空航天大学出版社 1994 4 张毅刚 单片机原理及接口技术 哈尔滨 哈尔滨工业大学出版社 1990 5 谭浩强 单片机课程设计 北京 清华大学出版社 1989 6 余发山主编 单片机原理及应用技术 中国矿业大学出版社 2003 12 7 Mak S Radford D Design considerations for implementation of large scale automatic meter reading syste ms Power Delivery IEEE Transactions on Volume 10 Issue 1 Jan 1995 附 1 源程序代码 ORG 0000H LJMP MAIN ORG 000BH LJMP TIME MAIN PROGRAM ORG 0100H MAIN MOV SP 50H MOV 20H 00H BIN SECOND MOV 21H 00H BIN MINUTE MOV 22H 00H BIN HOUR MOV 23H 01H MOV 24H 01H MOV 25H 00H MOV 30H 00H BCD SECOND MOV 31H 00H MOV 32H 00H BCD MINUTE MOV 33H 00H MOV 34H 00H BCD HOUR MOV 35H 00H MOV 36H 01H MOV 37H 00H MOV 38H 01H MOV 39H 00H MOV TMOD 01H 16位计数器 MOV TH0 03CH 赋初值 MOV TL0 0B0H MOV IE 10000111 中断允许 SETB TR0 启动T0 10 MOV R2 14H MOV P2 0FFH LOOP LCALL TIMEPRO LCALL DISPLAY1 JB P1 3 M1 P1 3 1时转移 LCALL SETTIME 调用SETTIME子程序 LJMP LOOP M1 JB P1 2 M2 P1 2 1时转移 LCALL SETATIME 调用SETTIME子程序 LJMP LOOP M2 JB P1 0 M4 P1 0 1时转移 LCALL LOOKATIME 调用LOOKATIME子程序 M4 LJMP LOOP DELAY MOV R4 030H 延时 DL00 MOV R5 0FFH DL11 MOV R6 9H DL12 DJNZ R6 DL12 DJNZ R5 DL11 DJNZ R4 DL00 RET SETTIME L0 LCALL DISPLAY1 MM1 JB P1 2 L1 P1 2 1时转移 MOV C P1 2 JC MM1 LCALL DELAY1 延时 JC MM1 MSTOP1 MOV C P1 2 JNC MSTOP1 P1 2为0时转移 LCALL DELAY1 延时 MOV C P1 2 JNC MSTOP1 INC 22H 小时自加一 MOV A 22H CJNE A 18H GO12 小时计数循环 MOV 22H 00H 复位 MOV 34H 00H MOV 35H 00H LJMP L0 L1 JB P1 1 L2 P1 1 1时转移 MOV C P1 1 JC L1 LCALL DELAY1 延时 JC L1 MSTOP2 MOV C P1 1 JNC MSTOP2 P1 1 0时转移 LCALL DELAY1 延时 MOV C P1 1 JNC MSTOP2 INC 21H 分钟加一 MOV A 21H CJNE A 3CH GO11 分钟计数循环 MOV 21H 00H 复位 MOV 32H 00H MOV 33H 00H LJMP L0 GO11 MOV B 0AH DIV AB MOV 32H B 将A的低4位存入32单元 MOV 33H A 将A的高4位存入33单元 LJMP L0 11 GO12 MOV B 0AH DIV AB MOV 34H B 将A的低4位存入34单元 MOV 35H A 将A的高4位存入35单元 LJMP L0 L2 JB P1 0 L0 P1 0 1时转移 MOV C P1 0 JC L2 LCALL DELAY1 延时 MOV C P1 0 JC L2 STOP1 MOV C P1 0 JNC STOP1 P1 0 0时转移 LCALL DELAY1 延时 MOV C P1 0 JNC STOP1 LJMP LOOP SETATIME LCALL DISPLAY2 调用DISPLAY2 N0 LCALL DISPLAY2 MM2 JB P1 1 N1 P1 1 1时转移 MOV C P1 1 JC MM2 LCALL DELAY1 延时 JC MM2 MSTOP3 MOV C P1 1 JNC MSTOP3 P1 1 0时转移 LCALL DELAY1 延时 MOV C P1 1 JNC MSTOP3 INC 24H 小时加一 MOV A 24H CJNE A 24 GO22 小时计数循环 MOV 24H 00H 复位 MOV 38H 00H MOV 39H 00H LJMP N0 N1 JB P1 3 N2 P1 3 1时转移 MOV C P1 3 JC N1 LCALL DELAY1 延时 JC N1 MSTOP4 MOV C P1 3 JNC MSTOP4 P1 3 0时转移 LCALL DELAY1 延时 MOV C P1 3 JNC MSTOP4 INC 23H 分钟加一 MOV A 23H CJNE A 60 GO21 分钟计数循环 MOV 23H 00H 复位 MOV 36H 00H MOV 37H 00H LJMP N0 GO21 MOV B 0AH DIV AB MOV 36H B 将A的低4位存入36单元 MOV 37H A 将A的高4位存入37单元 LJMP N0 GO22 MOV B 0AH DIV AB MOV 38H B 将A的低4位存入38单元 MOV 39H A 将A的高4位存入39单元 12 LJMP N0 N2 JB P1 0 N0 P1 0 1时转移 MOV C P1 0 JC N2 LCALL DELAY1 延时 MOV C P1 0 JC N2 STOP2 MOV C P1 0 JNC STOP2 LCALL DELAY1 MOV C P1 0 JNC STOP2 LJMP LOOP TIMEPRO MOV A 21H MOV B 23H CJNE A B BK 判断定时闹钟的分钟 MOV A 22H MOV B 24H CJNE A B BK 判断定时闹钟的小时 SETB 25H 0 MOV C 25H 0 JC XX XX LCALL TIMEOUT 调用TIMEOUT BK RET TIMEOUT X1 LCALL BZ 调用喇叭响应程序 LCALL DISPLAY2 延时 CLR 25H 0 调用喇叭响应程序结束 JB P1 0 X1 P1 3 1时转移 LCALL DELAY CLR 25H 0 LJMP DISPLAY1 延时 BZ CLR P3 7 MOV R7 250 喇叭响应时间 T2 MOV R6 124 T3 DJNZ R6 T3 DJNZ R7 T2 SETB P3 7 RET LOOKATIME LCALL DISPLAY2 MM JB P1 0 LOOKATIME MOV C P1 0 JC MM LCALL DELAY1 MOV C P1 0 JC MM STOP3 MOV C P1 0 JNC STOP3 LCALL DELAY1 MOV C P1 0 JNC STOP3 LJMP LOOP DELAY1 MOV R4 14H 时间延时 DL001 MOV R5 0FFH DL111 DJNZ R5 DL111 DJNZ R4 DL001 RET TIME PROCESS TIME PUSH ACC 保护现场 PUSH PSW MOV TH0 03CH 初值 13 MOVTL0 0B0H DJNZR2 RET0 MOVR2 14H MOVA 20H CLR C INC A 秒自加一 CJNE A

温馨提示

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

评论

0/150

提交评论