ImageVerifierCode 换一换
格式:DOC , 页数:15 ,大小:442KB ,
资源ID:6270510      下载积分:10 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/6270510.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     留言反馈    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【pc****0】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【pc****0】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(汇编语言课程设计 音乐点播程序.doc)为本站上传会员【pc****0】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

汇编语言课程设计 音乐点播程序.doc

1、一背景分析及意义随着计算机的不断更新发展,计算机在各个领域的应用越来越多,更多的软件开发人员和相关技术人员在程序设计的过程中应用汇编程序或编制汇编语言。而汇编语言做为计算机专业大学生必修之课,每个做为本专业的学生对汇编的理解和学习就显的尤为重要。汇编语言是计算机能够提供给用户使用的最快而又最好最有效的语言,也是能够利用计算机所有硬件特性并能直接控制硬件的唯一语言。因而,对程序的空间和时间要求很高的场合,汇编语言的应用就显的必不可少了,一些直接控制硬件的应用场合,则更是非用汇编语言不可了。这次课程设计是在学习汇编语言与实践相结合的一次综合应用。通过具体的问题分析、设计、调试、运行程序。在实际问题

2、中锻炼提高自己,增加了对本门课程内容的理解,锻炼了动手能力。就这个程序具体而言:知道了音调与频率和时间的关系,就可以按照乐曲的曲谱将每个音符的频率和持续时间定义成两个数据表;然后编写程序依次取出表中的频率值和时间值,调用GENSOUNDF程序发出各种声音。这个程序最终通过菜单所提示的信息选取所要欣赏的音乐,是执行此程序后,会很有速且有效的使扬声器接通并发出音频为896 Hz的声音。二总体设计思想ROM BIOS 中的BEEP子程序能根据BL中给出的时间计数植控制8254定时器,产生持续时间计数值控制8254定时器,产生持续时间为1个或几个0.5 秒,频率为896Hz的声音。通过对BEEP的修改

3、,可产生任一频率的声音。用汇编语言写的GENSOUNG,能使Pc 机发出指定频率和指定延时的声音。它是一个很好的通用发声程序。组成乐曲的每个音符的频率值和持续时间定义成两个数据表,然后编程依次取出表中的频率值和时间值,调用GENSOUND程序发出各种声音。本程序就是通过GENSOUNG程序演奏乐曲的例子。该乐曲点播程序由一个乐曲点播主程序和五个子程序组成。(1)歌曲设置程序;(2)打开另一个显示窗口程序;(3)接收键盘输入程序;(4)返回程序;(5)发声程序。由这几个程序完成乐曲的演奏。三完成的主要功能这个程序能够实现音乐的播放。运行时按下1-4键演奏乐曲“1:Happy birthday t

4、o you; 2:Mary had a little lamb; 3:Taihu boat; 4:Exit; 选择曲目序号进行歌曲播放;退出程序。 程序运行将显示如下运行图1四软硬件要求汇编语言对硬件的配置要求不是很高。这个音乐发声程序也有这个特点。只要是在Dos系统下 window98, window 2000,windows xp环境均可,要有汇编软件Masm615。这个程序有些地方就是在自己的电脑中完成的。五程序流程图音乐演奏程序流程图如图2所示 接收键盘输入是“1”是“2”是“3”是“4”显示出错信息Call music3Call music2Call music1开始提示信息退出音乐

5、流程图2六使用说明这个程序是关于发声的程序。通过设计音乐播放的具体程序展示了这个原理。这个程序共包括了显示程序,歌曲选择,歌曲的播放 返回等几部分组成的。开始时定义了演奏乐曲的频率表和时间节拍表,为形成一个完整的音乐曲目做了准备。接下来向计数器写入控制字并且接通扬声器,设置次数循环将节拍转入程序,调用发声程发声。这个序通过按键1,2,3即可实现播放1:Happy birthday to you; 2:Mary had a little lamb; 3:Taihu boat; 4:Exit; 选择曲目进入歌曲播放; 选择退出选项所对应的功能号后退出程序。利用计算机控制发声的原理,可以编写演奏乐曲

6、的程序。乐曲是按照一定的高低、长短和强弱关系组成的音调。在一首乐曲中,每个音符的音高和音长与频率和节拍有关。组成乐曲的每个音符的频率值和持续时间是乐曲程序发声所需要的两个数据。音符的频率可以乐谱中查到,但实际上送入计数器的是输入频率与音符频率相除的值,通用发声程序SOUNDF的前半部分就是完成这个计算,并将计数值送入计数器的功能。音符的持续时间是根据乐曲的速度及每个音符的节拍数来确定的。在4/4中,四分音符为1拍,每小节4拍,全音符持续4拍,二分音符持续2拍,四分音符持续1拍,八分音符持续半拍等。如果给全音符分配1s(100*10ms)的时间,则二分音符的持续时间为0.5s(50*10ms),

