课程设计报告_第1页
课程设计报告_第2页
课程设计报告_第3页
课程设计报告_第4页
课程设计报告_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

1、. .- 优选课程设计报告设计题目:音乐倒数计数器院系:机械与电子工程学院班级:10 电气2班*:闫 永 春学 号:2021080516指导教师:李文艺 李娜摘要摘要单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、开展很快。而51单片机是各单片机中最为典型和最有代表性的一种。本实验是基于MCS51系列单片机所设计的,可以实现键盘按键与数字动态显示并可以用音乐倒数的计数器。本设计基于单片机技术原理,以单片机芯片STC89C52作为核心控制器,通过硬件电路的制作以及软件程序的编制,设计制作出一个计数器,包括以下功能:输出时间,按下键就开场计时,并将时间显示在

2、LCD1602显示器上。当倒计数为0时,蜂鸣器就发出音乐声响等等。该计数器系统主要由计数器模块、LCD显示器模块、蜂鸣器模块、键盘模块、复位模块等局部组成。关键词关键词:STC89C51、键盘、LCD1602 显示、蜂鸣器目录目录. .- 优选摘 要 I1 工程概述和要求 11.1 单片机根底知识 11.2 单片机的开展趋势 11.3 工程设计任务与要求 32 系统设计 42.1 框图设计 42.2 局部硬件方案论述 42.3 电路原理图 42.4 元件清单 52.4.1STC89C52 芯片 52.4.2 字符型 LCD160262.4.3 按键控制模块 82.4.4 其它元件 83 软件设

3、计 93.1 程序流程图 94 系统的仿真与调试 124.1 硬件调试 124.2 软件调试 124.3 软硬件调试 125 总结 13参考文献 14附录程序. 18. .- 优选1 1 工程概述和要求工程概述和要求1.11.1 单片机根底知识单片机根底知识单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲,一块芯片就成了一台计算机。单片机具有体积小、功能强、应用面广等优点,目前正以前所未见的速度取代着传统电子线路构成的经典系统,蚕食着传统数字电路与模拟电路固有的领地。它的体积小、质量轻、价格廉价、为学习、应用和开发提供了便利条件。同时,学习

4、使用单片机了解计算机原理与构造的最正确选择。现在,这种单片机的使用领域已十分广泛。彩电、冰箱、空调、录像机、VCD、遥控器、游戏机、电饭煲等无处不见单片机的影子,单片机早已深深地融入我们每个人的生活之中。单片机能大大地提高这些产品的智能性,易用性及节能性等主要性能指标,给我们的生活带来舒适和方便的同时,在工农业生产上也极大地提高了生产效率和产品质量。单片机按用途大体上可分为两类,一种是通用型单片机,另一种是专用型单片机。MCS-51 单片机是美国 INTEL 公司于 1980 年推出的产品,与 MCS- 48 单片机相比,它的构造更先进,功能更强,在原来的根底上增加了更多的电路单元和指令,指令

5、数达 111 条,MCS-51 单片机可以算是相当成功的产品,一直到现在,MCS-51 系列或其兼容的单片机仍是应用的主流产品,各高校及专业学校的培训教材仍与 MSC-51 单片机作为代表进展理论根底学习。MCS-51 系列单片机主要包括 8031、8051 和 8751 等通用产品。1.21.2 单片机的开展趋势单片机的开展趋势单片机现在可以说是百花齐放,百家争鸣的时期,世界上各大芯片制造公司都推出了自己的单片机,从 8 位、16 位到 32 位,数不胜数,应有尽有,有与主流 C51 系列兼容的,也有不兼容的,但它们各具特色,互成互补,为单片机的应用提供了广阔的天地。纵观单片机的开展过程,可

