资源描述
XXXXXXXXXXXXX 大 学微型机与接口技术课程设计(论文)题目: 菜单选择音乐程序设计与实现(一) 院(系): 电子与信息工程学院 专业班级: 计算机053班 学 号: 050401069 学生姓名: 指导教师: 教师职称: 讲 师 起止时间:2009.1.5至2009.1.9 课程设计(论文)任务及评语院(系):电子与信息工程学院 教研室:学 号学生姓名专业班级课程设计(论文)题目菜单选择音乐程序设计与实现(一)课程设计(论文)任务1. 设计一个简单的音乐程序菜单界面,并用彩色条选择菜单项。2. 采用模块化程序设计,最少组织三首歌曲,每首歌曲反复演唱几个小时即可。3. 三首歌曲只能使用一个音乐控制程序,这一要求是本实验的主要目的。4. 音符与频率值对应关系表在指导书上可查。指导教师评语及成绩成绩: 指导教师签字: 2008年 1 月 12 日XXXXX 大 学 课 程 设 计 说 明 书(论 文)目 录第1章 课程设计简介11.1 课程设计题目11.2 课程设计目的11.3 课程设计内容11.4 课程设计设备11.5 课程设计任务1第2章 程序设计22.1菜单选择音乐程序概要设计22.1.1主程序流程图22.1.2 MUSIC 1程序流程图32.1.3 MUSIC 2程序流程图32.1.4 MUSIC 3程序流程图42.1.5发生模块52.2菜单选择音乐程序详细设计62.2.1主程序代码62.2.2 MUSIC 1程序代码72.2.3 MUSIC 2程序代码72.2.4 MUSIC 3程序代码82.2.5发生模块程序代码9第3章 总结11参考文献12第1章 课程设计简介1.1 课程设计题目菜单选择音乐程序设计与实现(一)1.2 课程设计目的1.掌握微机接口芯片的结构及功能。2.理解面向硬件编程的设计思想。1.3 课程设计内容1. 菜单选择的音乐程序设计与实现(一)1.4 课程设计设备(1)TCP-1型十六位微型机实验箱一台。(2)40MHz示波器一台。(3)万用表一台。(4)PC机一台1.5 课程设计任务(1)设计一个简单的音乐程序菜单界面,并用彩色条选择菜单项。 (2)采用模块化程序设计,最少组织三首歌曲,每首歌曲反复演唱几个小时即可。 (3)三首歌曲只能使用一个音乐控制程序,这一要求是本实验的主要目的。 (4)音符与频率值对应关系表在指导书上可查。第2章 程序设计2.1菜单选择音乐程序概要设计2.1.1主程序流程图等待键输入显示选择字符串显示菜单框主模块键值=4键值=1键值=3键值=2返回DOS转MUSIC 3 模块转MUSIC 2 模块转MUSIC 1 模块 Y N Y N Y N Y NMUSIC 1设置显示方式建音符频率表建音符时间表音符频率表指针DI音符时间表指针DI转发声模块2.1.2 MUSIC 1程序流程图MUSIC 2设置显示方式建音符频率表建音符时间表音符频率表指针DI音符时间表指针DI转发声模块2.1.3 MUSIC 2程序流程图2.1.4 MUSIC 3程序流程图MUSIC 3设置显示方式建音符频率表建音符时间表音符频率表指针DI音符时间表指针DI转发声模块2.1.5发生模块延迟(音符发声持续时间)计音符的8254通道2的计数值送8254控制字送8254计数值打开发声通道转主模块延迟取音符频率频率=FFFFH?又键入?发声模块设置显示方式显示提示信息SI、DI压入堆栈取出堆栈中的SI、DI值 再次将SI、DI压入堆栈关闭发声通道SI+2SI、DI+1DI2.2菜单选择音乐程序详细设计2.2.1主程序代码PUBLIC START0EXTRN START1: FAR, START2: FAR, START3: FARDISP MACRO YYXX, VARMOV AH, 2MOV BH, 0MOV DX, YYXXINT 10HMOV AH, 9MOV DX, OFFSET VARINT 21HENDMDATA0 SEGMENTL1 DB MENU , 0AH, 0DH DB _ , 0AH, 0DH DB | | , 0AH, 0DH DB | 1. MUSIC 1 | , 0AH, 0DH DB | 2. MUSIC 2 | , 0AH, 0DH DB | 3. MUSIC 3 | , 0AH, 0DH DB | 4. RETURN DOS | , 0AH, 0DH DB |_| , 0AH, 0DH,$ L9 DB CHOICE(1,2,3,4): ,$DATA0 ENDSCODE0 SEGMENTASSUME CS:CODE0, DS:DATA0START0: MOV AX, DATA0 MOV DS, AX MOV AX, 2INT 10HDISP 0500H, L1DP: DISP 0E00H, L9MOV AH, 1INT 21HCMP AL, 4JE RTCMP AL, 1JE STRT1CMP AL, 2JE STRT2CMP AL, 3JE STRT3JMP DPSTRT1: JMP START1STRT2: JMP START2STRT3: JMP START3RT: MOV AH, 4CHINT 21HCODE0 ENDSEND START02.2.2 MUSIC 1程序代码PUBLIC START1EXTRN START4: FARDATA1 SEGMENTMUSIC1 DW 330,524,524,524,524,330,494,494,DW 494,494,392,440,440,392,349,392,0FFFFHTIME1 DB 10,20,10,10,30,10,20,10,10,30,10,20,20,10,10,20DATA1 ENDSCODE1 SEGMENTASSUME CS: CODE1, DS: DATA1START1: MOV AX, DATA1MOV DA, AX MOV AX,2INT 10HMOV SI, OFFSET MUSIC1MOV DI, OFFSET TIME1JMP START4CODE1 ENDSEND2.2.3 MUSIC 2程序代码PUBLIC START2EXTRN START4: FARDATA2 SEGMENTMUSIC2 DW 494,494,440,440,392,440,392,440,392,349,392,330, 0FFFFHTIME2 DB 20,10,10,20,20,20,10,10,10,10,20,40DATA2 ENDSCODE2 SEGMENTASSUME CS: CODE2, DS: DATA2START2: MOV AX, DATA2MOV DS, AXMOV AX, 2INT 10HMOV SI, OFFSET MUSIC2MOV DI, OFFSET TIME2JMP START4CODE2 ENDSEND2.2.4 MUSIC 3程序代码PUBLIC START3EXTRN START4: FARDATA3 SEGMENTMUSIC3 DW 392,588,588,588,588,660,588,524,524,392,392,440,0FFFFHTIME3 DB 10,20,10,10,10,30,10,10,10,10,10,30DATA3 ENDSCODE3 SEGMENTASSUME CS: CODE3, DS: DATA3START3: MOV AX, DATA3MOV DS, AXMOV AX, 2INT 10HMOV SI, OFFSET MUSIC3MOV DI, OFFSET TIME3JMP START4CODE3 ENDSEND2.2.5发生模块程序代码PUBLIC START4EXTEN START0: FARDISP MACRO YYXX, VARMOV AH, 2MOV BH, 0MOV DX, YYXXINT 10HMOV AH, 09MOV DX, OFFSET VARINT 21HENDMSTACK SEGMENTSTA DW 50 DUP(?)TOP EQU LENGTH STASTACK ENDSDATA4 SEGMENTMESS DB STARIKE ANY , RETURN TO MENU !,0AH, 0DH,$DATA4 ENDSCODE4 SEGMENTASSUME CS: CODE4, DS: DATA4START4: PUSH DSMOV AX, DATA4MOV DS, AXMOV AX, 2INT 10HDISP 1000H, MESSPOP DSPUSH SIPUSH DIPLAY: POP DIPOP SIPUSH SIPUSH DIPLY1: MOV AX, WORD PTR SICMP AX, 0FFFFHJZ PLAY_ENDMOV DX,12HMOV AX, 34E0HDIV WORD PTR SIMOV BX, AXMOV AL, 0B6HOUT 43H, ALMOV AX, BXOUT 42H, ALMOV AL, AHOUT 42H, ALIN AL, 61HOR AL, 03HOUT 61H, ALCALL DELAYIN AL, 61HAND AL, 0FCHCODE4 ENDSEND第3章 总结本次课设的目的是掌握微机接口芯片的结构及功能,理解面向硬件编程的设计思想。经过本次为期一周的课设,体会颇多,通过自己动手编写的程序来控制音乐,我感到非常有成就感,也锻炼了我的编程能力。在刚开始编程的时候,我感到很茫然,不知道怎么样下手,但是通过自己的仔细的分析,老师的细心的指导和通过相关图书资料的帮助,逐渐熟悉了微型机与接口的应用知识及其相关的操作。在这次的设计中我学习到不少的接口方面的知识,在设计过程中难免存在一些问题。恳请各位老师批评指正,致使我在以后的学习和实践中加以改进和提高。最后,感谢老师对我的指导,让我学会了硬件编程,微机接口原理等专业知识。同时更感谢老师在我遇到困难时悉心的指导,让我有信心有勇气面对课程设计中的困难,完成课程设计,学生在这里对老师表示衷心地感谢。参考文献1 柴欣.微型计算机原理.北京:电子工业出版社,2002年2 李然.80x86、80x88结构与汇编语言程序设计.北京:清华大学出版社,1993年3 李煦.微机原理与接口技术.北京:人民邮电出版社,2002年4 石柯.计算机系统结构(第二版).北京:清华大学出版社,1998年5 阳富民. 基于UML的嵌入式系统模型验证机制的研究. 华东理工大学出版社,20056 雷晓平 .微型计算机原理与应用.北京:电子工业出版社,2002年7 周明德,张淑玲.80x86、80x87结构与汇编语言程序设计.北京:清华大学出版社,1993年8 周明德,蒋本珊.接口技术.北京:人民邮电出版社,2000年9 郑纬民,汤志中.操作系统(第二版).北京:清华大学出版社,1998年10 凌志浩 微机原理与接口技术教程与实训 . 华东理工大学出版社,2005年11 田瑞庭微型计算机原理与应用北京:中国科学技术出版社,1997年12 易先清等编.微型计算机原理与应用,电子工业出版社;2002年13 沈美明,温冬婵IBM-PC汇编语言程序设计北京:清华大学出版社,2001年14 雷丽文,朱晓华,蔡征宇,缪达。微机原理与接口技术北京:电子工业出版社,1998年15 潘名莲,马争,惠林微计算机原理北京:电子工业出版社,1994年12
展开阅读全文