PC版
搜索导航
论文网 > 艺术论文 > 音乐论文

基于S3C2410的简单音乐播放器的实现

  随着科学技术的发展和人们生活水平的提高,VCD、DVD、MP3等媒体的播放系统也日趋成熟。嵌入式系统以其可靠性高、实时性强、系统配置低等优势,广泛应用在工业控制、消费电子、信息家电等领域,媒体播放控制就需要这样的系统来完成。本文将使用ARM系统,模拟简单的音乐播放器。
  一、系统设计方案
  (一)设计要求
  本设计是在武汉创维特信息技术有限公司的ARM9教学实验箱上完成,模拟了简单的音乐播放器。利用Timer0产生PWM脉冲控制蜂鸣器,不同的频率对应不同的音调,从而播放出不同的歌曲,具体设计要求如下:
  (1) 实现播放音乐的开始和结束;
  (2) 有选曲的功能,能播放下一首歌曲;
  (3)使用数码管来同步显示歌曲的简谱。
  (二)系统流程
  由于此系统较为简单,故采用自上而下的设计方法,进行程序设计;对音乐的开始和结束、以及选曲,采用中断的方法,由中断处理程序处理。程序流程如图1所示:
  二、嵌入式开发环境说明
  硬件方面,我们使用S3C2410实验箱的串口与PC机串口连接,通过JTAG口的ARM仿真器把实验箱和PC机连接。
  软件方面,我们使用与实验箱配套的ADT软件开发。
  三、典型功能实现
  (一)定义数组
  包括音调的数组、某个乐曲简谱的数组和乐曲节拍的数组。音乐的音高与频率是对应的,不同的频率驱动蜂鸣器会使蜂鸣器产生不同音高,因此首先要确定音调和频率之间的关系,如频率为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]];
  }
  四、结束语
  本文设计实现了基于ARM9 平台的简单音乐播放器,该系统实现了歌曲简谱的显示、开始和结束等功能,基本实现了嵌入式播放器的功能需求,很好地模拟了音乐播放器的功能,而且操作简单、方便。

相关论文

播放器基于简单音乐
基于协同理论的项目财务管理系统建设
基于当前中药专业教学中存在的问题及
浅析传统茶文化在音乐艺术中的传承与
基于民营企业文化建设的问题与对策思
音乐综艺类节目对音乐文化产业的推动
浅析生态文明视野下的中华优秀传统文
基于案例的行政单位内部控制建设研究
关于音乐教育中的审美哲学探讨
浅析跨文化视域下中国音乐的国际传播
基于现金流量税重构国际税收规则的理