微机原理课程设计-电子琴设计

合集下载

微机原理课设 电子琴8253 8255

微机原理课设  电子琴8253 8255

一、内容摘要设计一个电子琴。

利用数字键1、2、3、4、5、6、7作为电子琴键,按下数字键发出相应的音调。

二、课程设计的目的和意义1、进一步掌握定时器编程和应用。

2、了解微机利用定时器产生音乐的基本方法。

三、课程设计的要点和内容1、根据音阶频率表,利用定时器可以产生相应频率的脉冲信号,不同频率的脉冲信号经驱动电路放大后,就会发生不同的音调。

2、对于每个按键的音调发音时间由软件延时控制,如键一直按下,就会连续发音各音阶标称频率值:本次课设要求设计一个电子琴,作为一个乐器,其最基本的功能就是能够发出一个音阶的所有声音,即:do,re,mi,fa,so,la,xi,dou,8个音符,不同的声音的本质就是不同频率的波,每个音符都对应着固定的频率;而声音的长短即是波的个数。

所以得出的一条思路是:用汇编语言来产生一系列频率不同的方波信号,找到各个音符的频率,然后用汇编语言产生同频信号,并将该信号输入到扬声器,如果驱动功率不够则可以加放大电路。

四、硬件电路设计1、单元电路设计:硬件结构应结合软件方案一并考虑,做到软件、硬件功能相匹配。

在DJ-598K 三合一单片机微机试验仪平台上,硬件设计参考方案如下:2、电路工作原理:2.1可编程8253计数器(1)在计算机的引用中,常常要对外设的某些信号进行计数,希望计算机既能控制技术的过程,还有能读取计数的结果,进而作为控制或管理的决策依据。

如果被计数的信号有了准确的固定的周期,就形成了定时器。

(2)图为8253的内部组成和引脚。

如图所示,与外部的连接线主要分布在右侧的三个部分,即:三个计数器。

其中CLK为计数通道的输入脉冲信号,对于8253来说的频率范围是0—2MHz。

GATE为门控信号,用来启动或禁止计数工作,高电平有效,不同的工作方式,作用也不同。

Out为输出信号,用来输出波形,不同的工作方式,不同的工作方式,输出的波形也不同;而与CPU的的内部接线主要分布在左侧的三个部分。

微机原理与接口技术(电子琴设计报告)

微机原理与接口技术(电子琴设计报告)

微机原理与接口技术课程设计基于 8086系统的电子琴设计报告05级电子信息工程 2班杨锡乐学号:0504030223参与成员:田友详、李丽华一、设计任务及要求1. 以 8255接八个开关 K1~K8,做电子琴按键输入。

2. 以 8253控制扬声器,拨动不同的开关,发出相应的音阶。

要求:K1—静音K2—发 si 的音 493HzK3—发 la 的音 440HzK4—发 sol 的音 392HzK5—发 fa 的音 349HzK6—发 mi 的音 329HzK7—发 re 的音 293HzK8—发 do 的音 261Hz二、方案比较和认证通过 8255和 8253来实现电子琴模拟,主要可以分成两部分,分别为输入部分和发音部分。

输入部分主要是由 8255和 8个常开型开关来完成。

常开型开关如右图。

8个常开型开关 K1~K8与 8255的 A 口 PA0~PA7相接,不触动开关时,为高电平输入,当按下开关时,就接地,为低电平输入。

例如当 K1键按下时,从 8255中 A 口输入的数为 11111110B ,十六进制为 0FEH 。

每一个开关按下时,都对应一个 ASCII 码,如下表所示:开关 K1 K2 K3 K4 K5 K6 K7 K8对应数据 0FEH 0FDH 0FBH 0F7H 0EFH 0DFH 0BFH 7FH对应频率静音 493 Hz 440 Hz 392 Hz 349 Hz 329 Hz 293 Hz 261 Hz输入部分的硬件实现比较简单, 所以说主要还是在发音部分。

在设计中驱动扬声器地声的主要有两种方式, 分别是以位触发和定时器控制。