6、以预示单片机的开展趋势,大致有:一、微型单片化现在常规的单片机普遍都是将中央处理器CPU 、随机存取数据存储RAM 、只读程序存储器ROM 、并行和串行通信接口,中断系统、定时电路、时钟电路集成在一块单一的芯片上,增强型的单片机集成了如 A/D 转换器、. .- 优选PMW脉宽调制电路 、WDT看门狗 、有些单片机将 LCD液晶驱动电路都集成在单一的芯片上,这样单片机包含的单元电路就更多,功能就越强大。甚至单片机厂商还可以根据用户的要求量身定做,制造出具有自己特色的单片机芯片。此外,现在的产品普遍要求体积小、重量轻,这就要求单片机除了功能强和功耗低外,还要求其体积要小。现在的许多单片机都具有多

7、种封装形式,其中 SMD外表封装越来越受欢迎,使得由单片机构成的系统正朝微型化方向开展。二、低功耗 CMOS 化MCS-51 系列的 8031 推出时的功耗达 630mW,而现在的单片机普遍都在100mW 左右,随着对单片机功耗要求越来越低,现在的各个单片机制造商根本都采用了 CMOS互补金属氧化物半导体工艺 。像 80C51 就采用了 HMOS即高密度金属氧化物半导体工艺和 CHMOS互补高密度金属氧化物半导体工艺 。CMOS 虽然功耗低,但由于其物理特征决定其工作速度不够高,而 CHMOS 那么具备了高速和低功耗的特点,这些特征,更适合于要求低功耗像电池供电的应用场合。所以这种工艺将是今后

8、一段时期单片机开展的主要途径。三、主流与多品种共存现在虽然单片机的品种繁多,各具特色,但仍以 89C51 为核心的单片机占主流,兼容其构造和指令系统的有 PHILIPS 公司的产品,ATMEL 公司的产品和中国*的 Winbond 系列单片机。所以 89C51 占据了半壁江山。而 Microchip 公司的PIC 精简指令集合RISC也有着强劲的开展势头,中国*的 HOLTEX 公司近年的单片机产量与日俱增,与其底价质优的优势,占据一定的市场份额。此外还有 MOTOROLA 公司的产品,日本几大公司的专用单片机。在一定的时期内,这种情形将得以延续,将不存在某个单片机一统天下的垄断局面,走的是依

9、存互补、相辅相成、共同开展的道路。九十年代以后,单片机在构造上采用双 CPU 或内部流水线,CPU 位数有 8 位、16 位、32 位,时钟频率高达 20MHZ,片内带有 PWM 输出、监视定时器 WDT、可编程计数器阵列 PCA、DMA 传输、调制解调器等。芯片向高度集成化、低功耗方向的开展,使得单片机在大量数据的实时处理、高级通信系统、数字信号处理、复杂工业过程控制、高级机器人以及局域网等方面得到大量应用。这类单片机有 NEC 公司的 MPD7800,MITSUBISHI 公司的 M337700,REVKWELL 公司的R6500。. .- 优选1.31.3 工程设计任务与要求工程设计任务

10、与要求 设计任务:利用 STC89C52 单片机结合字符型 LCD 显示器设计一个简易的倒数计数器。做一小段时间倒计数,当倒计数为 0 时,那么发出一段音乐声响,通知倒计数终了,该做应当做的事。 设计要求:1. 字符型 LCD(162)显示器,显示格式为“TIME 分分:秒秒。2. 用 4 个按键操作来设置当前想要倒计数的时间。3. 一旦按下键那么开场倒计数,当计数为 0 时,发出一阵音乐声。4. 程序执行后工作指示灯 LCD 闪动,表示程序开场执行,按下操作键K1K4 动作如下:K1-可调整倒计数的时间 160 分钟。K2-设置倒计数的时间为 5 分钟,显示“0500”。K2-设置倒计数的时

11、间为 10 分钟,显示“1000”。K2-设置倒计数的时间为 20 分钟,显示“2000”。5. 复位后 LCD 的画面应能显示倒计时的分钟和秒数,此时按 K1 键,那么在 LCD 上显示出设置画面。此时,假设: 按 K2 键-增加倒计数的时间 1 分钟。 按 K2 键-减少倒计数的时间 1 分钟。 按 K4 键-设置完成。2 2 系统设计系统设计2.12.1 框图设计框图设计框图设计是为了能够从整体上把握系统的各个大的模块以及各个模块之间的联系。同时罗列出需要主要使用到的各个器件,以方面系统开发中器件的选取。通过框图设计,让设计者从整体上把握系统的开发。本系统设计的框图如以下图 2-1 所示

