电子琴设计(共22页).doc
《电子琴设计(共22页).doc》由会员分享,可在线阅读,更多相关《电子琴设计(共22页).doc(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上微机原理课程设计报告题 目: 简易电子琴设计 学院(系):武汉理工大学华夏学院信息工程系 年级专业: 电子信息工程1073班 学 号: 学生姓名: 张孝勇 指导教师: 甘泉 课程设计任务书学生姓名: 张孝勇 专业班级: 电信1073班 指导教师: 甘泉 工作单位: 华夏学院 题 目: 简易电子琴的设计 初始条件:1 运用所学的微机原理和接口技术知识;2 微机原理和接口技术实验室的实验箱设备。要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)使用汇编语言设计一个能够用键盘运行的电子琴,(实现一个以上功能):1.弹奏:用户每按一个键盘琴键就
2、弹奏相应的音符;2.演奏:按下键盘上某一个指定的建后自动弹奏预存琴谱功能;3.变调:按下键盘上某一指定键后,再弹奏和演奏时琴键相应的音符频率变高;按下另一指定键后,再弹奏和演奏时琴键相应的音符频率变低;4.严格按照课程设计说明书要求撰写课程设计说明书。时间安排:序号阶 段 内 容所需时间(天)1设计思路、原理电路设计12编程,调试33撰写课程设计报告1合 计5指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日目录一、摘要4二、课题设计任务52.1课程设计环境52.2设计任务 5三、方案设计63.1方案的论证与比较 63.2方案确定 63.3主要芯片功能介绍 63.5硬件电路设计9
3、四、软件设计104.1 主程序流程图 104.2 发声程序设计 114.3 按键程序设计 124.4 声调定义 13五、系统电路的安装与调试145.1 硬件调试 145.2 软件调试 145.3 调试过程 14六、设计体会与小结15七、参考文献16八、附录178.1完整电路图178.2完整程序17一、摘要本文主要介绍了现代微机原理与接口技术的应用-简易电子琴系统的设计与实现过程的设计。电子琴是我们日常生活接触的比较多的电子器件,因此掌握他的基本原理对于我们专业技术的学习有很好的提升作用。系统采用8086微处理器作为处理器和可编程的8255A芯片为主设计简易电子琴。设计重点在于产生特定频率的脉冲
4、从而驱动蜂鸣器发出相应的声音。本次设计主要使用8255作为普通IO端口产生相应频率脉冲,通过实验计算得计算机系统的程序执行时间长度,编写一定时长的延时函数。便可在特定时长内改变8255某个输出口的电平状态,从而获得相应频率值的脉冲信号。将并行接口芯片8255的B端口连接上按键,编写按键查询函数设定相应按键功能,当查询到按键时便可执行相应的发声程序,即弹奏相应音符,或发出特定的乐曲。并在发声的过程中穿插查询按键函数,当查询到相应的按键后改变声调数据,实现音调的改变。从而实现电子琴的设计。 二、课题设计任务与要求2.1课程设计环境:1.运用所学的微机原理和接口技术知识;2.微机原理和接口技术实验室
5、的实验箱设备。唐都实验箱TDN 86/88wmd86软件2.2设计任务: 使用汇编语言设计一个能够用键盘运行的电子琴,(实现一个以上功能):1.弹奏:用户每按一个键盘琴键就弹奏相应的音符;2.演奏:按下键盘上某一个指定的建后自动弹奏预存琴谱功能;3.变调:按下键盘上某一指定键后,再弹奏和演奏时琴键相应的音符频率变高;按下另一指定键后,再弹奏和演奏时琴键相应的音符频率变低;三、方案设计3.1方案的论证与比较方案一、利用可编程定时/计数器接口芯片8253和可编程并行接口芯片8255A控制产生我们所需的频率。8253可编程定时/计数器是Inter公司生产的通用外围芯片之一。它有3个独立的十六位计数器
6、,计数频率范围为0-8MHz。它所有的计数方式和操作方式都通过编程控制。系统中,8253的0通道输出线与8259的0中断请求线,作为实时钟中断信号。1通道入口接1.8432MHz的信号源,输出接8251的收发时钟端,供串行通迅使用,这里的1计数器仅当作一个分频器使用。2通道以排针形式引出,开放给用户使用。因此我们可以使用8253的2计数器产生相应的频率脉冲信号,连接到蜂鸣器电路。8255芯片连接按键,编写相应的按键查询程序,当查询到不同按键按下时,进入相应的子程序,控制计数器8253发出不同频率段的脉冲信号输出给蜂鸣器,从而产生相应的音符。方案二、使用可编程并行接口芯片8255A为主体电路获得
7、相应音频信号。通过实验计算得计算机系统的程序执行时间长度,编写一定时长的延时函数。便可在特定时长内改变8255某个输出口的电平状态,从而获得相应频率值的脉冲信号。将并行接口芯片8255的B端口连接上按键,编写按键查询函数设定相应按键功能,当查询到按键时便可执行相应的发声程序,即弹奏相应音符。3.2方案确定方案一需要使用8253和8255两款主体芯片,而方案二只需要一个8255就可以实现所有的电子琴功能,电路连接简单。方案一由于使用计数器8253作为脉冲产生电路,其产生频率稳定,而且编写8253的程序也较为简单。使用8255产生一定频率脉冲,需要我们精确计数软件执行时间,并编写相应的延时程序,从
8、而得到我们所需要的频率脉冲输出。编写程序较为复杂。考虑到我们本次课程设计目的就是让我们熟悉微机原理技术,并以此提高我们的编写汇编语言的能力,故本次设计采用方案二,即利用8255作为主体芯片设计简易电子琴。3.3主要芯片功能介绍本次电子琴系统主要用到的芯片有可编程并行接口芯片8255A和74LS00,以及八个按键。8255可编程外围接口芯片是Intel公司生产的通用并行I/0接口芯片。8255A芯片中包含3个8位端口:A口,B口和C口。这3个端口均可作为CPU与外设通信时的缓冲器或锁存器。一般来说,它们作为缓冲器使用时,就是输入接口;作为锁存器使用时,就是输出接口。8255的内部结构如图7-1所
9、示。2.8255A的编程所谓8255A的编程,就是用户在使用8255A前,可用软件来定义端口的工作方式,选择所需要的功能。掌握8255A编程是正确使用该芯片的前提,为此须先了解8255A的控制命令。(1)8255A的方式控制字这是一个8位的控制字,代表的信息非常丰富,上面提到8255A内部的3个端口位A、B两组,因此方式控制字也就相应地分成两个部分,分别控制A组和B组,其格式如下:,位该控制字的标志。A组由、和组成。其中和为工作方式选择,见表1;位A口的输入、输出选择,见表2;位C口高4位的输入、输出选择,见表3。 B组由、和组成。其中为工作方式选择,见表4;为B口的输入/输出选择,见表5;为
10、C口的低四位的输入/输出选择,见表6。 方式控制字未规定C口的工作方式,只定义了C口数据的传输方向,这就表明C口要么作为联络线使用,要么只工作在方式0。 3. 系统中的8255芯片 8255的数据线片选信号线、地址线、读写控制线等分别与系统总线相连,其A、B、C三个端口以排针形式引出,供8255实验使用,其线路如图2所示, 本次课程设计实验室中使用的TDN 86-88微机实验箱系统中的8255A芯片各个端口地址如表7所示。表7 系统中8255端口地址信 号 线寄 存 器编 址I0Y3A口60HB口61HC口62H控制寄存器63H3.5硬件电路设计 根据8255A芯片的功能我们设计的简易电子琴系
11、统如图 我们将使用8255A芯片的A口与B口。8255A芯片A端口定义为输出端口,产生我们所需要的音频脉冲输出。由于8255A芯片作为普通I/O口时输出电流有限,故在其输出端连接一个与非门74LS00以增加输出驱动力。将74LS00的两个输入管脚连接在一起作为输入端便构成了一个非门。在试验箱上电但未运行程序的情况下,8255A为未定义的状态。实验得到若将PA0端口连接在蜂鸣器电路输入端,蜂鸣器连续发出声响。说明此时,8255A芯片的初始态被蜂鸣器电路认为为高电平。连接上74LS00,将8255A芯片的高阻态拉低为低电平,蜂鸣器便不再发声。8255A芯片B端口定义为输入端。该端口连接8个按键,按
12、键的一端连接在地上,另一端通过5.1K电阻后连接在+5V电源上,并用插针引出,那么初始状态按键输出为高电平,当按键按下后变为低电平。四、软件设计4.1 主程序流程图 根据设计要求4.2 发声程序设计 我们将发声程序定义为一个过程子程序sound proc,其调用格式为:mov si,re ;si寄存器传递不同音调所对应的数据call sound ;调用指令这样当我们需要蜂鸣器发出不同音调音时,只需将不同音调所对应的数据传递给si寄存器后调用sound子程序便能使蜂鸣器发出我们所需的声音。整个发声程序如下所示。sound proc near ;定义声音过程子程序。 mov dx,200h sub
13、 dx,si ;将200h减去si寄存器中内容后送人dx寄存器g1:mov bx,si ;si寄存器中内容送人bx寄存器,供voice使用call voice ;调用voice程序, dec dx ;dx寄存器减一,即dx值决定调用voice次数 jnz g1 in al,61h ;查询B端口按键情况。 cmp al,b ;判断K1是否有按键按下。 jnz a1 ;若无,正常执行程序。 jz a2 ;若K1按键按下,停止发声进入主函数 cmp al,b ;判断K2键按下 jnz a1 ;若无,正常执行程序 jz a3 ; a3:add bx,100h ;若K2键按下,bx值加100h,使得声音
14、变调。 jmp a1 a2:call start a1:ret sound endp ;过程结束voice proc near ;定义voice过程程序,使PA0口发出高低脉冲。 mov al,00h out 60h,al ;PA0输出低电平 mov cx,bx ;将bx寄存器中内容传递给cx寄存器 call delay ;调用延时程序,时长由bx寄存器中内容决定 mov al,01h out 60h,al ;PA0输出高电平 mov cx,bx call delay ;调用同样时长延时程序 retvoice endp ;过程结束delay proc near ;定义延时过程程序。 delay
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子琴 设计 22
限制150内