微机原理课程设计—电子琴的设计之令狐文艳创作
微机原理课程设计 电子琴

微机原理课程设计报告院系:襄樊学院物理与电子工程学院班级:电子信息科学与技术0611班指导老师: 张静姓名:杜勇 06111028邓丰 06111025雷雄06111026目录一、课题名称及设计组成员 (3)二、课题内容及要求 (3)三、方案、系统组成框图和工作原理说明 (3)1、方案 (4)2、系统组成框图 (4)3、工作原理 (5)四、程序功能描述及程序流程 (5)2、程序功能描述 (5)3、程序流程图 (5)五、程序源代码及注释 (6)六、DOS/BIOS功能调用,文件列表清单 (16)七、电路的连接及调试 (17)1、电路连接 (17)2、调试步骤 (17)八、调试中出现的问题、原因及排除方法 (18)九、收获和体会 (20)十、参考文献 (20)一、课题名称及设计组成员二、课题内容及要求1、计算机钢琴基本功能:I、利用键盘按键“q、w、e、r、t、y、u”实现音调的重低音输入,利用键盘按键“a、s、d、f、g、h、j”实现音调的低音输入,利用键盘按键“z、x、c、v、b、n、m”实现音调的中音输入,利用键盘按键“1、2、3、4、5、6、7”实现音调的重低音输入。
II、实现菜单选择以及处理各种功能键的多种中级功能。
2、音乐播放系统控制实现功能:①制作一个菜单,使用菜单条选择功能,让用户选择演奏的乐曲。
②用定时器方式演奏画皮之主题曲《画心》实现音乐演奏。
③提示使用ESC键或者ENTER键可以退出当前过程或返回DOS。
④实现控制变量可以控制不同的效果以及要求,如播放速度,间隔等。
⑤界面美观,程序结构化程度高,模块结构合理。
⑥设计出相应的音乐取码软件。
3、实验环境16位的汇编语言程序设计有几种工作环境,本实验以及所有程序都是通过MASM5.0编译的,MASM5.0一个汇编语言的编译、连接、调试及运行的集成环境。
支持标号的快速定位,编译速度快。
三、方案、系统组成框图和工作原理说明1、方案基于PC计算机的时钟晶振为1.1931816MHz,利用电脑里面的蜂鸣器发出声音。
电子琴的课程设计

电子琴的课程设计一、课程目标知识目标:1. 学生能掌握电子琴的基本结构和功能,了解电子琴的音色、节奏及伴奏特点。
2. 学生能熟练演奏本节课所学的简单曲目,并理解曲目中的基本音乐理论知识。
技能目标:1. 学生能运用正确的指法和演奏姿势进行电子琴演奏,提高演奏技巧。
2. 学生能独立完成指定曲目的演奏,具备一定的即兴伴奏能力。
情感态度价值观目标:1. 学生通过学习电子琴,培养对音乐的热爱,提高审美情趣。
2. 学生在集体合作中,学会倾听、尊重他人,培养团队协作精神。
3. 学生在电子琴演奏中,体验成功的喜悦,增强自信心。
课程性质:本课程以实践为主,注重学生的动手操作能力和音乐素养的培养。
学生特点:三年级学生具备一定的音乐基础,好奇心强,喜欢尝试新事物。
教学要求:教师应关注学生的个体差异,因材施教,激发学生的学习兴趣,提高学生的音乐素养。
在教学过程中,注重理论与实践相结合,培养学生的实际操作能力。
同时,关注学生的情感态度,营造轻松愉快的学习氛围,使学生在愉悦的情感体验中学习音乐。
通过课程目标的分解,为后续的教学设计和评估提供依据。
二、教学内容本节课教学内容分为以下三个部分:1. 电子琴基本知识- 电子琴的结构与功能介绍- 电子琴音色、节奏及伴奏的认识- 音乐理论基础(五线谱、音符、节奏等)2. 电子琴演奏技巧- 正确的指法和演奏姿势- 简单曲目的演奏教学- 即兴伴奏入门3. 实践与创作- 集体合作演奏练习- 学生个人展示环节- 创作简单的旋律教学大纲安排如下:第一周:电子琴基本知识学习,熟悉电子琴的操作。
第二周:学习正确的指法和演奏姿势,进行基础练习。
第三周:学习简单曲目,掌握音乐理论知识。
第四周:提高演奏技巧,尝试即兴伴奏。
第五周:集体合作练习,学生个人展示。
第六周:总结课程内容,进行创作实践。
教学内容与教材章节关联:第一章:电子琴基础知识第二章:电子琴演奏技巧第三章:音乐实践与创作三、教学方法为了提高教学效果,激发学生的学习兴趣和主动性,本节课将采用以下多样化的教学方法:1. 讲授法:教师通过生动的语言和形象的比喻,为学生讲解电子琴的基本知识、演奏技巧和音乐理论。
微机原理及应用电子琴课程设计