12、。2.22.2 局部硬件方案论述局部硬件方案论述LCD1602 显示方式的方案比较。方案一:采用把戏显示,把戏显示是指 LCD 显示某一屏字符时,采取从左. .- 优选到右或者是从右到左的整屏移动的显示方式。在这种显示方式下,给人的感觉就是程序是在执行的,同时如果控制好了移动一屏的时间间隔的话,在整体视觉上可以到达很好的效果。方案二:采用静态显示,静态显示是指 LCD 显示某一屏字符时,时钟保持当前字符的显示,不使用移屏显示。便于控制,同时能够满足正常的显示效果。由于在显示中存在播放时间的动态变化,这样的话,即使是不产生整屏移动,也能给人动态感,也易于控制。基于以上各种特点,我选择了方案二。2

13、.32.3 电路原理图电路原理图电路原理图如图 2-2 所示。图 2-2 电路原理图2.42.4 元件清单元件清单2.4.12.4.1 AT89C51AT89C51 芯片芯片STC89C52 芯片图如以下图 2-3 所示。图 2-3 AT89C51 芯片图. .- 优选主要性能:与 MCS-51 单片机产品兼容 、8K 字节在系统可编程 Flash 存储器、 1000 次擦写周期、全静态操作:0Hz33Hz 、三级加密程序存储器 、 32 个可编程 I/O 口线、三个 16 位定时器/计数器八个中断源、全双工 UART 串行通道、 低功耗空闲和掉电模式 、掉电后中断可唤醒 、看门狗定时器 、双

14、数据指针、掉电标识符 。功能特性描述STC89C52 是一种低功耗、高性能 CMOS8 位微控制器,具有 8K 在系统可编程 Flash 存储器。使用高密度非易失性存储器技术制造,与工业 80C51 产品指令和引脚完全兼容。片上 Flash 允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的 8 位 CPU 和在线系统可编程 Flash,使得STC89C52 为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 STC89C52 具有以下标准功能: 8k 字节 Flash,256 字节 RAM, 32 位 I/O 口线,看门狗定时器,2 个数据指针,三个 16 位 定时器/

15、计数器,一个 6 向量 2 级中断构造,全双工串行口,片内晶振及时钟电路。另外,STC89C52 可降至 0Hz静态逻辑操作,支持 2 种软件可选择节电模式。空闲模式下,CPU 停顿工作,允许 RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM 内容被保存,振荡器被冻结,单片机一切工作停顿,直到下一个中断或硬件复位为止。8 位微控制器 8K 字节在系统可编程 Flash2.4.22.4.2 字符型字符型 LCD1602LCD1602字符型 lcd1602 如以下图 2-4 所示。图 2-4 lcd1602 图1602 字符型 LCD 通常有 14 条引脚线或 16 条引脚线的

16、LCD,多出来的2 条线是背光电源线。VCC(15 脚)和地线 GND(16 脚),其控制原理与 14 脚的 LCD 完全一样,各引脚符号及其功能表如下表 2-1 所示。表 2-1 LCD 各引脚及其功能表引脚符号功能说明1VSS一般接地2VDD接电源+5V3V0液晶显示器比照度调整端,接正电源时比照度最弱,接地电源时比照度最高比照度过高时会产生“鬼影,使用时可以通过一个 10K 的电位器调整比照度。. .- 优选4RSRS 为存放器选择,高电平 1 时选择数据存放器、低电平 0 时选择指令存放器。4RSRS 为存放器选择,高电平 1 时选择数据存放器、低电平 0 时选择指令存放器。5R/WR

