乐谱方式输入的音乐播放〖AT89S52单片机入门教程〗
6页1、第25课,乐谱方式输入的音乐播放,仙剑奇侠传 这一课开始,我们就要听到美妙的音乐了,这一课,我们可以听到演奏仙剑奇侠传的乐谱。 这一课的程序,增加了2个比较复杂的函数,一个乐谱解释函数,一个音乐播放函数。我们音乐仙剑奇侠传的乐谱以一个我们自己定义的乐谱形式写好,作为一个预定义的字符串。再通过乐谱解释函数解释为“音符频率的序号”和“音符播放的时间”两个数组,在音乐播放函数中,就将音符频率的序号数组对应的频率送入定时器预置数中,再延时对应音符播放的时间。这样音乐就播放出来了。 仙剑奇侠传的乐谱: |3_3_3_2_3-|2_3_2_2_,6,6_,7_|12_1_,7,6_,5_|,6 _6_5_5_22_3_|45_4_32_1_| 67_6_55_3_|56_5_32_3_|3 26_6_6-|16_6_66_7_|17_6_76_7_| 67_6_55_3_|57_6_76_7_|3 26_6_6-|16_6_66_7_| 乐谱书写规则: 1 2 3 4 5 6 7 为7个基本音阶 前面加逗号,表示这是低音 前面加上点号表示这是高音 后面加#,表示这个音符升半个音阶 后面加.,表示这
2、个音符要再加长自身一半的延时 后面加一个或多个-,每个表示延时一拍 后面加一个或多个_,表示这个音符要缩短自身一半的时长,最多支持2个_。 这些规则对一般的乐谱都可以应付得来了。 下面看程序: # /包括一个52标准内核的头文件 _7; /喇叭输出脚 1= ; 2= ; 3= ; 4= ; ; /在中断中装载的,及输出频率对照表 6*2= 0,1 /0 0,1# 0,2 0,2# 0,3 0,4 0,4# 0,5 0,5# 0,6 0,6# 0,7 0,0# /13 0,0# /15 0,0,0# /18 0,0# /20 0,0# /22 0,01 01# 02 02# 03 04 04# 05 05# 06 06# 07 /35 ; /定时中断0,用于产生唱歌频率 H0= /调入预定时值 /取反音乐输出 /* /音乐符号串解释函数 /入口:要解释的音乐符号串,输出的音调串,输出的时长串 i,i1,j; +/;/音长 =0,12,14,16,17,19,21,23; /i=0,;) ; /高低=0 ;/半音=0 ;/音长1拍 *(i)=|) | (*(i)= ) i+; /拍子间隔和
《乐谱方式输入的音乐播放〖AT89S52单片机入门教程〗》由会员工****分享,可在线阅读,更多相关《乐谱方式输入的音乐播放〖AT89S52单片机入门教程〗》请在金锄头文库上搜索。
工作转正自我鉴定模板汇总八篇一
有名服装品牌简介
劳动协议书合集6篇
耐人寻味的数学比喻
初三物理知识点复习.doc
平安生产管理知识
最新[人教版]小学数学一年级上册期末测试卷含答案
土耳其工作签证
近年化学高考题分类汇编专题十八化学实验方案的设计与评价.ash
九凤谷一日游
三年级学生学习计划
健康促进学校工作计划标准样本(2篇).doc
车辆租赁协议规电子版(二篇).doc
小学儿童的个性与社会性发展教学教材
部编版四年级语文下册第五单元《记金华的双龙洞 (第一课时)》教案.docx
煤炭运输合同协议书8篇
材料员工作总结和心得体会(4篇).doc
优化领导班子结构,促进民族地区和谐发展
乙烯基乙二醇醚、甲基丙烯腈及中间体项目资金申请报告模板定制
司机年度工作总结参考范本(2篇).doc
2022-08-23 3页
2022-08-23 2页
2021-04-14 9页
2021-02-03 37页
2021-02-03 37页
2021-02-03 39页
2021-02-03 14页
2021-02-03 39页
2020-09-25 1页
2020-09-25 2页