ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:1.73MB ,
资源ID:1250512      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/1250512.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(基于单片机的简单音乐盒设计制作大学学位论文范文模板参考.docx)为本站上传会员【可****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

基于单片机的简单音乐盒设计制作大学学位论文范文模板参考.docx

1、 摘 要 长久以来,音乐都在我们的身边,封建时期的编钟到现在我们的各种各样的音乐播放,音乐盒不但在我们日常生活中经常拿来当礼物来赠送,更重要的是音乐盒悠扬的乐声,能经常勾起人们对美好往事的回忆,甚至魂牵梦萦,坠入时光岁月的追忆中。为了好好利用学到的知识用于自己喜欢的事情中我选择了单片机音乐盒的设计,这让我有回忆起了儿时的美好时光。 单片机因其体积小、功能强、价格低廉而得到广泛运用。用STC89C52单片机设计音乐盒,只需STC89C52RC最小系统,扩展三个按键,再加一片由两个NPN组成的达林顿管以及输出设备蜂鸣器和数码管,通过两个按键可以选择上一首歌曲和下一首歌曲,并在数码管上直

2、观的显示歌曲的序号。 关键词:音乐盒;单片机;数码管 Abstract For a long time, music is around us, the feudal period of chimes to a variety of music we play, music box, not only in our daily lives are often used as a gift to gift, more important melodious music box music, can often remind people of good memories

3、 of the past, and even dreaming, crashed into the recollections of the years in time. In order to make good use of acquired knowledge to their favorite things in the music box I chose single-chip design, which makes me remember the good times of childhood. Microcontroller because of its small size,

4、 powerful inexpensive and widely used. Single-chip design with STC89C52 music box, just STC89C52 minimum system, extended three buttons, plus one composed by two NPN Darlington buzzer and output devices and digital control, by two buttons on a choice songs and the next song, and visual display of di

5、gital songs on the serial number. Key words: Music Box; Single-chip; LED 目 录 引言 1 1 选题的背景 1 2 选题总体设计说明 1 3 设计方法 1 3.1 设计思想 1 3.2 系统硬件设计 2 3.2.1主控芯片 2 3.2.2蜂鸣器及其驱动 3 3.2.3按键 4 3.2.4元器件清单 4 4 设计内容 4 4.1 基本知识—音调 4 4.1.1音频脉冲 4

6、4.1.2方法 5 4.1.3计算公式 5 4.1.4其计数值的求法 5 4.1.5C调音符频率与计数值T的对照表 5 4.2 基本知识—节拍 6 4.2.1相关知识 6 4.3 程序代码 6 5 结论 11 参考文献 13 附录A 14 附录B 15 附录C 16 附录D 17 引言 随着社会的不断高速发展,人们的压力也越来越大。减压的方式很多,但音乐确是最简单而有效的方式,它不仅能让人们感到愉悦和快乐,更重要的是它也能让人感到轻松。 1 选题的背景 本次课设是应用单片机原理和控制理论设计音乐演奏控制器的硬件电路,并利用C语

7、言进行程序设计。通过控制单片机内部的定时器来产生不同频率的方波,驱动喇叭发出不同的音调的音乐,在利用延迟来控制发音时间的长短。把乐谱转化成相应的定时常数就可以从发音设备中演奏出悦耳的音乐。 运用单片机制作一个能演奏美妙音乐的电路,通过这一有趣的项目制作,巩固定时器和键盘的运用技能,增进对单片机应用产品的过程的了解。 2 课题总体设计说明 音乐盒可以发出怡人的音乐旋律,能给生活增加不少的乐趣。用51系列单片机设计一个音乐盒的基本功能如下: 1.利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演奏乐曲。 2.用七段数码管显示当前播放的歌曲序号。 3.通过对单片