17、/W 为读写信号线,高电平(1)时进展读操作,低电平(0)时进展写操作。6EE(或 EN)端为使能(enable)端,下降沿使能。7DB0低 4 位三态、双向数据总线 0 位最低位8DB1低 4 位三态、双向数据总线 1 位9DB2低 4 位三态、双向数据总线 2 位10DB3低 4 位三态、双向数据总线 3 位11DB4高 4 位三态、双向数据总线 4 位12DB5高 4 位三态、双向数据总线 5 位13DB6高 4 位三态、双向数据总线 6 位14DB7高 4 位三态、双向数据总线 7 位最高位也是 busy flag15BLA背光电源正极16BLK背光电源负极2.4.32.4.3 按键控

18、制模块按键控制模块按键用于控制数码显示、LCD 显示、扬声器等模块的工作。通过扫描按键是否按下,来设定各模块的工作情况,使各模块可以在按键的控制下,有序地进展工作。设计中使用单个按键实现单个功能,属于较为简单的控制方式。在多功能系统设计的试验中我们使用四个按键分别与单片机的p1.0、p1.1、p1.2、p1.3 相连。通过按下相应的按键来处理相应的程序。如以下图 2-5 所示。. .- 优选图 2-5 按键控制模块图2.4.42.4.4 其它元件其它元件其它元件图如以下图 2-6 所示。图 2-6 其它元件图. . .word.zl.3 3 软件设计软件设计3.13.1 程序流程图程序流程图主

19、程序开场初始化,然后扫描键盘、复位电路和计数器。当键盘按键有按下时,调整计数器值,LCD 显示新值。当复位键有按下时,计数器复位为开机画面,当计数器值倒计为 0 时,蜂鸣器发出声音,计数器停顿倒计,程序完毕。主程序流程图、lcd 显示流程图和按键流程图分别如以下图 3-1、图 3-2 和图3-3 所示。 图 3-1 主程序流程图开场初始化按键扫描有键按下按键处理,确定模式时间显示模式根据按键状态显示相应时间段时间修改模式根据按键状态修改时间NONOYESYES图 3-3 按键流程图. . .word.zl.4 4 系统的仿真与调试系统的仿真与调试4.14.1 硬件调试硬件调试 硬件调试分为静态

20、调试和动态调试,对于硬件调试而言,只要认真焊接,硬件一般不会出现什么问题的。静态调试一般采用的工具是万用表,它是在用户系统未工作时的一种硬件检测。动态调试是在用户系统工作的情况下发现和排查错误的一种硬件检测。调试步骤是:首先把电路分为假设干模块,调试过程中与该模块无关的元件可以不加考虑,这样可把故障限定在一定的范围内;故障去除后,把各个模块合在一起进展联调,即可完成整个硬件调试工作。4.24.2 软件调试软件调试软件调试是通过对程序的汇编、连接、执行来发现程序中存在的语法错误与逻辑错误并加以排除纠正的过程。4.34.3 软硬件调试软硬件调试软硬件联调是指把调试无误的软件程序烧制进单片机芯片内部

21、,通上电源后,检查硬件工作是否有预期的效果,如果没有那么需要检测软件是否在实现功能上有欠缺。假设有错误,通过改写软件来调试,直至到达预期效果,那么设计圆满成功。本课程设计调试结果如以下图 4-1 所示。图 4-1 调试结果图实物图片5 5 总结总结经过将近两个星期的课程设计,简单带有 LCD 显示的音乐倒数计数器根本完成,系统根本功能根本实现,测试运行也根本正常。该系统根本上完成了计数闹时的功能。当然这个系统还存在许多有待完善的地方:. . .word.zl. 功能相对较少,有待于添加,比方说没有时钟功能; 焊接工艺比较差,布局有点凌乱。这次课程设计的时间虽然不算很长,但使我对很多东西有了更深

22、刻的认识。平时在课堂上无法掌握的集体操作都有了一定的进步。总结如下: 查阅资料和阅读相关文献的重要性。 向同学请教的重要性,团结协作的重要性。 勤动手的重要性,自己动手,丰衣足食!以前很多时候一遇到问题常常都会问同学,但是通过这次设计,我学会了自己努力解决困难,提高了自己解决问题的能力。 对待任何事情都要有耐心和恒心,遇到问题要冷静地思考,积极找出症结所在,逐个解决。 做事情要步步为营,不能一蹴而就,就像焊接电路,只有确保每一部都真确,才有可能实现整个电路正常工作。通过本次课程设计,我更深刻的认识到了教学实践在大学课程中的重要性,同时也觉察到了自己在学习方面存在的许多缺乏之处,在以后的学习中我

