protel-基于单片机的按键选播电子音乐.doc_第1页
protel-基于单片机的按键选播电子音乐.doc_第2页
protel-基于单片机的按键选播电子音乐.doc_第3页
protel-基于单片机的按键选播电子音乐.doc_第4页
protel-基于单片机的按键选播电子音乐.doc_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

成绩课程论文题 目: 基于单片机的按键选播电子音乐 学生姓名: 王啸 学生学号: 1008050235 系 别: 电气信息工程学院 专 业: 电子信息科学与技术 年 级: 10级 任课教师: 沈晓波 电气信息工程学院制 2012年10月 前言单片微型计算机简称单片机,是典型的嵌入式微控制器(Microcontroller Unit), 常用英文字母的缩写MCU表示单片机,单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。单片机由运算器,控制器,存储器,输入输出设备构成,相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。它最早是被用在工业控制领域。目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。科技越发达,智能化的东西就越多,使用的单片机就越多。看来学单片机是社会发展的需求。这些“高科技”看上去是如此的神秘,它到底是怎样构成的,它是通过什么样的程序和什么样的方式来完成这一系列指令的呢?让我们取钱更方便、避免城市的交通混乱和交通阻塞给我们生活带来了处处方便。其实这也是用单片机来控制的,单片机在我们生活中触手可及,它是如此地贴近我们的生活,单片机给我们的生活带来的有如此多的便利。由于单片机在工业控制领域的广泛应用,单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。 INTEL的Z80是最早按照这种思想设计出的处理器,当时的单片机都是8位或4位的。其中最成功的是INTEL的8031,此后在8031上发展出了MCS51系列单片机系统。因为简单可靠而性能不错获得了很大的好评。尽管2000年以后ARM已经发展出了32位的主频超过300M的高端单片机,直到目前基于8031的单片机还在广泛的使用。在很多方面单片机比专用处理器更适合应用于嵌入式系统,因此它得到了广泛的应用。事实上单片机是世界上数量最多处理器,随着单片机家族的发展壮大,单片机和专用处理器的发展便分道扬镳。 现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。 汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过PC机和其他计算的总和,甚至比人类的数量还要多。这次我们就以“基于单片机的按键选播电子音乐”为例,介绍单片机在生活中的简单应用,制作可以可以播放音乐的单片机设计。让我们一起领略单片机的神奇吧。目 录前 言1摘 要5第1章 绪论51.1问题的提出51.2设计目的61.3设计意义第2 章 控制系统的系统分析72.1单片机AT89C5182.2数码管7SEG-MPX2-CA-BLUE82.3蜂鸣器SOUNDER2.4排阻RESPACK-7第3章 电子音乐的设计103.1设计要求103.2元器件清单103.3主流程图113.4源程序123.5设计的电路图第4章 软件控制系统的实现13第5章 总 结26参考文献27基于单片机的按键选播电子音乐学生:王啸指导老师:沈晓波电气信息工程学院:10电子信息科学与技术摘要:本文单片机的原理,控制蜂鸣器发出不同的电子音乐,同时数码管显示电子音乐的序号。通过参考书籍及网上文献,分析并归纳出具体的设计方案。主要流程是:首先画出正确的电路图,接上蜂鸣器和数码管,待电路图准确无误后,开始编写程序,在编译程序无误后,到处hex文件,烧到单片机里,然后按下按钮,是得蜂鸣器能发出事先准备好的音乐,并且可以选播音乐,实验最终完成,整理实验数据,最后以论文显示表示。本设计是采用单片机AT89C51作为核心控制系统,利用数码管7SEG-COM-AN-BLUE作为核心显示器,同时加上一些如蜂鸣器这样的辅助器件,从而构成一个可以满足一些基本功能的按键选播电子音乐,这个系统可以通过按键来改变播放曲目,同时数码管显示器显示相应的曲目顺序,音乐的产生主要是通过单片机的I/O端口输出高低不同的脉冲信号来控制蜂鸣器发音,要产生音频脉冲信号,只要算出某一音频的周期(1/频率),然后将此周期除以2,即为半周期时间。利用单片机计时器及时这半个周期时间,每当计时到后,就将输出脉冲的I/O端口反相,然后重复计时此半周期时间再对I/O端口反相,这样就能在此I/O端口上得到此频率的脉冲,从而获得电子音乐。关键词: 单片机 蜂鸣器 C+ 电子音乐第1章 绪论1、1问题的提出 按钮K1与单片机的INT0引脚连接,要求每按一次按钮K1,单片机控制控制蜂鸣器发出。这5首歌电子音乐分别是送别、两只老虎、哈巴狗、兰花草、不倒翁。不同的电子音乐,同时数码管显示电子音乐的序号 。按完4次后,再重复循环1.2设计目的随着单片机在各个领域的广泛应用,许多用单片机控制的电子音乐器材也随机产生,此次用AT89C51单片机设计按键选播电子音乐系统,通过按键来改变播放音乐,本次设计共采用5段不同的歌曲,通过本次基于C51系列的按键选播电子音乐的系统设计,可以了解,熟悉又关单片机开发设计的过程,并加深对单片机的理解和应用以及掌握单片机与外围接口的一些方法和技巧。1.3设计意义片机的按键选播电子音乐的设计,我们可以更清楚详细的了解单片机程序设计的基本指令功能,编程步单片机的设计是具有高度现实意义的,单片机极高的可靠性,微型性和智能性,单片机已成为工业控制领域中普遍采用的智能化控制工具,已经深深地渗入到我们的日常生活中。通过此次基于单骤和技巧来讲述单片机编程,并对MCS-51单片机的结构和原理进行讲述,以及基于单片机开发应用的相关芯片的工作原理,并且可以再将来的学习和工作中加以应用。第2章 控制系统的系统分析整体分析主要硬件:单片机AT89C51、数码管7SEG-MPX2-CA-BLUE、蜂鸣器SOUNDER、排阻RESPACK-72.1单片机AT89C51AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。图2-1 AT89C51图 2-2 AT89C51在ISIS中的显示主要特性:与MCS-51 兼容 4K字节可编程闪烁存储器 寿命:1000写/擦循环 数据保留时间:10年全静态工作:0Hz-24Hz三级程序存储器锁定128*8位内部RAM32可编程I/O线两个16位定时器/计数器5个中断源 可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路 管脚说明:VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。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:来自反向振荡器的输出。振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。芯片擦除: 整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。 2.2 数码管7SEG-MPX2-CA-BLUE数码管又称LED数码管,它是由7段或8段LED构成的显示器件。有共阴极和共阳极两种。按其显示方式则可分为静态显示方式和动态显示方式两种。在这里,我们使用的是7段共阳极的静态显示数码管。结构led数码管(LED Segment Displays)是由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。led数码管常用段数一般为7段有的另加一个小数点,还有一种是类似于3位“+1”型。位数有半位,1,2,3,4,5,6,8,10位等等.,led数码管根据LED的接法不同分为共阴和共阳两类,了解LED的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。图2是共阴和共阳极数码管的内部电路,它们的发光原理是一样的,只是它们的电源极性不同而已。颜色有红,绿,蓝,黄等几种。led数码管广泛用于仪表,时钟,车站,家电等场合。选用时要注意产品尺寸颜色,功耗,亮度,波长等。下面将介绍常用LED数码管内部引脚图片应用范围数码管是一类显示屏 通过对其不同的管脚输入相对的电流,会使其发亮,从而显示出数字能够显示 时间、日期、温度等所有可用数字表示的参数。 由于它的价格便宜 使用简单 在电器 特别是家电领域应用极为广泛,空调、热水器、冰箱等等。绝大多数热水器用的都是数码管,其他家电也用液晶屏与荧光屏。 图 2-3数码管的分解 图2-4 现实中的数码管图2-5 数码管在ISIS中的显示2.3蜂鸣器SOUNDER 蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。 ;蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。蜂鸣器在电路中用字母“H”或“HA”(旧标准用“FM”、“LB”、“JD”等)表示。电路原理图如图2-6 所示,使用SH69P43 为控制芯片,使用4MHz 晶振作为主振荡器。PORTC.3/T0 作为I/O 口通过三极管Q2 来驱动蜂鸣器LS1,而PORTC.2/PWM0 则作为PWM 输出口通过三极管Q1 来驱动蜂鸣器LS2。另外在PORTA.3 和PORTA.2 分别接了两个按键,一个是PWM 按键,是用来控制PWM 输出口驱动蜂鸣器使用的;另一个是PORT 按键,是用来控制I/O 口驱动蜂鸣器使用的。连接按键的I/O 口开内部上拉电阻。图2-6 蜂鸣器的原理图驱动电路由于蜂鸣器的工作电流一般比较大,以致于单片机的I/O 口是无法直接驱动的(但AVR可以驱动小功率蜂鸣器),所以要利用放大电路来驱动,一般使用三极管来放大电流就可以了。 蜂鸣器驱动电路一般都包含以下几个部分:一个三极管、一个蜂鸣器、一个续流二极管和一个电源滤波电容。 蜂鸣器 发声元件,在其两端施加直流电压(有源蜂鸣器)或者方波(无源蜂鸣器)就可以发声,其主要参数是外形尺寸、发声方向、工作电压、工作频率、工作电流、驱动方式(直流/方波)等。这些都可以根据需要来选择。 续流二极管 蜂鸣器本质上是一个感性元件,其电流不能瞬变,因此必须有一个续流二极管提供续流。否则,在蜂鸣器两端会产生几十伏的尖峰电压,可能损坏驱动三极管,并干扰整个电路系统的其它部分。 滤波电容 滤波电容C1的作用是滤波,滤除蜂鸣器电流对其它部分的影响,也可改善电源的交流阻抗,如果可能,最好是再并联一个220uF的电解电容。 三极管 三极管Q1起开关作用,其基极的高电平使三极管饱和导通,使蜂鸣器发声;而基极低电平则使三极管关闭,蜂鸣器停止发声 图2-7 实物蜂鸣器 图2-8 蜂鸣器在ISIS中的显示2.4排阻RESPACK-7排阻,就是若干个参数完全相同的电阻,它们的一个引脚都连到一起,作为公共引脚,其余引脚正常引出。所以如果一个排阻是由n个电阻构成的,那么它就有n+1只引脚,一般来说,最左边的那个是公共引脚。它在排阻上一般用一个色点标出来。排阻的作用内存芯片下方均匀分布的“芝麻粒”,实际上是位于内存颗粒和金手指之间的“排阻”。排阻,是一排电阻的简称。我们知道,内存在处理、传输数据时会产生大小不一的工作电流。而在内存颗粒走线的必经之处安装一排电阻,则能够帮助内存起到稳压作用,让内存工作更稳定。从而提升内存的稳定性,增强内存使用寿命。内存右边角上的“小绿豆”,我们一般称之为SPD。SPD是一存储体,它存储了厂商对内存的详细配置信息:如内存的工作电压,位宽,操作时序等。每次开机后自检时,系统都会首先读取内存SPD中的相关信息,来自动配置硬件资源,以避免出错。上拉、限流。和普通电阻一样,相比而言简化了PCB的设计、安装,减小空间,保证焊接质量。 图2-9 实物排阻 图2-10 排阻在ISIS中的显示第3章 电子音乐的设计3.1 设计要求 按钮K1与单片机的INT0引脚连接,要求每按一次K1,单片机控制蜂鸣器发出不同的电子音乐,同时数码管显示电子音乐的符号。按完4次后,再重复循环。这5首歌电子音乐分别为送别,两只老虎,哈巴狗,兰花草,不倒翁。3.2元器件清单 表3-1 元器件清单单片机AT89C51瓷片电容CAP22pF电解电容CAP-ELEC电阻RES按钮BUTTON三极管2N2905数码管7SEG-COM-AN-BLUE蜂鸣器SOUNDER3.3音乐一主流程图按键是否按下?结束音乐四音乐五按键音乐三 音乐四按键音乐二音乐三音乐二音乐一按键是否按下?是否按下?是否按下?3.4 源程序#include#include#define uchar unsigned char#define uint unsigned intsbit K1=P32;sbit beep=P37;uchar i;uchar song_Index=0,Tone_Index=0;uchar*song_Tone,*song_Time;const LED_tab=0xC0,0xF9,0xA4,0xB0,0x99,0x92, 0x82,0xF8,0x80,0x90,0x88,0x83, 0xC6,0xA1,0x86,0x8E,0xBF,0xFF;uint code Tone_tab= 62018,62401,62491,62895,63184,63441,63506, 63773,63965,64137,64215,64360,64488,64603, 64654,64751,64836,64876,64948,65012,65067,65535;uchar code song1_Tone= 11,9,11,14,12,14,12,11,11,7,8,9,8,7,8, 11,9,11,14,13,12,14,11,11,7,8,9,6,7, 12,14,14,13,12,13,14,12,13,14,12,12,11,10,7,8, 11,9,11,14,13,12,14,11,11,8,9,10,6,7,0xff;uchar code song1_Time= 4,2,2,8,4,2,2,8,4,2,2,4,2,2,12, 4,2,2,4,2,4,4,8,4,2,2,4,2,12, 4,4,8,4,2,2,8,2,2,2,2,2,2,2,2,16, 4,2,2,4,2,4,4,8,4,2,2,4,2,12,0xff;uchar code song2_Tone= 7,8,9,7,7,8,9,7,9,10,11,9,10,11, 11,12,11,10,9,7,11,12,11,10,9,7,7,4,7,7,4,7,0Xff;uchar code song2_Time=4,4,4,4,4,4,4,4,4,4,8,4,4,8, 2,2,2,2,4,4,2,2,2,2,4,4,4,4,8,4,4,8,0xff; uchar code song3_Tone= 7,7,7,8,9,9,9,9,10,11,12,12,11,10,9,11,11,8,9,7, 7,7,7,8,11,9,9,9,10,11,12,12,11,10,9,11,11,8,9,7,0xff;uchar code song3_Time= 2,2,2,2,4,2,2,2,2,4,2,2,2,2,4,2,2,2,2,4, 2,2,2,2,4,2,2,2,2,4,2,2,2,2,4,2,2,2,2,5,0Xff;uchar code song4_Tone=5,9,9,9,9,8,7,8,7,6,5,12,12,12,12,12,11, 2,11,11,10,9,9,12,12,11,9,8,7,8,7,6,5,9, 2,7,7,6,5,9,8,7,6,4,12,0xff;uchar code song4_Time= 2,2,2,2,2,2,2,2,2,2,8,2,2,2,2,4,2, 2,2,2,2,8,2,2,2,2,4,2,2,2,2,2,4,2, 2,2,2,2,4,2,2,2,2,2,8,0xff;uchar code song5_Tone= 11,12,11,9,8,9,11,9,8,7,9,11,7,9,8, 11,12,11,9,8,9,11,9,8,7,8,7,8,9,7,0xff;uchar code song5_Time= 4,4,8,4,4,8,4,4,4,4,2,2,2,2,8, 4,4,8,4,4,8,4,4,4,4,2,2,2,2,8,0xff;void delayms(uint ms) uchar a; while(ms-) for(a=230;a0;a-); void int0() interrupt 0 delayms(100); if(INT0=0) TR0=0; song_Index+; if(song_Index=1) song_Tone=song2_Tone; song_Time=song2_Time; if(song_Index=2) song_Tone=song3_Tone; song_Time=song3_Time;if(song_Index=3) song_Tone=song4_Tone; song_Time=song4_Time; if(song_Index=4) song_Tone=song5_Tone; song_Time=song5_Time; if(song_Index=5) song_Tone=song1_Tone; song_Time=song1_Time; song_Index=0; TR0=1; i=0; void Timer0() interrupt 1 TH0=Tone_tabTone_Index/256; TL0=Tone_tabTone_Index%256; beep=beep; void display(void) P0=LED_tabsong_Index; void int_init(void) TMOD=0x01; ET0=1; EX0=1; IT0=1; EA=1; TR0=0; void main (void) int_init(); song_Tone=song1_Tone; song_Time=song1_Time; while(1) display(); Tone_Index=song_Tonei; if(Tone_Index=0xFF) i=0; TR0=0; TR0=1; delayms(song_TimeTone_Index*60); TR0=0; i+; 3.5 设计的电路图图3-1 电路图第4章 软件控制系统的实现打开Keil程序,创建“电子音乐”项目,输入C语言源程序,保存为“电子音乐.C”。在项目管理窗口中选中文件组,单击鼠标右键,在弹出的菜单中选择“Add File to GroupSource Group 1”,添加源程序“电子音乐.C”到项目中。执行菜单命令“Project”-“Build Target”,编译源程序,如果编译成功,则在输出窗口中显示没有错误,并创建了“电子音乐.HEX”文件中。在已经绘制好的原理图的Proteus

温馨提示

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

评论

0/150

提交评论