8、机的电路控制并结合按键功能实现播放,暂停,停止,上一曲,下一曲,的音阶和节拍的配合实现歌曲(共四首歌)演奏。 3 设计方案 3.1 设计思想 本设计采用STC89C52RC作为主控芯片,蜂鸣器作为输出设备产生音乐,通过按键1和2能够选择歌曲。数码管(LED)能够实时的显示当前的歌曲名及歌曲号。其中P3.3和P3.2外接按键,P0口用作LED输出数据端口,P2.0接蜂鸣器端口。 设计框图如图所示 LED显示 主控芯片 (STC89C52RC) 按键 蜂鸣器 图3.1 音乐盒设计框图 3.2 系统硬件设计 3.

9、2.1 主控芯片 设计中所采用主控芯片为STC89C52RC。因其价格便宜,在市场上已经很成熟,各个方面都能够满足设计要求故选择它。其采用标准双列直插式引脚DIP-40大规模集成电路封装。它的引脚排列如下图所示 STC89C52RC引脚功能说明 VCC(40引脚):电源电压 VSS(20引脚):接地 P0端口(P0.0~P0.7,39~32引脚):P0口是一个漏极开路的8位双向I/O口。作为输出端口,每个引脚能驱动8个TTL负载,对端口P0写入“1”时,可以作为高阻抗输入。在访问外部程序和数据存储器时,P0口也可以提供低8位地址和8位数据的复用总线。此时,P0口内部上拉电阻有

10、效。在Flash ROM编程时,P0端口接收指令字节;而在校验程序时,则输出指令字节。验证时,要求外接上拉电阻。 P1端口(P1.0~P1.7,1~8引脚):P1口是一个带内部上拉电阻的8位双向I/O, P1的输出缓冲器可驱动(吸收或者输出电流方式)4个TTL输入。对端口写入1时,通 过内部的上拉电阻把端口拉到高电位,这是可用作输入口。P1口作输入口使用时,因为有内部上拉电阻,那些被外部拉低的引脚会输出一个电流()。 P2端口(P2.0~P2.7,21~28引脚):P2口是一个带内部上拉电阻的8位双向I/O端口。P2的输出缓冲器可以驱动(吸收或输出电流方式)4个TTL输入。对端口写入1

11、时,通过内部的上拉电阻把端口拉到高电平,这时可用作输入口。P2作为输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流()。 P3端口(P3.0~P3.7,10~17引脚):P3是一个带内部上拉电阻的8位双向I/O端口。P3的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。P3做输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输入一个电流()。 RST(9引脚):复位输入。当输入连续两个机器周期以上高电平时为有效,用来完成单片机单片机的复位初始化操作。看门狗计时完成后,RST引脚

12、输出96个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。 ALE/(30引脚):地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。在Flash编程时,此引脚()也用作编程输入脉冲。 (29引脚):外部程序存储器选通信号()是外部程序存储器选通信号。当AT89C51RC从外部程序存储器执行外部代码时,在每个机器周期被激活两次,而访问外部数据存储器时,将不被激活。 /VPP(31引脚):访问外部程序存储器控制信号。为使能从0000H到FFFFH的外部程序存储器读取指令,必须接GND。注意

13、加密方式1时,将内部锁定位RESET。 为了执行内部程序指令,应该接VCC。在Flash编程期间,也接收12伏VPP电压。 XTAL1(19引脚):振荡器反相放大器和内部时钟发生电路的输入端。 XTAL2(18引脚):振荡器反相放大器的输入端。 3.2.2蜂鸣器及其驱动 达林顿三极管又称复合三极管,它将二只三极管组合在一起,以组成一只等效的新的三极管。达林顿三极管的放大倍数是二只三极管放大倍数之积。达林顿三极管可以看作是一种直接耦合的放大器,三极管间以直接方式串接,没有加上任何耦合元件。这样的晶体管串接型式最大的作用是:提供高电流放大增益。两只三极管同为NPN型,将前 级三极

