ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:343.93KB ,
资源ID:16338754      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

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

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(音乐盒Word格式.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

音乐盒Word格式.docx

1、3、了解利用数模转换器产生音乐的基本方法二、设备与环境PC兼容机、Windows操作系统、HQFC集成开发环境、TPC-386EM实验箱。三、设计内容(一)设计原理图8255芯片: 8253的内部结构如图所示8253的控制字 8253的控制字用于选择哪个计数器通道工作,三个通道可同时工作,但是要分别进行初始化;用于规定读/写操作格式或类型,8253可以有8位的计数值或16位的计数值,可以按二进制计数或按二十进制计数;用于选择工作方式,8253共有六种工作方式。 8253是由主机编程设定的,通过把一个8位的控制字写入8253的控制字寄存器,使8253按照某种给定的方式工作。控制字的定义如图3-2

2、b所示。8253计数值的计算方法为:计数值时钟频率音符频率(时钟频率1.19318 MHz1234DCH)扬声器发声电路图:(二)、总体设计1、程序运行后首先在屏幕上显示出乐曲菜单,制作者姓名。2、用键盘键A、B、C选择相应的乐曲。3、输入错误时要有适当提示,并允许重新输入。4、选择Q键后可以正常退出程序。5、允许中断。可以在没有听完整首歌曲时人为中断听下一首歌曲,或退出。(三)、详细设计在电子琴实验的基础上进行改进,同样利用8255的C口输出,设置8254计时器0方式3, 先读写低字节, 再读写高字节。编写演奏乐曲需要把与音符所对应的频率放在FREQ表中,把与音符所对应的节拍(延时次数值)放

3、在TIME表中。然后由主程序控制,逐一按音符的频率和节拍值,使扬声器发出声音。当与音符对应的频率值为0时,停止演奏。子程序PLAY的功能是使扬声器发出声音,演奏乐曲。由DI指定音符的频率,BX指定与音符对应的节拍。SI指向频率表FREQ,BP指向节拍表TIME。频率表以0结尾,用于作为程序结束的条件:如果取来的频率值为0,则程序结束。扬声器发声,通过设定并行接口电路8255的PC0、PC1的值进行控制,PC0、PC1为11扬声器;PC0、PC1为00关扬声器。四、程序流程图五、实物接线图六、设计结果(一)运行结果(一) 实验结果分析如图程序运行显示歌曲列表,通过选择A,B或C播放相应曲目,在当

4、前歌曲播放过程中,随时可以选择另一首曲目进行播放,或者直接输入Q退出程序。如果当前曲目播放完毕则提示请再次输入,若输入的命令非A,B或C,则提示输入有误!七、程序代码DATA SEGMENTio8255c EQU 28ahio8255ctl EQU 28bhio8253a EQU 280hio8253b EQU 283hSTR1 DB 0DH,0AH,welcom you come to here!STR2 DB 0DH,0AH,this is a music program !$STR3 DB 0DH,0AH,please select !STR4 DB 0DH,0AH,input erro

5、r !STR5 DB 0DH,0AH,please input again !STR6 DB 0DH,0AH,A shao nian zhuang zhi bu yan chou $STR7 DB 0DH,0AH,B wo niu yu huang li niao $STR8 DB 0DH,0AH,C mei li de tong hua $STR9 DB 0DH,0AH,Q EXIT $FREQ1 DW294,392,392,294,330,262,220,262,196,262,262,220,262,294,330,392,294,294 DW294,392,392,294,330,26

6、2,220,262,220,196,196,220,262,294,330,220,196,196DW392,392,392,330,392,440,392,330,440,440,392,330,294,392,294,330,262,220DW392,220,262,220,392,440,392,330,392,294,392,392,392,330,392,440,440,392DW330,440,440,392,440,392,330,294,294,392,294,330,262,220,196,220,262,220,294,262,294,220,196DW 392,294,3

7、30,262,220,196,220,262,220,294,262,294,220,196,196,0TIME1 DW250,250,370,60,60,250,120,120,500,190,60,120,120,250,120,120,500,500DW 25,25,37,6,6,25,12,12,50,19,6,12,12,12,25,12,50,50DW 190,60,120,60,60,370,120,120,120,60,60,120,500,120,60,60,120,120DW 190,60,250,120,120,60,60,60,60,500,190,60,120,60,

8、60,120,250,120DW120,120,120,60,60,60,60,120,250,120,60,60,120,120,190,60,250,120,120,60,60,120,500DW 120,60,60,120,120,190,60,250,120,120,60,60,120,500,500FREQ2 DW392,392,392,392,330,392,262,440,392,392,392,392,392,330,294,262,330,294DW294,330,392,392,392,330,330,294,262,262,294,330,262,262,220,196,

9、220,196DW392,392,392,330,392,262,440,392,392,392,392,392,330,294,262,330,294DW 262,330,294,294,330,392,392,330,330,294,262,262,294,330,262,262,220DW196,392,392,392,392,330,294,262,440,392,392,440,262,294,262,294,330,294,262,0TIME2 DW 60,120,6,120,60,60,120,120,250,60,120,60,120,60,60,120,120,250 DW

10、190,60,120,60,60,120,60,60,120,120,190,60,120,60,60,120,120,250 DW 60,120,60,120,60,60,120,120,250,60,120,60,120,60,60,120,120,250 DW 120,120,120,120,120,60,60,120,120,190,60,120,60,60DW120,120,250,60,120,60,120,60,60,120,120,120,60,60,120,120,120,120,250,250,500FREQ3 DW220,330,247,220,262,294,262,3

11、30,220,440,392,440,392,294,349,330,330,330DW 220,440,392,294,330,349,330,294,262,220,330,294,247,220,220DW 220,247,262,294,330,262,247,196,220,262,294,330,330DW 220,247,262,294,330,262,247,196,220,262,294,262,262DW 220,247,262,294,330,262,247,196,220,262,294,262,330,330DW 220,247,262,294,330,262,247

12、,196,220,262,294,262,262,262DW 262,262,294,330,262,247,196,262,247,196,247,220,220,220,0TIME3 DW250,250,500,120,120,190,60,500,250,250,120,120,120,120,120,120,250,500DW 250,250,190,60,120,120,250,250,500,250,250,370,120,500,250DW 120,120,120,120,120,120,250,250,120,120,120,120,250DW 120,120,120,120,

13、120,120,250,250,120,120,60,120,120,250DW 120,120,120,120,120,120,250,250,60,60,120,120,120,500DW 120,60,60,120,120,250,250,250,250,500,120,120,250,500DATA ENDSSTACK SEGMENTDB 200 DUP (?)STACK ENDSCODE SEGMENTASSUME DS:DATA,SS:STACK,CS:CODE START:MOV AX,DATAMOV DS,AX MOV DX,OFFSET STR1 MOV AH,9INT 21

14、HLEA DX,STR2 LEA DX,STR3 LEA DX,STR6 LEA DX,STR7 LEA DX,STR8 LEA DX,STR9 MOV AH,02HMOV DL,0DHMOV DL,0AHJMP INPUTXSH: MOV AH,02HLEA DX,STR5 MOV AH,9 INT 21HINPUT:MOV AH,1 CMP AL,QJE EXIT ;若输入Q退出AJNE N1 ;不为A转N1LEA SI,FREQ1 LEA BP,TIME1LOP: MOV DI,SICMP DI,0JZ XSH ;频率值为0,转XSHMOV BX,DS:BPCALL PLAYADD SI

15、,2ADD BP,2JMP LOPJMP XSHN1: CMP AL,BJNE N2 ;不为B转N2LEA SI,FREQ2LEA BP,TIME2N2:CJNE ERROR ;若不为C提示错误LEA SI,FREQ3LEA BP,TIME3ERROR:LEA DX,STR4MOV AH,9 MOV AH,9 INT 21HJMP INPUT EXIT: MOV AH,4CH INT 21H PLAY PROC PUSH AXPUSH BXPUSH CXPUSH DXPUSH DIINT 16H ;16号I/O中断功能调用JZ PLAY1 JMP START play1:MOV DX,io82

16、53bMOV AL,00110110B ;8253初始化OUT DX,ALMOV DX,12HMOV AX,348CH ;时钟频率送AXDIV DI ;MOV DX,io8253aMOV AL,AHMOV DX,io8255ctl ;设置8255 C口输出MOV AL,10000000BMOV DX,io8255c MOV AL,03hOUT DX,AL ;置PC1PC0 = 11(开扬声器)CALL DELAY ;延时MOV AL,00HOUT DX,AL ;置PC1PC0 = 00(关扬声器)POP DIPOP DXPOP CXPOP BXPOP AXRET PLAY ENDPDELAY1

17、 PROCSHL BX,1DELAY:MOV CX,0FFFFHLOP10:LOOP LOP10DEC BXJNZ DELAYRETDELAY1 ENDPCODE ENDSEND START八、设计体会这次的接口课程设计使我学到了很多,从开始的设计到最后的成功运行,中间的过程是辛苦而美好的。此次课程设计不仅使我的理论知识得到进一步的巩固,而且,通过对硬件的编程控制,使我的实践能力获得了很好的锻炼。独立完成课程设计是美好的而难忘的,两周的课程设计,每一天都记忆犹新,提出问题,分析问题,再想办法解决问题。在实验前做好充分的准备,以便在实验过程中尽量减少盲目的操作,以提高实验的效率。实验的过程还培养

18、了自己分析问题和解决问题的能力,发现问题,分析问题,然后通过查阅相关资料或请教同学或老师解决问题。这个过程使我得到了很大的提高。通过使用汇编语言编程实现歌曲播放,使我发现简短的汇编程序蕴含着丰富的美,每一条指令的功能,再到一组指令的效果,每一次功能的实现,都非常有趣。随着课程设计的进展,离预计目标的实现越来越近,虽然在这个过程中一直有难题出现,但是通过分析,与同学探讨和查阅资料,问题也一步步得以解决,很是欣慰。通过接口课程设计,我们将学到的硬件知识应用到实践中,用理论指导实践,用实践验证理论,使自己的知识越来越丰富,收获的快乐也越来越多。不知不觉,两周的课程设计很快就结束了,在这两周的实践中我学到了很多,不仅使自己的理论知识得到了进一步的提高,同时理论联系实际的能力也有了很大的提升,在印象中原本很难的硬件编程现在变得不那么困难了,为我以后继续深入学习打下了坚实的基础。九、其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1