- 1、本文档共30页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《微机原理与接口技术》课程设计
题 目: 数字音乐盒
院 别: 机电学院
专 业: 机械电子工程
姓 名: 冯志明
学 号: 2008094243039
组 员:刘如杰、程章齐、张炎龙
指导教师: 杨 永
日 期: 2010.12.13~2010.12.24
设计题目:数字音乐盒
摘要
本设计设计数字音乐盒播放系统,包括扬声器的选择、电路的设计与调试、软件的设计与调试、实品的焊接与调试,实现数字音乐盒按预定的歌曲进行播放,同时在LED上显示正在播放的曲号,还可以进行自由选歌,系统地阐述了整个数字音乐盒的设计过程。在系统控制中采用外0中断法对键盘进行扫描,克服了采用定时扫描键盘的一些缺点,通过外0中断扫描键盘,实现音乐盒CPU资源大大地节省,系统用扬声器替代传统的蜂鸣器,用2N2905三极管来实现驱动,使音曲变得优雅动听。
关键词:数字音乐盒;扩音技术;中断法扫描键盘;中断返回延迟;自由选歌
目录
1 系统设计分析 4
1.1 设计要求 4
1.2 总体设计 4
2 硬件电路设计及实现 4
3 音符频率和音拍的产生方法 4
3.1 音符频率 5
3.2 利用定时器/计数器0产生音符频率 5
3.3编码及计数初值 5
3.4 节拍的产生 5
4、音乐程序设计 5
4.1 建立曲谱编码表
参考文献 5
课程设计总结 6
公司及产品简介 6
附录 程序清单 6
1 系统设计分析
1.1 设计要求
以单片机为核心器件组成一个音乐盒。
利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演奏乐曲。采用LED显示歌曲序号
音乐盒的硬件电路由6部分组成:单片机、时钟与复位电路、选择按键输入电路、音频发生器、音频放大器和扬声器。音乐盒的硬件电路设计框图如图1-1:
图1-1 音乐盒硬件电路设计框图
利用单片机内部定时器/计数器0与P3.7引脚配合,构成音频发生器,2N2905与R2组成音频放大器,驱动扬声器输出。选择按键通过 P1引脚接入,工作在中断方式。器件的参数选择可以参考硬件电路原理图中给出的值。音乐盒硬件电路原理图如图1-2
图1-2 音乐盒硬件电路原理图
(
3:音符频率和节拍的产生方法
3.1音符频率
我们知道,之所以有不同的音调正是因为不同的音符对应不同的频率。表1-3给出了我们从低音1到高音7所对应的频率。即在编程时我们要根据音调的变化调整频率的变化。
3.2利用定时器/计数器0产生音符频率
利用单片机的内部定时器/计数器0,使其工作在模式1,定时中断,然后控制P3.7引脚的输出每次取反,就可以在P3.7的引脚输出相应的方波频率。改变计数初值就可以改变频率。即要产生音频输出方波,首先要算出某一个音频的周期(1/f),然后将此周期除以2,得到半个周期的时间。定时器的定时时间等于半个周期,定时时间到就将输出脉冲取反,重复上述过程,就可以在P3.7脚上得某一音频的脉冲。
例如:中音1(DO)的频率=523Hz,周期T=1/523s=1912毫秒;
定时器/计数器0的定时时间为:T/2=956毫秒;
定时956毫秒的计数值=定时时间/机器周期=956毫秒/1毫秒=956(时钟频率=12MHz)O的THTL=65536-500000/1047=65059.
为了编码记谱的方便,我们对它们进行了简单的音符编码,也记在在了表1-3中,在编程时,歌曲的音符用音符编码记谱,然后根据音符编码查找对应的计数初值。
3.4节拍的产生
音乐中的节拍用延时时间产生。
例如:1拍=0.4s,1/4拍=0.1s,以此类推;假设1/4拍执行一次延时程序,则1/2拍就执行两次延时程序,所以只要求出1/4延时时间,其余的就是它的整数倍。如表1-4所示。为了记谱方便,将节拍数也进行了编码。
表1-4 节拍与节拍编码对照表
由于不同的音乐每小节的拍数不同,可以适当调节一个延时时间的长度。如表1-5所示。
乐谱节拍 1/4拍的延时时间/ms 乐谱节拍 1/8拍的延时时间/ms 4/4 125 4/4 62 3/4 187 3/4 94 2/4 250 2/4 125 表1-5 乐谱节拍与1/4拍的延时时间对照表
4:音乐程序设计
建立了音符编码和节拍编码后,在编程时,每个音符占用一个字节,高4位是音符编码,低4位是节拍编码。根据上述原则建立乐谱编码表,以及按照音符顺序对应的THTL值表TABLE在程序运行的
文档评论(0)