77范文网 - 专业文章范例文档资料分享平台

乐曲程序的设计与实现

来源:网络收集 时间:2019-02-15 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

学 号:

课 程 设 计

课程名称 题 目 学 院 专 业 班 级 姓 名 指导教师

汇编语言程序设计 乐曲程序的设计与实现 计算机科学与技术学院 计算机科学与技术

2012 年 1 月 3 日

1

目 录

目录

课程设计任务书 .......................................................... 1

1 实验内容、目的 .......................................................................................................................................1

1.1实验内容 ......................................... 1

1.2 实验目的 ........................................ 1

2 设计中使用的关键技术及方法 ??????????????????????2 2.1 位触发方式 ……………………………………………………………………………2

2.2 利用定时器产生声音…………………………………………………………………..3

2.3 扬声器驱动方式????????????????????????4 2.4 主要的发生器件????????????????????????5 2.5 乐曲构成???????????????????????????6 3 设计方案说明 ?????????????????????????????6 3.1 设计思路???????????????????????????6 3.2 程序流程图 ?????????????????????????7 3.3 关键代码设计实现及分析????????????????????8 4 调试过程及实验结果分析????????????????????????11 4.1 调试过程 ??????????????????????????11 4.2 实验结果 ??????????????????????????12 5 设计心得与改进方案 ?????????????????????????13 5.1 心得体会 ??????????????????????????13 5.2 改进方案 ??????????????????????????13 6 参考文献???????????????????????????????14 7 附录 源程序 ?????????????????????????????14 本科生课程设计成绩评定表 ???????????????????????18

课程设计任务书

学生姓名: 专业班级:

指导教师: 工作单位:计算机科学与技术学院

题目: 乐曲程序的设计与实现

初始条件:

理论:完成了《汇编语言程序设计》课程,对微机系统结构和80系列指令系统有了较深入的理

解,已掌握了汇编语言程序设计的基本方法和技巧。

实践:完成了《汇编语言程序设计》的4个实验,熟悉了汇编语言程序的设计环境并掌握了汇编

语言程序的调试方法。

要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)

进一步理解和掌握程序直接控制I/O方式,掌握计算机发声程序的设计。具体的设计任务及要求:

1.采用位触发方式编写程序,使计算机发出音响并演奏乐曲(例如《两只老虎》等)。 1) 进一步理解程序直接控制I/O方式和位触发方式控制声音的工作原理。 2) 一首乐曲是由不同频率和节拍的音调组成,因此控制脉冲的频率和持续时间是编写乐曲程序的

关键。根据已知的音符频率对照表,设置乐曲的频率表和节拍时间表; 3) 编写程序并调试通过。

2.了解定时器的工作原理,掌握利用定时器产生声音的方法,使计算机演奏乐曲(例如《两只老虎》等)。编写程序并调试通过。

在完成设计任务后,按要求撰写课程设计说明书;对课程设计说明书的具体要求请见课程设计指导书。

阅读资料: 1)《IBM—PC汇编语言程序设计实验教程》3.1节 2)《IBM—PC汇编语言程序设计(第2版)》10.4节,10.5节

时间安排:

设计安排一周:周1、周2:完成系统分析及设计。

周3、周4:完成程序调试,和验收。 周5:撰写课程设计报告。

指导教师签名: 年 月 日 系主任(或责任教师)签名: 年 月 日

1

武汉理工大学《汇编语言程序设计》课程设计

乐曲程序的设计与实现

1.实验内容、目的

1.1 实验内容

1.进一步理解和掌握程序直接控制I/O方式,掌握计算机发声程序的设计。具体

的设计任务及要求:

1) 进一步理解程序直接控制I/O方式和位触发方式控制声音的工作原理。 2) 一首乐曲是由不同频率和节拍的音调组成,因此控制脉冲的频率和持续时间是编写乐曲程序的关键。根据已知的音符频率对照表,设置乐曲的频率表和节拍时间表;

3) 编写程序并调试通过。

2.了解定时器的工作原理,掌握利用定时器产生声音的方法,使计算机演奏乐曲(例如《两只老虎》等)。编写程序并调试通过。

1.2 实验目的

汇编语言是计算机能够提供给用户使用的最快而又有效的语言,也是能够用计算机所

有硬件特性并能直接控制硬件的唯一语言。通过这次实验要求我们: 1) 了解通用发生程序。

2) 了解与掌握定时、计数、音乐、频率、时间之间的关系。 3) 学会用发生程序的设计方法 4) 学会用汇编语言编辑音乐程序

通过音乐程序设计熟悉并掌握用汇编语言编程的方法和特点,借此来比较高级语言低级语言的优缺点,以便更好运用各种语言来开发应用软件通过实际动手能力的培养,进一步熟悉汇编语言的结构和使用方法,达到能独立阅读、编制和调试一定规模的汇编语言程序的水平。能用汇编语言熟练的运用三大结构,进一步掌握各个指令的功能,特别是转向指令,能掌握子程序的定义及调用,包括段间及段内调用,以及正确的运用DEBUG

1

武汉理工大学《汇编语言程序设计》课程设计

指令,进一步理解和掌握程序直接控制I/O方式。

2.设计中使用的关键技术及方法

ROM BIOS 中有个BEEP子程序,这能根据BL中组出的时间计数值控制8254定时器,产生持续时间为1个或几个0.5秒,频率为896HZ的声音,我们可以利用并修改BEEP,使其产生任一频率的声音。为此我们需要做两点修改,首先,BEEP程序只能产生896HZ的声音,我们的通用发声程序应能产生任一频率的声音。其次,BEEP产生声音的持续时间(音长)只能是0.5秒的倍数,我们希望声音的持续时间更易于调整,例如可以是10ms的倍数。

我们知道BEEP能将计数值533H送给定时器2产生896HZ的声音的,那么产生其它频率声音的时间计数值应为:

533H×896÷给定频率=123280H÷给定频率 发声程序包括3个步骤:

(1)在8253中的42端口送一个控制字0B6H(10110110B),该控制字对定时器2进行初始化,使定时器2准备接收计数初值。

(2)在8253中的42H端口(Timer2)装入一个16位的计数值(533H×895/频率),以建立将要产生的声音频率。

(3)把输出端口61H的PB0、PB1两位置1,发出声音。

2.1 位触发方式

程序直接控制PPI(8255A可编程序外围接口芯片)的输出控制器(I/O端口为61H)的第一位,使该位按所需的频率进行1和0的交替变化,从而控制开关电路产生一串脉冲波形,这些脉冲波形经放大后驱动扬声器发出声音。如果控制波形的脉宽和长度就可以产生不同频率和不同音长的声音。

扬声器发声通用子程序:

通用发生程序CFSOUND:

cfsound proc near

push dx 保存将要用到的寄存器 push ax

in al,61h mov ah,al

and al.11111100b 关断定时器通道2的门控

2

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库乐曲程序的设计与实现在线全文阅读。

乐曲程序的设计与实现.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/471506.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: