常州信息职业技术学院电子与电气工程学院 毕业设计论文
第4章 系统软件设计
本软件设计关键是要实现一种由单片机控制的简单音乐发生器,它由16个音节组成的的键盘,用户可以根据乐谱在键盘上进行演奏,音乐发生器会根据用户的弹奏,通过扬声器将音乐播放出来。 4.1音乐相关知识
乐音听起来有的高,有的低,这就叫音高,音高是由发音物体振动频率的高低决定的,频率高声音就高,频率低,声音就低,不同音调的乐音是用C、D、E、F、G、A、B表示的,这7个字母就是乐音的音名,它们一般依次唱成DO、RE、MI、FA、SO、LA、SI,这是唱曲时乐音的发音,所以叫唱名。
音持续时间的长短即时值,一般用拍数表示,休止符表示暂停发音。
一首音乐是由许多不同的音符组成的,而每个音符对应着不同的频率,这样就可以利用不同频率的组合,加以与拍数对应的延时,构成音乐。 4.2如何用单片机实现音乐的节拍
除了音符以外,节拍也是音乐的关键组成部分。
节拍实际上就是音持续时间的长短,在单片机系统中可以用延时来实现,如果1/4拍的延时是0.4秒,则1拍的延时是1.6秒,只要知道1/4拍的延时时间,其余的节拍延时时间就是它的陪数。如果单片机要自己播放音乐,那么必须在程序设计中考虑到节拍的设置,由于本例实现的音乐发生器是由用户通过键盘输入弹奏乐曲的,所以节拍由用户掌握,不由程序控制。对于不同的曲调我们也可以用单片机的另外一个定时/计数器来完成。音乐的音拍,一个节拍为单位(C调)具体如下表:
表4-1 音乐节拍表 曲调值 调4/4 调3/4 调2/4
DELAY 125ms 187ms 250ms 曲调值 调4/4 调3/4 调2/4 DELAY 62ms 94ms 125ms 4.3如何用单片机产生音频脉冲
了解音乐的一些基本知识后可知,产生不同频率的音频脉冲即能产生音乐,对于单片机而言,产生不同频率有脉冲非常方便,可以利用它的定时/计数器来产生这样的方波频率信号,因此,需要弄清楚音乐中的音符和对应的频率,以及单片机定时计数的关系。
在本实验中,单片机工作于12MHZ时钟频率,使用其定时/计数器T0,工作模式为1,改变计数值TH0和TL0可以产生不同频率的脉冲信号,在此情况下,C调的各音符频率与计数值T的对照如下表:
11
常州信息职业技术学院电子与电气工程学院 毕业设计论文
表4-2 音符频率与计数值T的对照表
音符 低1DO #1DO# 低2RE #2RE# 低3MI 低4FA #4FA# 低SO #5SO# 低6LA #6LA# 低7SI 中1DO 频率(HZ) 计数值(T值) 262 277 294 311 330 349 370 392 415 440 466 494 523 63628 63737 63835 63928 64021 64103 64185 64260 64331 64400 64463 64524 64580 音符 #4FA# 中5SO #5SO# 中6LA #6LA# 中7SI 低1DO #1DO# 高2RE #2RE# 高3MI 高4FA #4FA# 频率(HZ) 计数值(T值) 740 784 831 880 932 968 1046 1109 1175 1245 1318 1397 1490 64860 64898 94934 64968 64994 65030 65058 65085 65110 65134 65157 65178 65198 #1DO# 中2RE #2RE# 中3MI 中4FA 554 587 622 659 698 64633 64633 64884 64732 64820 高5SO #5SO# 高6LA #6LA# 高7SI 1568 1661 1760 1865 1967 65217 65235 65252 65268 65283 T的值决定了TH0和TL0的值,其关系为:TH0=T/256,TL0=T%6 4.4系统总体功能流程图
12
常州信息职业技术学院电子与电气工程学院 毕业设计论文
开始 定时器初始化数码管显示0 主程序 N 循环检测按键 Y 数码管显示 扬声器出声
图4-1 主程序框图
13
常州信息职业技术学院电子与电气工程学院 毕业设计论文
按键子程序流程图如下:
数码管显示3.,并播K1键按下 放mi的低音 数码管显示4.,并播K2键按下 放fa的低音 数码管显示5.,并播K3键按下 放so的低音 数码管显示6.,并播K4键按下 放la的低音 数码管显示7.,并播K5键按下 放si的低音 数码管显示1,并播K6键按下 放do的中音 数码管显示2,并播K7键按下 放re的中音 数码管显示3,并播K8键按下 放mi的高阶中音
14
相关推荐: