- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《电子琴软件设计》.doc
学 号
课 程 设 计
题 目 学 院 专 业 班 级 姓 名 指导教师
2011 年 月 日
课程设计任务书
学生姓名: 李攀 专业班级: 自动化0804
指导教师: 工作单位:
题 目:
初始条件:
要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)
设计任务及要求分析
方案比较及认证说明
系统原理阐述
软件设计课题需要说明:软件思想,流程图,源程序及程序注释
调试记录及结果分析
总结
参考资料
附录:芯片资料或程序清单,软件演示屏幕拷贝图或硬件实物图
时间安排:
1月1日~1月1日:收集资料,方案选择
1月1日~1月日:整体流程,程序细节
1月日~1月日调试程序,报告撰写
1月2日:交设计报告,程序演示,答辩
指导教师签名: 年 月 日
系主任(或责任教师)签名: 年 月 日
电子琴软件设计
1课程设计要求及要求分析
1.1课程设计的要求
采用汇编语言设计一个运行于计算机的电子琴软件,软件应实现弹奏和播放功能。其中弹奏:用户每按一琴键弹奏相应音符;播放:按下某键后自动播放一段音乐;还可以附加变调、变速和记录创作等其它功能。
1.2课程设计的要求分析
电子琴要用汇编语言设计并且要运行于计算机,所以8255与8253的工作方式要按照电脑本身的设置。从系统实现的功能上来看,简易电子琴的课程设计主要分为手动弹奏乐曲和自动播放音乐两大部分组成。手动弹奏乐曲是根据具体的硬件键盘设置功能键实现,在本实验中我设计了八个音调,用数字键1~8来控制。自动播放音乐是通过软件编程的方法放置音乐代码和相关播放程序来实现。
2方案比较及认证说明
2.1系统方案
2.1.1方案一
将简易电子琴的课程设计采用程序模块化设计方法,将程序分为主程序、键盘扫描程序模块、数码显示模块、转换控制模块、音乐产生模块等等。实现手动弹奏乐曲和自动播放音乐两部分的切换和启动。
2.1.2方案二
将简易电子琴的课程设计的各项功能不分开,不使用功能转换模块。
2.2 方案比较选择
选择方案一,把手动弹奏与自动播放两部分分开,这样在手动弹奏时不用害怕弹错了键直接进入自动播放,避免了两项功能的相互影响。
3 系统原理
3.1系统硬件工作原理
通过微机原理实验和上网查找的资料得知,计算机里面的蜂鸣器和8253及8255的工作原理简图可以画成如下图1的形式:
图1:计算机内部连接
3.2工作原理
3.2.1发声原理
蜂鸣器有8253芯片的计数器控制,其中通过键盘输入的音阶可以控制赋给计数器的初值,从而来控制和改变发声的音调。芯片8255通过PC口的输出来控制芯芯片8253的工作与否,从而来控制蜂鸣器的关闭。
3.2.2键盘扫描原理
通过键盘输入指令,然后由程序检查满足程序的哪项,然后执行相应的命令。
4软件设计
4.1软件设计思想
进行应用软件设计时可采用模块化设计,其优点是:(1)每个模块的程序结构简单,任务明确,易于编写、调试和修改;(2)程序可读性好,对程序的修改可局部进行,其他部分可以保持不变,便于功能的扩充和版本的升级;(3)对于使用频繁的子程序可以建立子程序库,便于多个模块调用;(4)便于分工合作,多个程序员同时进行程序的编写和修改调试工作,加快软件的研制进度。
根据设计要求,首先要确定软件设计方案,即确定该软件应该完成哪些功能;其次是规划这些功能需要分成多少个功能模块,以及每一个程序模块的具体任务是什么。其系统的软件设计的模块应该遵循下述原则:
(1) 每个模块应具备独立的功能,能产生一个明确的结果。
(2) 模块之间的控制参数应尽量简单,数据参数应尽量少
。控制参数是指模块进入和退出的条件及方式,数据参数
是指模块间信息的交换方式、交换量的多少及交换的频繁程度。
模块的长度适中。模块语句的长度要始终,模块太
长,调试和分析会有难度;模块太短,信息交换太过频
繁,不利于模块功能的体现
系统的结构模块图如右图2所示:
图2:结构模块图
4.2源程序
4.2.1主程序设计
主程序的的功能,主要是不同功能的调用,这里使用到不同的子程序,先调用显示子程序,再弹奏和音乐播放功能。
DATA SEGMENT
INFO1 DB 0AH, 0D
文档评论(0)