微机原理课程设计—电子琴的设计之令狐文艳创作
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计任务书
令狐文艳
学生姓名:刘沛专业班级:电气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来控制发音的,其电路连接方式如下图所示。
图1 PC机内扬声器控制电路
由图可知,扬声器是由8253通道2产生的方波信号和8255的PB1 相与后驱动发声的,且通道2的门信号由8255的PB0提供,要想让扬声器发声,PB0和PB1必须同时为高电平,因此,可以通过对8255的PB0和PB1的设置来控制扬声器的开通和关断,而其发音频率可以通过对8253通道2的计数初值的设置来控制。所设计程序的任务就是要通过对按键的判断来设置8255的PB0和PB1输出电平的高低,以及8253通道2计数初值的设置。计数初值N=时钟频率/音阶频率.各音阶的频率如下表所示。
2硬件部分工作原理
2.1 8255工作原理
8255的内部结构图如图2所示,它有3个数据端口,分为两组,A 组由A 口和C 口高四位组成,B 组由B 口和C 口低四位组成。其方式控制字如图3所示。
图2 8255内部结构图
PC 机内8255的A 口,B 口,C 口和控制口的端口地址分别为:60H,61H,62H,63H 。
2.2 8253工作原理
8253芯片中有3个计数通道,称为通道0,1,2,它们与外部电路相连的信号线
图3 8255方式控制字 方式控制字的
特征位 D 0
D 7 D 6 D 5 D 4 D 3 D 2 D 1 1
A 组工作方式
0 0——方式0
0 1——方式1
1 ⨯——方式
2 B 组 工作方式 0——方式0 1——方式1 A 口 输入/输出 1——输入 0——输出 PC 7~PC 4 输入/输出 1——输入 0——输出 B 口 输入/输出 1——输入 0——输出 PC 3~PC 0 输入/输出 1——输入 0——输出
有3根:CLK,GATE,OUT,CLK是脉冲输入端,GATE是门控信号,OUT是输出信号,计数器工作在减1状态。其内部结构图和方式控制字格式如图4,图5所示。
其中当计数器工作在方式3时,输出信号为方波信号。
图4 8253内部结构图
图5 8253控制字格式
PC机内8253的通道0,通道1,通道2,控制口的端口地址分别为:40H,41H,42,43H。因为扬声器是由通道2来控制的,故应选择通道2,工作方式选为方式3,输出的信号则为方波信号。