单片机课程设计 多功能数字钟的设计_第1页
单片机课程设计 多功能数字钟的设计_第2页
单片机课程设计 多功能数字钟的设计_第3页
单片机课程设计 多功能数字钟的设计_第4页
单片机课程设计 多功能数字钟的设计_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

1、 摘要 电子钟在日常生活中最常见,应用也最广泛。作为一种定时工具被广泛的使用在 生产生活的各方面。人类最初依靠太阳的角度来进行定时,所以受天气的影响比 较大,为了克服依靠自然现象定时的缺点人们发明的机器钟表,电子钟表一系列 的定时工具。而电子钟表具有价格便宜,质量轻,定时误差小等优点,被广泛的 应用在生产,生活的各个方面。由于电子钟的能提供精确定时又被广泛的运用在 测量之中。此电子钟采用单片机进行设计,8 段数码通过单片机进行刷新显示。 其设计的产品除了单片机之外没有用到其他集成块,使其成本可以大大降低,而 其便于维修。成品可以被广泛的用于公共场所,匾额装饰,以及教案等方面。本 文主要就是设计

2、一款数字钟, AT89C51 单片机为核心, 以 配备 LED 显示模块、 键盘输入模块、 等功能模块。数字钟采用 24 小时制方式显示时间,定时信息以及年月日显示等功能。 文章的核心主要从硬件设计和软件编程两个大的方面。 1 目录 摘要 1 1 设计要求及方案确定 3 1.1 设计要求 3 1.2 方案确定 3 2 硬件电路设计及描述 3 21 确定元器件的型号及参数 3 2.1.1 单片机的选择 3 2.1.2 AT89C51 单片机的介绍 5 2.1.3 LED 数码管显示模块 7 2.1.4 键盘输入模块 8 2.1.5 闹铃模块 8 2.1.6 电源电路 8 2.1.7 蜂鸣器的介绍

3、 9 2.2 硬件电路图 10 3 软件设计 10 3.1 程序结构设计 10 3.1.1 程序结构 10 3.1.2 主要程序模块清单 11 3.2 程序 14 4 参考文献 17 结束语 18 2 1 1.1 设计要求 设计要求及方案确定 利用单片机设计制作具有下列功能的数字钟: 自动计时,由 6 位 LED 显示器显示时、分和秒 具备调整功能,可以直接由 09 数字键设置当前时间; 具备定时闹钟功能。 1.2 方案确定 数字钟电路由单片机、键盘输入、时钟显示模块及闹铃模块组成。 单片机选用 AT89C51 即可满足要求。 键盘及显示模块采用 8155 芯片扩展如原理图,键盘输入电路采用

4、4×3 键盘, 包括 09 共 10 个数字键(键号为 00H09H)、C/R 键(时间设定/启动计时键, 键号为 0AH)和 ALM 键(闹钟设置/启闹/停闹,键号为 0BH)。LED 数码管显示 电路: 采用共阴极数码管实现时钟显示, 位 LED 从左到右依次显示时、 6 分和秒, 采用 24 小时计时。 2 21 硬件电路设计及描述 确定元器件的型号及参数 2.1.1 单片机的选择 单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。 单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。 通常, 单片机由单块集成电路芯片构成, 内部包含有计算机的基本

5、功能部件: 中央处理器、存储器和 I/O 接口电路等。因此,单片机只需要和适当的软件及外 部设备相结合,便可成为一个单片机控制系统。 单片机经过 1、2、3、3 代的发展,正朝着多功能、高性能、低电压、低功 耗、低价势不外乎以下几个 功能及较好的结构兼容性方向发展。其发展趋I/O 格、大存储容量、强方面: 1、多功能 单片机中尽可能地把所需要的存储器和 I/O 口都集成在一块芯片上,使得单 片机可以实现更多的功能。比如 A/D、PWM、PCA(可编程计数器阵列)、WDT(监 视定时器看家狗)、高速 I/O 口及计数器的捕获/比较逻辑等。 有的单片机针对某一个应用领域,集成了相关的控制设备,以减

6、少应用系统 的芯片数量。例如,有的芯片以 51 内核为核心,集成了 USB 控制器、SMART CARD 3 接口、MP3 解码器、CAN 或者 I*I*C 总线控制器等,LED、LCD 或 VFD 显示驱动器 也开始集成在 8 位单片机中。 2、高效率和高性能 为了提高执行速度和执行效率,单片机开始使用 RISC、流水线和 DSP 的设计 技术,使单片机的性能有了明显的提高,表现为:单片机的时钟频率得到提高; 同样频率的单片机运行效率也有了很大的提升;由于集成度的提高,单片机的寻 址能力、片内 ROM(FLASH)和 RAM 的容量都突破了以往的数量和限制。 由于系统资源和系统复杂程度的增加

7、,开始使用高级语言(如 C 语言)来开 发单片机的程序。使用高级语言可以降低开发 难度,缩短开发周期,增强软件 的可读性和可移植性,便于改进和扩充功能。 3、低电压和低功耗 单片机的嵌入式应用决定了低电压和低功耗的特性十分重要。 由于 CMOS 等工 艺的大量采用,很多单片机可以在更低的电压下工作(1.2V 或 0.9V),功耗已 经降低到 uA 级。这些特性使得单片机系统可以在更小电源的支持下工作更长的 时间。 4、低价格 单片机应用面广,使用数量大,带来的直接好处就是成本的降低。目前世界 各大公司为了提高竞争力,在提高单片机性能的同时,十分注意降低其产品的价 格。 下面大致介绍一下单片机的

8、主要应用领域和特点。 (1)家用电器领域 用单片机控制系统取代传统的模拟和数字控制电路,使家用电器(如洗衣机、 空调、冰箱、微波炉、和电视机等)功能更完善,更加智能化和易于使用。 (2)办公自动化领域 单片机作为嵌入式系统广泛应用于现代办公设备,如计算机的键盘、磁盘驱 动、打印机、复印机、电话机和传真机等。 (3)商业应用领域 商业应用系统部分与家用和办公应用系统相似,但更加注重设备的稳定性、 可靠性和安全性。 商用系统中广泛使用的电子计量仪器、 收款机、 条形码阅读器、 安全监测系统、空气调节系统和冷冻保鲜系统等,都采用了单片机构成的专用系 统。与通用计算机相比,这些系统由于比较封闭,可以更

9、有效地防止病毒和电磁 干扰等,可靠性更高。 (4)工业自动化 在工业控制和机电一体化控制系统中,除了采用工控计算机外,很多都是以单片 机为核心的单片机和多机系统。 (5)智能仪表与集成智能传感器 目前在各种电气测量仪表中普遍采用了单片机应用系统来代替传统的测量 系统,使得测量系统具有存储、数据处理、查询及联网等智能功能。将单片机和 传感器相结合,可以构成新一代的智能传感器。它将传感器变换后的物理量作进 一步的变化和处理,使其成为数字信号,可以远距离传输并与计算机接口。 (6)现代交通与航空航天领域 通常应用于电子综合显示系统、动力监控系统、自动驾驶系统、通信系统以 及运行监视系统等。这些领域对

10、体积、功耗、稳定性和实时性的要求往往比商用 系统还要高,因此采用单片机系统更加重要。 4 目前,我国生产很多型号的单片机,在此,我们采用型号为 AT89C51 的单 片机 AT89C52 是一个低功耗高性能单片机,40 个引脚,32 个外部双向输入/输出 (I/O)端口,同时内含 2 个外中断口,2 个 16 位可编程定时计数器,2 个全双工 串行通信口,AT89C52 可以按照常规方法进行编程,也可以在线编程。其将通用的微处 理器和 Flash 存储器结合在一起, 特别是可反复擦写的 Flash 存储器可有效地降低开发成本。 2.1.2 AT89C51 单片机的介绍 如图所示。 系列单片机的

11、典型产品之一。其内部具有的硬件资源 MCS-51 是 AT89C51 AT89C51 单片机的 P 口特点: P0 口:是一个 8 位漏极开路输出型双向 I/O 端口。作为输出端口时,每位能 以吸收电流的方式驱动 8 个 TTL 输入,对端口写 1 时,又可作高阻抗输入端用。 在访问外部程序或数据存储器时,它是时分多路转换的地址(低 8 位)/数据 总线,在访问期间将激活内部的上拉电阻。 P1 口:P1 口是一个带有内部上拉电阻的 8 位双向 I/O 端口。P1 口的输出缓 冲器可驱动(吸收或输出电流方式)4 个 TTL 输入。对端口写 1 时,通过内部的 上拉电阻把端口拉到高电位,这时可作输

12、入口。P2 口作输入口使用时,因为内 部有上拉电阻,那些被外部信号 拉低的引脚会输出一个电流(Iil)。 P2 口:P2 口是一个带有内部上拉电阻的 8 位双向 I/O 端口。P2 口的输出缓冲 器可驱动 (吸收或输出电流方式)4 个 TTL 输入。对端口写 1 时,通过内部的上拉电阻把 5 端口拉到高电位,这时可作输入口。P2 口作输入口使用时,因为内部有上拉电 阻,那些被外部信号拉低的引脚会输出一个电流(Iil)。 在访问外部程序存储器时和 16 位外部地址的外部数据存储器(如执行 MOVX DPTR)时,P2 口送出高 8 位地址。在访问 8 位地址的外部数据存储器(如执行 MOVX R

13、I)时,P2 口引脚上的内容(就是专用寄存器(SFR)区中的 P2 寄存器的 内容),在整个访问期间不会改变。 P3 口:P3 口是一个带有内部上拉电阻的 8 位双向 I/O 端口。P3 口的输出缓 冲器可驱动(吸收或输出电流方式)4 个 TTL 输入。对端口写 1 时,通过内部的 上拉电阻把端口拉到高电位,这时可作输入口。P3 口作输入口使用时,因为内 部有上拉电阻,那些被外部信号拉低的引脚会输出一个电流(Iil)。 内部单元: 1、算术逻辑部件 ALU:用以完成+、-、*、/ 的算术运算及布尔代数的逻 辑运算, 并通过运算结果影响程序状态寄存器 PSW 的某些位, 从而为判断、 转移、 十

14、进制修正和出错等提供依据。 2、累加器 A:在算术逻辑运算中存放一个操作数或结果,在与外部存储 器和 I/O 接口打交道时,进行数据传送都要经过 A 来完成。 3、寄存器 B:在 *、/ 运算中要使用寄存器 B 。乘法时,B 用来存放乘数 以及积的高字节;除法时,B 用来存放除数及余数。不作乘除时,B 可作通用寄 存器使用。 4、程序状态标志寄存器 PSW:用来存放当前指令执行后操作结果的某些特 征,以便为下一条指令的执行提供依据。 Cy:进位标志。有进位或借位,则 Cy1,否则 Cy0 ;在布尔运算时,Cy(简 称 C)作为布尔处理器。 AC:辅助进位标志位。 F0:用户标志位:用户可用软件

15、对 F0 置位“1”或清“0”,以决定程序的流向。 OV:溢出标志位:当运算结果溢出时,OV 为“1”,否则为“0”。 D.1:未定义。 P: 奇偶校验位:当累加器 A 中的“1”的个数为奇数时,P 置“1”,否则 P 置 “0”。 RS1、RS0:工作寄存区选择位:指令的执行提供依据。 AT89C2051 单片机的 P 口特点 P1 口:P1 口是一个 8 位双向 I/O 端口,其中 P1.2P1.7 引脚带有 内部上拉电阻,P1.0 和 P1.1 要求外部上拉电阻。P1.0 和 P1.1 还分别作为片内 精密模拟比较器的同相输入(AIN0)和反相输入(AIN1)。P1 口输出缓冲器可吸收

