[页数] 24 [字数] 4965 [目录] 1 需求分析 2 程序设计 3 调试分析 4 使用说明 5 测试结果 附录A 带注释的程序源代码 [原文] 1 需求分析 1.1选题任务 利用汇编语言编写键盘控制发声程序。要求:1、用键盘模拟琴键,即兴弹奏乐曲。 2、程序内存有包括5首以上的可选乐曲(要求适用多档次的CPU),利用键盘选择能自动播放。 1.2选题所给计算模型 实现键盘控制发声程序,主要是要实现与CPU主频无关的通用发声程序的编写,其中延时时间的计算非常重要。是靠循环实现的延时计算。延时时间的计算公式是: (CX)=COUNT OF 15.08μs。 式(1-1) 四个八度的声音频率的计算也是很重要的:其中若以中央C为基准,则有: 设中央C频率为f0,则有高音C的频率f1,次低音的频率f2,低音的频率f3的计算公式分别为: f1 = 2 * F0 式(1-2) f2 = f0 / 2 式(1-3) f3 = f0 / 4 式(1-4) 1.3设计方案 本程序因为要实现两种不同的功能,所以我考虑总体结构选用一个主程序,然后加上两个分立的子程序。具体设计方案如下: 1、主程序设计:主程序首先是控制开一个窗口,使菜单在窗口中显示。然后就是判断语句,控制程序的跳转,使其完成输入不同字符,实现不同的功能。 2、键盘模拟琴键的子程序设计:首先是要对输入的字符进行判断,若是终止字符,则跳回到主程序;若不是终止字符,则判断其是否是有效字符,若不是有效字符则不予执行,若是有效字符则要判断它处于哪一个字符段,然后跳转到这一字符所在的那个八度,跳转完成后,要读入字符对应的频率值送到通用发声子程序中,使其发出声音。这一过程完成后,要跳回到这一子程序的开始,准备接受下一输入。 3、自动播放乐曲子程序设计:首先是要对输入的字符进行判断,若是终止字符,则跳回到主程序;若不是终止字符,则判断其是否是有效字符,若不是有效字符则报告输入错误,提示重新输入;若是有效字符则要判断它控制哪一首乐曲的执行,然后跳转到相应的乐曲的子程序,乐曲通过通用发声子程序进行自动播放。这一过程完成后,要跳回主程序,准备接受下一选择...... [原文截取] 1 需求分析 1.1选题任务 利用汇编语言编写键盘控制发声程序。要求:1、用键盘模拟琴键,即兴弹奏乐曲。 2、程序内存有包括5首以上的可选乐曲(要求适用多档次的CPU),利用键盘选择能自动播放。 1.2选题所给计算模型 实现键盘控制发声程序,主要是要实现与CPU主频无关的通用发声程序的编写,其中延时时间的计算非常重要。是靠循环实现的延时计算。延时时间的计算公式是: (CX)=COUNT OF 15.08μs。 式(1-1) 四个八度的声音频率的计算也是很重要的:其中若以中央C为基准,则有: 设中央C频率为f0,则有高音C的频率f1,次低音的频率f2,低音的频率f3的计算公式分别为: f1 = 2 * F0 式(1-2) f2 = f0 / 2 式(1-3) f3 = f0 / 4 式(1-4) 1.3设计方案 本程序因为要实现两种不同的功能,所以我考虑总体结构选用一个主程序,然后加上两个分立的子程序。具体设计方案如下: 1、主程序设计:主程序首先是控制开一个窗口,使菜单在窗口中显示。然后就是判断语句,控制程序的跳转,使其完成输入不同字符,实现不同的功能。 2、键盘模拟琴键的子程序设计:..... |
模拟电子琴
查看评论
已有0位网友发表了看法