数字音乐盒地设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计报告
课程设计名称:微机系统综合课程设计课程设计题目:数字音乐盒的设计与实现
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/Fr
N:计算值;Fi:部计时一次为1us,故其频率为1MHz;
其计数值的求法如下:
初值T=65536−N
C调各音符频率与计数值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 30
1.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所示。