乐曲程序的设计与实现课程设计.docx
- 文档编号:29310961
- 上传时间:2023-07-22
- 格式:DOCX
- 页数:13
- 大小:82.35KB
乐曲程序的设计与实现课程设计.docx
《乐曲程序的设计与实现课程设计.docx》由会员分享,可在线阅读,更多相关《乐曲程序的设计与实现课程设计.docx(13页珍藏版)》请在冰豆网上搜索。
乐曲程序的设计与实现课程设计
课程设计
题目
乐曲程序的设计与实现
学院
计算机科学与技术学院
专业
计算机科学与技术专业
班级
计算机科学与技术0705班
姓名
指导教师
2010
年
1
月
15
日
课程设计任务书
题目:
乐曲程序的设计与实现
初始条件:
理论:
完成了《汇编语言程序设计》课程,对微机系统结构和80系列指令系统有了较深入的理解,已掌握了汇编语言程序设计的基本方法和技巧。
实践:
完成了《汇编语言程序设计》的4个实验,熟悉了汇编语言程序的设计环境并掌握了汇编语言程序的调试方法。
要求完成的主要任务:
(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)
进一步理解和掌握程序直接控制I/O方式,掌握计算机发声程序的设计。
具体的设计任务及要求:
1.采用位触发方式编写程序,使计算机发出音响并奏出《两只老虎》的乐曲。
1)通过查阅相关资料,进一步理解程序直接控制I/O方式和位触发方式控制声音的工作原理。
2)一首乐曲是由不同频率和节拍的音调组成,因此控制脉冲的频率和持续时间是编写乐曲程序的关键。
根据已知的音符频率对照表,给出乐曲的频率表;设二分音符持续时间为0.5秒(50*10ms),50作为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.2.根据已知的音符频率对照表,给出乐曲的频率表。
1.3.设二分音符持续时间为0.5秒(50*10ms),50作为2拍的计数值,给出乐曲的节拍时间表。
2设计中使用的关键技术和方法
2.1.在8253/54定时器内部有3个独立工作的计数器:
Count0,Count1,Count2,端口地址分别为40H、41H和42H。
其中Count2用来控制发声器发声。
设装入计数器2的计数器初值为x则IBM中的BEEP子程序能在Mode3下产生频率为1.19318MHz/x的声音。
8253/54内部还有一个公用的控制寄存器,端口地址为43H。
三个计数器是分别编程的,对任一个计数器编程时,首先将控制字节写入寇埴寄存器。
控制字节各位含义如下:
SC1
SC0
RL1
RL0
M2
M1
M0
BCD
0二进制
00计数器锁存操作1BCD码
01只读/写LSB
10只读/写MSB000Mode0
11读/写LSB,,MSB001Mode1
x10Mode2
x11Mode3
00选择count0100Mode4
01选择count1101Mode5
10选择count2
11无效
其次,向Count2送入一个计数初值,指定发声频率。
2.2.扬声器驱动方式
如图所示,GATE2与端口61h的PB0相连,当PB0=1时,GATE2获得高电平,使定时器可以在Mode3下工作。
定时器的OUT2与端口61h的PB1通过一个与门与扬声器的驱动电路相连。
当PB1=1时,允许OUT2的输出信号到达扬声器电路。
2.3.80x86PC的时间延迟μ
IBM采用了一种利用硬件产生时间延迟的方法,即通过监控端口61h的PB4每15.08μs触发一次,以产生一个固定不变的时间基准。
2.4.乐曲程序
乐曲是按照一定的高低、长短和强弱关系组成的已调,每个音符的音高和音长与频率和节拍有关。
音高与频率如下表
1
2
3
4
5
6
7
1
2
3
4
5
6
7
1.
131
147
165
175
196
220
247
262
294
330
349
392
440
494
523
3设计方案说明
3.1.程序结构及各功能模块说明
主程序music将音符的频率送入di寄存器,将音符的持续时长送入bx;然后调用soundf子程序。
soundf子程序用di中的数据去除12348h的到商送入42h,使其产生制定频率的信号;然后置61h的PB0,PB1为11,使扬声器发出相应的声音;根据bx中的数据重复调用waitf子程序,是扬声器发声得以延续;最后恢复61h的初始设置。
waitf子程序中,根据cx中的数据产生固定的延时。
3.2.算法流程图
见下页
3.4数据结构的定义和说明
dsegsegment
freqdw2dup(262,292,330,262)
dw2dup(330,349,392)
dw2dup(392,440,392,349,330,262)
dw2dup(262,330,262)
dw-1
timedw8dup(40)
dw2dup(40,40,80)
dw2dup(30,10,30,10,40,40)
dw2dup(40,40,50)
dsegends
其中freq是音符频率表的首地址,time是音符的持续时长表首地址。
4.测试及评估
在如下平台测试程序:
计算机:
计算机类型ACPIMultiprocessorPC
操作系统MicrosoftWindowsXPProfessional
操作系统版本升级(SP)ServicePack3
DirectX4.09.00.0904(DirectX9.0c)
日期/时间2010-01-14/17:
31
主板:
CPU类型DualCoreAMDAthlon64X2,2800MHz(14x200)5400+
主板名称ColorfulC.A770v1.5
主板芯片组AMD770,AMDHammer
系统内存2048MB(DDR2-800DDR2SDRAM)
BIOS类型AMI(08/28/08)
通讯端口通讯端口(COM1)
通讯端口打印机端口(LPT1)
当在cx中存放663时,音符延续时间很短以致辨别不清,初步断定问题在于硬件,将cx中的数值增大至8000后,扥到记过符合预期
5.设计心得
5.1在soundf子程序中曾对ax,bx,cx,dx,di进行了进站出站操作,经过仔细分析,这些操作是没用用的,删除了这些操作,简化了程序。
5.2.对该程序进一步改进扩展的设想
音符和频率之间有一定的对应关系,如果计算机键盘上的一些键和音符、频率也形成一种对应关系,则可通过键盘控制扬声器发出各种音符声音,这时计算机键盘就变成了钢琴键盘,就可以用他弹奏出简单的乐曲了。
六.参考文献
大众乐谱网
《IBM—PC汇编语言程序设计实验教程》3.1节沈美明温冬禅编著
《IBM—PC汇编语言程序设计(第2版)》10.4节,10.5节沈美明温冬禅编著
七.附录:
源程序清单
dsegsegment
freqdw2dup(262,292,330,262)
dw2dup(330,349,392)
dw2dup(392,440,392,349,330,262)
dw2dup(262,330,262)
dw-1
timedw8dup(40)
dw2dup(40,40,80)
dw2dup(30,10,30,10,40,40)
dw2dup(40,40,50)
dsegends
csegsegment
assumecs:
cseg,ds:
dseg
musicprocfar
movax,dseg
movds,ax
leasi,freq
leabp,ds:
time
lable1:
movdi,[si]
cmpdi,-1
jelable2
movbx,ds:
[bp]
callsoundf
addsi,2
addbp,2
jmplable1
lable2:
movax,4c00h
int21h
musicendp
soundfprocfar
moval,0b6h
out43h,al
movdx,12h
movax,348ch
divdi
out42h,al
moval,ah
out42h,al
inal,61h
movah,al
oral,3
out61h,al
delay:
movcx,8000
callwaitf
decbx
jnzdelay
moval,ah
out61h,al
ret
soundfendp
waitfprocnear
pushax
waitf1:
inal,61h
andal,10h
cmpal,ah
jewaitf1
movah,al
loopwaitf1
popax
ret
waitfendp
csegends
endmusic
本科生课程设计成绩评定表
班级:
姓名:
学号:
序号
评分项目
满分
实得分
1
学习态度认真、遵守纪律
10
2
设计分析合理性
10
3
设计方案正确性、可行性、创造性
20
4
设计结果正确性
40
5
设计报告的规范性
10
6
设计验收
10
总得分/等级
评语:
注:
最终成绩以五级分制记。
优(90-100分)、良(80-89分)、中(70-79分)、
及格(60-69分)、60分以下为不及格
指导教师签名:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 乐曲 程序 设计 实现 课程设计