单片机课程设计数字音乐盒设计说明

上传人:l**** 文档编号:141847232 上传时间:2020-08-13 格式:DOC 页数:22 大小:459.50KB
返回 下载 相关 举报
单片机课程设计数字音乐盒设计说明_第1页
第1页 / 共22页
单片机课程设计数字音乐盒设计说明_第2页
第2页 / 共22页
单片机课程设计数字音乐盒设计说明_第3页
第3页 / 共22页
单片机课程设计数字音乐盒设计说明_第4页
第4页 / 共22页
单片机课程设计数字音乐盒设计说明_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《单片机课程设计数字音乐盒设计说明》由会员分享,可在线阅读,更多相关《单片机课程设计数字音乐盒设计说明(22页珍藏版)》请在金锄头文库上搜索。

1、 . . . 机 电 工 程 系课 程 设 计 报 告题目:单片机课程设计-数字音乐盒设计专 业: 应用电子技术 班 级: 10应用电子(4)班 学 号: 1006190120 姓 名: 指导老师: 答辩日期: 2012年 9月 目录一、绪论- 4 -二、对本课程设计的分析- 4 -2.1工作原理- 5 -2. 节拍的确定- 6 -3. 音符的编码- 8 -4.软硬件环境:- 8 -三、主要电路模块的实现方案比较及选择- 8 - 3.2 设计方案的确定:- 9 -四、系统电路图- 9 -五、系统的软件设计- 13 -六、结论- 15 -七、课程设计中所负责的容- 15 -八、课程设计过程中遇到

2、的主要问题以及解决办法- 15 -九、心得体会- 16 -. . . . 一、 绪论本设计是为了检测自己对单片机掌握情况,并且能以c语言写出程序并应用,设计是以AT89S51芯片的电路为基础,利用keil和proteus仿真软件,设计出一个多功能音乐盒。音乐盒主要由四大模块构成,包括AT89S51芯片、8个按键、蜂鸣器、晶振复位电路。有开机键、暂停键、播放键、上一曲、下一曲以及3个用来选择歌曲的键。此外用户可以按照自己的喜好选择音乐并将其转化成机器码存入单片机的存储器中。对于不同型号的单片机只需要相应的改变一下地址即可。该软、硬件系统具有很好的通用性,很高的实际使用价值。本报告写了音乐盒的原理

3、,如何使用,述写了音调的产生和节拍的确定及音符编码。包含主电路及其图和流程图以及我们此次的设计的心得体会。 关键字:AT89S51;Keil;计时;音乐盒 二、 对本课程设计的分析芯片AT89S51的介绍AT89S51是一个低功耗,高性能CMOS8位单片机,片含4k BytesISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片集成了通用8位中央处理器和ISP Flash存储单元,AT89S51在众多嵌入式控制应用系统中得到广泛应用。外

4、形及引脚排列如图2.1所示 图2.1 AT89S51 2.1 工作原理本程序是得用单片机的I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演奏乐曲。下面我们来看下相关音乐是如何出来的:1 音调的产生频率的高低决定了音调的高低。音乐的十二平均率规定:每两个八度音(如简谱中的中音1和高音1)之间的频率相差一倍。在两个八度音之间又分为十二个半音。另外,音名A(简谱中的低音6)的频率为440Hz,音名B到C之间、E到F之间为半音,其余为全音。由此可以计算出简谱中从低音1到高音1之间每个音名对应的频率,所有不同频率的信号都是从同一个基准频率分频得到的。1、要产生音频脉冲,只要算出某一音频的周

5、期(1/频率),然后将此周期除以2,即为半周期的时间。利用定时器计时这半个周期时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期时间再对I/O反相,就可在I/O脚上得到此频率的脉冲。2、利用AT89s51的部定时器使其工作在计数器模式MODE1下,改变计数值TH0及TL0以产生不同频率的方法。此外结束符和休止符可以分别用代码00H和FFH来表示,若查表结果为00H,则表示曲子终了;若查表结果为FFH,则产生相应的停顿效果。3、例如频率为523Hz,其周期T=1/523=1912us,因此只要令计数器计时956us/1us=956,在每次技术956次时将I/O反相,就可得到中音DO

6、(523Hz)。计数脉冲值与频率的关系公式如下:N=Fi2FrN:计算值;Fi:部计时一次为1us,故其频率为1MHz; 4、其计数值的求法如下:初值T=65536-N=65536-Fi2Fr例如:设K=65536,F=1000000=Fi=1MHz,球低音DO(261Hz)。中音DO(523Hz)。高音的DO(1046Hz)的计算值T=65536-N=65536-Fi2Fr=652Fr=65536-500000/Fr低音DO的T=65536-500000/262=63627低音DO的T=65536-500000/523=64580低音DO的T=65536-500000/1047=650591

