基于单片机的可控数字音乐盒设计_毕业设计(编辑修改稿)内容摘要:

的方法。 此外结束符和休止符 [7]可以分别用代码 00H 和 FFH 来表示,若查表结果为 00H,则表示曲子终了;若查表结果为 FFH,则产生相应的停顿效果。 在简谱中,数字上面带一个点就是高 8 度,两个点代表高 16 度。 数字下面带一个 基于单片机的可控数字音乐盒设计 第 12 页 共 34 页 点就是低 8 度,两个点代表低 16 度。 若要构成音乐,光有音调是不够的,还需要节拍,让音乐具有旋律(固定的律动),而且可以调节各个音的快满度。 “节拍” ,即 Beat,简单说就是打拍子,就像我们听音乐不自主的随之拍手或跺脚。 若 1 拍实 ,则 1/4 拍为。 至于 1 拍多少 秒 ,并没有严格规定,就像人的心跳一样,大部分人的心跳是每分钟 72 下,有些人快一点,有些人慢一点,只要听的悦耳就好。 音持续时间的长短即时值,一般用拍数表示。 休止符表示暂停发音。 一首音乐是由许多不同的音符组成的,而每个音符对应着不同频率,这样就可以利用不同的频率的组合,加以与拍数对应的延时,构成音乐。 了解音乐的一些基础知识,我们可知产生不同频率的音频脉冲即能产生音乐。 对于单片机来说,产生不同频 率的脉冲是非常方便的,利用单片机的定时 、 计数器来产生这样的方波频率信号。 因此,需要弄清楚音乐中的音符和对应的频率, 以及单片机定时计数的关系。 而节拍的定义如表所示: 表 51 节拍的定义 音符名称 写法 时值 全音符 5— — — 四拍 二分音符 5— 二拍 四分音符 5 一拍 八分音符 5 半拍 十六分音符 5 四分之一拍 三十二分音符 5 八分之一拍 每个音符使用 1 个字节,字节的高 4 位代表音符的高低,低 4 位代表音符的节拍,图 为节拍码的对照。 如果 1 拍为 秒, 1/4 拍实 秒, 只要设定延迟时间就可求得节拍的时间。 假设 1/4 拍为 1DELAY,则 1 拍应为 4DELAY,以此类推。 所以只要求得 1/4 拍的 DELAY 时间,其余的节拍就是它的倍数,如图 为 1/4 和 1/8 节拍的时间设定。 基于单片机的可控数字音乐盒设计 第 13 页 共 34 页 表 52 1/4和 1/8节拍的时间设定 曲调值 DELAY 曲调值 DELAY 调 4/4 125毫秒 调 4/4 62毫秒 调 3/4 187毫秒 调 3/4 94毫秒 调 2/4 250毫秒 调 2/4 125毫秒 音调和节拍的编码 do re mi fa so la si 分别编码为 17,重音 do 编为 8,重音 re 编为 9,重音 mi 编为 A,重音 fa 编为 B,重音 so 编为 C,重音 la 编为 D,重音 si 编为 E,停顿编为 0。 播放长度以十六分音符为单位(在本程序中为 165ms),一拍即四分音符等于 4 个十六分音符,编为 4,其它的播放时间以此类推。 音调作为编码的高 4 位,而播放时间作为低 4 位,如此音调和节拍就构成了一个编码。 以 0xff 作为曲谱的结束标志。 举例 1:音调 do,发音长度为两拍,即二分音符,将其编码为 0x18。 举例 2:音调 re,发音长度为半拍,即八分音符,将其编码为 0x22。 歌曲播放的设计。 先将歌曲的简谱进 行编码,储存在一个数据类型为 unsigned char 的数组中。 程序从数组中取出一个数,然后分离出高 4 位得到音调,接着找出相应的值赋给定时器 0,使之定时操作蜂鸣器,得出相应的音调;接着分离出该数的低 4 位,得到延时时间,接着调用软件延时。 表 53 简谱对应的简谱码、 T 值、节拍数 简谱 发音 简谱码 节拍码 节拍数 1 中音 DO 1 1 1/4拍 2 中音 RE 2 2 2/4拍 3 中音 MI 3 3 3/4拍 4 中音 FA 4 4 1拍 5 中音 SO 5 5 1又 1/4拍 6 中音 LA 6 6 1又 1/2拍 7 中音 SI 7 8 2拍 1 高音 DO 8 A 2又 1/2拍 2 高音 RE 9 C 3拍 3 高音 MI A F 3又 3/4拍 4 高音 FA B 5 高音 SO C 6 高音 LA D 7 高音 SI E 基于单片机的可控数字音乐盒设计 第 14 页 共 34 页 6 C 源程序设计 音乐程序 音乐程序根据上面的音调节拍编码方案,用第一首歌《劳动最光荣》为例 [8],编码如下: uchar code ldzgr[]={ //劳动最光荣 0x52,0x82,0x82,0x52,0x62,0x62,0x54,0x32,0x52,0x12,0x32,0x28, //太阳光,金亮亮,雄鸡唱三唱; 0x52,0x84,0x52,0x62,0x62,0x54,0x52,0x81,0xA1,0x92,0x52,0x88, //花儿 醒来了,鸟儿忙梳妆 0x83,0x91,0x82,0x52,0x62,0x62,0x54,0x33,0x81,0x62,0x52,0x12,0x32,0x24, //小喜鹊 造新房,小蜜蜂 采蜜糖 0x12,0x11,0x21,0x32,0x51,0x51,0x62,0x52,0x84,0x82,0x51,0x61,0x84,0xA4,0x92, 0x52,0x86,0x02, //幸福的生活从哪里来。 要靠劳动来创造 0x52,0x81,0x81,0x82,0x52,0x62,0x61,0x81,0x54,0x32,0x51,0x61,0x53,0x31,0x12, 0x32,0x24, //青青的叶儿 红红的花,小蝴蝶 贪玩耍 0x52,0x82,0x82,0x52,0x62,0x62,0x54,0x51,0x61,0x81,0xA1,0x92,0x52,0x88, //不爱劳动 不学习,我们大家不学它 0x83,0x91,0x82,0x52,0x62,0x62,0x54,0x33,0x81,0x62,0x52,0x12,0x32,0x24, //要学喜鹊 造新房,要学蜜蜂 采蜜糖 0x12,0x11,0x21,0x32,0x52,0x82,0x52,0x68,0x52,0x61,0x61,0x84,0xA4,0x92,0x52, 0x84,0xff //劳动的快乐 说不尽,劳动的创造 最光荣 }。 基于单片机的可控数字音乐盒设计 第 15 页 共 34 页 LED 花样程序 LED 彩灯一共有三种花样: ( 1) 第一种花样:花灯先从左到右依次亮、熄,然后在从右 到左一次亮、熄。 如图: 图 61 LED花样一 程序如下: uchar code huayang1[]= {0x7f,0xbf,0xdf,0xef,0xfb,0xfd,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; //花样 一 ( 2) 第二种花样:花灯从左右两边同时开始亮、熄,并向中间靠拢,然后再一次从中间同时向两边亮、熄。 如图: 图 62 LED花样二 程序如下: uchar code huayang2[]= {0x7e,0xbd,0xdb,0xe7,0xdb,0xbd,0x7e,0xbd,0xdb,0xe7,0xdb,0xbd,0x7e}。 //花样二 ( 3) 第三种花样:奇数灯依次亮且不熄灭,奇数灯亮完后全部熄灭,接着偶数灯亮且不熄灭,偶数灯亮完后全部熄灭,然后相邻两个灯同时亮,并从左向右依次亮灯齐亮、熄,最后全部都亮、熄。 如图: 图 63 LED花样三 程序如下: 基于单片机的可控数字音乐盒设计 第 16 页 共 34 页 uchar code huayang3[]= {0x7f,0x5f,0x57,0x55,0xbf,0xaf,0xab,0xaa,0x3f,0xcf,0xf3,0xfc,0x00}。 //花样三 数码管程序 数码管用以显示序号,当播放第一首歌曲是显示‘ 1’,第二首为‘ 2’,第三首为‘ 3’,依此类推,当不播放歌曲只显示三种花灯花样时始终显示‘ 0’。 如图所示: 图 64 数码管仿真运行图 程序如下 [9]: uchar code num[6]={0x3f,0x06,0x5b,0x4f,0x66,0x6d}。 switch(count2) { case 0:P0=num[0]。 break。 case 1:P0=num[1]。 break。 case 2:P0=num[2]。 break。 case 3:P0=num[3]。 break。 case 4:P0=num[4]。 break。 case 5:P0=num[5]。 break。 } 基于单片机的可控数字音乐盒设计 第 17 页 共 34 页 7 数字音乐盒总设计图与总程序 仿真总设计图 仿真总图如图: 图 71 仿 真总设计图 基于单片机的可控数字音乐盒设计 第 18 页 共 34 页 实物总设计图 实物总图如图: 图 72 实物总设计图 基于单片机的可控数字音乐盒设计 第 19 页 共 34 页 8 结论 经过一个多月的学习和研究,终于完成了凝聚了大学四年所学知识的毕业论文设计,自己也感到十分高兴和欣慰。 通过本次设计,我更加清楚地了解单片机的功能与价值,而且在设计过程中所遇到的问题,最终都通过老师和同学的帮助再加上自己的努力一一解决,因此我从中不仅获得了很多知识,而且还获得了很多宝贵经验,这都是我终身难忘的。 在拿到设计题目之初,我还很担心,这个题目怎么完成呢,但随着设计的一步步成功 ,一下就让我信心倍增,特别是当问题得到解决的时候,那种心情是无法言语的。 虽然在设计过程中,我查阅了很多资料,遇到了一些很棘手的问题,而且在焊接实物器件的时候经过了多次改装、焊接、调试,但当单片机芯片在烧录我编辑的音乐程序后,放出优美的音乐时,那种美妙感永远都不会忘记。 本次论文设计,除了知识的增长外,我从中找到了成功后的自信。 这必将激励我在以后的生活和工作中更加努力奋斗,更加斗志昂扬。 基于单片机的可控数字音乐盒设计 第 20 页 共 34 页 参考文献 [1] 王玉凤 /刘湘黔 /杨欣 . 51 单片机应用从零开始 . 北京 : 清华大学出版社 , 2020 [2] 陈卫兵 .单片机技术与应用基础 .北京:人民邮电出版社, 2020 [3] 张毅刚 /彭喜元 .单片机原理及接口技术 .北京:人民邮电出版社, 2020 [4] 杜树春 .基于 Proteus 和 Keil C51 的单片机设计与仿真 .北京:电子工业出版社, 2020 [5] 郭天祥 .51 单片机 C 语言教程 .北京:电子工业出版社, 2020: 56 [6] 东方 .卓越 .简谱入门基础教程 .北京:同心出版社出版, 2020 [7] 李重光 .音乐理论基础 .北京:人民音乐出版社, 1962 [8] 辛笛 .简谱钢琴即兴伴奏儿歌 68 首 .上海:上 海音乐学院出版社, 2020 [9] 谭浩强 . C 程序设计 .第三版,北京:清华大学出版社, 2020: 105 [10] 祁麟 .唯一 :王力宏歌曲精选 . 安徽:安微文艺出版社, 2020 [11] 金巍 .歌会与节庆必唱金曲 :人民音乐出版社, 2020。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。