23、会努力改进这些缺乏,不断提高自己的动手实践能力。参考文献参考文献单片机原理及接口技术 第三版李朝青编单片机 C 语言程序设计完全自学手册郭惠 X 迅编基于 Proteus 的单片机系统设计与仿真实例蒋辉平 周国雄 编附录程序:#include#define uchar unsigned char#define uint unsigned int#define busy 0 x80sbit k1=P10;sbit k2=P11;sbit k3=P12;sbit k4=P13;sbit k5=P14;sbit RS=P25; sbit RW=P26; sbit E=P27;sbit led=P20

24、;sbit sound=P37;uchar code tableee= 20:00;. . .word.zl.uchar code tablee= 10:00;uchar code table= 05:00;uchar code table1=0,1,2,3,4,5,6,7,8,9;uchar code table3=10yanyongchun;uchar code table2= 2021080516; uchar code table5= 00:00;uchar code table4= TIME OUT!;uchar d,e,num,t,shishi,shige,fenshi,fenge

25、,miaoshi,miaoge,b,b1,a,aa ; uint counter=0;uchar code array= 0 x18, 0 x30, 0 x1C, 0 x10, 0 x20, 0 x40, 0 x1C, 0 x10, 0 x18, 0 x10, 0 x20, 0 x10, 0 x1C, 0 x10, 0 x18, 0 x40, 0 x1C, 0 x20, 0 x20, 0 x20, 0 x1C, 0 x20, 0 x18, 0 x20, 0 x20, 0 x80, 0 xFF, 0 x20, 0 x30, 0 x1C, 0 x10, 0 x18, 0 x20, 0 x15, 0

26、 x20, 0 x1C, 0 x20, 0 x20, 0 x20, 0 x26, 0 x40, 0 x20, 0 x20, 0 x2B, 0 x20, 0 x26, 0 x20, 0 x20, 0 x20, 0 x30, 0 x80, 0 xFF, 0 x20, 0 x20, 0 x1C, 0 x10, 0 x18, 0 x10, 0 x20, 0 x20, 0 x26, 0 x20, 0 x2B, 0 x20, 0 x30, 0 x20, 0 x2B, 0 x40, 0 x20, 0 x20, 0 x1C, 0 x10, 0 x18, 0 x10, 0 x20, 0 x20, 0 x26,

27、0 x20, 0 x2B, 0 x20, 0 x30, 0 x20, 0 x2B, 0 x40, 0 x20, 0 x30, 0 x1C, 0 x10, 0 x18, 0 x20, 0 x15, 0 x20, 0 x1C, 0 x20, 0 x20, 0 x20, 0 x26, 0 x40, 0 x20, 0 x20, 0 x2B, 0 x20, 0 x26, 0 x20, 0 x20, 0 x20, 0 x30, 0 x80, 0 x20, 0 x30, 0 x1C, 0 x10, 0 x20, 0 x10, 0 x1C, 0 x10, 0 x20, 0 x20, 0 x26, 0 x20,

28、 0 x2B, 0 x20, 0 x30, 0 x20, 0 x2B, 0 x40, 0 x20, 0 x15,. . .word.zl. 0 x1F, 0 x05, 0 x20, 0 x10, 0 x1C, 0 x10, 0 x20, 0 x20, 0 x26, 0 x20, 0 x2B, 0 x20, 0 x30, 0 x20, 0 x2B, 0 x40, 0 x20, 0 x30, 0 x1C, 0 x10, 0 x18, 0 x20, 0 x15, 0 x20, 0 x1C, 0 x20, 0 x20, 0 x20, 0 x26, 0 x40, 0 x20, 0 x20, 0 x2B,

