基于单片机的音乐播放器设计与制作.pdf

上传人:教**** 文档编号:86210779 上传时间:2023-04-14 格式:PDF 页数:25 大小:1.42MB
返回 下载 相关 举报
基于单片机的音乐播放器设计与制作.pdf_第1页
第1页 / 共25页
基于单片机的音乐播放器设计与制作.pdf_第2页
第2页 / 共25页
点击查看更多>>
资源描述

《基于单片机的音乐播放器设计与制作.pdf》由会员分享,可在线阅读,更多相关《基于单片机的音乐播放器设计与制作.pdf(25页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、目录一、设计思路.11.1 设计任务.11.2 设计调研.11.3 设计思路.21.4 设计框图.21.5 采取的技术方案.2二、设计过程与说明.32.1 硬件设计.32.1.1 单片机最小系统.32.1.2 按键电路.32.1.3 发声电路.42.1.4 供电电路.42.1.5 I/O 口分配表.42.2 软件系统设计.52.2.1 主程序流程图.52.2.2 选曲处理子程序流程图.52.2.3 编写程序代码.62.3 软件调试.72.4 硬件调试.82.5 设计过程遇到的问题及解决方案.82.5.1 设计中的问题.82.5.2 问题解决方案.8三、设计成果简介.93.1 产品特点.93.1

2、.1 技术指标.93.1.2 性能特点.93.1.3 创新之处.93.2 设计成果展示.103.2.1 系统原理图.103.2.2 主程序流程图和选曲处理子程序流程图.103.2.3 程序代码.103.2.4 系统仿真图.113.2.5 PCB 图.123.2.6 系统实物图.133.3 设计的归纳总结.13五、参考文献.15附录一.161一、设计思路1.11.1 设计任务设计任务设计一个以单片机为核心的音乐播放器,功能如下:(1)内置至少8首歌曲。(2)可以自由切换歌曲。(3)可以播放和暂停歌曲。1.21.2 设计调研设计调研伴随着科技的发展和时代的进步,人们对生活质量的要求也越来越高,由以

3、前简单的追求温饱和物质财富转向更高层面的精神追求!而这一切催生了智能仪器的发展,音乐则是人们娱乐生活组成的重要部分,是当今人们生活中必不可少的一部分。它们有的反应社会现状,有的抒发内心的向往与希翼,音乐就像一面镜子,真实的映照出不同人群的不同心里状况。音乐播放器的起源可以追溯到中世纪欧洲文艺复兴时期,从最开始的钟塔到 19 世纪的留声机、钢丝录音机到 20 世纪的 CD 播放器,MP3 到现在 21 世纪的智能手机,有着 300 多年的发展历史,是人类文明发展的历史见证。早期的市场上流行的音乐播放器很多,但是这些音乐播放器虽然种类很多,但是大部分是机械音乐播放器,体格比较笨重,不方便携带,而且

4、造价昂贵,不能批量生产,在当时的社会也只有少部分人才能拥有。早期大部分的音乐播放器只能播放一首曲子,又因为这种音乐盒的音乐是通过齿轮带动的机械运动而发出的,所以音乐没有乐器发出的声音动听。因此往往需要改进。随着社会科技的发展,人们经济水平的提高,人们对音乐播放器的选择不再是原来的能播放音乐就行了,现在的人们对音乐播放器的选择要求更高,有对性能的要求,外观的要求,内存的要求等等。小型化、智能化、大众化的音乐播放器才是当今人们的选择,早期的音乐播放器早已无法在满足人们对音乐质量的需求。传统的音乐播放器多是机械音乐播放器,其工作原理是通过齿轮带动一个有铁钉的铁桶转动,铁桶上的铁钉撞击铁片制成的琴键,

5、从而发出声音。但是,机械式的音乐盒体积比较大,比较笨重,且发音单调。水、灰尘等外在因素,容易使内部金属发音条变形,从而造成发音跑调。另外,机械音乐盒放音时为了让音色稳定,必须放平不能动摇,而且价格昂贵,不能实现大批量生产。智能播放器由微处理器、数码信号处理器(DSP)芯片、输入输出控制器、放大器和一些按钮组成。微处理器是播放器的“大脑”,用来接受用户选择的播放控制,并将当前播放的歌曲信息显示在液晶显示屏上,然后向数据信号处理芯片发出指令,使其准确地处理音频,信号。数2码信号处理器先用解压算法将音乐文件解压,接着用数模转换器将数码信息转换成波形信息,然后由放大器将信号放大并送到音频端口,最后我们

6、就可以通过接在音频端口的耳机听到动听的音乐了。1.31.3 设计思路设计思路本次设计以单片机最小系统为基础,采用5V 电源供电,使用按键电路进行自由切换歌曲和播放(暂停)歌曲,通过发声电路播放歌曲。1.41.4 设计框图设计框图图 1.1 总体设计框图1.51.5 采取的技术方案采取的技术方案方案一:采取 STC12C5A60S2 单片机为核心来搭建一个音乐播放系统。方案二:采取 STC89C51 单片机为核心来搭建一个音乐播放系统。上述方案基本都能实现音乐的播放,但 STC89C51 是采用 8051 核的 ISP 在系统可编程芯片,最高工作时钟频率为 80MHz,片内含 4KBytes 的

7、可反复擦写 1000 次的 Flash 只读程序存储器,器件兼容标准 MCS-51 指令系统及 80C51 引脚结构,芯片内集成了通用 8 位中央处理器和 ISPFlash 存储单元,具有在系统可编程(ISP)特性,配合 PC 端的控制程序即可将用户的程序代码下载进单片机内部,省去了购买通用编程器,而且速度更快。在考虑单片机作为控制系统的音乐播放器经过适应性,实用性,价格,音质和我的个人水准之后,选定了STC89C51 单片机来完成音乐播放器的工作。单片机最小系统发声电路按键电路供电电路3二、二、设计过程与说明2.12.1 硬件设计硬件设计2.1.2.1.1 1 单片机最小系统单片机最小系统单

8、片机最小系统电路由复位电路和时针电路组成。拥有这两部分电路后,单片机即可正常工作,单片机最小系统原理图如下图所示:图 2.1 单片机最小系统原理图2.1.2.1.2 2 按键电路按键电路S2 播放(暂停)键,S1 切换上一首,S3 切换下一首。图 2.2 按键电路原理图42.1.2.1.3 3 发声电路发声电路利用 STC89C51 的 I/O 口产生一定频率的方波脉冲,通过 LM386 功放驱动喇叭发出不同的音调从而演凑乐曲。图 2.3 发声电路原理图2 2.1.1.4 4 供电供电电路电路本系统选择 5V 直流电源作为系统总电源,为整个系统供电,电路简单、稳定。可以使用电脑 USB、充电宝

9、和手机充电器等作为电源供电。图 2.4 供电电路原理图2.1.52.1.5 I/OI/O 口分配表口分配表表 2.1 I/O 口分配表输入端口输出端口IO 端口信号端口端口说明IO 端口信号端口端口说明RESETS0复位键P1.0IN+接扬声器P1.3S1切换上一首P3.2S2开始(暂停)P3.5S3切换下一首52.22.2 软件系统设计软件系统设计2.2.12.2.1 主程序流程图主程序流程图图 2.5 主程序流程图2.2.22.2.2 选曲处理选曲处理子子程序流程图程序流程图图 2.6 选曲子程序流程图62.2.32.2.3 编写程序代码编写程序代码(1)打开 keil5,创建项目图 2.

10、7 项目创建图(2)编写 C51 程序代码图 2.8 C51 程序编写图7(3)生成 hex 文件图 2.9 hex 文件生成图2.2.3 3 软件软件调试调试使用 protues8 这个软件根据原理图绘制仿真图,然后把 hex 文件写入单片机中进行软件调试。图 2.10 系统仿真图82.42.4 硬件调试硬件调试把 hex 文件下载到作品中调试作品功能。首先连接一个 5V 的电源,按下电源开关,如下图所示,它的指示灯会亮红灯。这个时候我们可以进行产品操作,本设计的音乐播放器一共有 8 首歌曲。首先按下 S2 播放(暂停)键,开始播放第一首歌曲烟花易冷,再次进行操作按下 S3 键切换到下一首歌

11、曲发如雪,再按下 S1 键会再次切换到第一首歌曲烟花易冷,由于本设计不方便使用图片表示调试过程,所以以视频的形式来表示调试过程。QQ 视频 20210629002123.mp4图 2.11 系统实物图2.52.5 设计过程遇到的问题及解决方案设计过程遇到的问题及解决方案2.5.12.5.1 设计中的问题设计中的问题问题一:播放/暂停键按下无声音。问题二:扬声器没有声音。2.5.22.5.2 问题解决方案问题解决方案问题一解决方案:使用万用表检测发现播放/暂停键的与单片机的 INT0 引脚虚焊,用电络铁补焊,成功解决问题。问题二解决方案:使用万用表测量发现扬声器坏了,重新更换一个新的扬声器。9三

12、、设计成果简介3 3.1.1 产品特点产品特点3.3.1 1.1.1 技术指标技术指标本设计使用 5V 电源供电,具有低音、中音、高音和超高音四个音频段,内置至少 8 首歌的内存容量。3.3.1 1.2.2 性能特点性能特点本设计相比于传统的机械式音乐播放器,在都能实现音乐播放的情况下,本设计结构简单、音质更加优美、方便携带、更加耐用而且存储的歌曲多,能广泛的应用于任何场景,以上便是本设计的特点。3.3.1 1.3.3 创新之处创新之处本设计的音乐播放器,是基于单片机的音乐播放器,对比于留声机、钢丝录音机和 CD播放器等机械结构的音乐播放器,出于创新与便捷的设计想法,本设计采用 STC89C5

13、1 芯片作为音乐播放器的核心,整个音乐播放器采用电子式结构使得本设计制作工艺简单,可以批量生产,最主要是性价比高,更加适合广大的人民群众。103.3.2 2 设计成果展示设计成果展示3.3.2 2.1.1 系统原理图系统原理图图 3.1 系统原理图3.3.2 2.2.2 主程序流程图和选曲处理子程序流程图主程序流程图和选曲处理子程序流程图见图 2.5 和图 2.6.3 3.2 2.3 3 程序代码程序代码见附录一113.2.43.2.4 系统仿真图系统仿真图图 3.2 系统仿真图123.2.53.2.5 PCBPCB 图图图 3.3 PCB 图133.2.63.2.6 系统实物系统实物图图图

14、3.4 系统实物图3 3.3.3 设计的归纳总结设计的归纳总结本设计是由 STC89C51 单片机的最小系统、供电电路、按键电路和发声电路组成的音乐播放器。内置最少 8 首歌曲,可以暂停播放音乐,也可以自由切换歌曲。本设计的音乐播放器的优点是:结构简单、音质优美、使用方便、制作简单和更加耐用等优点,缺点是:存储量还是太小了、音量可调范围太小和不能显示歌词等缺点。改进:增加一个存储器、显示电路,增大整个系统的功率,让本设计可以存储更多歌曲、可以调节更广的音量范围、可以看歌词。通过这次音乐播放器的设计,我能将在大学里面所学到的专业知识与实践相联系,将所学到的知识充分运用到本次设计中。同时,我也认识

15、到自己知识上不足的地方,体会到了所学理论知识的重要性,知识掌握得越多,设计得就更全面、更顺利、更好。15五、参考文献1 李建忠.单片机原理及应用M,西安电子科技大学出版社,2008.22 黄智伟.全国大学生电子设计竞赛系统设计M,北京:北京航空航天大学出版社,2006.63 黄智伟.凌阳单片机课程设计指导M,北京:北京航空航天大学出版社,2006.114 李广弟,朱月秀,王秀山.单片机基础M,北京:北京航空航天大学出版社,2001.75 赵曙光,郭万有,杨颂华.可编程逻辑器件原理开发与应用M,西安:西安电子科技大学,20006 候伯亨.VHDL 硬件描述语言与数字逻辑电路设计M,西安:西安电子

16、科技大学出版社,199916附录一附录一程序代码:#include#define sound_amount 5/歌曲的数量sbit play_up=P13;/上一首歌sbit play_down=P35;/下一首歌sbit pause=P32;/播放暂停sbit speaker=P10;/无源蜂鸣器unsigned char timer0h,timer0l,time;/timer0h,timer0l 为定时器 T0 的高低位初值,time为对应的节拍时间unsigned char music_num;/music_num 为歌曲编号,music_num=0 表示刚开机时的状态,num 是查找歌

17、曲数据表的地址unsigned int num;signed int fre;/对应频率数据表的地址bit play_enable;/歌曲播放的使能标志位,用于播放暂停void delay(unsigned char t);/延时子函数,控制发音的时间长度void delayms(unsigned int t);/普通延时子程序,可用于按键消抖void music_play(void);/播放歌曲/每三个数字,代表一个音符/第一个数字是音符的数值 1234567 之一(第几个音),代表哆来咪发./第二个数字是 0123 之一,代表低音中音高音超高音(第几个八度)/第三个数字是时间长度,以半拍为

18、单位,乐曲数据表的结尾是三个 0/烟花易冷unsigned char code song1=5,2,1,3,2,1,2,2,2,2,2,4,3,2,1,1,2,1,2,2,1,3,2,4,5,2,1,3,2,1,2,2,2,2,2,2,5,1,1,3,2,1,4,2,1,3,2,4,3,2,1,3,2,1,7,2,1,3,2,1,2,2,2,1,2,1,7,1,1,1,2,1,2,2,1,3,2,1,6,2,3,6,1,1,1,2,1,3,2,1,2,2,1,6,1,1,1,2,1,7,1,1,5,1,1,6,1,6,5,2,1,3,2,1,2,2,2,2,2,1,2,2,1,2,2,1,5,

19、1,1,3,2,1,4,2,1,3,2,4,3,2,1,3,2,1,7,2,3,3,2,1,2,2,2,1,2,1,7,1,1,1,2,1,2,2,1,3,2,1,6,2,3,6,1,1,1,2,1,3,2,1,2,2,1,6,1,1,1,2,1,7,1,2,5,1,2,6,1,6,0,0,0;17/发如雪unsigned char code song2=5,1,1,2,2,1,3,2,2,2,2,1,3,2,1,5,2,1,6,2,1,5,2,3,1,2,1,2,2,1,3,2,1,6,2,1,5,2,1,3,2,1,5,2,3,5,2,1,6,2,1,1,3,2,6,2,1,5,2,1,3

20、,2,1,5,2,1,3,2,2,1,2,1,2,2,1,3,2,1,1,2,1,6,1,1,3,2,1,2,2,1,5,1,1,2,2,1,3,2,2,2,2,1,3,2,1,5,2,1,6,2,1,5,2,3,1,2,1,2,2,1,5,2,1,3,2,1,5,2,1,3,2,2,1,2,1,6,1,1,3,2,1,2,2,1,1,2,1,6,1,1,1,2,1,2,2,1,2,2,1,1,2,4,0,0,0;/简单爱unsigned char code song3=5,1,1,1,2,1,2,2,1,3,2,1,2,2,1,3,2,1,4,2,1,5,2,1,5,2,1,5,2,1,4,

21、2,1,3,2,1,2,2,3,5,1,1,1,2,1,2,2,1,3,2,1,4,2,1,5,2,1,5,2,1,5,2,1,6,2,1,5,2,2,2,2,1,3,2,1,1,2,2,1,2,1,6,1,1,2,2,1,2,2,1,3,2,1,3,2,1,1,2,1,5,2,1,1,2,1,5,2,1,1,2,1,7,1,1,1,2,1,1,2,1,6,1,1,2,2,1,2,2,1,3,2,1,3,2,1,5,2,1,5,2,1,4,2,1,3,2,1,2,2,3,5,1,1,1,2,1,2,2,1,3,2,1,2,2,1,3,2,1,4,2,1,5,2,1,5,2,1,5,2,2,2,

22、2,1,3,2,1,1,2,2,1,2,1,6,1,1,2,2,1,2,2,1,3,2,1,3,2,1,1,2,2,5,2,1,1,2,1,5,2,1,5,2,1,7,1,1,1,2,1,0,0,0;/世上只有妈妈好unsigned char code song4=6,2,3,5,2,1,3,2,2,5,2,2,1,3,2,6,2,1,/6,2,3 代表 6,中音,3 个半拍;/5,2,1 代表 5,中音,1 个半拍;/3,2,2 代表 3,中音,2 个半拍;/5,2,2 代表 5,中音,2 个半拍;/1,3,2 代表 1,高音,2 个半拍;/.3,2,1,2,2,4,2,2,3,3,2,1,

23、5,2,2,5,2,1,6,2,1,3,2,2,2,2,2,1,2,4,5,2,3,3,2,1,2,2,1,1,2,1,6,1,1,1,2,1,5,1,6,0,0,0;/当你孤单你会想起谁unsigned char code song5=3,2,2,3,2,1,4,2,1,3,2,2,2,2,1,1,2,1,2,2,2,5,2,2,2,2,2,2,2,3,6,1,2,2,2,1,3,2,1,2,2,1,1,2,1,6,1,2,5,1,2,2,2,1,3,2,1,2,2,1,181,2,1,6,1,2,6,1,2,2,2,1,3,2,1,2,2,1,1,2,1,6,1,1,7,1,1,1,2,6

24、,0,0,0;/乡间小路unsigned char code song6=3,1,2,3,1,1,3,1,1,6,0,1,6,0,1,1,1,2,6,0,1,5,0,1,6,0,4,6,0,2,6,0,1,6,0,1,6,0,2,6,0,1,1,1,1,2,1,2,2,1,1,3,1,1,2,1,4,3,1,1,3,1,1,3,1,1,2,1,1,4,1,2,3,1,1,6,1,1,7,1,1,6,1,1,5,1,1,5,1,2,5,1,1,2,1,1,5,1,1,6,1,1,5,1,1,4,1,1,4,1,2,4,1,1,3,1,1,2,1,2,1,1,1,2,1,1,3,1,1,2,1,1

25、,1,1,1,2,1,1,3,1,4,6,1,2,3,1,1,6,1,1,7,1,1,6,1,1,5,1,1,5,1,2,2,1,1,5,1,1,6,1,1,5,1,1,4,1,1,0,0,0;/送别unsigned char code song7=5,1,2,3,1,3,5,1,1,1,2,3,6,1,2,1,2,2,5,1,4,5,1,2,1,1,1,2,1,1,3,1,2,2,1,1,1,1,1,2,1,4,5,1,2,3,1,1,5,1,1,1,2,2,7,1,1,6,1,2,1,2,2,5,1,4,5,1,2,2,1,1,7,1,1,1,2,4,6,1,1,7,1,1,1,2,1,6

26、,1,1,6,1,1,5,1,1,3,1,1,1,1,1,2,1,8,5,1,2,3,1,1,5,1,1,1,2,2,7,1,1,6,1,2,1,2,2,5,1,4,5,1,2,2,1,1,3,1,1,4,1,2,7,0,2,1,1,4,0,0,0;/最浪漫的事unsigned char code song8=5,1,1,6,1,1,1,2,1,6,1,2,6,1,1,5,1,1,6,1,1,5,1,1,3,1,1,5,1,5,5,1,1,6,1,1,1,2,1,6,1,2,6,1,1,5,1,1,6,1,1,5,1,1,6,1,1,1,1,5,3,1,2,2,1,3,5,1,1,6,1,1,

27、1,2,1,6,1,2,6,1,1,5,1,1,6,1,1,5,1,1,6,1,1,1,1,5,1,1,1,2,1,1,3,1,1,4,1,2,4,1,1,5,1,1,6,1,1,6,1,1,5,1,1,6,1,2,1,2,1,6,1,3,1,2,1,6,1,1,5,1,1,5,1,4,1,1,1,6,1,1,5,1,5,5,1,1,6,1,1,1,2,1,3,1,1,2,1,1,3,1,1,1,1,6,0,0,0;/频率-半周期数据表 高八位共保存了四个八度的 28 个频率数据unsigned char code FREQH=0 xF2,0 xF3,0 xF5,0 xF5,0 xF6,0 x

28、F7,0 xF8,/低音 12345670 xF9,0 xF9,0 xFA,0 xFA,0 xFB,0 xFB,0 xFC,0 xFC,/1,2,3,4,5,6,7,i0 xFC,0 xFD,0 xFD,0 xFD,0 xFD,0 xFE,/高音 2345670 xFE,0 xFE,0 xFE,0 xFE,0 xFE,0 xFE,0 xFF;/超高音 1234567/频率-半周期数据表 低八位19unsigned char code FREQL=0 x42,0 xC1,0 x17,0 xB6,/低音 12345670 x21,0 xE1,0 x8C,0 xD8,0 x68,0 xE9,0 x5

29、B,0 x8F,/1,2,3,4,5,6,7,i0 xEE,0 x44,0 x6B,0 xB4,0 xF4,0 x2D,/高音 2345670 x47,0 x77,0 xA2,0 xB6,0 xDA,0 xFA,0 x16;/超高音 1234567void main(void)TMOD=0 x11;/T0 T1 均在工作方式 1ET0=1;/T0 开中断EA=1;/CPU 开中断while(1)music_play();/根据当前状态播放相应歌曲的某个音符if(!pause)/暂停键处理if(!pause)if(music_num=0)/music_num=0 只有在刚开机,且未按下暂停键时存

30、在,表示刚开机时的状态,按下后从第一首开始播放music_num=1;/歌曲序号置 1num=0;/从头播放play_enable=1;/允许播放elseplay_enable=play_enable;speaker=1;while(!pause)/若按着暂停键不放手时的处理if(play_enable=0)/如果是暂停,则显示时间不变/(暂停时 play_enable=0)20/暂停键处理结束/while 结束if(!play_up)&(music_num!=0)/上一首按键delayms(5);if(!play_up)&(music_num!=0)speaker=1;music_num-=

31、1;/歌曲编号减一if(music_num=0)music_num=8;num=0;/从头开始播放if(music_num=(sound_amount+1)music_num=1;delayms(500);/歌曲切换时延时 0.5Sif(!play_down)&(music_num!=0)delayms(5);if(!play_down)&(music_num!=0)speaker=1;music_num=1;num=0;/从头开始播放if(music_num=0)music_num=sound_amount;delayms(500);/歌曲切换时延时 0.5Svoid delayms(uns

32、igned int t)/MS 延时子程序21unsigned int i,j;for(i=0;it;i+)for(j=0;j123;j+);void delay(unsigned char t)/延时子函数,控制发音的时间长度,每个节拍 0.4Sunsigned char t1;for(t1=0;t1t;t1+)/嵌套循环,共延时 t 个半拍for(t2=0;t28000;t2+)/延时期间,可进入 T0 中断去发音;TR0=0;/关闭 T0,停止发音void timer0(void)interrupt 1/T0 中断程序,控制发音的音调speaker=!speaker;/输出方波,发音TH

33、0=timer0h;/下次的中断时间,这个时间控制音调高低TL0=timer0l;void song(void)/演奏一个音符TH0=timer0h;/控制音调TR0=1;/启动 T0,由 T0 输出方波发音delay(time);/每个音符的演奏时间void music_play(void)/播放相应歌曲的某个音符22if(music_num=1)&(play_enable=1)fre=song1num+7*song1num+1-1;/第 i 个是音符,第 i+1 个是第几个八度timer0h=FREQHfre;/从数据表中读出频率数值,实际上是定时的时间长度timer0l=FREQLfre

34、;time=song1num+2;/读出时间长度数值num+=3;if(fre0)/判断歌曲的结束位,结束后转到下一首num=0;/下一首从头播放music_num=2;song();/发出一个音符if(music_num=2)&(play_enable=1)fre=song2num+7*song2num+1-1;timer0h=FREQHfre;num+=3;if(fre0)num=0;music_num=3;song();if(music_num=3)&(play_enable=1)fre=song3num+7*song3num+1-1;timer0h=FREQHfre;num+=3;if

35、(fre0)23num=0;music_num=4;song();if(music_num=4)&(play_enable=1)fre=song4num+7*song4num+1-1;timer0h=FREQHfre;num+=3;if(fre0)num=0;music_num=5;song();if(music_num=5)&(play_enable=1)fre=song5num+7*song5num+1-1;timer0h=FREQHfre;num+=3;if(fre0)num=0;music_num=6;song();if(music_num=6)&(play_enable=1)fre=

36、song6num+7*song6num+1-1;24timer0l=FREQLfre;time=song6num+2;num+=3;if(fre0)num=0;music_num=7;song();if(music_num=7)&(play_enable=1)timer0l=FREQLfre;time=song7num+2;num+=3;if(fre0)num=0;music_num=8;song();if(music_num=8)&(play_enable=1)fre=song8num+7*song8num+1-1;timer0l=FREQLfre;time=song8num+2;num+=3;if(fre0)music_num=1;song();25

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

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

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com