下面就这两种不同的方式确定两个不同的设计方案。

方案 1:发声采用位触发方式。

电路原理图如下所示。

程序直接控制 PPI (8255可编程序外围接口芯片的输出控制寄存器(I/O端口为 61H 的第一位,使该位按所需的频率进行 1和 0的交替变化,从而产生一串脉冲控制波形,这些脉冲经过放大后驱动扬声器发出声音。

微机原理课程设计——简易电子琴实验

微机原理课程设计——简易电子琴实验

微机原理与接口技术课程设计——简易电子琴的设计作者:王雨轩指导老师:张金花摘要:本设计主要是利用可编程并行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. 学生能理解电子琴的基本结构和演奏原理;2. 学生能掌握电子琴常用的微机操作技巧,如音色选择、节奏设定等;3. 学生能熟悉并运用电子琴演奏中的基本音乐理论知识,如音阶、和弦等。

技能目标:1. 学生能熟练操作电子琴,进行简单的独奏和伴奏;2. 学生能运用微机功能创作简单的音乐作品;3. 学生能在团队协作中,与他人共同完成一首电子琴演奏作品。

情感态度价值观目标:1. 培养学生对电子琴音乐的兴趣和爱好,激发他们的学习热情;2. 培养学生具有合作精神,尊重他人,共同进步的团队意识;3. 培养学生具有创新意识,敢于尝试,勇于表现的音乐素养。

课程性质:本课程以实践操作为主,注重培养学生的动手能力和创新能力,结合音乐理论知识,提高学生的音乐素养。

学生特点:本课程面向具有一定音乐基础的小学高年级学生,他们对新鲜事物充满好奇,善于模仿,具有较好的学习积极性。

教学要求:教师应注重个体差异,因材施教,鼓励学生积极参与实践,注重课程内容的实用性和趣味性,提高学生的学习兴趣。

通过课程学习,使学生在掌握电子琴演奏技巧的同时,培养良好的情感态度和价值观。

在教学过程中,将课程目标分解为具体的学习成果,便于教学设计和评估。

二、教学内容1. 电子琴基础知识:介绍电子琴的结构、演奏原理、音色种类和功能操作。

- 教材章节:第一章 电子琴概述- 内容:电子琴的起源、发展;电子琴各部分功能及操作方法。

2. 基本音乐理论知识:学习音阶、和弦、节奏等基本音乐概念。

- 教材章节:第二章 音乐理论基础- 内容:大、小调音阶;三和弦、七和弦;常见节奏型及拍号。

3. 电子琴演奏技巧:学习电子琴演奏中的基本指法和演奏技巧。

- 教材章节:第三章 电子琴演奏技巧- 内容:指法练习;音色、节奏选择与切换;简单独奏曲练习。

4. 实践与创作:运用所学知识进行实际操作,创作简单的音乐作品。

- 教材章节:第四章 实践与创作- 内容:编配简单的伴奏;创作短小的音乐作品;团队协作完成演奏作品。

微机原理课程设计--电子琴设计

微机原理课程设计--电子琴设计

课程设计说明书题目姓名专业班级系(部)指导老师目录摘要 (1)1 设计任务及要求 (2)2 工作原理 (2)2.1 8253简介 (3)2.28255简介 (4)3设计思路 (4)3.1程序功能描述 (4)3.2程序流程图 (5)3.3DOS/BIOS功能调用 (6)3.3.1INT 16H(键盘I/O中断) (6)3.3.2INT 10H(屏幕及显示器中断) (7)3.3.3 INT 21H(DOS系统功能调用) (8)4 方案比较及论证 (8)5 程序源代码及注释 (8)6 运行结果分析 (11)7 调试过程记录 (12)8 课程设计小结 (13)参考文献 (14)附录 (15)摘要本文通过8255和8253来实现电子琴模拟,主要可以分成两部分,分别为输入部分和发音部分。

输入部分主要是由8255和8个常开型开关来完成。

发音部分由CUP通过对定时器8253的通道2进行编程,使其I/O寄存器接收一个控制声音频率的16位计数值,端口61H的最低位控制通道2门控的开断,以产生特殊的音响。

本文用到的是8253的方式3——方波发生器。

在程序设计中,为了避免过于频繁的调用中断显示字符串,应用了宏定义;还通过子程序调用,有效的解决了跳转和转移过多的问题;再加上合理的DOS和BIOS功能调用,以及各种指令的综合,最终作出了漂亮的电子琴界面,并实现了电子琴演奏高、中、低音,以及播放预存乐曲的功能。

关键词:电子琴 8253定时器 8255 DOS调用宏定义1 设计任务及要求初始条件:用汇编语言设计一个电子琴,在屏幕上显示出来,界面要美观,功能上模拟现实电子琴功能。

要求完成的主要任务:1.实现弹奏功或演奏。

其中弹奏:用户每按一琴键弹奏相应音符;演奏:按下某键后自动弹奏预存琴谱功能;还可以附加变调2.界面要美观。

2 工作原理PC机扬声器电路以及相关接口电路如图2-1。

图2-1 PC机扬声器电路及相关接口电路通过8255和8253来实现电子琴模拟,主要可以分成两部分,分别为输入部分和发音部分。

微机原理课程设计电子琴 (1)

微机原理课程设计电子琴 (1)

简单的电子琴设计1. 2.设计思路本周课程设计中,我们组的设计题目是简单的电子琴.得知这个题目后我们组讨论后确定了设计的流程.首先对8255芯片控制字进行初始化,使其工作在方式0,即基本输入输出状态,将8255的A端口设置为输出,C端口进行输入。

然后将8254芯片设置为工作在方式3,即输出对称方波状态。

A端口为输入,“OUT”指令可将输出对应一定频率的方波送到扬声器中,由此实现发声。

本实验通过频率大小控制发出声音的高低,通过对延时程序的调用控制发出声音的长短。

并通过所编程序实现对键盘的重复扫描,重而可以弹奏多个音符的试验目的。

其中音符与频率的关系如表所示,而持续时间则取决于乐曲的速度和每个音符持续的长短。

在拍号为4/4的乐曲中,每小节包含4拍,全音符持续4拍,二分音符持续2拍,四分音符持续1拍,八分音符持续半拍等等。

根据乐曲进行速度,假设一个全音符分配1S时间,则每拍持续时间为250MS。

如果持续时间的最小单位是10MS,则相应的拍长时间数据为25,该数据存放在BX寄存器中,从而可以确定每个音符的持续时间。

3.程序流程图:简单的电子琴设计4.程序接线图:5.设计源程序及注释MY8255_A EQU 0600HMY8255_B EQU 0602HMY8255_C EQU 0604HMY8255_MODE EQU 0606HMY8254_MODE EQU 06C6HMY8254_A EQU 06C0H ;进行宏定义DATA SEGMENTFREQ_LIST DW 441D,495D,556D,589D,661D,742D,833D,882D,262D,294D,330D,373D,402D,450D,494D,-1DDATA ENDS ;建立数据段CODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AX ;实现段寄存器DS的初始化 MOV DX,MY8255_MODEMOV AL,81HOUT DX,AL ;写8255芯片的控制字,实现工作在方式0,A端口和B端口输出,C端口输入MOV DX,MY8254_MODEMOV AL,36HOUT DX,AL ;使8254工作在方式3,A口输入,运用计数器0,二进制方式BEGIN: CALL CCSCAN ;扫描JNZ INK1 ;有键按下时跳到INK1JMP BEGIN ;没见按下时循环执行BEGIN;确定按下键的位置INK1: MOV CH,0FEH ;确定按下键在第一列MOV CL,00H ;将CL清零COLUM: MOV AL,CH简单的电子琴设计OUT DX,AL ;将CPU中的AL值送到8255的A口中,即送到x1、x2、 x3、x4中MOV DX,MY8255_C ;将8255的C口地址赋给DX IN AL,DX ;将C口的值送到AL中L1: TEST AL,01H ;检验按下键是否在L1JNZ L2 ;不是L1则跳到L2MOV AL,00H ;为了后面用来与FREQ_LIST数据段中数对应JMP KCODE ;强制跳转到KCODEL2: TEST AL,02H ;检验按下键是否在L2JNZ L3 ;不是L2则跳到L3MOV AL,04H ;为了后面用来与FREQ_LIST数据段中数对应。

微机原理实验报告-电子琴

微机原理实验报告-电子琴

微机接口技术课程实验设计报告题目:按键电子琴姓名:学号:************、************班级:2013级电子二班一.设计内容设计一个由80x86系统控制的集成电路,可以实现由键盘控制出不同频率的声音,并且在按动键盘的同时控制八位LED灯的亮灭。

二.设计思路利用80X86系统中,8259,8255,8254三块芯片控制整个电路。

利用8255芯片控制LED灯的亮灭,利用8259的中断组成开关部分,利用8254定时/计数器控制音乐播放。

2.1芯片8259控制部分芯片控制字,采用边沿触发,单片,要写入ICW4控制字,中断类型码控制字:设置IR0~IR7的中断类型码依次为08H、…、0FH方式控制字:非特殊全嵌套方式,主片在非缓冲方式下,中断结束采用非自动结束方式。

2.2芯片8254控制部分通道0:只读写低字节,工作在方式3即方波发生器,计数格式为2进制。

通道1:方式0,计数器,BCD计数,初值01H.2.3芯片8255控制部分A口工作在方式0,作为输入端口用于开关采样;B口工作在方式0,作为输出,连接控制LED灯;C口未定义,默认为输出。

三.硬件电路四.流程图五.按键开始装入频率时间表起始地址计算计数初值并装入计数器调用序并调用延时程序否两个指针递增检测拨键开关并控制LED灯是检测是否结束返回主程序MY8255_A EQU 0600HMY8255_B EQU 0602HMY8255_C EQU 0604HMY8255_MODE EQU 0606HMY8254_MODE EQU 06C6HMY8254_A EQU 06C0HDATA SEGMENTFREQ_LIST DW 221,248,278,294,330,371,416,441DW 495,556,589,661,742,833,882,-1DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATA ;初始化MOV DS,AXMOV DX,MY8255_MODEMOV AL,81H ;8255控制字OUT DX,ALMOV DX,MY8254_MODE ;8254控制字MOV AL,36HOUT DX,ALBEGIN:CALL CCSCAN ;扫描JNZ INK1JMP BEGININK1:MOV CH,0FEHMOV CL,00HCOLUM:MOV AL,CHMOV DX,MY8255_AOUT DX,ALMOV DX,MY8255_CIN AL,DXL1:TEST AL,01HJNZ L2MOV AL,00HJMP KCODEL2:TEST AL,02HJNZ L3MOV AL,04HJMP KCODEL3:TEST AL,04HJNZ L4MOV AL,08HJMP KCODEL4:TEST AL,08HJNZ NEXTMOV AL,0CH KCODE:ADD AL,CLMOV DL,2DMUL DLPLAY:MOV SI,OFFSET FREQ_LISTADD SI,AXMOV DX,0FHMOV AX,4240HDIV WORD PTR[SI]MOV DX,MY8254_AOUT DX,ALMOV AL,AHOUT DX,ALMOV CX,8DNEXT3:CALL DALLYLOOP NEXT3MOV DX,0FHMOV AX,4240HMOV SI,30DDIV WORD PTR[SI]MOV DX,MY8254_AOUT DX,ALMOV AL,AHOUT DX,ALJMP BEGIN NEXT:INC CLMOV AL,CHTEST AL,08HJZ KERRROL AL,1MOV CH,ALJMP COLUM KERR:JMP BEGIN CCSCAN:MOV AL,00HMOV DX,MY8255_AOUT DX,ALMOV DX,MY8255_CIN AL,DXNOT ALAND AL,0FHRETDALLY:PUSH CXMOV CX,000FHT1:MOV AX,009FH T2:DEC AXJNZ T2LOOP T1POP CXRETCODE ENDSEND START。

微机原理与接口实验_电子琴设计

微机原理与接口实验_电子琴设计

微机原理与接口实验_电子琴一、设计目的通过课程设计使学生更进一步掌握微机原理及应用课程的有关知识,提高应用微机解决问题的能力,加深对微机应用的理解。

通过查阅资料,结合所学知识进行软、硬件的设计,使学生初步掌握应用微机解决问题的步骤及方法。

为以后学生结合专业从事微机应用设计奠定基础。

二、设计的原始资料及依据查阅定时器8254,可编程8255及音节的频率范围等资料。

通过改变键盘输入来改变8254输出频率,实现扬声器发音。

三、设计的主要内容及要求利用微机原理试验箱,设计简易电子琴,要求至少可以弹出7个音阶。

四、设计完成后应提交成果的种类、数量、质量等方面的要求;提交课程设计说明书一份。

在说明书中要有设计原理、硬件电路接线图、设计的程序及必要注释等。

七、主要参考资料(文献)1、《微机原理与应用》大连理工大学出版社2、《微机原理与接口技术》北京航空航天大学出版社3、《微型计算机原理与汇编语言》电子工业出版社4、《8088/8086汇编语言程序设计》中央广播电视大学出版社中文摘要和关键词本实验是利用微机原理试验箱、8255芯片、8254芯片、键盘、扬声器等硬件设备,设计简易电子琴。

首先利用了编程程序,编辑了8255芯片控制字, 对其进行初始化,使其工作在方式0,即基本输入输出状态,将8255的A端口设置为输出,C端口进行,经CPU运算后, 输出到8254芯片的A端口中,由此实现对其的初始化。

将8254芯片设置为工作在方式3,即输出对称方波状态。

A端口为输入,“OUT”指令可将输出对应一定频率的方波送到扬声器中,由此实现发声。

本实验通过频率大小控制发出声音的高低,通过对延时程序的调用控制发出声音的长短。

并通过所编程序实现对键盘的重复扫描,重而可以弹奏多个音符的试验目的。

关键字: 编程、工作方式、运算一、设计题目:简易电子琴设计二、设计内容:利用微机原理试验箱,设计简易电子琴。

三、设计目的:通过课程设计使学生更进一步掌握微机原理及应用课程的有关知识,提高应用微机解决问题的能力,加深对微机应用的理解。

微机原理与汇编语言课设——电子琴

微机原理与汇编语言课设——电子琴

微机原理与汇编语言课程设计电子琴学院:计算机科学技术专业:计算机科学与技术(工)班级:计13-1 班姓名:肖林英学号:2013170101 25指导教师:微2016年6 月10 日微机原理与汇编语言课程设计任务书一、题目:电子琴二、设计的目的1. 掌握利用PC机扬声器发出不同频率声音的方法;2. 学习利用系统功能调用从键盘上读取字符的方法;3. 掌握定时器/计数器8253的工作原理;三、设计要求编写程序,程序运行时使PC 机成为一架可演奏的“钢琴”。

当按下数字键1-8时,依次发出1,2,3,4,5,6,7,七个高音和低音,Esc 则退出演奏状态。

独立完成课程设计。

四、设计容及步骤1.PC 机扬声器电路电路图如图1所示:图1 PC 机扬声器控制电路通过给8253定时器装入不同的计数值,可以使其输出不同频率的波形。

当与门打开后,经过放大器的放大作用,便可驱动扬声器发出不同频率的音调。

为使该音调的声音持续一段时间,要插入一段延时程序,之后再将扬声器关闭(关闭与门)。

2.建立音频表要使计算机成为可弹奏的简易电子琴,需要使用系统调用的01H 功能以接收键入字符,并且要建立一音频表。

五、课程设计工作量每人的程序量应在100行有效程序行以上,不得抄袭,否则给不及格成绩。

六、课程设计工作计划2016年6月6日指导教师讲课,学生准备文献资料;2016年6月6日~2016年6月10日每人完成自己程序并能独立演示;2016年6月10日下午验收,学生撰写课程设计报告。

指导教师签字:专业主任签章:微机原理与汇编语言课程设计指导教师评语与成绩目录一、概述 (1)1.课题描述 (1)2.程序设计目的 (1)二、需求分析 (1)三、总体设计 (2)1.电子琴程序 (2)2.单音调子程序SOUND (3)四、详细设计 (3)1.扬声器 (3)2.界面设计 (4)五、调试与运行结果说明 (5)1.主界面 (5)2.退出界面 (6)六、课程设计总结 (6)七、结束语 (7)八、程序清单 (7)参考文献 (14)一、概述1.课题描述随着社会发展,计算机硬件技术越来越多的应用到生活中的各个领域,人们对软硬件技术结合开发出来的产品的要求越来越迫切,需求日益增加,如今用软硬件结合设计电子产品已经成为了一大时尚。

#《微机原理与接口技术》课程设计--简易电子琴设计

#《微机原理与接口技术》课程设计--简易电子琴设计

华夏学院《微机原理与接口技术》课程设计题目:简易电子琴的设计学院(系):信息工程系年级专业:自动化1072学号: 10212407230学生姓名: Y Y指导教师: G Q课程设计任务书学生姓名:专业班级:指导教师:工作单位:题目: 简易电子琴的设计初始条件:1.运用所学的微机原理和接口技术知识;2.微机原理和接口技术实验室的实验箱设备。

要求完成的主要任务:(包括课程设计工作量及其技术要求以及说明书撰写等具要求)使用汇编语言设计一个能够用键盘运行的电子琴,(实现一个以上功能):1.弹奏:用户每按一个键盘琴键就弹奏相应的音符;2.演奏:按下键盘上某一个指定的建后自动弹奏预存琴谱功能;3.变调:按下键盘上某一指定键后,再弹奏和演奏时琴键相应的音符频率变高;按下另一指定键后,再弹奏和演奏时琴键相应的音符频率变低;4.严格按照课程设计说明书要求撰写课程设计说明书。

时间安排:指导教师签名:年月日系主任(或责任教师)签名:年月日基于微机原理简易电子琴的设计摘要系统功能简介:计主要是通过对电子琴主体部分的电路进行模仿设计,达到电子琴固有的基本功能,故叫简易电子琴。

利用定时器可发出不同频率的方波,不同频率的方波经喇叭就会发出不同音调。

其次,定时器按设置的定时参数产生中断,这一次中断发出脉冲低电平,下一次反转发出脉冲高电平,由于定时参数不同,就发出不同频率的方波,本设计中按键一次,会发出方波,松开后随之延时,但在延时的期间继续检测按键,若此时又有键被按下,若被按下的仍为原键则声音不变,否则键盘会译出被按下的另一个键的音调。

单片机控制通用MIDI音源模块制作制作出的电子琴,结构简单,可靠性高,并且价格低廉,具有实用的价值。

这种电子琴能够支持单音和复音弹奏,如果与高品质的音源芯片连接,音质更可与高档电子琴相媲美。

手机中通用的音乐芯片构成音源模块,效果不错,价格更低廉,如韩国产的QS6400 等,这些芯片的驱动要复杂一些,需要对芯片进行初始化设置。

微机原理与接口技术课程设计报告——电子琴

微机原理与接口技术课程设计报告——电子琴

一、设计内容编写一实现电子琴的程序,并实现若干扩展功能。

功能:1.在程序中可预设多首曲目,按不同的敏感键可播放不同的曲目2.弹奏:用户每按一个键盘琴键就弹奏相应的音符;3. 当弹奏不同音阶时,双色点阵LED显示器显示不同的图案二、元件与仪器1.计时器82532.并行控制器8255A3.实验台TDN-MD三、设计原理、思路及流程图1.电子琴的设计原理及思路1.用试验箱上的晶振输出一个高频的信号,接入8253,用软件给8253和敏感键区进行初始化,敏感键控制不同的频率,并送此分频数给8253,从8253输出相应的音频后,接一个非门,再接入硬件扬声器,扬声器接受到不同频率的波后发出不同的声音。

2.用敏感键触发中断服务子程序来判断是给出了哪一个频率。

3.用ESC按键来控制是自动演奏曲目1并亮红灯,其他7个键分别控制da,ri,mi,fa,sa,la,si并亮绿灯。

4.其中用一个延时程序,使得发一个音有一定的延时时间。

5.有个停止程序,使得晶振不能使得扬声器发声。

对于一个特定的D/A转换接口电路,CPU执行一条输出指令将数据送入D/A,即可在其输出端得到一定的电压输出。

给D/A转换器输入按正弦规律变化的数据,在其输出端即可产生正弦波。

对于音乐,每个音阶都有确定的频率。

各音阶标称频率值和8253的计数初值:不同频率的区别,可通过调节向D/A转换器输出数据的时间间隔,例如:发"1"频率为647HZ,周期为1/647=1.55ms,由于实验箱中的晶振可产生一个为1.8432MHZ的频率。

1.625MHZ/647HZ=2511,即分频数。

转化为十六进制的数为:9CFH,再经过频率处理,除以25H得到8253的计数初值:43H。

其他的初值的计算同理。

2.电子琴的硬件框图和硬件连接图图 1 硬件框图图 2 电路连接图3.电子琴的流程图设计四、源程序1.主程序:A 2000MOV AL,86HOUT 63H,ALMOV AX,3000MOV [00A8],AXMOV AX,0000MOV[00AA],AX//表示ESC键的中断向量地址,自动播放音乐MOV AX,3100MOV [00AC],AXMOV AX,0000MOV [00AE],AX//表示`键的中断向量地址,发音1MOV AX,3200MOV [00B0],AXMOV AX,0000MOV [00B2],AX//表示-键的中断向量地址,发音2MOV AX,3300MOV [00B4],AXMOV AX,0000MOV [00B6],AX//表示\键的中断向量地址,发音3MOV AX,3400MOV [00B8],AXMOV AX,0000MOV [00BA],AX//表示;键的中断向量地址,发音4MOV AX,3500MOV [00BC],AXMOV AX,0000MOV [00BE],AX//表示,键的中断向量地址,发音5MOV AX,3600MOV [00C0],AXMOV AX,0000MOV [00C2],AX//表示。

微机原理课程设计—电子琴的设计之欧阳术创编

微机原理课程设计—电子琴的设计之欧阳术创编

课程设计任务书学生姓名:刘沛专业班级:电气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端口,从而最大限度地发挥硬件的功能。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

前言
本实验是利用微机原理试验箱、8255芯片、8254芯片、键盘、扬声器等硬件设备,设计简易电子琴。

首先利用了编程程序,编辑了8255芯片控制字, 对其进行初始化,使其工作在方式0,即基本输入输出状态,将8255的A端口设置为输出,C端口进行,经CPU运算后, 输出到8254芯片的A端口中,由此实现对其的初始化。

“OUT”
将8254芯片设置为工作在方式3,即输出对称方波状态。

A端口为输入,
指令可将输出对应一定频率的方波送到扬声器中,由此实现发声。

本实验通过频率大小控制发出声音的高低,通过对延时程序的调用控制发出声音的长短。

并通过所编程序实现对键盘的重复扫描,重而可以弹奏多个音符的试验目的。

关键字: 编程、工作方式、运算
一、设计题目:
简易电子琴设计
二、设计内容:
实验电路如图16-1,8253的CLK0接1MHZ时钟,GATE0接8255的PA1,OUT0和8255的PA0接到与门的两个输入端,K8跳线连接喇叭,编程使计算机的数字键
1、2、3、4、5、6、7作为电子琴按键,按下即发出相应的音阶。

三、设计目的:
1、通过8253产生不同的频率信号,使PC机成为简易电子琴。

2、了解利用8255和8253产生音乐的基本方法。

3、通过课程设计使学生更进一步掌握微机原理及应用课程的有关知识,提高应用微机解决问题的能力,加深对微机应用的理解。

通过查阅资料,结合所学知识进行软、硬件的设计,使学生初步掌握应用微机解决问题的步骤及方法。

为以后学生结合专业从事微机应用设计奠定基础。

四、设计要求:
1.可以弹出7个音阶。

2.弹奏简短音乐。

3.通过改变键盘输入来改变8254输出频率,实现扬声器发音
五、编程提示:
1、利用8255的PA0口来施加控制信号给与门,用来控制扬声器的开关状态。

再利用设置不同的计数值,使8253产生不同频率的波形,使扬声器产生不同频率的音调,达到类似与音阶的高低音变换。

对于音乐,每个音阶都有确定的频率。

各音阶标称频率值:
音阶 1 2 3 4 5 6 7 1*
低频率(单位:Hz) 262 294 330 347 392 440 494 524
高频率(单位:Hz) 524 588 660 698 784 880 988 1048
六、设计原程序及注解
;*******************************;
;* 电子琴实验 *;
;*******************************;
data segment
io8255a equ 288h
io8255b equ 28bh
io8253a equ 280h
io8253b equ 283h
table dw 524,588,660,698,784,880,988,1048;高音的
;table dw 262,294,330,347,392,440,494,524;低音的
msg db 'Press 1,2,3,4,5,6,7,8,ESC:',0dh,0ah,'$'
data ends
code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
mov dx,offset msg
mov ah,9
int 21h ;显示提示信息
sing:
mov ah,7
int 21h ;从键盘接收字符,不回显
cmp al,1bh
je finish ;若为ESC键,则转finish
cmp al,'1'
jl sing
cmp al,'8'
jg sing ;若不在'1'-'8'之间转sing
sub al,31h
shl al,1 ;转为查表偏移量
mov bl,al ;保存偏移到bx
mov bh,0
mov ax,4240H ;计数初值 = 1000000 / 频率, 保存到AX mov dx,0FH
div word ptr[table+bx]
mov bx,ax
mov dx,io8253b ;设置8253计时器0方式3, 先读写低字节, 再读写高字节
mov al,00110110B
out dx,al
mov dx,io8253a
mov ax,bx
out dx,al ;写计数初值低字节
mov al,ah
out dx,al ;写计数初值高字节
mov dx,io8255b ;设置8255 A口输出
mov al,10000000B
out dx,al
mov dx,io8255a
mov al,03h
out dx,al ;置PA1PA0 = 11(开扬声器)
call delay ;延时
mov al,0h
out dx,al ;置PA1PA0 = 00(关扬声器)
jmp sing
finish:
mov ax,4c00h
int 21h
delay proc near ;延时子程序
push cx
push ax
mov ax,15
x1: mov cx,0ffffh
x2: dec cx
jnz x2
dec ax
jnz x1
pop ax
pop cx
ret
delay endp
code ends
end start
七、程序流程图:
八、硬件连线图
九、实验结果
连接完线路后启动电路开关,然后运行程序,就会出现提示界面,然后键盘输入数字即可有相应音阶音乐从喇叭处播放。

十、实验中遇到了的问题及解决方法
在实验中遇到了很多问题其主要是代码的编译类错误,在通过网上查阅相关资料以及在老师同学帮助下这些困难都迎刃而解了。

才使程序完美运行。

总结
这是一次成功的实训,也是应值得远记住的一次实训,在这次实训中我充分感受到了集体的力量,在我组组员的共同努力下,我们的电子琴程序从无到有、功能从弱到强,一步步的走向成功,同时也感谢陈老师给我这样一次锻炼的机会,让我的人生经历有丰富了一些并且这段经历将成为我生活中一段宝贵的精神财富。

参考文献:
1、《8088/8086汇编语言程序设计》中央广播电视大学出版社
2、《微机原理与接口技术》北京航空航天大学出版社
3、《微型计算机原理与汇编语言》电子工业出版社
4、《微机原理与应用》大连理工大学出版社
5、《现代微机原理与接口技术》电子工业出版社。

相关文档
最新文档