数字音乐盒的设计与实现
课程设计报告课程设计名称:微机系统综合课程设计课程设计题目:数字音乐盒的设计与实现1 总体设计方案1.1 题目介绍与要求本次课程设计的任务是运用伟福Lab8000试验箱和keil软件设计并实现一个数字音乐盒,要求采用I/O产生一定频率的方波,从而驱动蜂鸣器发出不同的音调,演奏乐曲;并且需要采用七段数码管显示当前播放的歌曲序号和播放时间;还得通过数字键盘直接选择乐曲,控制选择上一曲和下一曲音乐,具有暂停和播放控制功能。
1.2设计思路1.2.1音调的产生频率的高低决定了音调的高低。
音乐的十二平均率规定:每两个八度音(如简谱中的中音1和高音1)之间的频率相差一倍。
在两个八度音之间又分为十二个半音。
另外,音名A(简谱中的低音6)的频率为440Hz,音名B到C之间、E 到F之间为半音,其余为全音。
由此可以计算出简谱中从低音1到高音1之间每个音名对应的频率,所有不同频率的信号都是从同一个基准频率分频得到的。
要产生音频脉冲,只要算出某一音频的周期(1/频率),然后将此周期除以2,即为半周期的时间。
利用定时器计时这半个周期时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期时间再对I/O反相,就可在I/O脚上得到此频率的脉冲。
利用51单片机的内部定时器使其工作在计数器模式MODE1下,改变计数值TH0及TL0以产生不同频率的方法。
此外结束符和休止符可以分别用代码00H和FFH来表示,若查表结果为00H,则表示曲子终了;若查表结果为FFH,则产生相应的停顿效果。
例如频率为523Hz,其周期T=1/523=1912us,因此只要令计数器计时956us/1us=956,在每次技术956次时将I/O反相,就可得到中音DO(523Hz)。
计数脉冲值与频率的关系公式如下:N=Fi/2/FrN:计算值;Fi:内部计时一次为1us,故其频率为1MHz;其计数值的求法如下:初值T=65536−NC调各音符频率与计数值T的对照表如表1.1所示。
表1.1 C调各音符频率与计数值T的对照表低音频率N 参数中音频率N 参数高音频率N 参数Do 262 1908 229 Do 523 956 115 Do 1046 57 57 Do# 277 1805 217 Do﹟554 903 108 Do﹟1109 54 54 Re3 294 1701 204 Re 587 852 102 Re 1175 51 51 Re﹟311 1608 193 Re﹟622 804 97 Re﹟1245 48 48 Mi 330 1515 182 Mi 659 759 91 Mi 1318 45 45 Fa 349 1433 172 Fa 698 716 86 Fa 1397 43 43 Fa﹟370 1351 162 Fa﹟740 676 81 Fa﹟1480 41 41 So 392 1276 153 So 784 638 77 So 1568 38 38 So﹟415 1205 145 So﹟831 602 72 So﹟1661 36 36 La 440 1136 136 La 880 568 68 La 1760 34 34 La﹟464 1078 129 La﹟932 536 64 La﹟1865 32 32 Si 494 1012 121 Si 988 506 61 Si 1976 30 301.2.2节拍的产生构成音乐需要节拍,让音乐具有旋律,而且可以调节各个音的快慢度。
若1拍实0.5s,则1/4 拍为0.125s。
至于1有多长时间,可以按照设计者来决定,只要好听就行。
音持续时间的长短即时值,一般用拍数表示。
休止符表示暂停发音。
一首音乐是由许多不同的音符组成的,而每个音符对应着不同频率,这样就可以利用不同的频率的组合,加以与拍数对应的延时,构成音乐。
节拍与节拍码对照表如表1.2所示。
表1.2节拍与节拍码对照节拍码节拍数节拍码节拍数1 1/4拍 1 1/8拍2 2/4拍 2 1/4拍3 3/4拍 3 3/8拍4 1拍 4 2/1拍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拍每个音符使用1个字节,字节的高4位代表音符的高低,低4位代表音符的节拍。
如果1拍为0.4秒,1/4拍为0.1秒,只要设定延迟时间就可求得节拍的时间。
假设1/4拍的延迟时间为1,则1拍的延迟时间应为4,以此类推。
所以只要求得1/4拍的延迟时间,其余的节拍就是它的倍数。
表1.3所示。
表1.31/4和1/8节拍的时间设定曲调值DELAY 曲调值DELAY调4/4 125毫秒调4/4 62毫秒调3/4 187毫秒调3/4 94毫秒调2/4 250毫秒调2/4 125毫秒2硬件电路设计2.1系统原理数字音乐盒的核心主要分为三个方面,分别是七段数码管、键盘和蜂鸣器。
用定时器中断的方式来控制蜂鸣器和扫描4*4键盘,在程序中用显示函数让数码管显示,需要显示出歌曲序号和播放时间,并且能用键盘控制播放的音乐。
原理框图如图2.1所示。
图2.1系统原理框图2.2单片机8051单片机是在课堂上学习的单片机型号,也是这次课程设计的核心器件,它是8位的单片机,具有品种全、兼容性强、性能价格比高等特点。
8051单片机具有很多的I/O口,其中P2.4、P2.5、P2.6连接74LS138译码器,而译码器则可以控制片选信号和位选信号;P0的八个I/O口要与译码器74HC374相连,然后在与键盘连接,从而能确认数码管的段选信号,此次课程设计的位选码为0x8002。
段选码是0x8004;P1.1口则控制的是蜂鸣器。
单片机电路图如图2.2所示。
图2.2 单片机电路图2.3主要电路器件2.3.1 蜂鸣器蜂鸣器是整个电路中重要的输出部分之一,没有了蜂鸣器就不会响起悦耳的音乐,本次课程设计,运用了单片机I/O口中的P1.1口,当程序中的play变量等于1时,蜂鸣器响,反之,若play等于0,则停止响声。
端口输出的方波经放大滤波后,驱动蜂鸣器发声,蜂鸣器的电路图如图2.3所示。
图2.3蜂鸣器电路图2.3.2 键盘Lab8000实验箱内的键盘是4*6的键盘,但是这次课程设计只用到了前四列,所以也就只扫描了四列按键,键盘的主要功能就是用户的输入,也是实现程序现象的重要部分,当用户想播放哪首歌曲就在键盘中输入哪个按键。
实验箱内的键盘还连接了一个ULN2003芯片,这个芯片的特点是电流增益高、工作电压高、温度范围宽、带负载能力强等特点,适应于要求高速大功率驱动的系统。
键盘的电路图如图2.4所示。
图2.4键盘电路图2.3.3 数码管此次课程设计运用了六的数码管,第一个显示了歌曲的序号,第二个是空位,第三和第四个显示了分钟的计时,第五和第六个显示了秒钟的计时。
数码管的主要作用就是显示出当前程序运行时的现象,数码管的位选位与ULN2003相连后再接到键盘上,段选位则是连到74HC374译码器上,实验箱的数码管为共阴极,显示方式为动态显示。
由电路图得知,位选信号为1时有效。
数码管示意图如图2.5所示。
图2.5数码管示意图沈阳航空航天大学课程设计报告3程序设计3.1 系统功能该软件具有多种功能,系统功能图如图3.1所示。
图3.1系统功能图3.2主要函数介绍3.2.1总体流程程序的第一步是变量的初始化,定义了flag、time、sec等变量,并且设置了各个音调对应的十六进制码,然后开中断,对定时器进行模式的选择和初值的计算,接着调用LED显示函数使数码管按照程序设计的方式运行,其中扫描键盘是用定时器中断的方法,设置每隔3ms中断一次,即扫描一次键盘。
流程图如图3.2所示。
图3.2总体流程图3.2.2数码管显示函数数码管的显示在这里用的是动态显示方法,并且通过电路图得知,为了让74HC138芯片和74HC573芯片有效,计算出段控制口和位控制口分别为0x8004和0x8002。
流程图如图3.3所示。
图3.3数码管显示函数流程图3.2.3键盘扫描扫描键盘主要用的是unsigned char GetKey()函数,而且还是用定时器中断的方法,设置每隔3毫秒中断一次,在一秒中大约会产生中断333次,就是说在一秒钟扫描键盘333次。
在扫描键盘的过程中,先是扫描哪一个的按键别按下,把第几列记录下来后,再扫描是哪一行的按键,记录是哪一行;最后根据公式“键值 = 列 x 4 + 行”,就能计算出是哪一个按键被按下。
如图3.4所示。
图3.4键盘扫描函数流程图3.2.4 计时函数为了对歌曲进行计时,所以设计了一个计时函数jishi()。
分钟和秒钟分别用两个数码管来显示,当歌曲响起时开始计时,若秒钟个位加到10时,则十位加一,并且个位清零;秒钟的十位加到5时,分钟个位加一,并且将秒钟清零,分钟的十位同理,最后通过缓冲区在数码管中显示。
计时函数如图3.5所示。
图3.5 计时函数流程图3.2.5 音乐函数音乐函数song()是使蜂鸣器响起音乐的核心,一共有六首歌曲,分别用0x01——0x06控制着六首歌曲,通过用switch语句控制判断选择的是哪首歌曲,选择歌曲的序号后,调用相对应的并且储存了用十六进制数表示歌曲的数组,若在键盘中选择了1,就会调用tiger[],则蜂鸣器就会按照tiger数组中存储的十六进制码产生的频率响起音乐,播放结束后就会继续播放序号为2的歌曲。
如图3.6所示。
图3.6 音乐函数流程图4 实验现象与问题4.1操作说明与实验现象“1”按键:歌曲1,《两只老虎》“2”按键:歌曲2,《小青蛙》“3”按键:歌曲3,《千年之恋》“4”按键:歌曲4,《七子之歌》“5”按键:歌曲5,《找朋友》“6”按键:歌曲6,《寂寞沙洲岭》“A”按键:播放上一首歌曲“B”按键:播放下一首歌曲“C”按键:暂停键数码管的第一位显示当前正在播放的歌曲序号,第三四位显示歌曲的分钟计时,第五六位显示歌曲的秒钟计时。
在键盘中选择“1”—“6”按键,就会播放相应的歌曲,六首歌曲循环播放,若当前播放的是第一首,选择“A”按键播放上一首歌曲就会播放第六首,若当前播放的是第六首,选择“B”按键播放下一首歌曲就会播放第一首,选择“C”按键时,歌曲和计时都会暂停,再按一次则继续播放音乐。
4.2 问题与解决方法问题1:六个数码管中所有的段位都会发生很严重的闪烁现象,导致看不清数码管显示的数字,但运行的结果是正确的。
解决:经过测试发现,试验箱连错了I/O口,连的是P3.7口,该口的功能是读写,改成连接P1.1口,闪烁消失。
问题2:运行时数码管计数不稳定,有微弱的闪烁现象。
解决:调整中断时间,将中断一次的时间3ms改成2ms,在1秒内产生500次中断,数码管变的更稳定。
《数字音乐盒》设计报告
《数字音乐盒》设计报告
设计目标:
本数字音乐盒旨在提供一种方便、易用的音乐播放体验,让用户可以随时随地享受自己喜欢的音乐。
具体设计要求如下:
1. 支持多种音频格式,如MP3、FLAC等。
2. 采用简洁、直观的用户界面,方便用户操作。
3. 支持多种播放模式,如顺序播放、随机播放等,并且能够记忆用户播放模式。
4. 提供多种音效调节和均衡器设置,使用户可以自由调整音乐效果。
5. 支持歌词显示功能,使用户可以更好地理解音乐。
6. 支持歌曲收藏功能,使用户可以方便地收藏自己的喜爱歌曲。
设计思路与方案:
本数字音乐盒采用嵌入式系统设计,主要硬件部件包括音频芯片、显示屏幕和按键模块,其中音频芯片为核心部件,支持多种音频格式的解码和播放。
用户界面设计上,采用五向导航及确认键来进行操作,主界面分为“音乐播放”和“歌曲收藏”两大模块。
在“音乐播放”模块中,
用户可以选择不同的播放模式,包括顺序播放、随机播放和循环播放。
在播放过程中,用户可以通过前进、后退、暂停等操作来控制音乐播放进程。
同时,也提供了多种音效调节和均衡器设置,用户可以自行选择调整音乐效果。
在播放过程中,歌词会自动显示在屏幕上,方便用户理解歌曲。
在“歌曲收藏”模块中,用户可以收藏自己喜爱的歌曲,方便日后收听。
总结:
本数字音乐盒设计主要针对音乐爱好者,通过简洁、易用的界面设计和多种音效、播放模式等功能的设计,为用户提供了更为便捷、自由的音乐播放体验。
同时,歌曲收藏功能也使用户可以随时查找和收听自己喜爱的歌曲,满足用户对音乐的品质需求。
基于单片机的数字式音乐盒设计
基于单片机的数字式音乐盒设计数字式音乐盒是一种音乐播放器,它通过数字技术存储和播放音乐。
基于单片机的数字式音乐盒可以使用单片机控制音乐的播放,实现音符和旋律的发声和控制。
本文将介绍如何设计一款基于单片机的数字式音乐盒。
一、音乐盒基本原理音乐盒是通过一个带有齿轮的转子,以弹簧的力量驱动,使得钢片受到磁力响应并发声,从而发出旋律。
数字式音乐盒是通过数字技术将音乐编码为数字信号,并存储在芯片中,通过解码器将数字信号还原为音符和旋律发声。
二、单片机控制电路设计1.芯片选择要设计一个数字式音乐盒,需要先选择一款合适的单片机,常用的有AT89C51、STC89C52等。
这里选择一款性能好且价格适中的STC89C52单片机。
2.存储器选型数字式音乐盒的数字信号需要存储在内存中,为了方便起见,使用一个4Mbit的Flash记忆芯片作为存储器。
3.音频输出电路数字信号需要通过解码器进行还原后才能通过音频输出电路输出。
可以使用一对耳机或者喇叭,同时需要用到音量电位器控制音量。
三、软件程序设计1.数字信号编解码算法的设计,可以使用目前较为流行的MIDI编码格式。
2.音乐信号输入模块设计,可以使用USB接口或SD卡接口。
3.数据接收模块设计,可以使用串行通信或者并行通信。
4.数字信号存储模块设计,使用Flash记忆芯片。
5.控制模块设计,实现单片机控制音乐盒的所有操作。
四、实现效果基于单片机的数字式音乐盒实现较为简单,但是需要注意以下几点:1.考虑使用定时器计算控制音乐的播放时间,保证旋律按照要求执行。
2.使用ADC(模拟-数字转换器)读取音量电位器值,对音量进行控制。
3.在使用USB接口时,需要有电路板,使得USB通信接口稳定,可靠。
基于单片机的数字式音乐盒是一种方便实用的音乐盒,通过数字技术的运用,实现了音乐的存储和播放,可广泛应用于各个领域中。
《数字音乐盒》课程设计
《数字音乐盒》课程设计报告专业:通信工程班级:0801姓名:张雨阳指导教师:李晶二零一一年六月二十二日目录1、设计任务和要求 (2)2、总体设计 (2)3、硬件设计 (3)3.1硬件电路 (3)3.2原理说明 (3)4、软件设计 (3)5、仿真、安装和调试 (4)6、收获与体会 (5)参考文献 (6)附件1:元件清单 (7)附件2: 总电路图 (7)附件3:音乐程序 (8)1、设计任务和要求(1)利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演乐曲(内存两首乐曲)。
(2)采用七段数码管显示当前播放的歌曲序号。
(3)可通过功能键选择乐曲,暂停,播放,上一曲,下一曲。
2、总体设计(1)要产生音频脉冲,只要算出某一音频的周期(1/音频),然后将此周期除以2,即为半周期的时间,利用定时器计时这个半周期时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期时间再对I/O口反相,就可在I/O脚上得到此频率的脉冲(2)利用8051的内部定时器使其工作在计数器模式MODE1下,改变记数值TH0及TL0以产生不同频率的方法。
例如频率为523HZ,其周期T=1/523=1912微秒,因此只要令计数器定时956/1=956在每记数9次时将I/O口反相,就可得到中音D0(523HZ)。
记数脉冲值与频率的关系公式如下:N=Fi/2/Fr N:记数值Fi:内部计时一次为1微秒.故其频率为1MHZFr;要产生的频率(3):起记数值的求法如下:T=65536-N=65536-Fi/2/Fr例如:设K=65536,F=1000000=Fi=1MHZ,求低音D0(523HZ),高音的D0(1046HZ)的记数值。
T=65536-N=65536-Fi/2/Fr=65536-1000000/2/Fr=65536-500000/Fr低音D0的T=65536-500000/262=63627中音D0的T=65536-500000/523=64580低音D0的T6=5536-500000/1047=650593、硬件设计3.1 硬件电路本设计中用到89C51单片机,喇叭,七段显示数码管LED。
数字音乐盒设计方案
数字音乐盒设计方案1.1 智能音乐盒背景及意义音乐盒的起源,可追溯至中世纪欧洲文艺复兴时期。
当时为使教会的的钟塔报时,而将大小的钟表上机械装置,被称为“可发出声音的组钟”。
1598年,意大利籍耶稣会士利玛窦第一次来到,随行礼物中就有八音琴一台。
这是有史书记载的最早进入中国的八音琴。
经过各种的发明创造,1780年前后,拉匀芳的瑞士人从人偶自动钟的原理获得启示,发明了一种令人赞叹的机制——机械鸟鸣钟。
1796年,日瓦钟匠的发明,给机械音乐盒带来了革命性的改变,使音乐盒的体积缩小达到极限,而在接下来的世纪得以成功的发展。
1870年,德国的发明家首创了盘式音乐盒。
17世纪初,音乐盒的工业成为瑞士超过制表和缝制蕾丝业的第一大产业,这使得位于瑞士侏罗山边的小镇闻名于世。
1.2 国外单片机应用音乐盒概况1992年,中国第一台具有自主知识产权的八音琴在中国韵升的诞生,标志着中国,全方位地参与全球音乐盒这块巨大蛋糕的市场竞争,经过十多年的努力,韵升对八音琴的制造技术进行了更多的技术更新,取得了多个国家和地区50余项发明专利。
这使得音乐盒无论在音质,音量,谱曲,和外观设计等方面都有了更大的改进。
目前,韵升八音琴已占据全球八音琴市场份额的1/4,仅次于日本Sankyo,位居全球第二位。
音乐盒300多年的产品发展,同时也是人类文明300多年发展的历史鉴证。
每个不同时期的音乐盒造型,都能折射出当时不同的社会心态和文明发展现状,它也成了时代的一面镜子。
现今,音乐盒的制造,延袭传统,结合现代,正日益成为人们或为了典藏一段岁月,或为了收藏一份情感,或出于对音乐的追求,或对于旧时代的怀念,或为了居室的美化,等等,而得到众多品位人士的追求。
韵升八音琴店在新天地里设立了自己在的第一家店面,这也是惟一一家国品牌的八音琴专卖店。
在66平方米的店面中设了将近120多种八音琴,只要走进去就能感受到八音琴那清澈、透亮的音质所带来的美妙享受。
在这里,八音琴的价格并不是很贵,很适合作为礼品送给自己的朋友,其中,30音的八音琴价格在500元左右,50音的八音琴价格几乎上千。
数字音乐盒的设计与实现
86
Fa
1397
43
43
Fa#
370
1351
162
Fa#
740
676
81
Fa#
1480
41
41
So
392
1276
153
So
784
638
77
So
1568
38
38
So#
415
1205
145
So#
831
602
72
So#
1661
36
36
La
440
1136
136
La
880
568
68
La
1760
34
34
La#
附录(关键部分程序清单)
#in elude <reg51.h>
#defi ne ucharu nsig nedchar
#defi neuint un sig nedi nt
#define LEDLen 6
xdataunsignedcharOUTBIT _at_0x8002;//位控制口
xdataunsignedcharOUTSEG _at_0x8004;//段控制口
社,20154பைடு நூலகம்
[2]张仁彦,高正中,黄鹤松.单片机原理及应用.北京:机械工业出版社,
2016.3.
[3]付先成,,高恒强,蔡红娟.单片机原理与C语言程序设计.武汉:华中科技大
学出版社,2015.8.
[4]张校珩.单片机C语言编程100例■北京:中国电力出版社,2014.1.
⑸唐颖■单片机综合设计实例与实验■北京:电子工业出版社,2015.1.
音乐盒实验报告
引言随着人类社会的发展,人们对视觉、听觉方面的享受提出了越来越高的要求。
音乐始终是深受广大消费者喜爱的文化生活元素。
小小的音乐盒可以给人们带来美好的回忆,提高人们的精神文化享受。
设计要求以单片机为核心,设计一个数字音乐盒:利用I/0口产生一定频率的方波驱动蜂鸣器,发出不同音调,从而演奏乐曲采用LCD显示信息,开机时有英文欢迎提示字符,播放时显示歌曲序号。
可通过功能键选择乐曲、暂停、播放。
晶振频率为11.0592MHz原理说明用一块AT89C51作为控制中心,编好程序烧录进单片机里,使I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演奏乐曲。
输出信号通过三极管放大,由一个蜂鸣器来表现信号的输出。
发声程序接通电源时,启动计数器T0、T1,工作于模式1,T0在主程序中用查询中断,每次R0、R1给定的定时时间到就给P1.3口取反,再查询是否有按暂停键,没有就通过下面的AJMP L0循环到L0中再次装初值,定时并循环产生一定频率的脉冲,通过P1.3口输出,经过PNP三极管的基极放大输出到蜂鸣器。
T1定时0.006s,并且是利用中断功能,每过0.OO6秒就跳入中断程序YINFU,重装初值后,经过给P2送显示的程序后,用R2判断是否经过150次定时达到0.6S,达到0.6就先查询R5的值看是在播放那一首歌曲,再跳入相应的查询字库程序,查询A的值是否已经为一首歌的最后一个音符,是则从新给A赋值#OOH,并改变R5的值换下一首歌曲,在换R5的值之前还要查询R5的值是否为最后一首歌的值,最终通过寄存器A的自动累加,不断替换R0、R1的值,改变主程序中T0的初值换下一个频率的音,从而达到发出音乐的目的。
下图为音乐盒的扬声器部分电路:数码管显示由于能力与时间的有限未能实现LCD显示而采用的数码管代替,歌曲的序号显示是通过单片机的P2口的输出的信号控制的,P2口的信号输出程序在T1的定时中断中断程序中,由于T1的定时中断每过0.006秒就执行一次,所以看不出有闪动。
数字音乐盒的课程设计报告
数字音乐盒的设计摘要传统音乐盒,多是机械型的,体积笨重,发音单调,水、灰尘等外在因素,容易使部金属发音条变形,从而造成发音跑调。
另外,机械音乐盒放音时为了让音色稳定,必须放平不能动摇,而且价格昂贵,不能实现大批量生产。
本设计是一个基于AT89C51系列单片机的音乐盒。
该音乐盒主要由按键电路、复位电路、时钟电路、显示电路以及蜂鸣器组成。
使用四个按键控制音乐盒,其中两个按键用来控制歌曲的播放、暂停,另两个用来控制液晶上歌曲次序的变化,本音乐盒共有三首歌曲。
播放歌曲时,相应歌曲对应相应数码管上歌曲次序及歌名的显示。
关键词:AT89C51,蜂鸣器,LCD液晶显示,音乐盒目录1 绪论11.1课题描述11.2根本工作原理及框图12 相关芯片及硬件电路设计22.1AT89C51芯片22.1.1 AT89C51的功能特性22.1.2 AT89C51的主要性能参数3 2.2时钟电路32.3复位电路42.4按键电路42.5蜂鸣器电路52.6显示电路52.6.1 线段的显示52.6.2 字符的显示62.7总体电路73 系统软件设计73.1程序主要流程73.2程序设计84 系统软件仿真23总结26致27参考文献281 绪论1.1 课题描述随着人类社会的开展,人们对视觉、听觉方面的享受提出了越来越高的要求。
小小的音乐盒可以给人们带来美好的回忆,提高人们的精神文化享受。
传统的音乐盒大多数是机械型的,体积笨重,发音单调,不能实现批量生产。
本文设计的音乐盒是以单片机为核心元件的电子式音乐盒,体积小,重量轻,能演奏和旋音乐,功能多,使用方便,可以批量生产,具有一定的商业价值。
本设计是基于单片机的数字音乐盒设计,由单片机AT89C51芯片和LED数码管为核心,辅以必要的电路,构成的一个单片机电子数字音乐盒[1]。
1.2 根本工作原理及框图本次设计是一个基于AT89C51单片机的音乐盒,该音乐盒主要由时钟电路、复位电路、按键电路、蜂鸣器以及显示电路组成。
单片机数字音乐盒设计
课程设计任务书第I页数字音乐盒的设计摘要本设计是基于单片机控制的数字音乐盒的设计外部加上放音设备,以此来实现音乐演奏控制器的硬件电路,通过软件程序来控制单片机内部的定时器使其演奏出优美动听的音乐。
用户可以按照自己的喜好选择音乐并将其转化成机器码存入单片机的存储器中。
对于不同型号的单片机只需要相应的改变一下地址即可。
该软、硬件系统具有很好的通用性,很高的实际使用价值,为广大的单片机和音乐爱好者提供了很好的借鉴。
由芯片和LED数码管为核心,辅以必要的电路,构成的一个单片机数字音乐盒。
其功能的实现主要通过软件编程来完成,那么就降低了硬件电路的复杂性,而且其成本也有所降低,在该设计中采用单片机利用AT89C51,它是低功耗、高性能的CMOS型8位单片机。
片内带有4KB的Flash存储器,且允许在系统内改写或用编程器编程。
另外, AT89C51的指令系统和引脚与8051完全兼容,片内有128B 的RAM、32条I/O口线、2个16位定时计数器、5个中断源、一个全双工串行口等。
在该设计中利用单片机I/O口产生一定频率的方波,驱动,发出各种不同的音调,从而演奏乐曲(最少三首乐曲,每首不少于30秒),并能够由LED显示信息。
键盘在单片机应用系统中能实现向单片机输入数据,传送命令等功能,是人工干预单片机的主要手段。
本设计采用4*4键盘,16*2 LED,七段显示数码管LED。
关键词:单片机AT89C51,RAM,蜂鸣器数码管,LED目录1绪论 (1)1.1概述 (1)1.2 基本工作原理及框图 (1)1.2.1 AT89C51单片机简介 (2)1.2.2 键盘 (5)1.2.3 LED显示器 (5)1.2.4 时钟电路模块 (6)1.2.5 系统复位电路的设计 (7)1.2.6硬件电路端口分配 (7)2软件设计 (7)2.1 主模块的设计 (7)2.2 基本显示模块设计 (8)2.3 外部中断源系统设计 (9)2.4系统初始化程序 (9)3 Proteus软件仿真 (11)3.1总电路图与调试 (11)3.2按键功能说明 (12)总结 (13)致谢 (14)参考文献 (15)1绪论本文通过对基于单片机音乐演奏控制设计的研究和设计,分析了设计的实现的意义和可行性。
单片机课程设计报告数字音乐盒精品
沈阳航空航天大学课程设计报告课程设计名称:单片机系统综合课程设计课程设计题目:数字音乐盒的设计与实现院(系):计算机学院专业:班级:学号:姓名:指导教师:说明:结论(优秀、良好、中等、及格、不及格)作为相关教环节考核必要依据;格式不符合要求;数据不实,不予通过。
报告和电子数据必须作为实验现象重复的关键依据。
学术诚信声明本人声明:所呈交的报告(含电子版及数据文件)是我个人在导师指导下独立进行设计工作及取得的研究结果。
尽我所知,除了文中特别加以标注或致谢中所罗列的内容以外,报告中不包含其他人己经发表或撰写过的研究结果,也不包含其它教育机构使用过的材料。
与我一同工作的同学对本研究所做的任何贡献均己在报告中做了明确的说明并表示了谢意。
报告资料及实验数据若有不实之处,本人愿意接受本教学环节“不及格”和“重修或重做”的评分结论并承担相关一切后果。
本人签名: 日期:年月日沈阳航空航天大学课程设计任务书目录1 概述 (1)1.1数字音乐盒简介 (1)1.2发声原理介绍 (1)2 音乐盒总体设计 (4)2.1设计要求 (4)2.2方案论证与设计 (4)2.2.1总体方案设计 (4)2.2.2 LED驱动模块设计 (5)2.2.3 系统总体结构框图 (5)3 系统硬件设计 (6)3.1管脚说明 (6)3.2振荡器特性 (7)3.3LED显示器的结构 (8)3.4LED显示器工作原理 (8)3.5 键盘 (9)3.6 时钟电路模块 (9)3.7音频输出部分 (11)3.8整体电路设计 (12)4 子函数描述 (13)4.1定时器中断设计: (13)4.2数码管显示模块设计: (13)4.3键盘控制模块设计: (14)4.4蜂鸣器演奏子函数模块设计: (16)4.5整体流程图设计: (18)5 调试与结果分析 (19)5.1调试步骤及方法 (19)5.2实验结果 (19)参考文献 (20)附录(关键部分程序清单) (21)1 概述1.1 数字音乐盒简介音乐盒的起源,可追溯至中世纪欧洲文艺复兴时期。
《数字音乐盒》设计报告
持续创新,系列服务:经过很艰辛的努力,我们已经取得了一定的成果,并将在接下来的一段时间推出由本公司自主研发的音乐盒。同时,我们还会为用户提供相关的技术服务,方案制作和系统开发的服务。
图1-2音乐盒硬件电路原理图
3:音符频率和节拍的产生方法
3.1音符频率我们知道,之所以 Nhomakorabea不同的音调正是因为不同的音符对应不同的频率。表1-3给出了我们从低音1到高音7所对应的频率。即在编程时我们要根据音调的变化调整频率的变化。
3.2利用定时器/计数器0产生音符频率
利用单片机的内部定时器/计数器0,使其工作在模式1,定时中断,然后控制P3.7引脚的输出每次取反,就可以在P3.7的引脚输出相应的方波频率。改变计数初值就可以改变频率。即要产生音频输出方波,首先要算出某一个音频的周期(1/f),然后将此周期除以2,得到半个周期的时间。定时器的定时时间等于半个周期,定时时间到就将输出脉冲取反,重复上述过程,就可以在P3.7脚上得某一音频的脉冲。
例如:中音1(DO)的频率=523Hz,周期T=1/523s=1912毫秒;
定时器/计数器0的定时时间为:T/2=956毫秒;
定时956毫秒的计数值=定时时间/机器周期=956毫秒/1毫秒=956(时钟频率=12MHz)
装入TH0、TL0的计数初值THTL=65536-956=64580.
将64580装入TH0、TL0寄存器中,启动T1工作后,每计数956次时将产生溢出中断,进入中断服务程序是,每次对P3.0引脚的输出值进行取反,就可得到中音DO(523Hz)的音符频率。
