微机原理电子音乐播放器报告 本文关键词:电子音乐,播放器,微机,原理,报告
微机原理电子音乐播放器报告 本文简介:《微机原理》课程设计报告评阅成绩评阅教师评阅时间题目:电子音乐播放器专业班级:电子信息科学与技术0810班设计学生:完成时间:2010年12月15日湖南文理学院物理与电子科学学院设计题目电子音乐播放器设计要求利用8253作为音阶频率发生器,应先对一段音乐进行编码后存入音符表,并建好音阶表(只建一个八
微机原理电子音乐播放器报告 本文内容:
《微机原理》
课程设计报告
评阅成绩
评阅教师
评阅时间
题
目:
电子音乐播放器
专业班级:
电子信息科学与技术0810
班
设计学生:
完成时间:
2010年
12月15
日
湖南文理学院物理与电子科学学院
设计题目
电子音乐播放器
设计要求
利用8253作为音阶频率发生器,应先对一段音乐进行编码后存入音符表,并建好音阶表(只建一个八度即可),音符长度不能少于60个,连续播放三遍即可停止。
设
计
思
路
用频率发生器74LS393给定时/计数器8253提供一个固定频率的时钟信号,通过给8253输入计数值,以输出对应C调DOU、RUAI、MI、FA、SOU、LA、XI
、DOU(高)的不同频率。在通过延时下一计数值的输入,控制节拍时间。最后输入扬声器就会有对应音乐播放。
硬件设计:⑴、频率发生器74LS393的T7端输入到8253的CLOCK0端,提供15.625kHz的时钟信号,
⑵、定时/计数器8253的GATE0接﹢5V,提供高电平;
⑶、定时/计数器8253的OUT0接扬声器驱动模块的SIN端口;
⑷、扬声器驱动模块的J5端口接扬声器的J5端口。
连接图如下框中的系统设计原理图。
程序设计:见下程序流程图。
8253的计数值N=
对应的
C调的DOU、RUAI、MI、FA、SOU、LA、XI
、DOU(高)频率为264、297、330、352、396、440、495、528;8253的控制字端口为43H,0、1、2计时器输入端口地址分别为40H、41H、42H
。
系统设计原理图
J5
SIN
+5V
OUT0
8253
扬声器
扬声器
驱动
CLOCK0
GATE0
T7
74LS393
程序流程图
N
结束
三次播放
Y
定义端口号
开始
写入8253,计时
赋值
延时
源程序:
CODE
SEGMENT
ASSUME
CS:CODE
org
1000h
START:JMP
TCONT
TCONTRO
EQU
0043H
;8253控制口地址
0043H
TCON0EQU
0040H
;定时计数器0地址0040H
TCONT:mov
cx,64
;写入计数值
jixu:
mov
ax,64
sub
ax,cx
mov
bx,ax
mov
al,cs:[bx+offset
data1]
;查音阶表
mov
cs:[4000h],al
call
set8253
;调用8253设置
call
delay
;调用延时程序
loop
jixu
jmp
tcont
;循环
delay:
push
cx
;延时
mov
cx,01ffh
delay1:
call
delay2
loop
delay1
pop
cx
ret
delay2:
push
cx
mov
cx,0ffh
delay3:
loop
delay3
pop
cx
ret
set8253:
MOV
DX,TCONTRO
;8253写控制字
MOV
AL,36H
OUT
DX,AL
MOV
DX,TCON0
;8253定时计数器0工作在方式3
MOV
AL,byte
ptr
ds:[4000h]
OUT
DX,AL
MOV
AL,00H
OUT
DX,AL
ret
data1:
db
24,20,30,30,27,24,40,40,30,27,24,20,27,27,27,27,24,20,30,30,27,24,36,36,27,40,27,24,30,30,30,30,18,18,20,20,18,18,30,30,24,18,24,20,27,27,27,27,24,20,30,30,27,24,36,36,27,40,27,24,30,30,30,30
CODE
ENDS
END
START
设计总结:
经过1个星期的课程设计,完成任务的效果和预想中有很大的出入,以为是一个简单的实验,也没有查阅资料,直到调试的时候,来编程,才发现有困难!即时大框架做好了,也很可能失败,很多小细节时我们不容忽视的。就拿刚开始来说,编完之后调试,有五十多个错误,看着蒙了,其实检查检查都是一些书写错误。调试成功链接却没有效果,完全不知道从哪里改起!经过老师的重新改正才真正完成明白了以后工作做什么事都不是一蹴而就的,需要逐步发现错误还要避免弯路
才可以做成。
这次设计对我综合运用所学知识的能力提高不小,以前上课做的实验都是很简单的编程,跟硬件结合也没有这么复杂,实现的功能都比较简单,可是这次要实现的功能相对来说是比较复杂的。而且可能实现一个目的不止一个途径,一个方法行不通的时候要找其他的方法,一条路走到老并不适合。这次试验通过亲自动手动脑也发现任何复杂的东西都是以简单的东西为基础的,所以平时的基本功很重要。更清楚的告诉我们里理论源于实际,而实践是以理论为基础的!
经过这次设计明白了很多,收获很多。首先,在平时的学习中一定要一丝不苟,每一个小细节都应该明白为什么,因为往往成败就在这些小细节上;其次,在平时的学习中我们应该多注意一些实际应用中的东西,比如各种芯片的用法、功能,各种软件的使用等等。毕竟理论的学习是为了为实践服务的。另外,在很多时候我们都应该记住创新,在弄懂别人的东西的之后,我们需要静下心来钻研,以求更加完美的东西,进一步创新,敢于创新。遇到问题的时候更加要沉下心来,不能浮躁,要认真一步步分析、找到每一个不清楚的地方,尽力独立解决为题。
总之,这次设计实践在很大程度上提高了我们的动手能力,加深了我们队理论知识的理解,进一步加深了对专业知识和理论知识学习的认识和理解,使自己的设计水平和对所学的知识的应用能力以及分析问题解决问题的能力得到全面提高。
最后,感谢老师的悉心指导以及同学们的热心帮助!
-
6
-