《微机原理与接口技术》课程设计--电子琴软件设计

合集下载

微机课程设计电子琴PC电子琴

微机课程设计电子琴PC电子琴

微机课程设计电子琴PC电子琴一.设计的目的与意义 (2)二.设计的内容与要求 (2)三.系统的硬件设计 (3)3.1所用芯片的功能介绍 (3)3.2系统原理与硬件电路 (5)四.系统的软件设计 (6)4.1软件操纵流程 (6)4.2程序清单 (7)五.系统调试与运行 (16)六.设计收成 (16)七.要紧参考文献 (17)一.设计的目的与意义本课程设计要紧是通过汇编语言用软件编程的方法实现简单的PC仿真电子琴。

通过在«微机原理与接口技术»课程上所学的汇编知识和相关芯片知识,来完成本课程设计。

学习和把握运算机中常用接口电路的应用和设计技术,充分认识理论知识对应用技术的指导性作用,进一步加强理论知识与应用相结合的实践和锤炼。

通过这次设计实践能够进一步加深对专业知识和理论知识学习的认识和明白得,使自己的设计水平和对所学的知识的应用能力以及分析问题解决问题的能力得到全面提高。

二. 设计内容与要求设计一个利用DAC0832的输出数字声音的接口电路〔可参考实验台原理图〕,DAC0832的输出接至有源音箱,编程实现如下功能:1、按键发声:〔1〕当从键盘上敲击Q ~ U键时,音箱发出1 ~ 7的高音阶;〔2〕当从键盘上敲击A ~ J键时,音箱发出1 ~ 7的中音阶;〔3〕当从键盘上敲击Z ~ M键时,音箱发出1 ~ 7的低音阶;〔4〕按ESC键,程序终止。

2、屏幕上方显示课程设计题目、使用方法、作者姓名、单位及版权等信息3、屏幕下方显示钢琴键盘形状,当按动不同音阶的键时,相应的乐键要出现被按下的形状。

三. 系统的硬件设计3.1所用芯片的功能介绍1.DAC0832芯片介绍DAC0832是由8位输入锁存器、8位DAC寄存器、8位D/A转换电路组成,采纳二次缓冲方式,如此能够在输出的同时,输入下一个数据,以提高转换速度。

更重要的是能够在多个转换器同时工作时,有可能同时输出模拟量。

其内部逻辑结构如下图。

基于8086电子琴的设计与实现

基于8086电子琴的设计与实现

郑州科技学院《微机原理与接口技术》课程设计题目_基于8086电子琴的设计与实现学生姓名专业班级12级计算机科学与技术一班学号院(系)信息工程指导教师完成时间 2015 年 1 月 11 日目录1 引言 (1)2 设计方案与论证 (3)2.1方案一 (3)2.2 方案二 (3)2.2.1设计思路 (4)2.2.2各个音节频率的设定 (8)3 设计原理及功能说明 (9)3.1硬件 (9)3.1.1 8253简介 (10)3.1.2 8255简介 (12)3.2 软件 (14)3.2.1 设计实验总流程图 (14)3.2.2 设计子程序流程图 (15)4 调试与结果测试 (17)4.1 硬件调试 (17)4.2 软件调试 (20)4.3测试方案和测试结果 (22)5 总结 (23)参考文献 (26)附录1:总体电路原理图 (27)附录2:元器件清单 (28)附录3:源代码 (29)1 引言随着电子技术的发展,计算机在现代科学技术的发展中起着越来越重要作用。

多媒体技术、网络技术、智能信息处理技术、自适用控制技术、数据挖掘与处理技术等都离不开计算机。

本次课程设计是基于微机原理与接口技术的简单应用。

微机技术目前运用最广泛的就是单片机。

单片机是随着大规模集成电路的出现极其发展,将计算机的CPU、RAM、ROM定时/计数器和多种I/O接口集成在一片芯片上,形成了芯片级的计算机,因此单片机早期的含义称为单片微型计算机。

它拥有优异的性价比、集成度高、体积小、可靠性高、控制功能强、低电压、低功耗的显著优点.主要应用于智能仪器仪表、工业检测控制、机电一体化等方面,并且取得了显著的成果。

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

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

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

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

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

微机原理与接口技术课程设计基于 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的交替变化,从而产生一串脉冲控制波形,这些脉冲经过放大后驱动扬声器发出声音。

微机接口课程设计----电子琴源代码(能直接运行)

微机接口课程设计----电子琴源代码(能直接运行)

电子琴源代码(直接能运行)1. 编程使计算机的数字键1、2、3、4、5、6、7作为电子琴按键,按下即发出相应的音阶。

按ESC键退出。

2. 接收键盘乐谱输入,实现录音功能,然后播放。

3. 编制乐谱,让上述电路发出设定好的乐曲或歌曲。

各个节拍的时间可以使用软件延时实现。

4. 请使用8253另一个计数器实现更准确的硬件定时,设计连接电路,并运用于上述乐谱演奏的节拍中(例如,将计数器输出连接到8255某个输入引脚,通过检测引脚高低判断定时时间是否到达)。

stack segment stackdb 1024 dup(0)stack endsdata segment;****定义8253,8255的端口地址****io8255a equ 288h ;定义8255的A端口地址io8255b equ 28bh ;定义8255的控制端口io8255c equ 28ah ;定义8255的C端口地址io8253a equ 280h ;定义8253的计数器0端口io8253b equ 283h ;定义8253的控制端口io8253c equ 281h ;定义8253的计数器1端口io8253d equ 282h ;定义8253的计数器2端口;****定义音符的频率*****table1 dw 1048,1175,1319,1397,1568,1760,1976 ;高音table2 dw 524,588,660,698,784,880,988 ;中音table3 dw 262,294,330,349,392,440,494 ;低音;****定义主界面的显示提示字符****string db ' *Electronic organ* ' ,0dh,0ah db ' *---------------------------------------------------------------*',0dh,0ahdb ' | *--Choose 1 to play a piano (Press 1) |',0dh,0ahdb ' | *--Choose 2 to play a song (Press 2) |',0dh,0ahdb ' | *--Choose 3 to record and play(Press 3) |',0dh,0ahdb ' | *--Choose 4 to controled by hardware(Press 4) |',0dh,0ahdb ' | *--Choose ESC to exit . |',0dh,0ahdb ' *---------------------------------------------------------------*',0dh,0ah,'$'crlf db 0dh,0ah,'$'string1 db 0dh,0ah,'--You choose 1 .Now you can play . ',0dh,0ah,'$'string2 db 0dh,0ah,'--You choose 2 .Please choose a Song .',0dh,0ah,'$'string3 db 0dh,0ah,'--You choose 3 .Now you can record a Song .',0dh,0ah,'$'string4 db 0dh,0ah,'--You choose 4 .to controled by hardware',0dh,0ah,'$'msg db '--Press 1-7 A-H or a-g to play and "ESC" to return interface ',0dh,0ah,'$'msg1 db '--(1)<< Little star >> - - - Press 1 ',0dh,0ahdb '--(2)<< Happy Birthday >> - - - Press 2 ',0dh,0ahdb '--ESC to exit . ',0dh,0ah,'$'msg2 db '--Record (end with "#" ,"Enter" to play) and "ESC" to return .',0dh,0ah,'$'msg3 db '--Replay ("r")/Record ("p") and "ESC" to return interface .',0dh,0ah,'$'msg4 db '--Choose Y to open hardware delay N to close hardware delay',0dh,0ah, '$' pmsg db '--Playing...Any key to stop...',0dh,0ah,'$'repl db '--Relay or ESC to return interface .', 0dh,0ah,'$'delayjudge byte 0music db 100 dup('#')music1 db '3355665 4433221#'music2 db 'ee f e 1 G ee f e 2 1 ee 5 3 1 g 44 3 1 2 3 #'data endscode segmentassume cs:code,ds:data;**********************主函数***************************8start:prog:mov ax,datamov ds,axmov delayjudge,0 ;默认延时方式是软件延时mov dx,offset stringmov ah,9int 21h ;显示提示信息choose:mov ah,08hint 21h ;从键盘接收字符,不回显cmp al,1bhje finish ;/****若为ESC键,则转finish****/cmp al,'1'je call1 ;跳转第一个选择的响应程序jl choosecmp al,'2'je call2 ;跳转第二个选择的响应程序cmp al,'3'je call3 ;跳转第三个选择的响应程序cmp al,'4'je call4 ;跳转第四个选择的响应程序jg choose ;若不在'1'-'4'之间转choose;****************第一个选择(选择1-8之间敲击音符)*****call1:mov dx,offset string1mov ah,9int 21h ;显示提示信息call prod1 ;跳转到第一个子程序mov dx,offset crlfint 21hjmp prog;****************第二个选择(选择播放一首歌曲)*****call2:mov dx,offset string2mov ah,9int 21h ;显示提示信息call prod2 ;跳转到第二个子程序mov dx,offset crlfmov ah,9int 21hjmp prog;****************第三个选择(选择录一首歌然后播放)***** call3:mov dx,offset string3mov ah,9int 21h ;显示提示信息call prod3 ;跳转到第三个子程序mov dx,offset crlfmov ah,9int 21hjmp prog;****************第四个选择(选择延时方式)*****call4:mov dx,offset string4mov ah,9int 21h ;显示提示信息mov dx,offset msg4mov ah,9int 21hmov ah,7int 21h ;从键盘接收字符,不回显cmp al,1bhje progcmp al,'Y' ;如果是Y则选择硬件延时je yescmp al,'N' ;如果是N则选择软件延时mov delayjudge,0jmp goyes:mov delayjudge,1go:finish:mov ax,4c00hint 21h;--------------------------------------------------------------------------------------------;**********播放音符子程序*********playm proc nearpush axt1:cmp al,'1' ;判断高音部分jl t2cmp al,'8'jl rhythm1t2:cmp al,'A' ;判断中音部分jl t3cmp al,'H'jl rhythm2t3:cmp al,'a' ;判断低音部分jl returncmp al,'h'jl rhythm3jmp return1rhythm1: ;高音弹奏sub al,31hshl al,1mov bl,al ;保存偏移到bxmov bh,0mov ax,4240H ;计数初值=1000000/ 频率,保存到AX mov dx,0fhdiv word ptr[table1+bx] ;转为查表偏移量jmp singingrhythm2: ;低音弹奏sub al,'A'shl al,1 ;转为查表偏移量mov bl,al ;保存偏移到bxmov bh,0mov ax,4240H ;计数初值=1000000/ 频率,保存到AX mov dx,0fhdiv word ptr[table2+bx]jmp singing ;转为查表偏移量rhythm3: ;低音弹奏sub al,'a'shl al,1 ;转为查表偏移量mov bl,al ;保存偏移到bxmov bh,0mov ax,4240H ;计数初值=1000000/ 频率,保存到AXmov dx,0fhdiv word ptr[table3+bx] ;转为查表偏移量singing:mov bx,axmov dx,io8253b ;设置8253计时器0方式3,先读写低字节,再读写高字节mov al,00110110Bout dx,almov dx,io8253amov ax,bxout dx,al ;写计数初值低字节mov al,ahout dx,al ;写计数初值高字节mov dx,io8255b ;设置8255A口输出mov al,10000001bout dx,almov dx,io8255amov al,03hout dx,al ;置PA1PA0 =11(开扬声器)return:pop axretplaym endp;/*************************** 延时子程序************************************/ delay proc near ;延时子程序push cxpush axmov ax,60 ;/****控制每拍时间****/x1: mov cx,0ffffhx2: dec cxjnz x2dec axjnz x1pop axpop cxretdelay endp;/**************************硬件延时子程序************************************** delayh proc nearpush dxmov dx,io8253b ;设置8253计时器1方式3,先读写低字节,再读写高字节mov al,7eh ;01111110bout dx,almov dx,281hmov ax,500out dx,al ;写计数初值低字节mov al,ahout dx,al ;写计数初值高字节mov dx,io8253b ;设置8253计时器2方式3,先读写低字节,再读写高字节mov al,0beh ;10111110bout dx,almov dx,282hmov ax,1000out dx,al ;写计数初值低字节mov al,ahout dx,al ;写计数初值高字节lab7:mov dx,28ah ;通过8255C口PC0如果为低时就跳出循环结束延时in al,dxand al,01hcmp al,01hje lab7pop dxpop axretdelayh endp;/********************* 子程序(1)实现***************************************/ prod1 proc nearmov dx,offset msgmov ah,9int 21h ;显示提示信息sing:mov ah,7int 21h ;从键盘接收字符,不回显cmp al,1bhje return1 ;/****若为ESC键,则转return1结束子程序call playm ;调用播放音乐子程序并开启扬声器cmp delayjudge,0 ;判断选择延时程序je d11cmp delayjudge,1call delayhd11:call delayd12:mov dx,io8255a ;延时结束关扬声器mov al,0hout dx,al ;置PA1PA0 =00(关扬声器)jmp singreturn1:retprod1 endp;/***************************子程序(2)实现**************************/ prod2 proc nearprog1:mov dx,offset msg1mov ah,9int 21h ;显示提示信息choose1:mov ah,01hint 21h ;从键盘接收字符,不回显cmp al,1bhje return1 ;若为ESC键,则转上层cmp al,'1'je call11jl choose1cmp al,'2'je call22jg choose1 ;若不在'1'-'2'之间转choose1call11:mov dx,offset pmsgmov ah,9int 21h ;显示提示信息jmp playm1call22:mov dx,offset pmsgmov ah,9int 21h ;显示提示信息jmp playm2playm1:mov si,0play1:push axmov ah,0bhint 21hcmp al,00ffh ;判断是否有键按下中断播放音乐pop axje prog1mov al,music1[si]inc sicmp al,'#'je prog1 ;若为#键(播放完),则转model2界面cmp al,' 'je stcmov cl,alstc: mov al,clcall playmcmp delayjudge,0je d21cmp delayjudge,1call delayhjmp d22d21:call delayd22:mov dx,io8255amov al,0hout dx,al ;置PA1PA0 =00(关扬声器)jmp play1playm2:mov si,0play2:push axmov ah,0bhint 21hcmp al,00ffhpop axje return11mov al,music2[si]inc sicmp al,'#'je return11 ;若为'#'键(播放完),则转model2界面cmp al,' 'je stc2mov cl,alstc2: mov al,clcall playmcmp delayjudge,0je d31cmp delayjudge,1call delayhjmp d32d31:call delayd32:mov dx,io8255amov al,0hout dx,al ;置PA1PA0 =00(关扬声器)jmp play2return11 :jmp prog1return2:retprod2 endp;/********************* 子程序(3)实现***************************************/ prod3 proc nearrec:mov dx,offset msg2mov ah,09hint 21h ;显示提示信息mov ah,7int 21hcmp al,1bhje returninfmov dx,offset musicmov ah,0ah ;从键盘读取一串字符串从第二个字节存放int 21hreplm:mov dx,offset pmsg ;显示"正在播放"的信息mov ah,9int 21h ;显示提示信息mov si,2sing3:push axmov ah,0bh ;判断是否有按键按下,按下为AL'ff'不按为'00'int 21hcmp al,00ffhpop axje return3mov al,music[si]inc sicmp al,'#'je return3cmp al,' 'je stc3mov cl,alstc3: mov al,clcall playmcmp delayjudge,0je d41cmp delayjudge,1call delayhjmp d42d41:call delayd42:mov dx,io8255amov al,0hout dx,al ;置PA1PA0 =00(关扬声器)jmp sing3return3:mov dx,offset msg3 ;播放完给出提示,继续R 录音P 返回ESC mov ah,9int 21hpand:mov ah,7int 21hcmp al,1bhje returninfcmp al,'r'je replmcmp al,'p'je recjmp pandreturninf:retdelay3:call delayjmp sing3prod3 endpcode endsend start。

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

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