7、四分音符的持续时间为0.25s(25*10ms),八分音符的持续时间为0.125s(12.5*10ms)。知道了音调与频率和时间的关系,就可以按照乐曲的曲谱将每个音符的频率和持续时间定义成两个数据表;然后编写程序依次取出表中的频率值和时间值,调用SOUNDF程序发出各种声音。本程序应用了BIOS中断功能的字符显示功能和乐曲演奏程序。并利用计算机控制发声原理,在计算机中有一个可编程时间间隔定时器,它能根据程序提供的记数值和工作模式,产生各种形状和各种频率的记数定时脉冲,提供给系统的各个部分使用。该乐曲点播程序由一个乐曲主程序和五个子程序组成。其中的一个子程序为乐曲演奏子程序,一个是打开另一个窗口

8、显示程序,一个是接收字符程序,一个返回程序,一个发声程序。主程序对演奏子程序、打开另一个窗口程序、接收字符程序、返回程序做内部调用,发声子程序是外部调用,它是一个公用子程序。设计总结在为期两周的课程设计中,我设计了音乐发声程序。从选题到程序成形可以运行,我收获了好多。在开始的时候遇到了许多的困难,程序出错难以演示后来经过老师的指导和自己的修改,终于完成了一个小的综合性课程程序。这里对黄老师的帮助表示感谢。这个过程中我深感自己的专业知识不足所带来的困难,使我知道要想写好汇编语言的程序,必须认真对待代码的每一个细节,还必须熟练的掌握debug命令,这对程序的调试是非常重要的。通过这次实际动手能力的

9、培养,我进一步熟悉了汇编语言的结构和使用方法,基本达到了能独立阅读、编制和调试一定规模的汇编语言程序的水平。这是继数据结构课程设计后的又一次课程设计。通过这次学习,对汇编语言有了更近一步的了解,对软件的编写也有了一定的认识。在设计的时由于查书对书中的知识也有实质性的理解。这是一次理论与实践相结合的学习,在这次学习中加强了我的上机操作能力,加强了我对汇编这门课程的认识,增强了我的学习积极性。汇编语言和vc+同样是关于计算机编程的,是计算机语言。他们都有自己的功能和用途。而汇编语言是一种面向机器的程序设计语言,是和计算机硬件结合最密切的语言,虽然程序设计语言的发展很快,但它是用户能够使用的最快和最

10、能发挥硬件功能的唯一的一种计算机语言。在汇编语言中使计算机发声的方法作为一个小的实用程序,具体的显示了汇编语言的用途。使我有了在以后的其他程序中可以更熟练的运用此方法来控制计算机的发声进行汇编课程设计的想法。在日后的学习中我要加强汇编语言的综合应用程序设计方法,提高汇编语言实际应用能力、增加计算机各方面的知识和运用能力。学好每一门专业课,能够熟悉的应用计算机的更多功能。另外,作为计算机专业的学生上机操作非常重要。在这次课程设计中我们就一起在机房设计自己程序,自己动手解决问题。同时实验过程中我们做同一题目的几个人在遇到问题的时候,能够积极进行讨论,发表自己的意见,增加了我的团队意识,同时也培养了

11、我勇于面对困难以及解决问题的能力。这是我平时在课堂上所学不到的。这也是作为当代大学生更是计算机专业的学生应该具备的能力和素质。总知,这次课程设计作为学习的一个开端,指导我整个学习方向和态度。我要将这次学习当做一个很好的起点,再接再厉争取学到更多的知识。参考文献1IBM-PC 汇编语言程序设计,沈美明 温冬婵编著。清化大学出版社,2008年3月第8次印刷。2东阳生等编著:“宏汇编语言MASM6实用大全”,科学出版社,19933汇编语言课程设计案例精编李珍香,刘红梅等编著。中国水利水电出版社4陆中华等编:“汇编语言程序设计”,科学出版社,1994附: 源程序;* STACK SEGMENT PAR

12、A STACK STACK DB 64 DUP(STACK.) STACK ENDS;* DSEG SEGMENT PARA DATAMESS1 DB 50 DUP( ),Now the music is ,13,10,$ MESS2 DB 50 DUP( ),Now the music is ,13,10,$ MESS3 DB 50 DUP( ),Now the music is ,13,10,$ MENU DB 5 DUP(13,10) DB 5 DUP( ),Class:Computer 05-6 Name:lixia NO.:14 ,13,10 DB 5 DUP(), ,13,10 D

