基于单片机的简单音乐盒设计制作-大学毕业论文毕业设计学位论文范文模板参考资料_第1页
基于单片机的简单音乐盒设计制作-大学毕业论文毕业设计学位论文范文模板参考资料_第2页
基于单片机的简单音乐盒设计制作-大学毕业论文毕业设计学位论文范文模板参考资料_第3页
基于单片机的简单音乐盒设计制作-大学毕业论文毕业设计学位论文范文模板参考资料_第4页
基于单片机的简单音乐盒设计制作-大学毕业论文毕业设计学位论文范文模板参考资料_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

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

2、。关键词:音乐盒;单片机;数码管AbstractFor 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 of the past, and even dr

3、eaming, 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, powerful inexpensive and w

4、idely 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 digital songs on the serial n

5、umber.Key words: Music Box; Single-chip; LED 目 录引言11 选题的背景12 选题总体设计说明13 设计方法13.1 设计思想1 系统硬件设计2主控芯片2蜂鸣器及其驱动3按键4.4元器件清单44 设计内容44.1 基本知识音调4音频脉冲44.1.2方法54.1.3计算公式54.1.4其计数值的求法54.1.5C调音符频率与计数值T的对照表5 基本知识节拍6相关知识6 程序代码65 结论11参考文献13附录A14附录B15附录C16附录D17引言随着社会的不断高速发展,人们的压力也越来越大。减压的方式很多,但音乐确是最简单而有效的方式,它不仅能让人们感

6、到愉悦和快乐,更重要的是它也能让人感到轻松。1 选题的背景本次课设是应用单片机原理和控制理论设计音乐演奏控制器的硬件电路,并利用C语言进行程序设计。通过控制单片机内部的定时器来产生不同频率的方波,驱动喇叭发出不同的音调的音乐,在利用延迟来控制发音时间的长短。把乐谱转化成相应的定时常数就可以从发音设备中演奏出悦耳的音乐。 运用单片机制作一个能演奏美妙音乐的电路,通过这一有趣的项目制作,巩固定时器和键盘的运用技能,增进对单片机应用产品的过程的了解。2 课题总体设计说明音乐盒可以发出怡人的音乐旋律,能给生活增加不少的乐趣。用51系列单片机设计一个音乐盒的基本功能如下:1.利用I/O口产生一定频率的方

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

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

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

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

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

12、锁定位RESET。为了执行内部程序指令,EA应该接VCC。在Flash编程期间,EA也接收12伏VPP电压。XTAL1(19引脚):振荡器反相放大器和内部时钟发生电路的输入端。XTAL2(18引脚):振荡器反相放大器的输入端。3.蜂鸣器及其驱动 蜂鸣器根据结构不同分为压电式蜂鸣器和电磁式蜂鸣器;而两种蜂鸣器又分为有源蜂鸣器和无源蜂鸣器,这里的源特指振荡源;有源蜂鸣器直接加电就可以响起,无源蜂鸣器需要我们给提供振荡源。理想的振荡源为一定频率的方波。由于系统采用了无源蜂鸣器,所以需要我们通过晶振产生一定频率的方波信号,本次采用频率为12MHZ的晶振来产生标准方波。达林顿三极管又称复合三极管,它将二

13、只三极管组合在一起,以组成一只等效的新的三极管。达林顿三极管的放大倍数是二只三极管放大倍数之积。达林顿三极管可以看作是一种直接耦合的放大器,三极管间以直接方式串接,没有加上任何耦合元件。这样的晶体管串接型式最大的作用是:提供高电流放大增益。两只三极管同为NPN型,将前级三极管的射极电流直接引入下一级的基极,当作下级的输入。这种使用相同类型的三极管组成的达林顿管称为同极型达林顿管。由于以上原因,我们选择通过两个NPN三级管搭建成一个达林顿作为为驱动。如图所示。 图3.3 三极管组成的达林顿管3.按键采用常用的四引脚按键,其中各有两个引脚相连。按下时,接通,放开时,将断开。设计中需要两个按键,作为

14、上一首和下一首的信号输入。3.元器件清单表3.1元器件清单元器件序号型号主要参数数量备注R1R410K41/4wC1、C210pF2瓷片电容C310uF1电解电容Y112MHz1晶振S1S33按钮Q1Q22NPN三极管LS11无源小喇叭U1STC89C52RC1单片机LED117段一位共阴数码管LED01LED灯P1110K排阻4 设计内容4.1 基本知识音调4音频脉冲 要生产音频脉冲,只要算出某一音频的周期(1/频率),然后将此周期除以2,即为半周期的时间。利用定时器计时这个半周期时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期时间再对I/O反相,就可在I/O脚上得到此频率的

