- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机原理课程设计报告——音乐播放器
《微机应用系统》
课程设计报告
题 目: 电子音乐播放器
专业班级: 电子信息科学与技术1001班
设计学生:
完成时间: 2012年 6月 27 日
湖南文理学院物理与电子科学学院
设计题目 电子音乐播放器 设计要求 利用8253作为音阶频率发生器,应先对一段音乐进行编码后存入音符表,并建好音阶表(只建一个八度即可),音符长度不能少于60个,连续播放三遍即可停止。
设
计
思
路 系统以8253为核心。系统初始化时,8253工作在“方波发生器”方式,初值为二进制数,写入顺序为先低后高,经过简单滤波以后,送至扬声器。改变计时器的初值就可以使扬声器发出不同频率的音响。
设计程序时,数据段设置两张“表”。一张是频率表,将与音符对应的频率值依次写入表中,另一张是时间表,依次存放每个音符的单位时间。当然,频率表和时间表的表项要一一对应,不能错位,频率表最后一个表项为0,作为重复演唱或停止演唱的标志。在接通扬声器的情况下,依次取出频率表中的频率值,转换成计数初值写入计数器,依次取出时间表中的单位时间,然后再调用延时子程序即可得到延时时间,也就是音符演奏时间。
通过给8253定时器装入不同的计数值,可以使其输出不同频率的波形,便可驱动扬声器发出不同频率的音调,要使该音调的声音持续一段时间,只要插入一段延时程序,之后再将扬声器即可。
MUSIC子程序是音乐子程序,SI指向曲中的频率,BP指向曲中的时间节拍。从SI的指向的音节表中取一个频率,只要不是0,即有效就再读取时间,然后调用SPEAKER子程序,计算计数初值送入计数器,产生各种频率信号,再送至扬声器,根据所取的时间调用若干次延时子程序。这段时间扬声器就发出该频率的声音,延时结束,再修改SI和BP,指向下一个频率,重复上面的工作。播放三次音乐后自动停止。
各个音符的对应频率表:
音符?频率/HZ半周期/us?音符?频率/HZ?半周期/us低1DO?? 262????? 1908???#4FA#??? 740????? 0676#1DO#?? 277????? 1805??? 中5SO??? 784????0638低2RE?294???? ?1700??? #5SO#?? ?831???? 0602#2RE#?? 311????? 1608?? 中6LA?? ?880?????0568低3M???330???? ?1516??? #6LA#??? 932???? 0536低4FA?? 349????? 1433???中7SI??? 988?????0506#4FA#? 370???? 1350??? 高1DO??1046???? 0478低5SO?? 392????? 1276??? #1DO#??? 1109???? 0451#5SO#?? 415???? ?1205??? 高2RE??? 1175????0426低6LA? ?440????? 1136???#2RE#??? 1245???? 0402#6LA#?? 466????? 1072??? 高3M??? 1318??? ?0372低7SI?? 494????? 1012???高4FA??? 1397????0358中1DO?523???? 0956??? #4FA#??? 1480???? 0338#1DO#?? 554????? 0903??? 高5SO??? 1568????0319中2RE? ?578????? 0842???#5S0#??? 1661??? ?0292#2RE#?? 622????? 0804??? 高6LA??? 1760????0284中3M???659????? 0759?? ?#6LA#??? 1865???? 0268中4FA?698???? ?0716?? ?高7SI??? 1976????0253
硬件连接:
定时/计数器8253A芯片模块的CLK2接CLK4,提供频率375000HZ。
定时/计数器8253A芯片模块的GATE2接+5V,提供高电平。
定时/计数器8253A芯片模块的CS 接CS0。
定时/计数器8253A芯片模块的OUT2接喇叭的输入端,喇叭的输出端接低电平。
系统设计原理图 程序流程图
源程序:
CODE SEGMENT
ASSUME CS:CODE
ORG 100H ;首地址
S
文档评论(0)