14、管的射极电流直接引入下一级的基极,当作下级的输入。这种使用相同类型的三极管组成的达林顿管称为同极型达林顿管。由于以上原因,我们选择通过两个NPN三级管搭建成一个达林顿作为为驱动。如图所示。 图3.3 三极管组成的达林顿管采用常用的四引脚按键,其中各有两个引脚相连。按下时,接通,放开时,将断开。设计中需要两个按键,作为上一首和下一首的信号输入。 3.2.4元器件清单 表3.1 元器件清单 元器件序号 型号 主要参数 数量 备注 R1~R4 10K 4 1/4w C1、C2 10pF 2 瓷片电容 C3

15、 10uF 1 电解电容 Y1 12MHz 1 晶振 S1~S3 3 按钮 Q1~Q2 2 NPN三极管 LS1 1 无源小喇叭 U1 STC89C52RC 1 单片机 LED1 1 7段一位共阴数码管 LED0 1 LED灯 P1 1 10K排阻 4 设计内容 4.1 基本知识—音调 4.1.1音频脉冲 要生产音频脉冲,只要算出某一音频的周期(1/频率),然后将此周期除以2,即为半周期的时间。利用定时器计时这个半周期时间,每当计时到后就将输出脉冲的I/O反 相,

16、然后重复计时此半周期时间再对I/O反相,就可在I/O脚上得到此频率的脉冲。 4.1.2方法 利用89C52的内部定时器使用其工作在计数器模式MODE1下,改变计数值THO及TLO以产生不同频率的方法。 4.1.3计算公式 例如频率为523Hz,其周期T=1/523=1912us,因此只要令计数器计时956us/1us=956,在每次计数956次时将I/O反相,就可得到中音DO (523Hz)。  计数脉冲值与频率的关系公式如下: N: 计算值;Fi:内部计时一次为1us, 故其频率为1MHz; 4.1.4其计数值的求法 例如:设K=65536

17、 F=1000000=Fi=1MHz, 求低音DO(261Hz)。中音DO (523Hz)。 高音的DO (1046Hz)的计算值。 = 低音DO的 中音DO的 高音DO的 4.1.5 C调各音符频率与计数值T的对照表 表4.1 C调各音符频率与计数值T的对照表 音符 频率(HZ) 简谱码(T值) 音符 频率(HZ) 简谱码(T值) 低 1 DO 262 63628 # 4 FA# 740 64860 # 1 DO# 277 63731 中 5 SO 784 64898 低 2 RE 294 63853 # 5 SO# 831 64

18、934 # 2 RE# 311 63928 中 6 LA 880 64968 低 3 M 330 64021 # 6 932 64994 低 4 FA 349 64103 中 7 SI 988 65030 # 4 FA# 370 64185 高 1 DO 1046 65058 低 5 SO 392 64260 # 1 DO# 1109 65085 # 5 SO# 415 64331 高 2 RE 1175 65110 低 6 LA 440 64400 # 2 RE# 1245 65134 # 6 466

19、64463 高 3 M 1318 65157 低 7 SI 494 64524 高 4 FA 1397 65178 中1 DO 523 64580 # 4 FA# 1480 65198 # 1 DO# 554 64633 高 5 SO 1568 65217 中 2 RE 587 64684 # 5 SO# 1661 65235 # 2 RE# 622 64732 高 6 LA 1760 65252 中 3 M 659 64777 # 6 1865 65268 中 4 FA 698 64820 高 7

20、SI 1967 4.2 基本知识--节拍 4.2.1相关知识 每个音符使用1个字节,字节的高4位代表音符的高低,低4位代表音符的节拍,表三为节拍与节拍码的对照.如果1拍为0.4秒,1/4拍是0.1秒,只要设定延迟时间就可求得节拍的时间.假设1/4拍为1DELAY,则1拍应为4DELAY,以此类推.所以只要求得1/4拍的DELAY时间,其余的节拍就是它的倍数,如表四为1/4和1/8节拍的时间设定。 表4.2 节拍与节拍码对照 节 拍 码 节 拍 数 节 拍 码 节 拍 数 1 1/4 拍 1 1/8 拍 2 2/4 拍 2 1/4 拍 3 3/4