15、脉冲。4.1.2方法利用89C52的内部定时器使用其工作在计数器模式MODE1下,改变计数值THO及TLO以产生不同频率的方法。计算公式例如频率为523Hz,其周期T1/5231912us,因此只要令计数器计时956us/1us956,在每次计数956次时将I/O反相,就可得到中音DO (523Hz)。计数脉冲值与频率的关系公式如下: N: 计算值;Fi:内部计时一次为1us, 故其频率为1MHz;4其计数值的求法例如:设K65536, F1000000Fi1MHz, 求低音DO(261Hz)。中音DO (523Hz)。 高音的DO (1046Hz)的计算值。低音DO的中音DO的高音DO的4

16、C调各音符频率与计数值T的对照表表C调各音符频率与计数值T的对照表音符频率(HZ)简谱码(T值)音符频率(HZ)简谱码(T值)低 1 DO26263628# 4 FA#74064860# 1 DO#27763731中 5 SO78464898低 2 RE29463853# 5 SO#83164934# 2 RE#31163928中 6 LA88064968低 3 M33064021# 693264994低 4 FA34964103中 7 SI98865030# 4 FA#37064185高 1 DO104665058低 5 SO39264260# 1 DO#110965085# 5 SO#41

17、564331高 2 RE117565110低 6 LA44064400# 2 RE#124565134# 646664463高 3 M131865157低 7 SI49464524高 4 FA139765178中1 DO52364580# 4 FA#148065198# 1 DO#55464633高 5 SO156865217中 2 RE58764684# 5 SO#166165235# 2 RE#62264732高 6 LA176065252中 3 M65964777# 6186565268中 4 FA69864820高 7 SI19674.2 基本知识-节拍4相关知识每个音符使用1个字节,

18、字节的高4位代表音符的高低,低4位代表音符的节拍,表三为节拍与节拍码的对照.如果1拍为秒,1/4拍是秒,只要设定延迟时间就可求得节拍的时间.假设1/4拍为1DELAY,则1拍应为4DELAY,以此类推.所以只要求得1/4拍的DELAY时间,其余的节拍就是它的倍数,如表四为1/4和1/8节拍的时间设定。表节拍与节拍码对照节 拍 码节 拍 数节 拍 码节 拍 数11/4 拍11/8 拍22/4 拍21/4 拍33/4 拍33/8 拍41 拍41/2 拍51又1/4 拍55/8 拍61又1/2 拍63/4 拍82 拍81 拍A2又1/2 拍A1又1/4 拍C3 拍C1又1/2 拍F3又3/4 拍表4

19、.3各调1/4节拍的时间设定及各调1/8节拍的时间设定曲 调 值DELAY曲 调 值DELAY调 4/4125 毫秒调 4/462 毫秒调 3/4187 毫秒调 3/494 毫秒调 2/4250 毫秒调 2/4125毫秒4.3 程序代码#include reg52.hsbit BUZZER=P20;unsigned char th,tl;unsigned char flag1,flag2;char code table =0 x3f,0 x06,0 x5b,0 x4f/*,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f,0 x77,0 x7c,0 x39,0 x5e,0

20、 x79,0 x71*/;/0f 的字型码(共阴)/ 0 1 2 3 4 5 6 7 8 9 10 11 12 13/ 7L 1 2 3 4 5 6 7 1H 2H 3H 5L 6L 4Lunsigned int TONE14=1012,956,852,759,716,638,568,506,478,426,379,1276,1136,1433; / 1 234 56 7 / 低音 1908 1701 1515 1433 1276 1136 1012/ 中音 956 852 759 716 638 568 506/ 高音 478 426 379 358 319 284 253unsigned

21、char code SONG4150= /*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,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,

22、3,5,6,8,5,8,10,9,8,9,8,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 char code BEAT4150=4,4,4,4,4,4,8,8,4,4,4

23、,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,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

24、,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的初始值更新void SET_BUZZER_TONE(unsigned int tone) /tone为计数器实际要计数的次数即为NFr N=Fi/2/Fr Fr为频率数/设置蜂鸣器的音调,其本质为对计数器的填装TR0=0; /关闭定时器0/TH0=(65536-

25、tone)/256;/TL0=(65536-tone)%256;th=(65536-tone)/256;tl=(65536-tone)%256;TR0=1; /开启定时器0/*设置节拍*/ /通过延时来设置其节拍/x为最小节拍的倍数void DELAY_MIN_BEAT(unsigned char x)unsigned int i,j,k;for(i=0;ix;i+)for(j=0;j100;j+)for(k=0;k3)num1=0;num2=0;flag1=0;display(num1);if(flag2=1) /中断检测num1-;if(num10)num1=3;num2=0;flag2=0;display(num1);SET_BUZZER_TONE(TONESONGnum1num2);/音调DELAY_MIN_BEAT(BEATnum1num2);/节拍num2+;num2=0;flag0=1;num1+;if(num1=4)num1=0;/*定时器0中断函数*/void T0_TONE(void) interrupt 1TH0=th;TL0=tl;BUZZER=BUZZER;/*外部中断0函数*/void INT0_SELECT(void) interrupt 0flag1=1;/*外部中断1函数*/void

温馨提示

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

评论

0/150

提交评论