电子音乐播放器课程设计.doc
《电子音乐播放器课程设计.doc》由会员分享,可在线阅读,更多相关《电子音乐播放器课程设计.doc(28页珍藏版)》请在沃文网上搜索。
1、 一.电子音乐播放器 一、 设计的任务和目的题目目的:学习和掌握计算机中常用接口电路的应用和设计技术,充分认识理论知识对应用技术的指导性作用,进一步加强理论知识与应用相结合的实践和锻炼。通过这次设计实践能够进一步加深对专业知识和理论知识学习的认识和理解,使自己的设计水平和对所学的知识的应用能力以及分析问题解决问题的能力得到全面提高。设计要求:利用8253作为音阶频率发生器,应先对一段音乐进行编码后存入音符表,并建立好音阶表(只建立一个8度即可,音阶表见附录),音符长度不能少于60个,连续播放3遍后停止。二 8253芯片介绍 1 芯片介绍8253可编程定时/计数器是Intel公司生产的通用外围芯
2、片之一,有3个独立的十六位计数器,技术频率范围为02MHZ,它所有的技术方式和操作方式都通过编程控制。8253的功能用途是:(1) 延时中断 8253引脚图(2) 可编程频率发生器(3) 事件计数器(4) 二进倍频器(5) 实时时钟(6) 数字单稳(7) 复杂的电机控制器8253有六种工作方式:(1) 方式0:计数结束中断(2) 方式1:可编程频率发生器(3) 方式2:频率发生器(4) 方式3:方波频率发生器(5) 方式4:软件触发的选通信号(6) 方式5:硬件触发的选通信号8253引脚图如图所示,各引脚功能如下。D7D0八条双向数据线;WR(低电平有效)写输入信号;RD(低电平有效)读输入信
3、号;CS(低电平有效)片选输入信号;A0、A1片内寄存器地址输入信号;CLK计数输入,用于输入定时基准脉冲或计数脉冲;OUT输出信号,以相应的电平指示计数的完成,或输出脉冲波形;GATE选通输入(门控输入),用于启动或禁止计数器的操作,以使计数器和计测对象同步。2 控制字三程序框图通过给8253定时器装入不同的计数值,可以使其输出不同频率的波形。当与门打开后,经过放大器放大的作用,便可驱动扬声器发出不同频率的音调,要使该音调的声音持续一段时间,只要插入一段延时程序,之后再将扬声器(关闭与门)即可。流程图四、电路连接五、 程序设计SSEG SEGMENT PARA STACK stack dw
4、100h dup(0) ;Resize the stack by changing the number 100SSEG ENDSDSEG SEGMENTINFO1 DB 0DH,0AH,-,0DH,0AH,THERE ARE 3 SONGS:,0DH,0AH,0DH,0AH,$INFO2 DB 1.HAPPY BIRTHDAY,0DH,0AH,$INFO3 DB 2.SHEEP,0DH,0AH,$INFO4 DB 3.RIVER,0DH,0AH,$INFO5 DB 0.EXIT,0DH,0AH,$INFO6 DB YOU HAVE CHOSEN :$INFO7 DB THANK YOU FO
5、R YOUR USE,0DH,0AH,$INFO8 DB -,0DH,0AH,PRESS THE KEY TO SELECT SONG!,0DH,0AH,$INFO9 DB 0DH,0AH,-,0DH,0AH,|INVALID SELECTION|,0DH,0AH,-,0DH,0AH,$FREG1 DW 2 dup(262),294,262,349,262,262,294,262,392,249,262,262,523,440,349 ;曲1的频率DW 330,294,466,266,440,349,392,349,-1TIME1 DW 1,1,2,2,2,4,1,1,2,2,2,4,1,1,
6、2,2,2,2,4,1,1,2,2,2,4 ;曲1的时间FREG2 DW 330,294,262,294,3 DUP(330) ;曲2的频率DW 3 DUP(294),330,392,392DW 330,294,262,294,4 DUP(330)DW 294,294,330,294,262, -1TIME2 DW 6 DUP(1),2 ;曲2的时间DW 2 DUP(1,1,2)DW 12 DUP(1),4FREG3 DW 330,392,330,294,330,392,330,294,330,330,392,330,294,262,294,330,392,294 ;曲3的频率DW 262,2
7、62,220,196,220,262,294,332,262, -1TIME3 DW 3 DUP(2),1,1,2,1,1,4 ;曲3的时间DW 2 DUP(2,2,1,1),4DW 3 DUP(2,1,1,1),4DSEG ENDSCSEG SEGMENT assume cs:CSEG, ds:DSEG, es:DSEG, ss:SSEG INIT PROC ;初始化程序 mov ax, dsegmov ds, axmov es, ax INIT ENDP MAIN PROC ;程序入口 call INIT RE: MOV DX,28BH ;关闭扬声器MOV AL,89HOUT DX,ALM
8、OV DX,28AHIN AL,DXMOV DX,288HOUT DX,AL LEA DX,INFO1 ;输出说明信息MOV AH,09HINT 21HLEA DX,INFO2INT 21HLEA DX,INFO3INT 21HLEA DX,INFO4INT 21HLEA DX,INFO5INT 21HLEA DX,INFO8INT 21HMOV AH,01H ;读取按键INT 21HCMP AL,1 ;根据不同的按键播放不同的曲子JE MUSIC1CMP AL,2JE MUSIC2CMP AL,3JE MUSIC3CMP AL,0JE EXITLEA DX,INFO9 ;无效选择,输出错误提
9、示MOV AH,09HINT 21HJMP RE MUSIC1:MOV SI,OFFSET FREG1 ;指向曲1的表MOV BP,OFFSET TIME1CALL PLAYJMP REMUSIC2:MOV SI,OFFSET FREG2 ;指向曲2的表MOV BP,OFFSET TIME2CALL PLAYJMP REMUSIC3:MOV SI,OFFSET FREG3 ;指向曲3的表MOV BP,OFFSET TIME3CALL PLAYJMP REEXIT:MOV DX,28BH ;关闭扬声器MOV AL,89HOUT DX,ALMOV DX,28AHIN AL,DXMOV DX,288
10、HOUT DX,ALLEA DX,INFO7 ;输出欢迎使用信息,增加界面友好度MOV AH,09HINT 21Hmov ax, 4c00h ;The end of the program, return to the system int 21h MAIN ENDP PLAY PROC ;PLAY子程序,功能上面介绍过 L1:MOV BX,DS:SI ;取频率 CMP BX,-1 ;看是否有效 JE L0 ;无效就退出 MOV CX,DS:BP ;读取时间 MOV DL,CL ;保存时间 ADD DL,30H MOV AH,02H INT 21H MOV DX,0FH ;计算计数初值,1M的
11、十六进制为0F4240H MOV AX,4240H DIV BX MOV BX,AX MOV DX,283H ;设置计数器工作方式 MOV AL,36H OUT DX,AL MOV DX,280H ;输入计数初值 MOV AX,BX OUT DX,AL MOV AL,AH OUT DX,AL MOV DX,28BH ;开扬声器MOV AL,89HOUT DX,ALMOV DX,28AHIN AL,DXNOT ALMOV DX,288HOUT DX,AL ROD:CALL DELAY ;延时 LOOP ROD MOV DX,28BH ;关扬声器MOV AL,89HOUT DX,ALMOV DX,
12、28AHIN AL,DXMOV DX,288HOUT DX,AL CALL DELAY_OFF ;音节间延时 ADD SI,2 ADD BP,2 JMP L1 L0:RET PLAY ENDP DELAY PROC ;延时子程序 PUSH AX PUSH BX PUSH CX PUSH DX MOV BX,09FHLL1:MOV CX,0FFFFH ;循环这么多次LOP: LOOP LOPDEC BXJNZ LL1POP DX POP CX POP BX POP AX RET DELAY ENDP DELAY_OFF PROC PUSH AX PUSH BX PUSH CX PUSH DX M
13、OV BX,0FHLL2:MOV CX,0CFFFHLOP2: LOOP LOP2DEC BXJNZ LL2POP DX POP CX POP BX POP AX RETDELAY_OFF ENDPCSEG ENDSEND MAIN五、试验结果截屏:初始界面:如果按错了键,会出现如下界面:如果选择正确,将出现如下界面:六,设计总结1. 实验过程中碰到了很多的难题和障碍,我认识到平时基础知识的重要性,只有能够熟练的掌握才能在实验过程中得心应手,否则一步错则整个试验都会陷入困境,因而,严谨的态度是试验成功的重要保障!2. 通过这次课程设计,我们对各个芯片有了进一步的了解,对各个芯片的功能有了更深刻
14、的认识和体会,平时上课的理论知识只是停留在理论的层面,只有通过了这样的试验才能更好的体会到,做到了理论和实际的相结合,使理论知识真正运用到了实践中去。在课程设计过程中,同组人员之间相互合作,共同研究使我更加坚信了团体的力量。在团体的共同协作和努力下,任何的难题都可以被解决!3. 我们大家在实验的时候都团结合作,遇到问题时候一起探讨,增强了我们的合作精神。二电子时钟设计一设计的任务和目的:1.通过设计,培养和提高解决工程具体问题,动脑动手的技术工作能力,还要逐步建立科学正确的设计和科研思想,培养良好的设计习惯,牢固树立实事求是和严肃认真的工作态度。具体要求任务如下:1、中断工作原理,定时计数原理
15、,并行通信原理工作原理。2、掌握8259芯片,8254芯片,8255芯片功能,结构。3、掌握8259芯片,8254芯片,8255芯片的编程。4、能运用所提到的芯片,设计系统并进行程序开发,满足用户需求。2.设计要求1、总体内容:设计一电子时钟,能在数码管上显示时间并计时。2、 接口设计:根据题目和所用的接口电路芯片设计出完整的接口电路,并在实验系统上完成电路的连接和调试通过.3、程序设计:要求画出程序框图,设计出全部程序并给出程序设计说明和程序注释。4、前期完成的实验有:8259A中断控制器实验,8254定时计数器实验,8255并行接口实验。二 概要设计2.1电路原理与主要芯片功能 2.1.1
16、 电路原理首先利用程序硬性规定分、秒的起始时间为零。然后通过8254计时器分频,并将以分得的频率接通8259中断控制器,进而通过CPU响应可屏蔽中断达到按秒计时的效果。具体做法是将四个七段管显示器接到两片可并行接口8255芯片上,以此来控制七段管显示器的位操作以及段操作。并为之在数据段开辟一处空间,专门存放将要显示的数位代码。8254计时器将由PC机给定的频率加以分频,得到的新频率加到8259中断控制器的中断请求输入端。主程序为此可屏蔽中断设置专门的中断向量码。CPU获取此中断向量码后转向待需解决的程序进行操作。而这个程序便是整个主程序的心脏。通过它将使电子钟的显示时以秒为进位,达到秒、分的增
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子音乐 播放 课程设计