16、20mA 电流,并能直接驱动 LED 显示。对端口写 1 时,通过内部的上拉电阻把端 口拉到高电位,这时可作输入口。P2 口作输入口使用时,因为内部有上拉电阻, 那些被外部信号拉低的引脚会输出一个电流(Iil)。 P3 口:P3.0P3.5、P3.7 是带有内部上拉电阻的 7 个双向 I/O 端口。P3.6 用于固定输入片内比较器的输出信号并且它作为一通用 I/O 口引脚而只读。P3 口输出缓冲器可吸收 20mA 电流。对端口写 1 时,通过内部的上拉电阻把端口拉 6 到高电位,这时可作输入口。P3 口作输入口使用时,因为内部有上拉电阻,那 些被外部信号拉低的引脚会输出一个电流(Iil)。 A

17、T89C51 设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可 选的掉电模式。在闲置模式下,CPU 停止工作。但 RAM,定时器,计数器,串口 和中断系统仍在工作。在掉电模式下,保存 RAM 的内容并且冻结 振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。 2.1.3 LED 数码管显示模块 LED 数码管显示电路: 主芯片使用 AT89C51 或 STC89C52 单片机,晶振使用 12MHz 或 11.0592MHz, 使用 3 个 2 位一体共阴数码管组成 6 位显示时、分、秒,或者使用 4 位一体时钟 专用数码管。 通过 S1、S2、S3、和 S4 这 4 个按键进

18、行调节,S1 调时,S2 调分,S3 切换 时钟与闹钟,S4 是复位。 显示“时间”的时候通过 S1 调“时”,S2 调“分”,通过 S3 切换到“闹 钟”的时候,同样可以通过 S1 调节闹钟的“时”,S2 调节闹钟的“分”,从而 实现“时钟”与“闹钟”两个时间任意调节。 7 闹钟时间到蜂鸣器会响铃一分钟,响铃的时候若要停止响铃,只要按下 S3 切换到闹钟显示既可,要再恢复响铃就再按一下 S3 切换回时钟显示(一分钟响 铃时间内)。 设置完闹钟忘记返回到时间显示, 秒钟走到一分钟的时候会自动切换回时间 显示。 “时”与“分”之间的两个 LED 长亮(也可设置成闪烁),“分”与“秒” 之间的两个

19、 LED 每秒闪烁一次,为了方便区分时钟与闹钟的显示,当切换到闹钟 设置的时候“分”与“秒”之间的 LED 停止闪烁并熄灭,而且“秒”也不显示。 2.1.4 键盘输入模块 键盘控制电路: 键盘部分采用普通的按键进行设计,使用软件延时消除开关抖动 2.1.5 闹铃模块. 闹铃电路: 闹铃电路通过 p1.7 口输出 1HZ 脉冲使蜂鸣器发出间隔为一秒的蜂鸣声. 2.1.6 电源电路 8 2.1.7 蜂鸣器的介绍 1、蜂鸣器的认识 蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计 算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等 电子产品中作发声器件。 1蜂鸣

20、器的作用蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供 电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、 电话机、定时器等电子产品中作发声器件。 2蜂鸣器的分类 蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。 3蜂鸣器的电路图形符号 蜂鸣器在电路中用字母“H”或“HA”(旧标准 用“FM”、“LB”、“JD”等)表示。 2、蜂鸣器的结构原理 1.压电式蜂鸣器 压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配 器及共鸣箱、外壳等组成。有的压电式蜂鸣器外壳上还装有发光二极管。 多谐振荡器由晶体管或集成电路构成。当接通电源后(1.515V 直流工作电 压),多谐振荡器