微机原理及应用电子琴课程设计第一篇:微机原理及应用电子琴课程设计科技学院微机原理及应用课程设计设计名称:设计模拟电子琴模拟指导老师:指导老师:-----设计者姓名:-----专业班级:自动化学号:----------设计时间:2012.6摘要:本文通过 8255 和 8253 来实现电子琴模拟,主要可以分成两部分,分别为输入部分和发音部分。
输入部分:主要是由8255 和 8 个常开型开关来完成。
发音部分:CUP 通过对定时器 8253 的通道 2 进行编程,使其 I/O 寄存器接收一个控制声音频率的 16 位计数值,端口 61H 的最低位控制通道 2 门控的开断,以产生特殊的音响。
本文用到的是8253 的方式3——方波发生器。
关键词:关键词:8253 定时器;8255;电子琴1.引言引言:8253 芯片是常用的可编程计数器,在微机中有着极其重要的作用。
常用于事件计数器,单稳态触发器,分频器,方波发生器,硬件触发的单脉冲发生器等。
计数器/定时器8253 包括3 个独立的16 位计数器通道,而每个计数器都有 6 种工作方式,可以按二进制或十进制(BCD 码)进行计数。
本文用到的是 8253 的方式 3——方波发生器来实现了简易电子琴的设计。
2.1 8253 简介8253 为可编程定时/计数器,一片 8253 上有 3 个独立的 16 位计数器通道,可以作为定时器或计数器使用,每个计数器都可设定为按照二进制或BCD 码进行计数,计数速率可达2MHZ,每个计数器有6 种工作方式,可编程设置和改变。
如下图为 8253 的内部结构图。
在图中可以清楚地看到,8253 主要是由数据总线缓冲存储器,读写控制电路,控制字寄存器和 3 个通道 4 部分所组成。
8253 内部结构【1】(如图1 所示)及外部引脚【1】(如图2所示)图 1:8253 内部结构图图 2:8253 引脚图8253 的控制字和编程【1】如图 3 所示图 3:8253 控制字 2.8253 的工作方式 3——方波发生器【1】方式 3 的波形如图 4 所示,它的特点是:(1)输出为周期性的方波。
微机原理课程设计——简易电子琴实验

微机原理与接口技术课程设计——简易电子琴的设计作者:王雨轩指导老师:张金花摘要:本设计主要是利用可编程并行I/O接口芯片8255,通过对电子琴主体部分的电路进行模仿设计,达到电子琴固有的基本功能,故叫简易电子琴。
利用定时器可发出不同频率的方波的原理,使不同频率的方波进入蜂鸣器发出不同音调。
Abstract: This design mainly is to use programmable parallel I/O interface chip 8255 to design the main body part of the electronic keyboard’s circuit,to achieve the basic function of the inherent.So called simple electronic keyboard.The principle of using the timer can make different frequency square wave,let the different frequency square wave into the buzzer to make different tones.关键字:微机原理接口技术 8255 电子琴目录说明书总页数:14页简易电子琴的设计 (3)一、课题要求与内容 (3)(一)课题要求 (3)(二)课题内容 (3)(三)使用设备 (3)二、系统总体方案设计 (4)(一)系统流程图 (4)三、系统硬件设计 (5)(一)设计原理图 (5)(二)主机连线说明 (5)(三)硬件调试 (5)四、系统软件设计 (6)(一)程序清单 (6)(二)软件调试 (12)五、结束语 (13)六、参考文献 (14)简易电子琴的设计随着电子科技的飞速发展,电子技术正在逐渐改善着人们的学习、生活、工作。
计算机是一种严格按照时序进行工作的数字化、智能化机器,实现电子琴的微型化,可以用作玩具琴、音乐转盘以及音乐童车等等。
微机原理课程设计电子琴

