电子音乐播放器课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一.电子音乐播放器
一、设计的任务和目的
题目目的:学习和掌握计算机中常用接口电路的应用和设计技术,充分认识理论知识对应用技术的指导性作用,进一步加强理论知识与应用相结合的实践和锻炼。通过这次设计实践能够进一步加深对专业知识和理论知识学习的认识和理解,使自己的设计水平和对所学的知识的应用能力以及分析问题解决问题的能力得到全面提高。
设计要求:利用8253作为音阶频率发生器,应先对一段音乐进行编码后存入音符表,并建立好音阶表(只建立一个8度即可,音阶表见附录),音符长度不能少于60个,连续播放3遍后停止。
二8253芯片介绍
1 芯片介绍
8253可编程定时/计数器是Intel公司生产的通用外围芯片之一,有3个独立的十六位计数器,技术频率范围为0~2MHZ,它所有的技术方式和操作方式都通过编程控制。
8253的功能用途是:
(1)延时中断
(2)可编程频率发生器
(3)事件计数器
(4)二进倍频器
(5)实时时钟
(6)数字单稳
(7)复杂的电机控制器
8253有六种工作方式:
(1)方式0:计数结束中断
(2)方式1:可编程频率发生器
(3)方式2:频率发生器
(4)方式3:方波频率发生器
(5)方式4:软件触发的选通信号
8253引脚图
(6)方式5:硬件触发的选通信号
8253引脚图如图所示,各引脚功能如下。
D7~D0——八条双向数据线;
WR(低电平有效)——写输入信号;
RD(低电平有效)——读输入信号;
CS(低电平有效)——片选输入信号;
A0、A1——片内寄存器地址输入信号;
CLK——计数输入,用于输入定时基准脉冲或计数脉冲;
OUT——输出信号,以相应的电平指示计数的完成,或输出脉冲波形;GATE——选通输入(门控输入),用于启动或禁止计数器的操作,以使计数器和计测对象同步。
2 控制字
三.程序框图
通过给8253定时器装入不同的计数值,可以使其输出不同频率的波形。当与门打开后,经过放大器放大的作用,便可驱动扬声器发出不同频率的音调,要使该音调的声音持续一段时间,只要插入一段延时程序,之后再将扬声器(关闭与门)即可。
流程图四、电路连接
五、程序设计
SSEG SEGMENT PARA STACK 'stack'
dw 100h dup(0) ;Resize the stack by changing the number '100'
SSEG ENDS
DSEG SEGMENT
INFO1 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 FOR 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,-1
TIME1 DW 1,1,2,2,2,4,1,1,2,2,2,4,1,1,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,392
DW 330,294,262,294,4 DUP(330)
DW 294,294,330,294,262, -1
TIME2 DW 6 DUP(1),2 ;曲2的时间DW 2 DUP(1,1,2)
DW 12 DUP(1),4
FREG3 DW 330,392,330,294,330,392,330,294,330,330,392,330,294,262,294,330,392,294 ;曲3的频率
DW 262,262,220,196,220,262,294,332,262, -1
TIME3 DW 3 DUP(2),1,1,2,1,1,4 ;曲3的时间
DW 2 DUP(2,2,1,1),4
DW 3 DUP(2,1,1,1),4
DSEG ENDS
CSEG SEGMENT
assume cs:CSEG, ds:DSEG, es:DSEG, ss:SSEG
INIT PROC ;初始化程序
mov ax, dseg
mov ds, ax
mov es, ax
INIT ENDP
MAIN PROC ;程序入口call INIT
RE: MOV DX,28BH ;关闭扬声器
MOV AL,89H
OUT DX,AL
MOV DX,28AH
IN AL,DX
MOV DX,288H
OUT DX,AL
LEA DX,INFO1 ;输出说明信息
MOV AH,09H
INT 21H
LEA DX,INFO2
INT 21H
LEA DX,INFO3