




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、设计性实验 音乐演奏1. 实验内容用pc机扬声器演奏音乐。2. 实验目的了解PC机扬声器系统的电路结构,学习扬声器发声的编程方法。3. 实验要求用菜单选择乐曲,让扬声器按节拍演奏连续的音乐。4. 设计实验的思路(1) PC机发声系统 从图1-1中看出,PC机发声系统以8254的2号计数器为核心。系统初始化时,2号计数器工作在“方波发生器”方式,初值为二进制数, 写入顺序为先低后高,CLK2为1.193182MHz,当计数初值为533H时,OUT2输出方波大约为900Hz,经过简单的滤波之后,送至扬声器。改变2号计数器的计数初值就可以使扬声器发出不同频率的音响。图1-1 PC机发声原理图(2)
2、发声控制发声系统受8255A芯片(口地址为60H63H)的两根输出线PB0和PB1的控制,PB0输出高电平使2号计数器正常工作,PB1输出高电平打开输出控制门,因此执行下面的OPEN子程序可以打开扬声器。OPEN PROCIN AL,61HOR AL,0000011BOUT61H,ALRETOPRN ENDP执行CLOSE子程序则关闭扬声器不影响PB7PB2。CLOSE PROCIN AL,61HANDAL,11111100BOUT 61H,ALRETCLOSE ENDP(3) 演奏单音符一首乐曲有若干音符组成,一个音符对应一个频率。将与一个频率对应的计数器初值写入2号计数器,扬声器就发出相应
3、的音调,计数初值的计算公式如下:计数初值=1193182/输出频率其中,1193182转换成十六进制数为1234DEH,因此在打开扬声器的条件下,执行下列程序段即可发出与输出频率对应的音调。MOVDX,12HMOVAX,34DEHMOVCX,频率值DIV CXOUT42H,ALMOVAL,AHOUT42H,AL(4) 控制音符的演奏时间控制音符的演奏时间,是设计音乐程序的关键问题。最直观的方法是按照乐谱为每一个字符规定一个演奏时间,但是利用这种方法时调试程序特别困难。特别是在遇到一首不熟悉的歌曲时,初期很难确定每个音符的演唱时间,而调试程序的时候费时费力,效果很差。下面推荐一种较好的方法,即为
4、每个音符规定一个“单位时间”。单位时间*N=音符演奏时间其中,N为调试参数,一首歌曲只有一个调试参数。设计程序使用EQU伪指令定义调试参数,初值先行估算,调试时再修改它。如何确定每个音符演奏的单位时间呢?我们知道,音符节奏分为一拍、半拍、1/4拍、1/8拍,我们规定一拍音符的时间为8;半拍为4;1/4拍为2;1/8拍为1。编程时,首先将一个音符的频率值转换成计数初值写入2号计数器,然后将音符的单位时间乘以调试参数N,再调用延时程序,就可以控制音符的演奏时间了,调试时只要调试N就可以了。(5) 编程思路I. 频率表和时间表设计程序时,数据段设置两张“表”,一张是频率表,将与音符对应的频率值依次写
5、入表中,另一张是时间表,依次存放每个字符的演奏时间单位。当然,频率表和时间表的表项要一一对应,不能错位,频率表的最后一个表项为0,作为重复演唱或者停止演唱的标志。再接通扬声器的情况下,依次取出频率表中的频率值,转换成计数初值写入2号计数器,一次取出时间表中的时间单位和调试参数相乘,然后再调用延时子程序即可得到延时时间,也就是音符的演奏时间。II. 休止符的处理歌曲中的休止符处应该不发声。理论上应当关闭扬声器,但实际上这用编程实现太复杂。我们利用人耳听觉感受的声音范围为 15Hz25Hz之间,低者为次声波,高这位超声波,低频实现较难,因此选择高频。如:休止符的频率为“-1”,那么经过汇编之后,就
6、是65535Hz,这么高的频率人而当然听不见了,此外,对于连续演唱的同音符适当的修改其频率值,以便产生微略的差别,从而具备节拍感。(6) 音符频率表音调音符1.2.3.4.5.6.7.A221248278294330371416B248278294330371416467C131147165175196221248D147165175196221248278E165175196221248278312F175196221234262294330G196221234262294330371音调音符1234567A441495556589661742833B495556624661742833935C262294330350393441495D294330350393441495556E330350393441495556624F350393441495556624661G393441495556624661742音调音符.1.2.3.4.5.6.7A88299011121178132214841665B990111211781322148416651869C525589661700786882990D5896617007868829901112E66170078688299011121248F7007868829351049
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司网约车安全管理制度
- 六年级上册综合实践活动山东科学技术版中秋佳节 课件 (内嵌视频)
- 公司茶水休息室管理制度
- 公司设备负责人管理制度
- 公司财务收付款管理制度
- 公司超休扣工资管理制度
- 分公司bim技术中心管理制度
- 分公司材料采购管理制度
- 分股制股份公司管理制度
- 办公司环境卫生5s管理制度
- 统计学原理试题与答案
- (妇产科学)第十八章 女性生殖系统炎症课件
- 立式加工中心的基本操作专题培训课件
- 一例慢阻肺病人护理个案
- 建平中学自招真题解析
- 阿克苏地区生态环境准入清单
- 产品创新设计与实践完整版课件全套ppt教学教程电子教案讲义最全(最新)
- 汉字起源和发展
- 试运行方案计划-
- 法兰规格尺寸表国标,美标
- 动物疫病流行病学调查表诊断送检用
评论
0/150
提交评论