一、教学内容ቤተ መጻሕፍቲ ባይዱ
本节课为微机原理课程的实践环节,选取《微机原理与应用》教材第七章“微机接口技术”及第十章“微机在仪器仪表中的应用”为理论依据,设计了一堂以“电子琴”制作为主体的课程。教学内容主要包括:1.微机与电子琴硬件接口原理,特别是I/O接口地址译码及编程;2.利用基本微机接口实现电子琴音调的控制,包括键盘扫描、音调发生器的使用;3.电子琴软件编程,通过编写简单的BIOS调用或DOS中断实现音色的播放与控制;4.熟悉并掌握电子琴的制作流程,包括电路设计、程序编写、调试与优化等。通过本节课的学习,学生将能理论与实践相结合,深入理解微机接口技术,增强动手能力与创新能力。
5、教学内容
本节课将是对电子琴项目的一个总结和应用拓展,教学内容如下:1.电子琴功能的创新设计,鼓励学生思考如何添加新的功能,如录音、播放、节奏伴奏等;2.介绍微机与其他外设的通信接口,如USB、蓝牙等,为电子琴的远程控制或数据传输打下基础;3.电子琴的电源管理设计,讲解如何为电子琴设计稳定的电源供应系统;4.实践电子琴的组装和外壳设计,提升学生的工业设计和实际动手能力;5.组织学生进行课堂展示和答辩,培养他们的表达能力和公众演讲技巧。通过本节内容的实践,学生将能够综合运用所学知识,发挥创造力,完成一个具有实用性和创新性的电子琴项目,并在此过程中提升自身的工程实践能力和团队合作精神。
2、教学内容
本节课进一步深化微机原理的应用,以“电子琴”项目为载体,教学内容具体包括:1.电子琴键盘布局设计与实现,让学生了解如何通过微机接口读取键盘输入;2.音阶生成算法介绍,探讨如何通过编程产生不同音调;3.利用微机定时器/计数器产生稳定的时钟信号,保证音色的准确性与连贯性;4.简单的乐曲编程与演奏,指导学生如何将音符组合成乐曲并进行演奏;5.电子琴功能的扩展,如增加音量控制、音色选择等,提高电子琴的交互性和趣味性。
电子琴微机课程设计

电子琴微机课程设计一、课程目标知识目标:1. 学生能理解电子琴的基本结构和演奏原理;2. 学生能掌握电子琴常用的微机操作技巧,如音色选择、节奏设定等;3. 学生能熟悉并运用电子琴演奏中的基本音乐理论知识,如音阶、和弦等。
技能目标:1. 学生能熟练操作电子琴,进行简单的独奏和伴奏;2. 学生能运用微机功能创作简单的音乐作品;3. 学生能在团队协作中,与他人共同完成一首电子琴演奏作品。
情感态度价值观目标:1. 培养学生对电子琴音乐的兴趣和爱好,激发他们的学习热情;2. 培养学生具有合作精神,尊重他人,共同进步的团队意识;3. 培养学生具有创新意识,敢于尝试,勇于表现的音乐素养。
课程性质:本课程以实践操作为主,注重培养学生的动手能力和创新能力,结合音乐理论知识,提高学生的音乐素养。
学生特点:本课程面向具有一定音乐基础的小学高年级学生,他们对新鲜事物充满好奇,善于模仿,具有较好的学习积极性。
教学要求:教师应注重个体差异,因材施教,鼓励学生积极参与实践,注重课程内容的实用性和趣味性,提高学生的学习兴趣。
通过课程学习,使学生在掌握电子琴演奏技巧的同时,培养良好的情感态度和价值观。
在教学过程中,将课程目标分解为具体的学习成果,便于教学设计和评估。
二、教学内容1. 电子琴基础知识:介绍电子琴的结构、演奏原理、音色种类和功能操作。
- 教材章节:第一章 电子琴概述- 内容:电子琴的起源、发展;电子琴各部分功能及操作方法。
2. 基本音乐理论知识:学习音阶、和弦、节奏等基本音乐概念。
- 教材章节:第二章 音乐理论基础- 内容:大、小调音阶;三和弦、七和弦;常见节奏型及拍号。
3. 电子琴演奏技巧:学习电子琴演奏中的基本指法和演奏技巧。
- 教材章节:第三章 电子琴演奏技巧- 内容:指法练习;音色、节奏选择与切换;简单独奏曲练习。
4. 实践与创作:运用所学知识进行实际操作,创作简单的音乐作品。
- 教材章节:第四章 实践与创作- 内容:编配简单的伴奏;创作短小的音乐作品;团队协作完成演奏作品。
微机原理课程设计电子琴 自动化

