微机原理课程设计—电子琴的设计

2018-12-23 23:36

课程设计任务书

学生姓名: 刘沛 专业班级: 电气0901 指导教师: 张 锐 工作单位: 自动化学院 题 目: 计算机电子琴软件软件设计 初始条件:

1.用于调试程序的IBM兼容PC机一台;

2.安装DOS/WIN98操作系统或运行于DOS/ WIN98兼容方式;

3. EDIT 等文本编辑器输入80x86汇编程序,MASM 5.0编译及链接程序。 要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体

要求)

1.使用汇编语言设计一个运行于计算机的电子琴软件,软件应实现弹奏功或演奏。其中弹奏:用户每按一琴键弹奏相应音符;演奏:按下某键后自动弹奏预存琴谱功能;还可以附加变调、变速和记录创作等其它功能。 2.说明书撰写格式应符合《课程设计说明书统一书写格式》。 时间安排:

1.程序框图设计,3天 2.编程,4天 3.调试,3天 4.编写设计报告,4天

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

目录

摘要································································I 1 设计任务和思路····················································1 1.1设计任务······················································1 1.2设计思路······················································1 2更件部分工作原理··················································2 2.1 8255工作原理·················································2 2.2 8253工作原理·················································2 3程序流程图························································4 3.1主程序流程图··················································4 3.2演奏子程序流程················································5 3.3音乐播放子程序流程············································6 3.4弹奏子程序流程图··············································6 3.5发音子程序流程图 ·············································7 4各部分功能实现说明················································7 4.1 发音部分功能实现··············································7 4.2 变调功能的实现················································8 4.3 弹奏功能的实现················································8 4.4演奏功能的实现················································9 4.4.1歌曲选择功能实现········································9 4.4.2 音乐播放功能实现········································9 5 程序运行结果·····················································10 结束语·····························································12 参考文献···························································13 附录 程序清单······················································14 成绩评定表·························································19

武汉理工大学《微机原理与接口技术》课程设计说明书

摘要

汇编语言是一种功能很强的程序设计语言,也是利用计算机所有硬件特性并能直接控制硬件的语言。利用汇编语言能够直接访问与硬件相关的存储器或I/O端口,从而最大限度地发挥硬件的功能。本文主要介绍了利用汇编语言设计一个运行于计算机的电子琴软件,软件能够实现弹奏,演奏的功能,当按下弹奏键时,实现弹奏功能,发出音符对应频率的声音,按下演奏键时,实现演奏功能,播放预存的音乐,按下指定的音调选择按键后,选择低音,中音或高音,则分别用低音,中音或高音进行弹奏或演奏。首先介绍了PC机内扬声器的控制电路,接着介绍了相关接口芯片8255和8253的内部结构和工作原理,接着讲述了各部分功能的具体实现方法。

关键词:汇编语言,8255,8253,扬声器

武汉理工大学《微机原理与接口技术》课程设计说明书

计算机电子琴软件设计

1 设计任务和思路

1.1设计任务

使用汇编语言设计一个运行于计算机的电子琴软件,软件应实现弹奏功能或演奏功能。其中弹奏:用户每按一琴键弹奏相应音符;演奏:按下某键后自动弹奏预存琴谱功能;还可以附加变调、变速和记录创作等其它功能。软件预想功能为:按数字1-8为弹奏功能;按字母p为演奏功能;按d选择低音,按z选择中意,按g选择高音。

1.2设计思路

电子琴的设计实际上就是要设计一个程序,能够通过该程序控制

PC机内扬

声器的发声规律,按下相应的按键后,扬声器能发出指定频率的声音。PC机内的扬声器是通过并行接口芯片8255和定时芯片8253来控制发音的,其电路连接方式如下图所示。

8255A PB1 PB0 1.19318MHZ CLK2 8253 GATE2 OUT2 & 图1 PC机内扬声器控制电路

扬声器

由图可知,扬声器是由8253通道2产生的方波信号和8255的PB1 相与后驱动发声的,且通道2的门信号由8255的PB0提供,要想让扬声器发声,PB0和PB1必须同时为高电平,因此,可以通过对8255的PB0和PB1的设置来控制扬声器的开通和关断,而其发音频率可以通过对8253通道2的计数初值的设置来控制。所设计程序的任务就是要通过对按键的判断来设置8255的PB0和PB1输出电平的高低,以及8253通道2计数初值的设置。计数初值N=时钟频率/音阶频率.各音阶的频率如下表所示。

表1 各音符频率表 音符 1 2 3 4 5 6 7 频率(低) 131 147 165 175 196 220 247 频率(中) 262 294 330 349 392 440 494 频率(高) 524 588 660 698 784 880 988

1

武汉理工大学《微机原理与接口技术》课程设计说明书

2硬件部分工作原理

2.1 8255工作原理

8255的内部结构图如图2所示,它有3个数据端口,分为两组,A组由A口和C口高四位组成,B组由B口和C口低四位组成。其方式控制字如图3所示。

图2 8255内部结构图

D7 D6 D5 D4 D3 D2 D1 D0 1 方式控制字的B组 A组工作方式 特征位 工作方式 0 0——方式0 0——方式0 0 1——方式1 1——方式1 1 ?——方式2 A口 PC7?PC4 B口 PC3?PC0 输入/输出 输入/输出 输入/输出 输入/输出 1——输入 1——输入 1——输入 1——输入 0——输出 0——输出 0——输出 0——输出 图3 8255方式控制字

PC机内8255的A口,B口,C口和控制口的端口地址分别为:60H,61H,62H,63H。

2.2 8253工作原理

8253芯片中有3个计数通道,称为通道0,1,2,它们与外部电路相连的信号

2


微机原理课程设计—电子琴的设计.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:石油华东《信息系统安全技术》2018年秋学期在线作业(一)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: