您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 微机课程设计电子琴PC电子琴
目录一.设计的目的与意义………………………………2二.设计的内容与要求………………………………2三.系统的硬件设计…………………………………33.1所用芯片的功能介绍………………………33.2系统原理与硬件电路………………………5四.系统的软件设计…………………………………64.1软件控制流程………………………………64.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转换电路组成,采用二次缓冲方式,这样可以在输出的同时,输入下一个数据,以提高转换速度。更重要的是能够在多个转换器同时工作时,有可能同时输出模拟量。其内部逻辑结构如图所示。DAC0832为20引脚芯片,各引脚功能如下:DI0~DI7:数据输入线,TLL电平。ILE:数据锁存允许控制信号输入线,高电平有效。CS:片选信号输入线,低电平有效。WR1:为输入寄存器的写选通信号。XFER:数据传送控制信号输入线,低电平有效。WR2:为DAC寄存器写选通输入线。Iout1:电流输出线。当输入全为1时Iout1最大。Iout2:电流输出线。其值与Iout1之和为一常数。Rfb:反馈信号输入线,芯片内部有反馈电阻.Vcc:电源输入线(+5v~+15v)Vref:基准电压输入线(-10v~+10v)AGND:模拟地,摸拟信号和基准电源的参考地.DGND:数字地,两种地线在基准电源处共地比较好.2.DAC0832工作原理当输入锁存信号ILE为高电平时,而与同时为低电平时,由图可知=1,输入锁存器的内容随数据总线DI0~DI7而变化。当变为高电平时,=0,8位输入数据被锁存在输入寄存器中。当与同时为低电平时,=1,8位DAC寄存器内容随输入锁存器而变化。此时若变为高电平,=0,则将输入锁存器中数据锁存在8位DAC寄存器中,并开始D/A转换。对于要求多片DAC0832同时转换的系统,鉴于各芯片的片选信号不同,可用片选信号与分时地将数据分别输入到每个芯片的输入锁存器中。各芯片的与分别连接在一起,共用一组信号。与同时为低电平时,数据将在同一时刻由8位输入寄存器传送到对应的8位DAC寄存器中,在上升沿将数据锁存到DAC寄存器中。与此同时,多个DAC0832芯片开始同时进行D/A转换,因此可以达到多路模拟量同时输出的目的。3.DAC0832的主要技术指标电流稳定时间:1s分辨率:8位线性误差:0.2%功耗:20mw3.2设计原理与硬件电路采用DAC0832作PC仿真电子琴的电路如图所示,运算放大器LF351的输出接至有源音箱,当按动键盘上的数字键1~7时音箱能发出音阶1~7。要求根据接口电路编程(设端口地址为228H)。音箱发音的高低与DAC0832输出方波频率的高低有关,故每个按键应与不同的频率建立关系,方法是按动不同的键时输出方波(模拟量),方波高低电平的持续时间代表频率高低,该值由循环程序实现不同次数的循环完成。DAC0832输出电压值的高低与音调无关,但与音量高低有关。图采用DAC0832作音乐发声器采用DAC0832做PC仿真电子琴四.系统的软件设计4.1软件控制流程4.2程序清单DATASEGMENT;MODEDB?MIU_FDW1140,1020,920,880,780,690,600DW570,510,460,440,390,345,300DW285,255,230,220,195,173,150MODEDB?MESS6DB'****************************************'MESS7DB'TITLE:THEPCPIANO',0DH,0AHMESS8DB'STUDENT:ZhangLiyan',0DH,0AHYN求出音阶值保存赋相应频率值延时开始键盘读入一个字符是ESC键吗?是Q~U,A~J,Z~M键吗?返回DOSYNMESS9DB'TEACHER:WANGYUEXIAO',0DH,0AHMESS10DB'THECOMPUTEROFWEIFANGCOLLEGE',0DH,0AHMESS1DB'WELCOMETOUSETHEPIANO',0DH,0AHMESS2DB'HIGH[1-7]:KEYQ-U',0DH,0AHMESS3DB'NOMAL[1-7]:KEYA-J',0DH,0AHMESS4DB'LOW[1-7]:KEYZ-M',0DH,0AHMESS5DB'PRESSESCTOQUIT',0DH,0AHMESS12DB'****************************************'LLDW144HDATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVES,AXMOVBH,0MOVAH,0FHINT10HMOVMODE,AL;保存当前界面MOVAH,0;设置新界面MOVAL,13HINT10HMOVBP,SEGMESS6MOVES,BPMOVBP,OFFSETMESS6MOVCX,LLMOVDX,1MOVBL,44HMOVAL,0MOVAH,13HINT10HMOVCX,21;展示21个键MOVBX,2NEXT:CALLDISPLAYADDBX,15LOOPNEXTMOVBX,2LL0:MOVDI,OFFSETMIU_FMOVAH,00HINT16HCALLDISPLAYCALLUPPERCMPAL,1BHJZEXIT0JMPGOONEXIT0:JMPEXITGOON:CMPAL,'Z'JNZQQQADDDI,0CALLCHANGEJMPMUSIQQQ:CMPAL,'X'JNZWWWADDDI,2CALLCHANGEJMPMUSIWWW:CMPAL,'C'JNZEEEADDDI,4CALLCHANGEJMPMUSIEEE:CMPAL,'V'JNZRRRADDDI,6CALLCHANGEJMPMUSIRRR:CMPAL,'B'JNZTTTADDDI,8CALLCHANGEJMPMUSITTT:CMPAL,'N'JNZYYYADDDI,10CALLCHANGEJMPMUSIYYY:CMPAL,'M'JNZUUUADDDI,12CALLCHANGEJMPMUSIUUU:CMPAL,'A'JNZAAAAADDDI,14CALLCHANGEJMPMUSIAAAA:CMPAL,'S'JNZSSSADDDI,16CALLCHANGEJMPMUSISSS:CMPAL,'D'JNZDDDADDDI,18CALLCHANGEJMPMUSIDDD:CMPAL,'F'JNZFFFADDDI,20CALLCHANGEJMPMUSIFFF:CMPAL,'G'JNZGGGADDDI,22CALLCHANGEJMPMUSIGGG:CMPAL,'H'JNZHHHADDDI,24CALLCHANGEJMPMUSIHHH:CMPAL,'J'JNZJJJADDDI,26CALLCHANGEJMPMUSIJJJ:CMPAL,'Q'JNZZZZADDDI,28CALLCHANGEJMPMUSIZZZ:CMPAL,'W'JNZXXXADDDI,30CALLCHANGEJMPMUSIXXX:CMPAL,'E'JNZCCCADDDI,32CALLCHANGEJMPMUSICCC:CMPAL,'R'JNZVVVADDDI,34CALLCHANGEJMPMUSIVVV:CMPAL,'T'JNZBBBADDDI,36CALLCHANGEJMPMUSIBBB:CMPAL,'Y'JNZNNNADDDI,38CALLCHANGEJMPMUSINNN:CMPAL,'U'JNZCOOADDDI,40CALLCHANGEMUSI:CALLMUSICCOO:JMPLL0EXIT:MOVAL,MODEMOVAH,0INT10HMOVAH,4CHINT21HUPPERPROCNEARCMPAL,'a'JBOVERCMPAL,'z'JAOVERSUBAL,20HOVER:RETUPPERENDPMUSICPROCNEARPUSHSIPUSHCXPUSHAXPUSHDXMOVSI,0FHPPP:INCSIMOVCX,[DI]MOVDX,228HLLL:MOVAL,20HOUTDX,ALINCDXOUTDX,ALDECDXLOOPLLLMOVCX,[DI]MOVDX,228HLLL1:MOVAL,00HOUTDX,ALINCDXOUTDX,ALDECDXLOOPLLL1CMPSI,5FHJNZPPPPOPDXPOPAXPOPCXPOPSIRETMUSICENDPDISPLAYPROCNEARPUSHDXPUSHDIPUSHAXPUSHCXPUSHSIMOVDX,140MOVDI,40MOVAL,80NEXT1:MOVCX,BXMOVSI,14MOVAH,0CHNEXT2:INT10HINCCXDECSIJNZNEXT2INCDXDECDIJNZNEXT1POPSIPOPCXPOPAXPOPDIPOPDXRETDISPLAYENDPDISPLAY0PROCNEARPUSHDXPUSHDIPUSHAXPUSHCXPUSHSIMOVDX,140MOVDI,40MOVAL,68NEXT10:MOVCX,BXMOVSI,14MOVAH,0CHNEXT20:INT10HINCCXDECSIJNZNEXT20INCDXDECDIJNZNEXT10POPSIPOPCXPOPAXPOPDIPOPDXRETDISPLAY0ENDPCHANGEPROCNEARPUSHDXPUSHAXSHRDI,1MOVAX,DIMOVBX,15MULBLMOVBX,AXADDBX,2CALLDISPLAY0POPAXPOPDXRETCHANGEENDPCODEENDSENDSTART五.系统调试与运行在本次程序设计过程中,按照设计要求,在界面上显示课程设计题目、使用方法、作者姓名、单位及版权等信息,并在屏幕下方显示键盘形状,当安不同的音阶时,相应的乐键将呈现黄色。当从键盘上敲击Q~U键时,音箱发出1~7的高音阶;敲击A~J键时,音箱发出1~7的中音阶;敲击Z~M键时,音箱发出1~7的低音阶设计界面六.设计收获通过两个周的编程和查资料,我完成了微机原理和接口技术的课程设计。设计过程中碰到了很多的难题和障碍,我认识到平时基础知识的重要性,只有能够熟练的掌握才能在实验过程中得心应手,否则一步错则整个试验都会陷入困境,因而,严谨的态度是试验成功的重要保障!通过这次课程设计,我对各个芯片的功能有了更深刻的认识和体会,平时上课的理论知识只是停留在理论的层面,只有通过了
本文标题:微机课程设计电子琴PC电子琴
链接地址:https://www.777doc.com/doc-70731 .html