一、设计题目:简易电子琴设计二、设计内容:利用微机原理试验箱,设计简易电子琴。
三、设计目的:通过课程设计使学生更进一步掌握微机原理及应用课程的有关知识,提高应用微机解决问题的能力,加深对微机应用的理解。
通过查阅资料,结合所学知识进行软、硬件的设计,使学生初步掌握应用微机解决问题的步骤及方法。
为以后学生结合专业从事微机应用设计奠定基础。
四、设计要求:1.可以弹出7个音阶。
2.弹奏简短音乐。
3.通过改变键盘输入来改变8254输出频率,实现扬声器发音五、设计原理:音符与频率的关系如表所示,而持续时间则取决于乐曲的速度和每个音符持续的长短。
在拍号为4/4的乐曲中,每小节包含4拍,全音符持续4拍,二分音符持续2拍,四分音符持续1拍,八分音符持续半拍等等。
根据乐曲进行速度,假设一个全音符分配1S时间,则每拍持续时间为250MS。
如果持续时间的最小单位是10MS,则相应的拍长时间数据为25,该数据存放在BX寄存器中,从而可以确定每个音符的持续时间。
六、元器件功能简介:1.8255引脚功能RESET:复位输入线,当该输入端外于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。
CS:片选信号线,当这个输入引脚为低电平时,表示芯片被选中,允许8255与CPU进行通讯。
RD:读信号线,当这个输入引脚为低电平时,允许8255通过数据总线向CPU 发送数据或状态信息,即CPU从8255读取信息或数据。
WR:写入信号,当这个输入引脚为低电平时,允许CPU将数据或控制字写入8255。
D0~D7:三态双向数据总线,8255与CPU数据传送的通道,当CPU 执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。
PA0~PA7:端口A输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入锁存器。
PB0~PB7:端口B输入输出线,一个8位的I/O锁存器,一个8位的输入输出缓冲器。
雅马哈电子琴说明介绍模板之令狐文艳创作

