版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
16/17可存储式电子琴可存储式电子琴组员:指导老师:班级:时间:目录一、设计方案 31.1设计任务 31.2原理概括 31.3硬件电路连接图 3二、背景知识 42.1音乐知识 42.2硬件知识 42.2.18255器件 42.2.28253器件 5三、软件主要模块流程图及程序 63.1总体设计流程图 63.2发音和存储流程图 83.3设计程序及相关说明 9四、设计总结 111.1设计任务分配 111.2设计完成的功能与加工 121.3设计体会 12五、参考文献 13六、效果演示 13设计方案1.1设计任务设计一个简单的电子琴,可完成以下任务:利用键盘控制音响发音,可发出从音乐中的至少七个音调;音响发音由按键时间控制,即按多长时间,声音就响多长时间;实现存储功能,手演奏完可回放;能播放预先存储的音乐。1.2原理概括我们利用8255、8253、输入输出接口、八个开关、音响及八个彩灯设计了简单的电子琴。在总体设计上是根据按键值调整8255来控制8253门信号使得其频率的产生和消失,进而控制了声音的产生和消失。在部分设计上,首先,声音的发出是由8253来控制的,8253产生不同的频率相应地控制音响产生不同的声音;其次,我们设计了彩灯和键值相关联,即各种声音的产生会有对应的灯亮;最后,我们利用了开关代替了键盘更加得方便检测。1.3硬件电路连接图二、背景知识2.1音乐知识决定音乐的两个主要因素是音调和音色,音调由频率决定,而8253根据预定常数的不同输出不同的频率,然后通过扬声器发出不同音调的声音,通过开关打开时间的长短来控制发声时间的长短。表一:频率与音符的对应关系音调DORAIMIFASOLAXI频率7634680260615764510245454049表二:开关功能说明(从右向左依次为1-8):开关123456781、2功能DORAIMIFASOLAXI存储播放预存播放2.2硬件知识2.2.18255器件8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。同时必须具有与外设连接的接口A、B、C口。由于8255可编程,所以必须具有逻辑控制部分,因而8255内部结构分为3个部分:与CPU连接部分、与外设连接部分、控制部分。8255管脚A1,A0:地址选择线,用来选择8255的PA口,PB口,PC口和控制寄存器.当A1=0,A0=0时,PA口被选择;当A1=0,A0=1时,PB口被选择;当A1=1,A0=0时,PC口被选择;当A1=1.A0=1时,控制寄存器被选择.2.2.28253器件工作原理:8253内部有三个计数器,分别成为计数器0、计数器1和计数器2,他们的机构完全相同。每个计数器的输入和输出都决定于设置在控制寄存器中的控制字,互相之间工作完全独立。每个计数器通过三个引脚和外部联系,一个为时钟输入端CLK,一个为门控信号输入端GATE,另一个为输出端OUT。每个计数器内部有一个8位的控制寄存器,还有一个16位的计数初值寄存器CR、一个计数执行部件CE和一个输出锁存器OL。8253的通道工作方式:8253中各通道可有6种可供选择的工作方式,以完成定时、计数或脉冲发生器等多种功能。方式3:方波发生器工作方式3被称作方波发生器,其定时波型如图9.3.7所示。任一通道工作在方式3,只在计数值n为偶数,则可输出重复周期为n、占空比为1:1的方波。进入工作方式3,OUT输出低电平,装入计数值后,OUT立即跳变为高电平。如果当GATE为高电平,则立即开始减“1”计数,OUT保持为高电平,若n为偶数,则当计数值减到n/2时,OUT跳变为低电平,一直保持到计数值为“0”,系统才自动重新置入计数值n,实现循环计数。这时OUT端输出的周期为n×CLK周期,占空比为1:1的方波序列;若n为奇数,则OUT端输出周期为n×CLK周期,占空比为((n+1)/2)/((n-1)/2)的近似方波序列。如果在操作过程中,GATE变为无效,则暂停减“1”计数过程,直到GATE再次有效,重新从初值n开始减“l”计数。如果要求改变输出方波的速率,则CPU可在任何时候重新装入新的计数初值n,并从下一个计数操作周期开始改变输出方波的速率。三、软件主要模块流程图及程序3.1总体设计流程图
NNNNNNNNNYYYYYYYYY11H20H10H08H01H发LA音回放发XI音发DO音发RAI音发MI音发FA音发SO音预播80H40H04H02H取键值N是否按键按键准备NNNNNNNNNYYYYYYYYY11H20H10H08H01H发LA音回放发XI音发DO音发RAI音发MI音发FA音发SO音预播80H40H04H02H取键值N是否按键按键准备
3.2发音和存储流程图准备存频率、BX=0结束N存时间BXY键一直按?BX+1发音
准备存频率、BX=0结束N存时间BXY键一直按?BX+1发音3.3设计程序及相关说明DATASEGMENTPLDW100DUP(?);存频率TIMEDW100DUP(?);存按键时间;预存音乐twotigers_fredw2dup(3817,3401,3817,0)dw2dup(3030,2865,2551,0)dw2dup(2551,2273,2551,2865,3030,3817,0)dw2dup(3344,5102,3817,0)twotigers_timedw2dup(100,200,100,100,200)dw2dup(50,50,50,100,100)dw2dup(100,100,200)file_longequ$-twotigers_freDATAENDSSTACKSEGMENTSTACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKMOVDI,OFFSETPLMOVBP,OFFSETTIMESTART:MOVAX,STACKMOVSS,AXMOVAX,DATAMOVDS,AXMOVDX,21BH;初始化8255,C端口输出MOVAL,10010010BOUTDX,ALWAIT_PRES:MOVDX,200HINAL,DXCMPAL,00H;等待按键JEWAIT_PRESLED:MOVDX,210H;根据按键值亮相应的提示灯NOTALOUTDX,ALNOTALCMPAL,00000001BJEDOCMPAL,00000010BJERAICMPAL,00000100BJEMICMPAL,00001000BJEFACMPAL,00010000BJESOCMPAL,00100000BJELACMPAL,01000000BJEXICMPAL,10000000BJEBACK_PLAYCMPAL,00000011BJEFILE_PLAYDO:MOVBX,7634CALLPLAYJMPWAIT_PRESRAI:MOVBX,6802CALLPLAYJMPWAIT_PRESMI:MOVBX,6061CALLPLAYJMPWAIT_PRESFA:MOVBX,5764CALLPLAYJMPWAIT_PRESSO:MOVBX,5102CALLPLAYJMPWAIT_PRESLA:MOVBX,4545CALLPLAYJMPWAIT_PRESXI:MOVBX,4049CALLPLAYJMPWAIT_PRESBACK_PLAY:;回放CALLPLAY1JMPWAIT_PRESfile_play:;播放预存音乐movdi,offsettwotigers_fremovbx,offsettwotigers_timemovcx,file_longnext_play:movdx,20AHmoval,[di]outdx,alincdimoval,[di]outdx,almovdl,[bx]incbxmovdh,[bx]dx_dec:decdxjnzdx_decincdiincbxloopnext_playjmpwait_presPLAYPROC;发音程序MOV[DI],BLMOV[DI+1],BH;存储频率值MOVDX,21AH;MOVAL,00000001B;8255的C端口控制8253OUTDX,ALMOVDX,20BHMOVAL,10110110B;初始化8253OUTDX,ALMOVAL,BLMOVDX,20AHOUTDX,ALMOVAL,BHOUTDX,ALMOVBX,00HDELAY1:MOVCX,4000DELAY11:LOOPDELAY11MOVDX,200HINAL,DXCMPAL,00HINCBXJNEDELAY1;pc0输出08253停止工作MOVDX,21AH;MOVAL,00HOUTDX,ALMOVDS:[BP],BX;存储相对时间值ADDDI,2ADDBP,2PLAYENDPJMPWAIT_PRESPLAY1PROC;回放存储音乐MOVDI,OFFSETPLMOVBP,OFFSETTIMEFREQ:MOVBL,[DI]MOVBH,[DI+1]MOVDX,21AHMOVAL,00000001BOUTDX,ALMOVAL,BLMOVDX,20AHOUTDX,ALMOVAL,BHOUTDX,ALMOVCX,DS:[BP]DELAY3:MOVAX,CXMOVCX,4000DELAY4:LOOPDELAY4MOVCX,AXLOOPDELAY3MOVDX,21AHMOVAL,00HOUTDX,ALADDDI,2ADDBP,2MOVDX,200HINAL,DXCMPAL,00HJNEFREQPLAY1ENDPJMPWAIT_PRESCODEENDSENDSTART四、设计总结4.1设计任务分配我们组负责了本次电子琴设计,组员两人。经过明确的分工之后,我主要负责程序编写部分以及功能实现,另一位负责硬件实现以及设计报告的编写。我们互帮互助,对提出的问题共同解决,紧密合作对设计程序及设计报告进行了更加完善的加工。4.2设计完成的功能与加工简单的电子琴设计完成,由于键盘使用不方便,我们利用了八个开关控制电子琴的各个功能,其可完成:开关控制声音,可发
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 期满解除合同范本
- 广告佣金合同范本
- 本地承包合同范本
- 岗亭采购合同范本
- 喷浆工合同范本
- 建筑返利合同范本
- 店面使用合同范本
- 废石处理合同范本
- 2026云南大数据公司招聘面试题及答案
- 2026天津农村商业银行招聘面试题及答案
- 2025云南省人民检察院招聘22人笔试考试备考题库及答案解析
- 银行行业公司银行客户经理岗位招聘考试试卷及答案
- 2026年安全生产管理培训课件与事故预防与应急处理方案
- 2026天津市静海区北师大实验学校合同制教师招聘81人(仅限应届毕业生)考试笔试备考题库及答案解析
- 2025陕西陕煤澄合矿业有限公司招聘570人参考笔试题库及答案解析
- 2025年仓储服务外包合同协议
- 2025辽宁沈阳金融商贸经济技术开发区管理委员会运营公司招聘60人考试历年真题汇编带答案解析
- 2025年刑法学考试试题及答案
- 广东省汕头市金平区2024-2025学年七年级上学期期末地理试题
- 2025年二手车交易市场发展可行性研究报告及总结分析
- 北京市交通运输综合执法总队轨道交通运营安全专职督查员招聘10人考试参考题库附答案解析
评论
0/150
提交评论