微机原理与接口技术课程设计——简易电子琴的设计作者:王雨轩指导老师:张金花摘要:本设计主要是利用可编程并行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 课题描述 ..................................................................... . (1)1.1 DICE-8086k试验系统 ..................................................................... .. (1)1.2 8255与8253结构 ..................................................................... (1)1.3功能说明 ..................................................................... . (4)2 设计过程 ..................................................................... . (6)2.1硬件设计...................................................................... . (6)2.2软件设计...................................................................... . (6)2.3系统原理说明 ..................................................................... (7)3 测试 ..................................................................... ........................................................................9总结 ..................................................................... ........................................................................10附录代码 ..................................................................... . (11)参考文献 ..................................................................... (13)1 课题描述随着社会发展,计算机硬件技术越来越多的应用到生活中的各个领域,人们对软硬件技术结合开发出来的产品的要求越来越迫切,需求日益增加,如今用软硬件结合设计电子产品已经成为了一大时尚。

微机原理课程设计电子琴 (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数据段中数对应。

微机原理课程设计 电子琴课程设计报告

微机原理课程设计 电子琴课程设计报告

计算机与信息工程系《系统接口设计》报告电子琴课程设计院系:计算机信息工程系专业:计算机应用班级:Z090551班学号:Z09055115姓名:刘莎指导老师:赵国增完成时间:2011年6月10日评语:成绩:批阅教师签名:批阅时间:目录摘要 (1)第1章电子琴课程设计 (2)1.1 电子琴课程设计的目的与意义 (2)1.1.1 电子琴课程设计的目的 (2)1.1.2 电子琴课程设计的意义 (2)1.2 电子琴课程设计的内容与要求 (2)1.2.1 电子琴课程设计的内容 (2)1.2.2 电子琴课程设计的要求 (3)1.3 电子琴课程设计应解决的主要问题 (3)第2章电子琴课程设计的原理、思路和流程图 (3)2.1 电子琴课程设计的原理 (3)2.1.1 各个音节频率的设定 (4)2.1.2 电路连接图 (4)2.2 电子琴课程设计思路 (5)2.3 电子琴课程设计的流程图 (5)第3章电子琴课程设计的源代码 (9)第4章系统调试与运行 (20)4.1 电子琴课程设计运行结果 (20)4.2 电子琴课程设计的特色和改进方向 (21)第5章心得体会 (22)参考文献 (22)摘要随着科技的高速发展,计算机已经经过了好几代的更新,然而计算机的运行的基本原理依然没有改变的。

而今,我们通过两年的学习,已经初步了解了计算机的基本结构和原理,并且已经学会了用汇编语言进行基本的程序编写。

而本次课程设计的主要目的就是巩固所学过的知识,用汇编语言熟练地运用三大结构,进一步掌握一些指令的功能、掌握子程序的定义及调用和中断的使用,同时熟练运用通用寄存器和堆栈来进行编写一个完整的具有某种特定功能的程序。

这个简易的电子琴设计采用了软硬件结合的方法完成了设计的要求不。

应用了8255和8253的芯片,CPU和8086达到软硬件的结合。

从而实现了PC机电子琴的弹奏和播放音乐的两种功能:1 、弹奏用户每按奏一个键盘琴键就会发出相应的音符;2、按下键盘上某些特定的键后,会自动弹奏预存琴谱的功能。

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