雅马哈电子琴说明书步骤式学习系统(1)LISTEN & LEARN 听&学、节拍、伴奏等待:利用听&学、节拍、伴奏等待键,可先开始熟悉乐曲。
(2)Key to Scuccess关键乐段教学:关键乐段教学键,可协助您渐进式学习乐曲。
(3)Phrase Repeat乐段重複练习:乐段重複练习键,则可反覆练习乐曲中一段指定的乐句,熟能生巧,更易上手。
可录製5首乐曲、2轨式(弹奏乐曲、伴奏风格)录音功能录製自己的弹奏,不但在学习弹奏上能更了解自己需加强之处,更能自製属于自己的创作曲喔。
ULTRA-WIDE STEREO 超宽立体声超宽立体声的声音效果,好像喇叭置身在乐器以外的场域裡,宽阔无比。
乐曲/音色/伴奏1.SONG乐曲:102首乐曲,可运用在教学上。
2.VOICE音色:497种音色,不但拥有了多种中国乐器音色,例如:二胡、笛子、琵琶、扬琴、古筝等等;还包括多种双重乐器音色,例钢琴/絃乐等等。
3.STYLE伴奏:106种伴奏,丰富的伴奏风格,学习更快乐。
规格表PSR-E333键盘 61个力度标准感应键最大同时发音数 32个音符 (最大)萤幕 LCD萤幕音色 497(140种面板音色+13组打击乐/SFX音色+344种XGlite音色)伴奏型态 106音乐资料库 100预设乐曲 102 (New Demo Song)效果 9种残响+4种叠奏+26种和声类型+3种超宽立体声类型录音功能 5首2轨式录音第五代教学功能 steps(Listening/Timing/Waiting)+Special Lesson和絃字典有General MIDI 有USB (TO HOST) 有扩大机 2.5W x2尺寸(宽×深×高) 945×369×132mm重量 4.9公斤电子琴因其携带方便,表现力强,演奏方法较为容易等特点,长期以来一直受到人们的喜爱。
但在实际生活中,从广大琴童的学琴经历来看,部分教师和家长在认识上都存在一定的误区。
- 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 0D 7 D 6 D 5 D 4 D 3 D 2 D 1 1A 组工作方式0 0——方式00 1——方式11 ⨯——方式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,输出的信号则为方波信号。
3程序流程图3.1主程序流程图主程序的流程图如下图所示:图6 主程序流程图3.2演奏子程序流程图当按键为p为时,调用音乐播放子程序,音乐播放子程序的流程图如下图所示。
图7 音乐播放子程序流程图3.3 音乐播放子程序流程图演奏时,通过判断按键为1或2来调用音乐播放子程序1或2,音乐播放子程序流程图如图8所示。
图8 音乐播放子程序流程图3.4弹奏子程序流程图当按键为1-8时,调用演奏子程序,演奏子程序的流程图如下图所示:图9 演奏子程序流程图3.5 发音子程序流程图在弹奏和演奏时都需调用发音子程序,发音子程序的作用是控制扬声器的发音,其流程图如下:图10 发音子程序流程图4 各部分功能实现说明4.1 发音部分功能实现由更件的连接形式可知,扬声器的开断是由8255的PB0和PB1以及8253通道2同时控制的,PB0和PB1同时为高电平时,扬声器开,有一个为低电平时,扬声器关断,又知8255 B口地址为61H,8253通道2地址为42H,控制口地址为43H。
具体程序编写如下。
8253初始化程序段:mov al,10110110b ;选择8253的通道2,并设置为工作方式3out 43h,almov ax,bxout 42h,al ;将计数初值的低8位写入计数通道mov al,ahout 42h,al ;将计数初值的高8位写入计数通道开扬声器程序段:in al,61h ;读入B口数据or al,03h ;将PB0 和PB1置1out 61h,al ;将设置好的数据送回B口关扬声器程序段:in al,61h ;读入B口数据and al,0fch ;将PB0 和PB1置0out 61h,a ;将设置好的数据送回B口4.2 变调功能的实现扬声器发音的频率是由8253产生方波的频率决定的,而方波频率又是由通道的计数初值来决定的,因此可以通过改变通道的计数初值来实现变调功能。
计数初值N=时钟频率/音阶频率,时钟频率为1.19318MHZ=1234DCH,可以将相应音调对应的时钟频率存入内存单元,当选择相应的音调时,计算计数初值时,采用对应的时钟频率值,具体程序如下。
cmp al,'d' ;为d则选择低音jne j1mov num2,50jmp choicej1:cmp al,'z' ;为z则选择中音jne j2mov num2,12hjmp choicej2:cmp al,'g' ;为g则选择高音jne loop0mov num2,06h其中,num1和num2中存放的是时钟频率值,num1中固定为34DCH,选择低音时,num2值设为50,中音时设为12H,高音时设为06H。
计算计数初值程序如下:mov ax,num1mov dx,num2div 音符频率通过这样的设置,即可实现电子琴的变调功能。
4.3 弹奏功能的实现当按键为数字1-8时,选择弹奏功能,通过对按键的判断,求得其偏移地址,然后通过查表得其相应频率值,再由上述计算计数初值的方法求得计数初值,然后将计数初值送人8253的通道2,最后调用发音子程序即实现弹奏功能。
具体程序段如下:sub al,31h ;求偏移量shl al,1mov bl,al ;保存偏移量mov bh,0mov ax,num1 ;计算计数初值mov dx,num2div word ptr[tab+bx]mov bx,ax ;保存计数初值4.3 演奏功能的实现4.3.1 歌曲选择功能实现当按键为p时,选择演奏功能,播放预存的音乐,由于预存了两首歌曲,因此需进行选择,按下p后,显示输入提示信息,按1或2选择对应的歌曲,然后调用相应的音乐播放子程序,播放完后显示输入提示信息,按q退出,按c继续。
具体程序实现如下:loop2: mov dx,offset mesg1 ;显示输入提示信息mov ah,09hint 21hmov ah,07h ;从键盘读入一个字符int 21hcmp al,'q' ;为q则退出je choicecmp al,'1' ;为1则选择歌曲1jne next1call music1jmp loop3next1:cmp al,'2' ;为2则选择歌曲2jne loop2 ;不为q,1,2则重新选择call music2loop3:mov dx,offset mesg2 ;播放完后显示输入提示信息mov ah,09hint 21hmov ah,7 ;从键盘读入一个字符int 21hcmp al,'q' ;为q则返回je choicecmp al,'c' ;为c则继续播放je loop2jmp loop34.3.2 音乐播放功能实现选择歌曲后,调用对应的音乐播放子程序,音乐播放需用到循环结构,首先将计数器清零,接着计数器自增1,求得偏移量,然后通过查表的到相应的频率,再计算计数初值,将计数初值送人8253计数通道,调用发音子程序,若计数器的值大于歌曲长度,则返回。
具体程序段如下。
mov cl,0 ;将计数器清零ad:inc cl ;计数器值自增1cmp cl,31 ;计数器值若大于歌曲长度,则返回je returnmov al,clsub al,1 ;求偏移量shl al,1mov bl,al ;保存偏移量mov bh,0mov ax,num1 ;计算计数初值mov dx,num2div word ptr[song2+bx]mov bx,axcall speaker ;调用发音子程序jmp ad5 程序运行结果运行程序后,显示如下界面,等待输入字符。