《微机课程设计电子琴PC电子琴.doc》由会员分享,可在线阅读,更多相关《微机课程设计电子琴PC电子琴.doc(17页珍藏版)》请在三一办公上搜索。
1、目录一 设计的目的与意义2二 设计的容与要求2三 系统的硬件设计33.1所用芯片的功能介绍33.2系统原理与硬件电路5四 系统的软件设计64.1软件控制流程64.2程序清单7五 系统调试与运行16六 设计收获16七 主要参考文献17一设计的目的与意义本课程设计主要是通过汇编语言用软件编程的方法实现简单的PC仿真电子琴。通过在微机原理与接口技术课程上所学的汇编知识和相关芯片知识,来完成本课程设计。学习和掌握计算机中常用接口电路的应用和设计技术,充分认识理论知识对应用技术的指导性作用,进一步加强理论知识与应用相结合的实践和锻炼。通过这次设计实践能够进一步加深对专业知识和理论知识学习的认识和理解,使
2、自己的设计水平和对所学的知识的应用能力以及分析问题解决问题的能力得到全面提高。二. 设计容与要求 设计一个利用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
3、.DAC0832芯片介绍DAC0832是由8位输入锁存器、8位DAC寄存器、8位D/A转换电路组成,采用二次缓冲方式,这样可以在输出的同时,输入下一个数据,以提高转换速度。更重要的是能够在多个转换器同时工作时,有可能同时输出模拟量。其部逻辑结构如图所示。DAC0832为20引脚芯片,各引脚功能如下:DI0DI7:数据输入线,TLL电平。ILE:数据锁存允许控制信号输入线,高电平有效。CS:片选信号输入线,低电平有效。WR1:为输入寄存器的写选通信号。XFER:数据传送控制信号输入线,低电平有效。WR2:为DAC寄存器写选通输入线。Iout1:电流输出线。当输入全为1时Iout1最大。Iout2
4、: 电流输出线。其值与Iout1之和为一常数。Rfb:反馈信号输入线,芯片部有反馈电阻.Vcc:电源输入线 Vref:基准电压输入线 AGND:模拟地,摸拟信号和基准电源的参考地.DGND:数字地,两种地线在基准电源处共地比较好.2DAC0832工作原理当输入锁存信号ILE为高电平时,而与同时为低电平时,由图可知=1,输入锁存器的容随数据总线DI0DI7而变化。当变为高电平时,=0,8位输入数据被锁存在输入寄存器中。当与同时为低电平时,=1,8位DAC寄存器容随输入锁存器而变化。此时若变为高电平,=0,则将输入锁存器中数据锁存在8位DAC寄存器中,并开始D/A转换。对于要求多片DAC0832同
5、时转换的系统,鉴于各芯片的片选信号不同,可用片选信号与分时地将数据分别输入到每个芯片的输入锁存器中。各芯片的与分别连接在一起,共用一组信号。与同时为低电平时,数据将在同一时刻由8位输入寄存器传送到对应的8位DAC寄存器中,在上升沿将数据锁存到DAC寄存器中。与此同时,多个DAC0832芯片开始同时进行D/A转换,因此可以达到多路模拟量同时输出的目的。3DAC0832的主要技术指标电流稳定时间:1s分辨率:8位线性误差:0.2%功耗:20mw 3.2 设计原理与硬件电路采用DAC0832作PC仿真电子琴的电路如图所示,运算放大器LF351的输出接至有源音箱,当按动键盘上的数字键17时音箱能发出音
6、阶17。要求根据接口电路编程设端口地址为228H。音箱发音的高低与DAC0832输出方波频率的高低有关,故每个按键应与不同的频率建立关系,方法是按动不同的键时输出方波模拟量,方波高低电平的持续时间代表频率高低,该值由循环程序实现不同次数的循环完成。DAC0832输出电压值的高低与音调无关,但与音量高低有关。图采用DAC0832作音乐发声器采用DAC0832做PC仿真电子琴四系统的软件设计4.1 软件控制流程开始键盘读入一个字符是ESC键吗?YN返回DOSN是QU,AJ,ZM键吗?Y求出音阶值保存赋相应频率值延时4.2 程序清单DATA SEGMENT;MODE DB ? MIU_F DW 11
7、40,1020,920,880,780,690,600 DW 570,510,460,440,390,345,300 DW 285,255,230,220,195,173,150MODE DB ?MESS6 DB *MESS7 DB TITLE: THE PC PIANO,0DH,0AHMESS8 DB STUDENT: Zhang Liyan,0DH,0AHMESS9 DB TEACHER: WANG YUEXIAO,0DH,0AHMESS10 DB THE COMPUTER OF WEIFANGCOLLEGE,0DH,0AHMESS1 DB WELCOME TO USE THE PIANO
8、,0DH,0AHMESS2 DB HIGH 1-7: KEY Q-U,0DH,0AHMESS3 DB NOMAL 1-7: KEY A-J,0DH,0AHMESS4 DB LOW 1-7: KEY Z-M,0DH,0AHMESS5 DB PRESS ESC TO QUIT,0DH,0AHMESS12 DB *LL DW 144HDATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXMOV ES,AXMOV BH,0MOV AH,0FH INT 10HMOVMODE,AL ;保存当前界面MOV AH,0 ;设
9、置新界面MOV AL,13H INT 10HMOV BP,SEG MESS6MOV ES,BPMOV BP,OFFSET MESS6MOV CX,LLMOV DX,1MOV BL,44HMOVAL,0MOV AH,13H INT 10HMOV CX,21 ;展示21个键MOV BX,2NEXT: CALLDISPLAYADD BX,15 LOOP NEXTMOV BX,2LL0:MOV DI,OFFSET MIU_FMOV AH,00H INT 16HCALLDISPLAYCALLUPPER CMP AL,1BHJZEXIT0 JMP GOONEXIT0: JMP EXITGOON: CMP
10、AL,ZJNZQQQADDDI,0CALLCHANGE JMP MUSIQQQ: CMP AL,XJNZWWWADD DI,2CALLCHANGE JMP MUSIWWW: CMP AL,CJNZEEEADD DI,4CALLCHANGE JMP MUSIEEE: CMP AL,VJNZRRRADD DI,6CALLCHANGE JMP MUSIRRR: CMP AL,BJNZTTTADD DI,8CALLCHANGE JMP MUSITTT: CMP AL,NJNZYYYADD DI,10CALLCHANGE JMP MUSIYYY: CMP AL,MJNZUUUADD DI,12CALLC
11、HANGE JMP MUSIUUU: CMP AL,AJNZAAAAADD DI,14CALLCHANGE JMP MUSIAAAA: CMP AL,SJNZSSSADD DI,16CALLCHANGE JMP MUSISSS: CMP AL,DJNZDDDADD DI,18CALLCHANGE JMP MUSIDDD: CMP AL,FJNZFFFADD DI,20CALLCHANGE JMP MUSIFFF: CMP AL,GJNZGGGADD DI,22CALLCHANGE JMP MUSIGGG: CMP AL,HJNZHHHADD DI,24CALLCHANGE JMP MUSIHH
12、H: CMP AL,JJNZJJJADD DI,26CALLCHANGE JMP MUSIJJJ: CMP AL,QJNZZZZADD DI,28CALLCHANGE JMP MUSIZZZ: CMP AL,WJNZXXXADD DI,30CALLCHANGE JMP MUSIXXX: CMP AL,EJNZCCCADD DI,32CALLCHANGE JMP MUSICCC: CMP AL,RJNZVVVADD DI,34CALLCHANGE JMP MUSIVVV: CMP AL,TJNZBBBADD DI,36CALLCHANGE JMP MUSIBBB: CMP AL,YJNZNNNA
13、DD DI,38CALLCHANGE JMP MUSINNN: CMP AL,UJNZCOOADD DI,40CALLCHANGEMUSI: CALLMUSICCOO: JMP LL0EXIT: MOVAL,MODEMOV AH,0 INT 10HMOV AH,4CH INT 21HUPPER PROC NEAR CMP AL,aOVERCMP AL,z JA OVERSUB AL,20HOVER: RETUPPER ENDPMUSIC PROC NEAR PUSH SI PUSH CX PUSH AX PUSH DXMOV SI,0FHPPP: INC SIMOV CX,DIMOV DX,2
14、28HLLL: MOV AL,20H OUT DX,ALINC DX OUT DX,ALDEC DXLOOPLLLMOV CX,DIMOV DX,228HLLL1: MOV AL,00H OUT DX,ALINC DX OUT DX,ALDEC DXLOOPLLL1 CMP SI,5FHJNZPPP POP DX POP AX POP CX POP SI RETMUSIC ENDPDISPLAYPROC NEAR PUSH DX PUSH DI PUSH AX PUSH CX PUSH SIMOV DX,140MOV DI,40MOVAL,80NEXT1: MOV CX,BXMOV SI,14
15、MOV AH,0CHNEXT2: INT 10H INC CXDEC SIJNZNEXT2INC DXDEC DIJNZNEXT1 POP SI POP CX POP AX POP DI POP DX RETDISPLAY ENDPDISPLAY0 PROC NEAR PUSH DXPUSH DI PUSH AX PUSH CX PUSH SIMOV DX,140MOV DI,40MOVAL,68NEXT10:MOV CX,BXMOV SI,14MOV AH,0CHNEXT20: INT 10HINC CXDEC SIJNZNEXT20INC DXDEC DIJNZNEXT10 POP SI
16、POP CX POP AX POP DI POP DX RETDISPLAY0 ENDPCHANGE PROC NEAR PUSH DX PUSH AX SHR DI,1MOV AX,DIMOV BX,15 MUL BLMOV BX,AXADD BX,2CALLDISPLAY0 POP AX POP DX RETCHANGE ENDPCODE ENDS END START五系统调试与运行 在本次程序设计过程中,按照设计要求,在界面上显示课程设计题目、使用方法、作者、单位及等信息,并在屏幕下方显示键盘形状,当安不同的音阶时,相应的乐键将呈现黄色。当从键盘上敲击Q U键时,音箱发出1 7的高音阶;
17、敲击A J键时,音箱发出1 7的中音阶; 敲击Z M键时,音箱发出1 7的低音阶设计界面六设计收获通过两个周的编程和查资料,我完成了微机原理和接口技术的课程设计。设计过程中碰到了很多的难题和障碍,我认识到平时基础知识的重要性,只有能够熟练的掌握才能在实验过程中得心应手,否则一步错则整个试验都会陷入困境,因而,严谨的态度是试验成功的重要保障!通过这次课程设计,我对各个芯片的功能有了更深刻的认识和体会,平时上课的理论知识只是停留在理论的层面,只有通过了这样的试验才能更好的体会到,做到了理论和实际的相结合,使理论知识真正运用到了实践中去。七主要参考文献1长青. 微机原理与接口技术. :中国矿业大学,20062美明. 汇编语言程序设计实验教程. :清华大学,20XX3周明德. 微机原理与接口技术. :人民邮电,20XX