29、 0 x20, 0 x26, 0 x20, 0 x20, 0 x20, 0 x30, 0 x30, 0 x20, 0 x30, 0 x1C, 0 x10, 0 x18, 0 x40, 0 x1C, 0 x20, 0 x20, 0 x20, 0 x26, 0 x40, 0 x13, 0 x60, 0 x18, 0 x20, 0 x15, 0 x40, 0 x13, 0 x40, 0 x18, 0 x80, 0 x00 ;char shi,fen,miao;void delay(uchar z)uchar x,y; for(x=z;x0;x-) for(y=200;y0;y-); bit lcd_

30、busy()/测试 LCD 忙碌状态 bit result; E= 0;RS= 0;/指令RW= 1;/读出 E= 1;delay(4);/高电平读出1us result=(bit)(P0&busy); E= 0; return result; void write_1602cmd(uchar cmd)/写命令 while(lcd_busy(); RS=0; delay(5); RW=0; delay(5); E=0; delay(5); P0=cmd; E=1;. . .word.zl. delay(10); E=0; void write_1602Data(uchar Data)/

31、写数据 while(lcd_busy(); RS=1; delay(5); RW=0; delay(5); E=0; P0=Data; delay(5); E=1; delay(10); E=0; /lcd 初始化 void LCD_init() write_1602cmd(0 x01);/清屏delay(5);write_1602cmd(0 x38);/功能设定 delay(5); write_1602cmd(0 x0c);/光标不闪烁 delay(5);write_1602cmd(0 x06);/lcd 模式设定,i/d=1计数地址加 1delay(5); void init() t=0,

32、led=1; TMOD=0X11;/设置定时器 0,置定时器 1 在工作方式 1 TH0=0 xff; TL0=0 xff; TH1=(65536-50000)/256; /给定时器 1 装初值 TL1=(65536-50000)%256; EA=1;/开启总中断 ET0=1; /开启外部中断 0 中断 ET1=1;/开启定时器 1 中断 TR0=0; TR1=0; LCD_init(); write_1602cmd(0 x80); for(num=0;num14;num+). . .word.zl.write_1602Data(table3num);delay(5); write_1602c

33、md(0 x80+0 x40); for(num=0;num12;num+)write_1602Data(table2num);delay(5);void key_check() if(k1=0) delay(10); if(k1=0) write_1602cmd(0 x80+0 x40); for(num=0;num12;num+)write_1602Data(table5num);delay(5);if(k2=0) fen+; fenge=fen%10; fenshi=fen/10; write_1602cmd(0 x0f);/翻开光标闪烁 write_1602cmd(0 x80+0 x4

34、0+7); write_1602Data(table1fenge); write_1602cmd(0 x80+0 x40+6); write_1602Data(table1fenshi);if(k3=0)fen-; fenge=fen%10; fenshi=fen/10; write_1602cmd(0 x0f);/翻开光标闪烁 write_1602cmd(0 x80+0 x40+7); write_1602Data(table1fenge); write_1602cmd(0 x80+0 x40+6); write_1602Data(table1fenshi);if(k4=0)TR1=1;wr

35、ite_1602cmd(0 x0c); /关闭光标闪烁. . .word.zl. if(k2=0) delay(10); if(k2=0) write_1602cmd(0 x80+0 x40); for(num=0;num12;num+) write_1602Data(tablenum);delay(5); TR1=1;fen=5;miao=0; if(k3=0) delay(10); if(k3=0) write_1602cmd(0 x80+0 x40); for(num=0;num12;num+) write_1602Data(tableenum);delay(5); TR1=1;fen=10;miao=0; if(k4=0) delay(10); if(k4=0) write_1602cmd(0 x80+0 x40); for(num=0;num12;num+) write_1602Data(tableeenum);delay(5); TR1=1;fen=20;miao=0; void sound_delay(uchar n) uchar i; while(n-). . .word.zl. for(i=0;i2;i+); void playmusic() uint i; uchar sound_signal;/定义音符大小 uchar sound_pace;

温馨提示

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

评论

0/150

提交评论