创新实验&ampamp;mdash;&ampamp;mdash;电子琴(创新增强版).doc

创新实验&ampamp;mdash;&ampamp;mdash;电子琴(创新增强版).doc

ID:27324232

大小:87.00 KB

页数:10页

时间:2018-12-02

创新实验&ampamp;mdash;&ampamp;mdash;电子琴(创新增强版).doc_第1页
创新实验&ampamp;mdash;&ampamp;mdash;电子琴(创新增强版).doc_第2页
创新实验&ampamp;mdash;&ampamp;mdash;电子琴(创新增强版).doc_第3页
创新实验&ampamp;mdash;&ampamp;mdash;电子琴(创新增强版).doc_第4页
创新实验&ampamp;mdash;&ampamp;mdash;电子琴(创新增强版).doc_第5页
资源描述:

《创新实验&ampamp;mdash;&ampamp;mdash;电子琴(创新增强版).doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、创新实验——电子琴(创新增强版)班级:工双学11朱宏01082004俞淼01082027张珑译01082030指导教师:夏琴老师2004年6月29日鉴于本实验有新的突破,难度加大,所以该团队由三人组成开放实验名称一、开发目的1.开发学生的创新意识2.巩固编程语言知识3.掌握I8253芯片的使用二、参加人员朱宏、俞淼、张珑译三、实验环境基于16位Dos界面环境四、工作原理、设计思想等工作原理:利用8253产生一定频率和持续时间的信号。设计思想:1.根据按键‘1’--‘8’改变脉冲频率和脉冲持续时间使扬声器发出7种音调。按键‘A’-‘H’发出二分之一音符,按键‘a’-‘h’发出四分之一音符2

2、.按空格输入乐谱后,按回车键奏出。3.按‘9’播放默认乐曲五、流程图开始(START)主程序流程N接受输入字符Y退出DOS(FINISH)是否EscY自动播放音乐(ATUO)N是否按9NY创作音乐(CREATE)是否SpaceY弹奏1/4音(PLAY3)N是否1/4音NY弹奏1/2音(PLAY2)是否1/2音N是否是全音符NEND(QUIT)创作音乐(CREATE)START接受输入的字符串将字符串长度存入CX取[字符串首地址+DI]到AL发声DI加1N比较CXDIENDSTART自动播放(AUTO)读取默认的字符串将字符串长度存入CX取[字符串首地址+DI]到AL发声DI加1N比较CX

3、,DIEND六、源程序代码DATASEGMENT;定义数据段TABLEDW524,588,660,698,784,880,988,1048;八个音节的发音频率MESSDB'PRESSSPACETOENTERCOMPOSITIONMODE',0DH,0AH,'$'DATABUFDB81ACTLENDB?STINGDB81DUP(?)SOUNDDB49DUP(45H,41H,46H,45H,43H,42H,33H,43H,46H,45H,43H,42H,41H,32H,42H,45H,43H,42H,41H,46H,31H,62H,61H,46H,31H,62H,61H,46H,31H,43

4、H,62H,43H,62H,41H,43H,32H,41H,62H,41H,46H,45H,46H,35H,43H,62H,31H,45H,66H,35H)DATAENDSSTACKSEGMENTPARASTACK'STACK'STADB20DUP(?)TOPEQULENGTHSTASTACKENDS功能1,单音播放CODESEGMENT;定义代码段ASSUMECS:CODE,DS:DATA,SS:STACK,ES:DATASTART:MOVAX,DATAMOVDS,AX;初始化DSMOVAX,STACKMOVSS,AX;初始化SSMOVAX,TOPMOVSP,AXMOVDX,OFFSE

5、TMESS;取提示段的偏移地址MOVAH,09H;键盘功能中断,显示字符串INT21HPLAY1:MOVAH,01H;键盘功能中断,键盘输入INT21HCMPAL,1BH;判断是否是EscJZFINISH;是的话,跳出DosCMPAL,39H;判断是否有“9”键JZAUTO;是的话,进行自动演奏CMPAL,20H;判断是否是空格JZCREATE;是的话,进行自主创作音乐CMPAL,60H;判断是否是a,b,c,d,e,f,gJAPLAY3;是的话,调用程序段PLAY3CMPAL,40H;判断是否是A,B,C,D,E,F,GJAPLAY2;是的话,调用程序段PALY2PUSHAXSUBAL

6、,31HCALLSCAN;调用子程序SCANPOPAXCALLSET;调用子程序SETINAL,61H;发音设置ORAL,03HOUT61H,ALPUSHAXMOVAX,0FFFH;延时设置CALLDELAY1;调用子程序DELAY1POPAXINAL,61H;发音设置ANDAL,0FCHOUT61H,ALJMPPLAY1;跳转回PLAYFINISH:MOVAX,4C00H;软中断,返回DOSINT21H;-----------------------------------------------------------演奏1/2音符PLAY2:PUSHAXSUBAL,41H;判断输入

7、是哪个音符CALLSCAN;调用子程序SCANPOPAXCALLSET;调用子程序SETINAL,61H;发音设置ORAL,03HOUT61H,ALPUSHAXMOVAX,07FFH;延时设置CALLDELAY1;调用子程序DELAY1POPAXINAL,61H;发音设置ANDAL,0FCHOUT61H,ALJMPPLAY1;跳转回PLAY1;---------------------------------------------

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。