21、 拍 3 3/8 拍 4 1 拍 4 1/2 拍 5 1又1/4 拍 5 5/8 拍 6 1又1/2 拍 6 3/4 拍 8 2 拍 8 1 拍 A 2又1/2 拍 A 1又1/4 拍 C 3 拍 C 1又1/2 拍 F 3又3/4 拍 表4.3 各调1/4节拍的时间设定及各调1/8节拍的时间设定 曲 调 值 DELAY 曲 调 值 DELAY 调 4/4 125 毫秒 调 4/4 62 毫秒 调 3/4 187 毫秒 调 3/4 94 毫秒 调 2/4 250 毫秒 调 2/4 125毫秒

22、 4.3 程序代码 #include "reg52.h" sbit BUZZER=P2^0; unsigned char th,tl; unsigned char flag1,flag2; char code table[] ={ 0x3f,0x06,0x5b,0x4f /*,0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71*/};//0~f 的字型码(共阴) // 0 1 2 3 4 5 6 7 8 9 10 11 12 13

23、// 7L 1 2 3 4 5 6 7 1H 2H 3H 5L 6L 4L unsigned int TONE[14]={1012,956,852,759,716,638,568,506,478,426,379,1276,1136,1433}; // 1 2 3 4 5 6 7 // 低音 1908 1701 1515 1433 1276 1136 1012 // 中音 956 852 759

24、 716 638 568 506 // 高音 478 426 379 358 319 284 253 unsigned char code SONG[4][150]={ /*20为结束符,用于判断是否结束*/ //同桌的你 {5,5,5,5,3,4,5,8,6,6,6,6,8,6,5,5, 5,5,5,5,7,6,4,4,4,4,4,4,4,3,2,1,1, 8,8,8,8,5,

25、3,8,8,10,9,9,9,9,8,7,6,6, 7,7,7,7,7,8,9,5,7,7,8,9,8,7,8,8,20}, //一分钱 {5,8,6,8,5,3,5,2,3,5,3,5,6,8,5,6,5,3, 5,1,3,2,3,2,1,2,3,6,5,3,5,6, 5,8,6,5,3,5,2,5,2,3,2,1,20}, //小燕子 {3,5,8,6,5,3,5,6,8,5,8,10,9,8,9,8

26、6,8,5,3,5,6,5,6,8,9,5,6,3,2,1,2,2,2,3,5,5,8,2,3,5,3,5,8,6,5,3,5,6,8,5,8,10,9,8, 9,8,6,8,5,3,5,6,5,6,8,9,5,6,3,8,6,5,3,2,1,2,2,3,5, 8,10,9,8,9,8,5,6,8,20}, //两只老虎 {1,2,3,1,1,2,3,1,3,4,5,3,4,5,5,6,5,4,3,1,5,6,5,4,3,1,2,11,1,2,11,1,20} }; unsigned

27、 char code BEAT[4][150]= { {4,4,4,4,4,4,8,8,4,4,4,4,4,4,8,4, 4,4,4,4,4,4,8,8,4,4,4,4,4,2,8,8,4,4,4,4,4,4,8,4,8,4,4,4,4,2,4,8,8,4,4,4,4,4,4,8,8,4,4,4,4,4,4,8,8}, {8,8,4,4,8,4,4,4,4,8,4,4,4,4,4,4,4,4,4,8,4,8,4,4,4,4,16,4,4,4,4,8,4,4,4,4,4,4,8,4,4,4,4,16}, {4,4,4,4,16,4,4,4,4,16,8,4,8,8,4,4,4

28、4,16,8,4,8,4,4,8,4,4,16,4,4,8,16,8,4,4,8,8,8,4,4,16,4,4,4,4,16,4,4,4,4,16,8,4,8,8,4,4,4,4,16,8,4,8,4,4,8,4,4,16,8,4,8,8,4,4,8,16,8,4,16,8,4,8,8,4,4,4,4,16}, {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} }; /*****************设置音调*******************/ //对定时器0的初始值更新 voi

