典型功能实现

  (一)定义数组

  包括音调的数组、某个乐曲简谱的数组和乐曲节拍的数组。音乐的音高与频率是对应的,不同的频率驱动蜂鸣器会使蜂鸣器产生不同音高,因此首先要确定音调和频率之间的关系,如频率为1300赫兹的音就是中音的“1”,频率为1462赫兹的音为“2”,频率为1625赫兹的音为“3”……等等。所以需要定义一个数组,存放各种音调的频率值,顺序为中音、低音、高音,这样,根据简谱调用频率值时,只要直接用简谱做下标,但要注意,中音的下标为1-7(下标0空闲不用),低音下标为8-14,高音为15-21。

  简谱和节拍都是包含多个值的变量,所以也要用数组存储其元素,并且,简谱可以做为音调的下标,而节拍,只要把最短音定为1,其他定为1的倍数,利用延时程序的倍数关系实现,具体实现如下:

  void main(void)

  {

  ……

  //音调数组,分别对应中、低、高音的1-7

  const int music_freq[]

  ={0,1300,1462,1625,1736,1950,2166,2437,650,731,812,868,975,

  1083,1218,2600 };

  //世上只有妈妈好的简谱

  const int music[]

  ={6,5,3,5,15,6,5,6,3,5,6,5,3,1,13,5,3,2,2,3,5,5,6,3,2,1,5};

  //世上只有妈妈好的节拍

  const int music_dly[]

  ={3,1,2,2,2,1,1,4,2,1,1,2,2,1,1,1,1,4,3,1,2,1,1,2,2,4,};

  }

  (二)数码管显示简谱

  通过数码管实时显示歌曲的简谱,这个操作放在播放歌曲函数中即可,实现如下:

  for(delay=0;delay
  {rTCON=0x0;*((unsigned char *)0x10000006) = 0;

  *((unsigned char *)0x10000004) = seg7[b[i]];

  }

为您推荐

美声于音乐剧的功能

  音乐剧作为一种舞台艺术的表演形式,早期被称作歌舞剧。它将歌唱、对白、舞蹈和表演融为一体,通过歌曲、音乐、台词结合,把故事情节以及其中所蕴含的情感表现出来。   虽然音乐剧和歌剧、舞剧、话剧等舞台表演形式..

情感功能――塑造氛围,传递情感

  彼得?拉森认为,音乐能“在作为一个整体的叙事中,或者在单个部分内部,塑造出‘情感’和‘气氛’……有时,音乐能够积极地塑造叙事的气氛,更准确地说,向观众指示出某一特定场景应该怎样理解和体验。[2]”在影片《天与地》..

形式功能――塑造电影形态,构建叙事结构

  彼得拉森在《电影音乐》艺术中认为电影音乐的形式功能重在电影音乐在构建电影形态和结构上的作用,音乐能使电影连贯起来,赋予电影以整体感,在《天与地》当中,主题音乐《heaven and earth》贯穿于整部电影,并在不同的阶..

叙事功能――强调叙事元素,调节叙事节奏,塑造人物形象

和声思维的功能效用

   (一) 构成了人化的空间结构    在音乐运动的时候,通常会有一个时间跨度以横面的形态展现出来,所以,音乐最根本的载体就是时间,时间的不可逆行性使得音乐也是向前变化发展的,具体的说,音乐具有流动性。和视觉艺术对比,..

音乐的功能概述

  作为重要的艺术表现形式,音乐在人们的社会生活及实践过程中发挥着十分重要的作用,人们的生活离不开音乐。同时,音乐本身即具备强大功能,不仅发挥着十分巨大的社会功能,还具有一定的教育与认识功能。   (一)音乐的社会..

典型功能实现

  (一)定义数组   包括音调的数组、某个乐曲简谱的数组和乐曲节拍的数组。音乐的音高与频率是对应的,不同的频率驱动蜂鸣器会使蜂鸣器产生不同音高,因此首先要确定音调和频率之间的关系,如频率为1300赫兹的音就是中音..