21、起振,输出 1.52.5kHZ 的音频信号,阻抗匹配器推动压电蜂鸣 片发声。 压电蜂鸣片由锆钛酸铅或铌镁酸铅压电陶瓷材料制成。 在陶瓷片的两面镀上 银电极,经极化和老化处理后,再与黄铜片或不锈钢片粘在一起。 2电磁式蜂鸣器 电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外 壳等组成。 接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁 场。振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声。 9 有源蜂鸣器直接接上额定电源(新的蜂鸣器在标签上都有注明)就可连续发 声 2.2 硬件电路图 数字钟硬件电路图 3 3.1 程序结构设计 软件设计 3.1.1 程序结构 (1)主程

22、序。 实现初始化与键盘监控,如图 1 所示。 (2)定时器 T0 中断服务程序。 时钟电路的设计功能是利用单片机内部的定时/计数器进行中断定时,配合软件 延时实现时、分、秒的计时。利用定时器 T0 中断服务程序实现计时功能,同时 刷新计时缓冲区。定时器 T0 每隔 100ms 益处中断一次(设系统使用 6MHZ 晶振, 定时 T0 工作方式 1) 的定时初值为 3CBOH(即 THO=3CH,TL0=0B0H),每循环中断 10 次则延时时间为 1s,重复 60 次为 1min,分计时 60 次为 1 小时,小时计时 24 次则时间重新回到 00:00:00。 (3)时间设置与闹钟设置子程序。

23、 实现当前时间及定时启闹钟时间的键盘输入设置。流程图如图 2 所示。其功能是 用键盘设置子程序将键入的 6 位时间值送入键盘设置缓冲区, 用合字子程序将键 盘设置缓冲区中的 6 位 BCD 码合并为 3 位压缩 BCD 码, 送入计时缓冲区或闹钟值 10 寄存区。若键盘输入的小时值大于 23 或分和秒值大于 59,则不合法,将取消本 次设置,清 0 重新开始计时。 (4)键盘扫描子程序。 判断是否有键按下, 无键按下则循环等待, 有键按下则求取返回。 流程图如图 3 。 (5)显示子程序。 实现显示缓冲区的 6 位 BCD 码的动态扫描方式显示。 首先将 3 字节计时缓冲区中 时、分、和秒压缩

24、 BCD 码拆分为 6 字节 BCD 码,由拆字子程序实现。当按下时间 或闹钟设置键后,在 6 位设置完成之前,应显示键入的数据而不显示当前时间, 为此系统设置一个计时显示允许标志位 F0,在时间/闹钟设置期间 F0=1,不调用 拆字子程序。 (6)定时比较子程序。 实现当前时间与预设的启闹钟时间的比较,若二者完全相同时,启动蜂鸣器名 叫并置位闹钟标志位。当重新按下 ALM 键时,停闹并清 0 闹钟标志。 (7)其他辅助功能子程序。 键盘设置子程序:将键入的 6 位时间值送入键盘设置缓冲区。 拆字程序:将 3 字节计时缓冲区中时、分和秒压缩 BCD 码拆分为 6 字节 BCD 码并刷新显示缓冲

25、区。 合字子程序:将键盘设置缓冲区中 6 位 BCD 码合并为 3 位压缩 BCD 码,送入 计时缓冲区或闹钟值寄存区,同时检测时间值的合法性。 3.1.2 主要程序模块清单 资源分配:8155 的 A 口作为 6 位 LED 显示的位选口,B 口作为段选口,C 口的低 3 位为键盘输入口,对应 02 行,A 口同时用做键盘的列扫描口。 8155 的地址分配如下 控制寄存器:8000H,定义为 PORT A 口:8001H,定义为 PORTA B 口:8002H,定义为 PORTB C 口:8003H,定义为 PORTC 片内 RAM 及标志位的分配与定义如图 4。 地址 30H35H 2CH

26、3FH 40H42H 50H7FH PSW.5 PSW.1 功能 显示缓冲区,时、分、秒 计时缓冲区,时、分、秒、100ms C 闹钟值寄存区,时、分、秒 AHOUR,AMIN,ASEC 堆栈区 计时显示允许位(1 禁止,0 允许) F0 闹钟标志位(1 正在闹铃,0 未闹铃) F1 FFH 0 0 名称 DISPDISP5 HOUR,MIN,SEC,MSE 初始化 值 00H 00H 11 开始 保持堆栈 8115、定时器 T0 数据缓冲区 闹钟标志位初始化 调用延时子程序 调用键扫描子程序 是 C/R 键吗? 计时缓冲区 地址指针指向 是 ALM 键吗? 调用时间设置/闹钟 定时程序 闹钟

27、标志位=1 吗? 地址指针指向 闹钟值寄存区 停闹清 0 闹钟标志 图 1 主程序流程图 12 保护现场 调用键盘设置子程序 调用合字子程序 恢复现场 返回 图 2 时间设置/闹钟定时流程图 13 扫描键盘 N 有键按下吗? 调用显示程序 调用定时比较程序 调用显示子程序 N 有键按下吗? 调用显示程序 调用定时比较程序 求取键号 返回 图 3 键盘扫描程 3.2 程序 主程序: ORG AJMP 000H MAIN 14 ORG 000BH AJMP CLOCK ORG 0030H MAIN: MOV SP, #50H ;设置堆栈区 MOVX DPTR,#PORT ;8155 初始化 MOV

28、 A, #03H MOVX DPTR, A CLR F1 ;清 0 闹钟标志位 CLR F0 ;允许计时显示 MOV AHOUR, #0FFH ;闹钟值寄存区置初值 MOV AMIN, #0FFH MOV ASEC, #0FFH MOV R7, #10H ;显示缓冲区、计时缓冲区清 0 MOV R0,#DISP0 CLR A LOOP: MOV R0, A INC R0 DJNZ R7, LOOP MOV TMOD, #01H ;定时器 T0 初始化 MOV TL0, #0B0H MOV TH0, #3CH SETB TR0 ;启动定时器 SETB EA ;开中断 SETB ET0 BEGIN

29、: ACALL ALARM ;调用定时比较 ACALL KEYSCAN ;调用键盘扫描 CJNE A, #0AH, NEXT1 ;是 C/R 键否? CLR TR0 ;暂时停止计时 MOV R1, #HOUR ;地址指针指向计时缓冲区首地址 AJMP MOD NEXT: CJNE A, #0BH, BEGIN ;是 ALM 键否? JB F1, NEXT2 ;闹钟正在闹铃否? MOV R1, #AHOUR ;地址指针指向闹钟值寄存区首地址 MOD: SETB F0 ;禁止显示计时时间 ACALL MODIFY ; 调用时间设置/闹钟定时程序 SETB TR0 ;重新开始计时 CLR F0 ;恢

30、复显示计时时间 AJMP BEGIN NEXT2: SETB P1.0 ;闹钟正在闹鸣,停闹 CLR F1 AJMP BEGIN ;清 0 闹铃标志 定时器 T0 中断服务子程序: CLOCK: PUSH PSW PUSH ACC ;保护现场 15 MOV MOV INC MOV CJNE MOV MOV ADD DA MOV CJNE MOV MOV ADD DA MOV 键盘设置子程序:RET POP POOP DONE: MOV CJNE MOV DA ADD MOV MOV CJNE KEYIN: PUSH PUSH SETB MOV MOV L1: CLR ACALL SETB CJ

31、NE L2: JNC MOV INC DJNZ CLR POP POP TL0, #0B7H TH0, #3CH MSEC A, MSEC A, #0AH, DONE MSEC, #00H A, SEC A, #01H A SEC,A A, #60H, DONE SEC, #00H A, MIN A,#01H A MIN A A, #60H, DONE MIN, #00H A, HOUR A, #01H A HOUR, A A, #24H, DONE HOUR, #00H ACC PSW ;重装初值,时间校正 ;二十进制转换 PSW ACC RS1 RO, #DISP0 R7, #06H RS1 KEYSCAN RS1 A, #0AH, 12 L1 R0, A R0 7,L1 RS1 ACC PSW 16 ;保护现场 ;

温馨提示

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

最新文档

评论

0/150

提交评论