29、d SET_BUZZER_TONE(unsigned int tone) //tone为计数器实际要计数的次数即为N<--->Fr N=Fi/2/Fr Fr为频率数 { //设置蜂鸣器的音调,其本质为对计数器的填装 TR0=0; //关闭定时器0 //TH0=(65536-tone)/256; //TL0=(65536-tone)%256; th=(65536-tone)/256; tl=(65536-tone)%256; TR0=1; //开启定时器0 } /**************设置节拍***********

30、/ //通过延时来设置其节拍 //x为最小节拍的倍数 void DELAY_MIN_BEAT(unsigned char x) { unsigned int i,j,k; for(i=0;i

31、并开启定时器0 TMOD=0x01; //定时器0工作在方式1 IP=0x02; //定时器0具有最高优先级 } /**************外部中断0和1初始化***********/ void INT_INIT() { IE|=0x85;//1000_0101 开启总中断并开启外部中断0,1 TCON|=0x05; //外部中断0和1负边缘触发 } /******************显示歌曲(数码管)****************/ void display(char a) { P0=table[a]; } vo

32、id main() { char num1,num2; unsigned char flag0; num1=0;//对应递增按钮,即外部中断0 num2=0;//对应递减按钮,即外部中断1 flag0=1;//定时器T0中断标志位 flag1=0;//递增中断标志位 flag2=0;//递减中断标志位 BUZZER=0; TIME0_INIT(); //定时器初始化 INT_INIT(); //外部中断初始化 while(1) { display(num1); while(flag0) //定时器T0中断标

33、志位 { if(SONG[num1][num2]==20)flag0=0; //如果检测到最后一个音调为20,说明此曲应该结束 else { if(flag1==1) //中断检测 { num1++; if(num1>3)num1=0; num2=0; flag1=0; display(num1); } if(flag2==1) //中断检测 { num1--; i

34、f(num1<0)num1=3; num2=0; flag2=0; display(num1); } SET_BUZZER_TONE(TONE[SONG[num1][num2]]);//音调 DELAY_MIN_BEAT(BEAT[num1][num2]);//节拍 num2++; } } num2=0; flag0=1; num1++; if(num1==4)num1=0; } } /*************定时器0中断函数****************/ v

35、oid T0_TONE(void) interrupt 1 { TH0=th; TL0=tl; BUZZER=~BUZZER; } /**************外部中断0函数*****************/ void INT0_SELECT(void) interrupt 0 { flag1=1; } /**************外部中断1函数*****************/ void INT1_SELECT(void) interrupt 2 { flag2=1; } 5 结论 此次课程设计过程中,我查阅了一些相关资

36、料,使得我更深入的了解单片机芯片的工作原理和音乐知识以及相关软件、硬件的使用方法。在这一段的时间里,我不仅完成设计所要求的内容,也掌握了STC89C52芯片的具体功能。此外,设计中所涉及到的元器件还有:三极管、电阻、瓷片电容等,我通过查阅相关元器件的作用及工作原理,并对其进行测试,从而减少实验中的客观误差。 结果紧张的做板以及焊接元器件,然后就就行相关的调试,刚开始的时候怎么调都不出结果,然后就开始分析原理图和相关的仿真图,才发现原来是在画原理图的时候把一个接地的地方给弄错了,所以才导致什么结果都没有!而后结果修正和跳线改进,以及仔细的检查PCB电路的每条线是不是都相通以及不应该相通的电路会

37、不会因为由于线路太靠近而导致其相接,最后再经过详细和仔细的检查下,制作的音乐盒终于播放出了美妙的音乐,在那一刻,突然发现以前不停的查找资料和冷天出去腐蚀板子的种种都过去了,就这一刻,抵过以前付出的种种。 参考文献 [1] 王静..北京:水利水电出版社,2010. [2] 郭天祥.新概念51单片机C语言教程.北京:电子工业出版社,2009. 附录A:原理图 附录B:仿真图 附录C:PCB图 附录D:实物测试图 (1)播放第一首歌的某个频率图 (2)播放第二首歌的某个频率图 (3)播放第三首歌的某个频率图 (4)播放第四首歌的某个频率图

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服