- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
音乐发生器的设计
1、 绪论
音乐发生器是由8255A可编程并行接口和可编程定时计数器8253芯片组成。用8253芯片产生一定频率的方波,通过控制输出方波时间的长短,声音的长短就得到控制。8255A具有多种功能的可编程并行接口电路芯片。
本次接口课程设计是音乐发生器的设计,用发生器能演奏一首完整的歌。主要是8253方式选择。以及如何使用MF2KP软件。首先我们利用定时器产生各种频率的声音,然后再对其进行修改,并编写以整首歌的代码,旋律及拍数可以按音乐简谱而定。需要编写对8253,8255进行初始化的程序及对8255芯片的PC0和PC6置0置1来选择歌曲,实现唱歌功能即实现歌曲的节拍通过调用延时子程序控制发音的长短。8253用来实现将频率信号送到扬声器而发声。
通过编程选择计数器和设置工作方式,用MF2KP集成开发环境进行音乐发生器控制程序设计,调试直到听到正常的乐曲。要完成本次课程设计必须先对微机接口原理与接口技术有一个全面的了解。设计的主要目的使我们学生更进一步掌握微机原理及应用课程的有关知识,提高应用微机解决问题的能力,加深对危机应用的理解。
2、设计原理
音乐乐曲的两个基本要素是音高和节拍。因此要产生一个歌曲的音乐就要对音高和节拍进行控制。音高指每个音符发声的高低,即音符的频率。节拍指每个音符发声的长短,也就是音符的持续时间(延时)。因此组成乐曲的每个音符的频率值和持续时间是编写歌曲音乐所需要的两个数据。
符号频率对照表1
音符 1 2 3 4 5 6 7 1(高音) 频率 262 294 330 349 390 440 494 523 音符延时对照表2
音符 全音符 二分音符 四分音符 八分音符 时间 1760ms 880ms 440ms 220ms 倍数 32 16 8 4 音符的持续时间根据乐曲的速度每个音符的节拍数确定。在4/4拍中,四分音符为1拍,每小节4拍,全音符持续4拍,二分音符持续2拍,四分音符持续1拍,八分音符持续半拍。如给全音符分配1秒的时间,则二分音符的持续时间为0.5秒,四分音符持续时间为0.25秒,八分音符持续时间为0.125秒。
根据歌曲的简谱及征服的歌曲为4/4拍的得到
《征服》歌曲的简谱为:
5(低音) 5(低音) 1 1 2 2 1 2 3 5 3 3 5(低音) 6(低音) 6(低音)
公式1:计数初值(n)=
根据公式1所得《征服》歌曲的频率为:
196,196,262,262,294,294,262,294,330,392,330,330,196,220,
220;
本次课设主要用到的芯片有8255A,8253。8255的4个端口地址为300H~303H。其中A口=300H,B口=301H,C口=302H,命令口=303H。8253的四个端口地址为304H~307H。其中通道0为304H,通道1为305H,通道2为306H,命令口为307H。所得原理图如图1
图1原理设计图
通过给8253定时器装入不同的计数值,可以使其输出不同频率的波形。当与门打开后,经过放大器放大的作用,便可驱动扬声器发出不同频率的音调,要使该音调的声音持续一段时间,只要插入一段子程序,之后再将扬声器切断。
8253的通道工作方式:8253中各通道可有6种可供选择的工作方式,以完成定时、计数或脉冲发生器等多种功能。方式3:方波发生器工作方式3被称作方波发生器。使用8255A的PB1控制通道2的输出对扬声器产生控制的时间。主要应用到DOS的21H号中断调用。DOS的21H号中断调用用于单字符输入以及多字符输出显示。音乐演奏实现的一个主要步骤是乐谱编程。通过相应的频率表将乐谱中对应的音符转化为计数器的计数初值,节奏通过延时程序转化为对发音时间的控制,从而实现音符和节拍的数字化。
功能说明:8253为可编程的硬件定时/计数器,具有3个独立的16位计数器通道,每个计数器均可按二进制或二_十进制数,每个计数器的计数速率高达2MHZ,每个通道有六种工作方式,可由程序设计和改变,所有的输入和输出都与TTL兼容。
在8253的初始化编程中,由CPU向8253的控制字寄存器写入一个控制字来规定8253的工作方式。D0=0时为表示二进制数,D0=1时为BCD码。
8255有3个8位并行I/O口。具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。其各口功能可由软件选择,使用灵活,通用性强。8255可作为单片机与多种外设连接时的中间接口电路。8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。同时必须具有与外设连接的接口A、B、C口。由于8255可编程,所以必须具有逻辑控制部分,
文档评论(0)