13、B 5 DUP(), ,13,10 DB 5 DUP( ), ,13,10 DB 5 DUP( ), ,13,10 DB 5 DUP( ), ,13,10 DB 5 DUP( ), ,13,10 DB 5 DUP( ), ,13,10 DB 5 DUP( ), 1:Happy birthday to you; ,13,10 DB 5 DUP( ), 2:Mary had a little lamb; ,13,10 DB 5 DUP( ), 3:Taihu boat; ,13,10 DB 5 DUP( ), 4:Exit; ,13,10DB 5 DUP( ), ,13,10 DB 5 DUP(

14、), ,13,10 DB 5 DUP( ), ,13,10 DB 5 DUP( ), ,13,10 DB 5 DUP( ), ,13,10 DB 5 DUP( ), ,13,10 DB 5 DUP( ), ,13,10 DB 5 DUP( ), ,13,10 DB 5 DUP( ), ,13,10 DB 5 DUP( ),please chioce the number of music:,$,13,10 change DB 125 DUP( ),error! please change anther NO.: ,$ MUS_FREG dw 262,262,294,262,349,330 dw

15、 262,262,294,262,392,349 dw 262,262,523,440,349,330,294 dw 466,466,440,262,392,349 dw -1 MUS_TIME dw 50,50,100,100,100,200 dw 50,50,100,100,100,200 dw 50,50,100,100,100,100,300 dw 50,50,100,100,100,200 mus_freg1 dw 330,294,262,294,330,330,330 dw 294,294,294,330,392,392 dw 330,294,262,294,330,330,330

16、,330 dw 294,294,330,294,262 dw -1 mus_time1 dw 6 dup(25),50 dw 2 dup(25,25,50) dw 12 dup(25),100 mus_freg2 dw 330,392,330,294,330,392,330,294,330 dw 330,392,330,294,262,294,330,292,294 dw 262,262,220,196,196,220,262,294,330,262 dw -1 mus_time2 dw 50,50,50,25,25,50,25,25,100 dw 50,50,50,50,25,25,25,2

17、5,100 dw 50,50,50,25,25,25,25,25,25,25,100 DSEG ENDS;* CODE SEGMENT PARA DATA assume cs:code,ds:dseg,ss:stack music proc far mov ax,dseg mov ds,ax rotate:call clearscreenLEA DX,MENU mov ah, 9 int 21hchg: mov ah,1 int 21h cmp al,1 je one cmp al,2 je two cmp al,3 je three cmp al,4 je endmus LEA DX,cha

18、nge mov ah, 9 int 21h jmp chg ONE: call clearscreen lea dx,mess1 mov ah,09 int 21h LEA SI,MUS_FREG LEA BP,DS:MUS_TIME JMP SOUND TWO:call clearscreen lea dx,mess2 mov ah,09 int 21h LEA SI,MUS_FREG1 LEA BP,DS:MUS_TIME1 JMP SOUNDTHREE:call clearscreen lea dx,mess3 mov ah,09 int 21h LEA SI,MUS_FREG2 LEA

19、 BP,DS:MUS_TIME2 SOUND: ; call q0freq: mov di,si cmp di,-1 je rotate mov bx,ds:bp call soundf add si,2 add bp,2 jmp freq JMP rotateENDMUS: mov ax,4c00h int 21h music endp;*soundf proc near push ax push bx push cx push dx push di mov al,0b6h out 43h,al mov dx,12h mov ax,348ch div di out 42h,al mov al

20、,ah out 42h,al in al,61h mov ah,al or al,3 out 61h,alwait1: mov cx,663 call waitfdelay: loop delay dec bx jnz wait1 mov al,ah out 61h,al pop di pop dx pop cx pop bx pop ax retsoundf endpCLEARSCREEN PROC NEAR MOV AH,6 MOV AL,0 MOV DL,79 MOV BH,7 MOV CH,0 MOV CL,0 MOV DH,24 int 10h MOV DX,0 MOV AH,2 INT 10H RETCLEARSCREEN ENDPq0 proc near mov ah,2 sub bh,bh mov dh,0 mov dl,0 int 10h retq0 endpwaitf proc near push axwaitf1: in al,61h and al, 10h cmp al, ah je waitf1 mov ah,al loop waitf1 pop ax retwaitf endp;* code ends end music - -

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服