7、、 C调各音符频率与计数值T的对照表如表4.1所示。表2.3 C调各音符频率与计数值T的对照表低音频率N参数中音频率N参数高音频率N参数Do2621908229Do523956115Do10465757Do#2771805217Do554903108Do11095454Re32941701204Re587852102Re11755151Re3111608193Re62280497Re12454848Mi3301515182Mi65975991Mi13184545Fa3491433172Fa69871686Fa13974343Fa3701351162Fa74067681Fa14804141So3

8、921276153So78463877So15683838So4151205145So83160272So16613636La4401136136La88056868La17603434La4641078129La93253664La18653232Si4941012121Si98850661Si197630302. 节拍的确定若要构成音乐,光有音调是不够的,还需要节拍,让音乐具有旋律(固定的律动),而且可以调节各个音的快满度。“节拍”,即Beat,简单说就是打拍子,就像我们听音乐不自主的随之拍手或跺脚。若1拍实0.5s,则1/4 拍为0.125s。至于1拍多少s,并没有严格规定,就像人的心跳

9、一样,大部分人的心跳是每分钟72下,有些人快一点,有些人慢一点,只要听的悦耳就好。音持续时间的长短即时值,一般用拍数表示。休止符表示暂停发音。一首音乐是由许多不同的音符组成的,而每个音符对应着不同频率,这样就可以利用不同的频率的组合,加以与拍数对应的延时,构成音乐。了解音乐的一些基础知识,我们可知产生不同频率的音频脉冲即能产生音乐。对于单片机来说,产生不同频率的脉冲是非常方便的,利用单片机的定时/计数器来产生这样的方波频率信号。因此,需要弄清楚音乐中的音符和对应的频率,以及单片机定时计数的关系。表2.41节拍与节拍码对照节拍码节拍数节拍码节拍数11/4拍11/8拍22/4拍21/4拍33/4拍

10、33/8拍41拍42/1拍51又1/4拍55/8拍61又1/2拍63/4拍82拍81拍A2又1/2拍A1又1/4拍C3拍C1又1/2拍F3又3/4拍每个音符使用1个字节,字节的高4位代表音符的高低,低4位代表音符的节拍,表2.41为节拍码的对照。如果1拍为0.4秒,1/4拍实0.1秒,只要设定延迟时间就可求得节拍的时间。假设1/4拍为1DELAY,则1拍应为4DELAY,以此类推。所以只要求得1/4拍的DELAY时间,其余的节拍就是它的倍数,如图5.3为1/4和1/8节拍的时间设定。表2.42 1/4和1/8节拍的时间设定曲调值DELAY曲调值DELAY调4/4125毫秒调4/462毫秒调3/

11、4187毫秒调3/494毫秒调2/4250毫秒调2/4125毫秒3. 音符的编码do re mi fa so la si分别编码为17,重音do编为8,重音re编为9,停顿编为0。播放长度以十六分音符为单位(在本程序中为165ms),一拍即四分音符等于4个十六分音符,编为4,其它的播放时间以此类推。音调作为编码的高4位,而播放时间作为低4位,如此音调和节拍就构成了一个编码。以0xff作为曲谱的结束标志。举例1:音调do,发音长度为两拍,即二分音符,将其编码为0x18举例2:音调re,发音长度为半拍,即八分音符,将其编码为0x22歌曲播放的设计。先将歌曲的简谱进行编码,储存在一个数据类型为uns

12、igned char 的数组中。程序从数组中取出一个数,然后分离出高4位得到音调,接着找出相应的值赋给定时器0,使之定时操作蜂鸣器,得出相应的音调;接着分离出该数的低4位,得到延时时间,接着调用软件延时。 4.软硬件环境:我用的单片机是at89s51机并且利用keil和proteus仿真软件,设计出一个多功能音乐盒,使用c语言写程序。三、 主要电路模块的实现方案比较及选择3.1 方案设计:第一方案此方案采用的是模拟电路,其中涉及有几部分:1.基准频率产生器,产生基准频率,其值应根据音调发生器的频率要求决定。 电路可由晶振构成时钟脉冲振荡器。2.音调发生器,音调发生器产生各个音区与音符所对应的频

13、率;音符代码存储器,用来存储与乐曲的音符对应的数字代码及乐曲的数量。3.通常先将乐曲进行编码,再将其代码存储在EPROM存储器。4.节拍发生器与地址计数器,节拍发生器的振荡频率由乐曲演奏的速度所决 定。演奏的速度越快,节拍发生器的速度越高。5节拍分配器,将节拍分配好,产生驱动打击的节拍信号。6.声音驱动电路,使乐曲的节拍和频率通过发音演奏出所想要的乐曲。第二方案:采用单片机来设计电路。其中主要涉及以下几个部分:1.AT89S51单片机,通过对其进行编程,利用其部的定时器/计数器改变计数初值,可以实现不同的音调。2.按键电路 有不同按键可以实现不同功能。3.晶振复位电路 由石英晶体振荡器产生单片机工作时所必须的时钟信号。振荡器采用12MHZ的晶振,使之机器周期 Tcy=1us,方便发音程序的计算和编译。4.蜂鸣器通过相应程序可以驱动蜂鸣器使之发声。3.2 设计方案的确定:经过查资料

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作范文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号