您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 微机应用系统设计报告-键盘电子乐器
《微机应用系统设计》课程设计报告题目:专业班级:设计学生:完成时间:2015年1月15日湖南文理学院国际学院评阅成绩评阅教师评阅时间设计题目键盘电子乐器设计要求设计一个具有2个八度音阶的键盘乐器,音阶键不少于16个,采用扫描方式管理键盘,音域范围自行定义。设计思路在这一个课题的研究下,我们需要对系统模块进行分块的设计,系统的正常工作可以直接分为三部分。(一)键盘扫描。识别行列式键盘键值的常用方法有行扫描法和线反转法等,本次使用了行扫描法来判断所按下的键值,该方法的基本思想是有程序对键盘进行逐行扫描,通过检测到的列输出状态来确定闭合键。下面附带的图中就有体现,我们是用一片74LS273实现行扫描,用74LS244实现列扫描,首先判断16个键是否有键按下,在4个行线上都输入为0,如果有任意按键按下,则4调列线上必有一位为0。如果已有键按下,则判断按键所在的行,列的位置,并返回。然后根据返回的位置,进行TABLE操作,得到操作数。(二)8086对于地址的分配。地址分配图附录(三)扬声器的驱动。在键盘扫描后,我们得到了操作数,然后在8086CPU进行了端口地址的分配。在数据总线的连接后,我们才用8253A进行数据的操作,得到扬声器所需要的频率,最后驱动扬声器发出相对应的音调。系统设计框图程序流程图源程序:.MODELSMALL.8086.STACK.CODE.STARTUPAGAIN:CALLKEYPROCCMPAL,0FFHJZAGAINMOVAL,KEYMOVBX,OFFSETSQMOVAH,0SHLAL,1ADDBX,AXMOVAX,[BX]PUSHAXMOVDX,0606HMOVAL,00110110BOUTDX,ALMOVDX,0600HPOPAXOUTDX,ALMOVAL,AHOUTDX,ALJMPAGAINKEYPROCPROCMOVAL,00HMOVDX,0000HOUTDX,ALMOVDX,0400HINAL,DXANDAL,0FHCMPAL,0FHJNZSCANMOVAL,0FFHRETSCAN:CALLDELAYPROG:MOVCL,0FEHMOVHANGNUM,4FROW:MOVAL,CLMOVDX,0000HOUTDX,ALMOVDX,0400HINAL,DXANDAL,0FHCMPAL,0FHJNZFCOLROLCL,1DECHANGNUMJNZFROWRETFCOL:MOVAH,CLMOVSI,OFFSETTABLE+15*2MOVCX,16LOP0:CMPAX,[SI]JZKEYPRODECSIDECSILOOPLOP0RETKEYPRO:MOVBX,OFFSETTABLEXDECCLMOVAL,CLXLATMOVKEY,ALRETKEYPROCENDPDELAYPROCNEARPUSHBXPUSHCXMOVBX,1DEL1:MOVCX,5882DEL2:LOOPDEL2DECBXJNZDEL1POPCXPOPBXRETDELAYENDP.DATAKEYDB0HANGNUMDB4SQDW1431,1275,1136,1074,957,852,759,717DW2550,2272,2148,1914,1704,1518,1434,2862TABLEDW0FE0EHDW0FE0DHDW0FE0BHDW0FE07HDW0FD0EHDW0FD0DHDW0FD0BHDW0FD07HDW0FB0EHDW0FB0DHDW0FB0BHDW0FB07HDW0F70EHDW0F70DHDW0F70BHDW0F707HTABLEXDB7,8,9,0AH,4,5,6,0BH,1,2,3,0CH,0,0DH,0EH,0FHSIT_END=$END设计总结:通过本次实验,我们小组锻炼了每个人的操作能力,小组协调合作的能力,以及加强了对相关知识的研究、理解与掌握,包括加强了对8253A使用方法的理解与掌握,加强了对以软件方法识别小键盘按键的研究,同时,在这一次实验中,我们也对我们所需要使用的芯片都按照要求进行了相对应的例子的练习,就是为了能够更好的理解这些代码。特别是对小键盘按键检测、按键分析等过程,做了多次联系才逐渐理解其中的原理与方法。然而这才是真正做到实际与理论相结合。这才是真正意义的实验课程。在本次实验中,由于自由度很大,因此更加考验出对于接口的综合性知识的理解水平,对遇到的困难,更加锻炼了我们的编程与动手能力,提高了对于处理这类困难的能力,并且明白了团队协作的重要性。
本文标题:微机应用系统设计报告-键盘电子乐器
链接地址:https://www.777doc.com/doc-6355846 .html