数字音乐盒的设计与实现
智能数字音乐盒的设计与实现
智能数字音乐盒的设计与实现林倩;李宽;朵玉顺【摘要】随着科技的飞速发展,人们的生活节奏越来越快,多数人长期处于压力过大的状态.音乐对于调节人的心理压力来说是一种很有效的方式,因此,各式各样的音乐盒开始普及.由于容量大、操作方便、价格便宜等优点,数字音乐盒逐渐成为人们的首选.这里以电子技术为基础,设计了一款数字音乐盒.它以单片机为核心,主要由外围控制电路、外接电路、发声电路、电源电路等组成整个系统.音乐的播放可用按键或者红外遥控器实现,同时还可以播放外接设备中的音乐.该系统电路结构简单、功能强大、具有很强的实用性;软件设计简便易懂,适用范围广,具有广泛的可移植性,对于不同音乐只需改变相应的程序即可.此外,系统还扩展了部分功能,设计了外接播放设备的接口,人们可以随意切换自己喜欢的音乐.【期刊名称】《电声技术》【年(卷),期】2019(043)006【总页数】5页(P46-50)【关键词】单片机;音乐盒;智能;电路【作者】林倩;李宽;朵玉顺【作者单位】青海民族大学物理与电子信息工程学院,青海西宁810007;青海民族大学物理与电子信息工程学院,青海西宁810007;青海民族大学物理与电子信息工程学院,青海西宁810007【正文语种】中文【中图分类】TP368.11 引言音乐盒的起源可以追溯到中世纪欧洲文艺复兴时期,有着几百年的发展历史,是人类文明发展史上的一个见证。
传统音乐盒也就是机械式音乐盒,被称为“可发出声音的组钟”,由金属的撞击而产生声音,因此发音比较单调[1]。
同时,由于制作要求较高,造成制造成本过高,不能进行批量生产。
随着科技的迅速发展,基于电子技术的数字音乐盒已经以各种形式取代了传统音乐盒。
这里以单片机技术为核心设计了一款智能数字音乐盒[2]。
这种以微控制器为核心的数字音乐盒具有功能强大、体积小、价格低廉、使用方便等优点,可以在很多领域得到广泛的应用。
2 系统总体设计2.1 系统构架的设计思路这里以STC89C52单片机为控制核心构成数字音乐盒的基本系统结构,加上外围的控制电路、外接电路、发声电路、电源电路,共同组成整个系统[3]。
《数字音乐盒》设计报告
《数字音乐盒》设计报告
设计目标:
本数字音乐盒旨在提供一种方便、易用的音乐播放体验,让用户可以随时随地享受自己喜欢的音乐。
具体设计要求如下:
1. 支持多种音频格式,如MP3、FLAC等。
2. 采用简洁、直观的用户界面,方便用户操作。
3. 支持多种播放模式,如顺序播放、随机播放等,并且能够记忆用户播放模式。
4. 提供多种音效调节和均衡器设置,使用户可以自由调整音乐效果。
5. 支持歌词显示功能,使用户可以更好地理解音乐。
6. 支持歌曲收藏功能,使用户可以方便地收藏自己的喜爱歌曲。
设计思路与方案:
本数字音乐盒采用嵌入式系统设计,主要硬件部件包括音频芯片、显示屏幕和按键模块,其中音频芯片为核心部件,支持多种音频格式的解码和播放。
用户界面设计上,采用五向导航及确认键来进行操作,主界面分为“音乐播放”和“歌曲收藏”两大模块。
在“音乐播放”模块中,
用户可以选择不同的播放模式,包括顺序播放、随机播放和循环播放。
在播放过程中,用户可以通过前进、后退、暂停等操作来控制音乐播放进程。
同时,也提供了多种音效调节和均衡器设置,用户可以自行选择调整音乐效果。
在播放过程中,歌词会自动显示在屏幕上,方便用户理解歌曲。
在“歌曲收藏”模块中,用户可以收藏自己喜爱的歌曲,方便日后收听。
总结:
本数字音乐盒设计主要针对音乐爱好者,通过简洁、易用的界面设计和多种音效、播放模式等功能的设计,为用户提供了更为便捷、自由的音乐播放体验。
同时,歌曲收藏功能也使用户可以随时查找和收听自己喜爱的歌曲,满足用户对音乐的品质需求。
基于单片机的数字式音乐盒设计
基于单片机的数字式音乐盒设计数字式音乐盒是一种音乐播放器,它通过数字技术存储和播放音乐。
基于单片机的数字式音乐盒可以使用单片机控制音乐的播放,实现音符和旋律的发声和控制。
本文将介绍如何设计一款基于单片机的数字式音乐盒。
一、音乐盒基本原理音乐盒是通过一个带有齿轮的转子,以弹簧的力量驱动,使得钢片受到磁力响应并发声,从而发出旋律。
数字式音乐盒是通过数字技术将音乐编码为数字信号,并存储在芯片中,通过解码器将数字信号还原为音符和旋律发声。
二、单片机控制电路设计1.芯片选择要设计一个数字式音乐盒,需要先选择一款合适的单片机,常用的有AT89C51、STC89C52等。
这里选择一款性能好且价格适中的STC89C52单片机。
2.存储器选型数字式音乐盒的数字信号需要存储在内存中,为了方便起见,使用一个4Mbit的Flash记忆芯片作为存储器。
3.音频输出电路数字信号需要通过解码器进行还原后才能通过音频输出电路输出。
可以使用一对耳机或者喇叭,同时需要用到音量电位器控制音量。
三、软件程序设计1.数字信号编解码算法的设计,可以使用目前较为流行的MIDI编码格式。
2.音乐信号输入模块设计,可以使用USB接口或SD卡接口。
3.数据接收模块设计,可以使用串行通信或者并行通信。
4.数字信号存储模块设计,使用Flash记忆芯片。
5.控制模块设计,实现单片机控制音乐盒的所有操作。
四、实现效果基于单片机的数字式音乐盒实现较为简单,但是需要注意以下几点:1.考虑使用定时器计算控制音乐的播放时间,保证旋律按照要求执行。
2.使用ADC(模拟-数字转换器)读取音量电位器值,对音量进行控制。
3.在使用USB接口时,需要有电路板,使得USB通信接口稳定,可靠。
基于单片机的数字式音乐盒是一种方便实用的音乐盒,通过数字技术的运用,实现了音乐的存储和播放,可广泛应用于各个领域中。
数字音乐盒设计方案
数字音乐盒设计方案1.1 智能音乐盒背景及意义音乐盒的起源,可追溯至中世纪欧洲文艺复兴时期。
当时为使教会的的钟塔报时,而将大小的钟表上机械装置,被称为“可发出声音的组钟”。
1598年,意大利籍耶稣会士利玛窦第一次来到,随行礼物中就有八音琴一台。
这是有史书记载的最早进入中国的八音琴。
经过各种的发明创造,1780年前后,拉匀芳的瑞士人从人偶自动钟的原理获得启示,发明了一种令人赞叹的机制——机械鸟鸣钟。
1796年,日瓦钟匠的发明,给机械音乐盒带来了革命性的改变,使音乐盒的体积缩小达到极限,而在接下来的世纪得以成功的发展。
1870年,德国的发明家首创了盘式音乐盒。
17世纪初,音乐盒的工业成为瑞士超过制表和缝制蕾丝业的第一大产业,这使得位于瑞士侏罗山边的小镇闻名于世。
1.2 国外单片机应用音乐盒概况1992年,中国第一台具有自主知识产权的八音琴在中国韵升的诞生,标志着中国,全方位地参与全球音乐盒这块巨大蛋糕的市场竞争,经过十多年的努力,韵升对八音琴的制造技术进行了更多的技术更新,取得了多个国家和地区50余项发明专利。
这使得音乐盒无论在音质,音量,谱曲,和外观设计等方面都有了更大的改进。
目前,韵升八音琴已占据全球八音琴市场份额的1/4,仅次于日本Sankyo,位居全球第二位。
音乐盒300多年的产品发展,同时也是人类文明300多年发展的历史鉴证。
每个不同时期的音乐盒造型,都能折射出当时不同的社会心态和文明发展现状,它也成了时代的一面镜子。
现今,音乐盒的制造,延袭传统,结合现代,正日益成为人们或为了典藏一段岁月,或为了收藏一份情感,或出于对音乐的追求,或对于旧时代的怀念,或为了居室的美化,等等,而得到众多品位人士的追求。
韵升八音琴店在新天地里设立了自己在的第一家店面,这也是惟一一家国品牌的八音琴专卖店。
在66平方米的店面中设了将近120多种八音琴,只要走进去就能感受到八音琴那清澈、透亮的音质所带来的美妙享受。
在这里,八音琴的价格并不是很贵,很适合作为礼品送给自己的朋友,其中,30音的八音琴价格在500元左右,50音的八音琴价格几乎上千。
音乐盒实验报告
引言随着人类社会的发展,人们对视觉、听觉方面的享受提出了越来越高的要求。
音乐始终是深受广大消费者喜爱的文化生活元素。
小小的音乐盒可以给人们带来美好的回忆,提高人们的精神文化享受。
设计要求以单片机为核心,设计一个数字音乐盒:利用I/0口产生一定频率的方波驱动蜂鸣器,发出不同音调,从而演奏乐曲采用LCD显示信息,开机时有英文欢迎提示字符,播放时显示歌曲序号。
可通过功能键选择乐曲、暂停、播放。
晶振频率为11.0592MHz原理说明用一块AT89C51作为控制中心,编好程序烧录进单片机里,使I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演奏乐曲。
输出信号通过三极管放大,由一个蜂鸣器来表现信号的输出。
发声程序接通电源时,启动计数器T0、T1,工作于模式1,T0在主程序中用查询中断,每次R0、R1给定的定时时间到就给P1.3口取反,再查询是否有按暂停键,没有就通过下面的AJMP L0循环到L0中再次装初值,定时并循环产生一定频率的脉冲,通过P1.3口输出,经过PNP三极管的基极放大输出到蜂鸣器。
T1定时0.006s,并且是利用中断功能,每过0.OO6秒就跳入中断程序YINFU,重装初值后,经过给P2送显示的程序后,用R2判断是否经过150次定时达到0.6S,达到0.6就先查询R5的值看是在播放那一首歌曲,再跳入相应的查询字库程序,查询A的值是否已经为一首歌的最后一个音符,是则从新给A赋值#OOH,并改变R5的值换下一首歌曲,在换R5的值之前还要查询R5的值是否为最后一首歌的值,最终通过寄存器A的自动累加,不断替换R0、R1的值,改变主程序中T0的初值换下一个频率的音,从而达到发出音乐的目的。
下图为音乐盒的扬声器部分电路:数码管显示由于能力与时间的有限未能实现LCD显示而采用的数码管代替,歌曲的序号显示是通过单片机的P2口的输出的信号控制的,P2口的信号输出程序在T1的定时中断中断程序中,由于T1的定时中断每过0.006秒就执行一次,所以看不出有闪动。
数字音乐盒 课程设计报告
1.0mm
2m×16
松香
1盒×16
蜂鸣器
无源
1
附件B:总电路图
附件C:音乐程序
#include <reg52.h>
#include "Music.h"
#include "SoundPlay.h"
#include "lcd.h"
#define SYSTEM_OSC12000000//定义晶振频率12000000HZ
//**************************************************************************
unsigned char code *Sound;
unsigned char code *Music[3]={Music_Girl,Music_Same,Music_Two};
if (SM==3) CurrentFre <<= 2;//高音
Temp_T = 65536-(50000/CurrentFre)*10/(12000000/SYSTEM_OSC);//计算计数器初值
Sound_Temp_TH0 = Temp_T/256;
Sound_Temp_TL0 = Temp_T%256;
TH0 = Sound_Temp_TH0;
TL0 = Sound_Temp_TL0 + 12; //加12是对中断延时的补偿
}
if(KeyScan())goto Again;/*moren=LengthTab[Length%10];//算出是几分音符
XG=Length/10%10;//算出音符类型(0普通1连音2顿音)
数字音乐盒的课程设计报告
数字音乐盒的设计摘要传统音乐盒,多是机械型的,体积笨重,发音单调,水、灰尘等外在因素,容易使部金属发音条变形,从而造成发音跑调。
另外,机械音乐盒放音时为了让音色稳定,必须放平不能动摇,而且价格昂贵,不能实现大批量生产。
本设计是一个基于AT89C51系列单片机的音乐盒。
该音乐盒主要由按键电路、复位电路、时钟电路、显示电路以及蜂鸣器组成。
使用四个按键控制音乐盒,其中两个按键用来控制歌曲的播放、暂停,另两个用来控制液晶上歌曲次序的变化,本音乐盒共有三首歌曲。
播放歌曲时,相应歌曲对应相应数码管上歌曲次序及歌名的显示。
关键词:AT89C51,蜂鸣器,LCD液晶显示,音乐盒目录1 绪论11.1课题描述11.2根本工作原理及框图12 相关芯片及硬件电路设计22.1AT89C51芯片22.1.1 AT89C51的功能特性22.1.2 AT89C51的主要性能参数3 2.2时钟电路32.3复位电路42.4按键电路42.5蜂鸣器电路52.6显示电路52.6.1 线段的显示52.6.2 字符的显示62.7总体电路73 系统软件设计73.1程序主要流程73.2程序设计84 系统软件仿真23总结26致27参考文献281 绪论1.1 课题描述随着人类社会的开展,人们对视觉、听觉方面的享受提出了越来越高的要求。
小小的音乐盒可以给人们带来美好的回忆,提高人们的精神文化享受。
传统的音乐盒大多数是机械型的,体积笨重,发音单调,不能实现批量生产。
本文设计的音乐盒是以单片机为核心元件的电子式音乐盒,体积小,重量轻,能演奏和旋音乐,功能多,使用方便,可以批量生产,具有一定的商业价值。
本设计是基于单片机的数字音乐盒设计,由单片机AT89C51芯片和LED数码管为核心,辅以必要的电路,构成的一个单片机电子数字音乐盒[1]。
1.2 根本工作原理及框图本次设计是一个基于AT89C51单片机的音乐盒,该音乐盒主要由时钟电路、复位电路、按键电路、蜂鸣器以及显示电路组成。
《数字音乐盒》设计报告
持续创新,系列服务:经过很艰辛的努力,我们已经取得了一定的成果,并将在接下来的一段时间推出由本公司自主研发的音乐盒。同时,我们还会为用户提供相关的技术服务,方案制作和系统开发的服务。
图1-2音乐盒硬件电路原理图
3:音符频率和节拍的产生方法
3.1音符频率我们知道,之所以 Nhomakorabea不同的音调正是因为不同的音符对应不同的频率。表1-3给出了我们从低音1到高音7所对应的频率。即在编程时我们要根据音调的变化调整频率的变化。
3.2利用定时器/计数器0产生音符频率
利用单片机的内部定时器/计数器0,使其工作在模式1,定时中断,然后控制P3.7引脚的输出每次取反,就可以在P3.7的引脚输出相应的方波频率。改变计数初值就可以改变频率。即要产生音频输出方波,首先要算出某一个音频的周期(1/f),然后将此周期除以2,得到半个周期的时间。定时器的定时时间等于半个周期,定时时间到就将输出脉冲取反,重复上述过程,就可以在P3.7脚上得某一音频的脉冲。
例如:中音1(DO)的频率=523Hz,周期T=1/523s=1912毫秒;
定时器/计数器0的定时时间为:T/2=956毫秒;
定时956毫秒的计数值=定时时间/机器周期=956毫秒/1毫秒=956(时钟频率=12MHz)
装入TH0、TL0的计数初值THTL=65536-956=64580.
将64580装入TH0、TL0寄存器中,启动T1工作后,每计数956次时将产生溢出中断,进入中断服务程序是,每次对P3.0引脚的输出值进行取反,就可得到中音DO(523Hz)的音符频率。
数字音乐盒设计报告
一、设计题目:数字音乐盒二、设计任务和要求:1、利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演奏乐曲(最少储存三首乐曲,每首不少于30秒)。
2、采用LCD显示信息。
3、开机时有英文欢迎提示字符,播放时显示歌曲序号(或名称)。
4、可通过功能键选择乐曲,暂停,播放。
5、选作内容:显示乐曲播放时间或剩余时间。
6、本设计中用89C51单片机,4*4键盘,蜂鸣器,16*2 LCD,七段显示数码管LED。
三、原理电路和程序设计:1、方案比较:方案1:用四个按键控制音乐的播放。
3个按键选择3首不同的音乐播放,另一个按键控制音乐的停止。
按下播放键,用一点简单的控制之后,才开始播放音乐。
比如,用定时器控制,亮灯倒计时10秒然后触发音乐播放。
方案2:用4*4小键盘来实现音乐的选择播放,1~A按键控制播放10首音乐,C~F 按键分别实现欢迎页面、上一首、下一首、停止播放。
为方便以后扩展,选择方案2。
2、电路工作原理:本设计中用到了89C51单片机,4*4键盘,蜂鸣器,16*2 LCD,七段显示数码管LED。
当键盘有键按下时,判断键值,启动计数器T0,产生一定频率的脉冲,驱动蜂鸣器,放出乐曲。
同时启动定时器T1,显示乐曲播放的时间,并驱动LCD,显示歌曲号及播放时间。
也可在LED显示歌曲号。
(1)硬件电路中用P1.0~P1.7控制按键,其中P1.0~P1.3扫描行,P1.4~P1.7扫描列。
(2)用P0.0~P0.7,P2.0~P2.7控制LED,其中P0.0~P0.7控制七段码a,b,c,d,e,f,g,用P2.0~P2.7为数码管位选信号。
(3)用,P2.0~P2.2作为LCD的RS,R/W,E的控制信号。
用P0.0~P0.7作为LCD 的D0~D7的控制信号。
(4)用P3.7口控制蜂鸣器。
(5)电路为12MHZ晶振频率工作,起振电路中C1,C2均为30pf。
3、电路原理图:4、软件实现方法:一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。
基于单片机的数字式音乐盒设计
使用数字式音乐盒
在数字式音乐盒被制造完成后,使用也非常容易。只需要按下相应的控制开关,就可以开始播放音频文件。用户可以通过电位器调节音量或者播放音乐列表中的其他曲目。
在使用过程中,要注意数字式音乐盒的电池寿命。如果数字式音乐盒使用的是充电电池,那么必须确保其有足够的充电时间。
设计数字式音乐盒的材料
为了实现数字式音乐盒,需要以下材料:
·单片机芯片(例如STM32F103C8T6)
·数字到模拟转换器(DAC)
·音频输出器件(例如扬声器或耳机)
·控制开关(例如电位器,按钮等)
·电池(为了提供电源)
·音频文件(MP3,WAV等)
将这些材料组合在一起,可以实现数字式音乐盒。其中,单片机芯片是数字式音乐盒的关键部件,可以存储和播放歌曲、音乐片段等。
基于单片机的数字式音乐盒设计
随着新技术的不断涌现,数字式音乐盒成为人们越来越喜欢的玩具。它的外观精美,功能强大,而且价格也比传统音乐盒便宜,极受欢迎。本文将讨论基于单片机的数字式音乐盒设计,以及它的工作原理、材料和使用。
数字式音乐盒的工作原理
数字式音乐盒是使用单片机芯片进行数字信号的处理,通过音频输出器件输出模拟电信号的技术。这些芯片可以储存大量的音频文件,并且可以轻松地播放这些文件,具有极高的音频质量。数字式音乐盒可以播放所有类型的音频文件,比如WAV,MP3,MIDI和WMA等。这些芯片通常由音乐芯片,播放器和控制系统组成。播放器可以读取音频文件,发送给芯片进行处理,控制系统负责控制播放过程,比如触发开关等功能。整个过程非常简单,非常可靠。
最后,数字式音乐盒具有很多优点,比如它可以储存大量的音频文件,具有非常出色的音频质量,价格实惠,易于制造和使用,因此它是一款非常好的数码产品。
单片机数字音乐盒设计
单片机数字音乐盒设计
单片机数字音乐盒是一种基于单片机的音乐播放器,可以通过程序控制播放不同的音乐。
下面是一个简单的单片机数字音乐盒的设计思路:
1. 材料准备:
- 单片机:选择一种合适的单片机,如Arduino或者STM32等。
- 扬声器:选择一种合适的扬声器,可以是小型的音箱或者
蜂鸣器等。
- 按键:选择一组适量的按键,用于控制音乐的播放、暂停、切换等功能。
- 电源:准备一块适量的电源供电给单片机。
2. 程序设计:
- 编写单片机的控制程序,包括初始化单片机和音频模块、
判断按键输入、控制音乐的播放等功能。
- 将音乐转化为单片机可识别的数据,可以将音乐文件先转
化为.wav格式,再通过程序将.wav文件转化为单片机可以播
放的数据格式。
3. 连接电路:
- 将单片机与扬声器连接起来,通过合适的音频线连接扬声
器的输入端和单片机的输出端。
- 连接按键到单片机的输入口,使单片机可以接收到按键的
输入信号。
4. 调试测试:
- 将单片机与电源连接并上电。
- 通过按键测试音乐的播放、暂停和切换等功能。
- 如果出现问题,可以通过调试程序和检查电路连接等方式进行故障排除。
基于单片机的音乐盒设计与实现
基于单片机的音乐盒设计与实现基于单片机的音乐盒设计与实现随着科技的发展,音乐盒这一传统的机械音乐装置逐渐被电子化取代。
基于单片机的音乐盒正是这样一种电子化的音乐装置,是将单片机技术应用到音乐盒中,使得音乐盒变得更加智能化、可编程化。
一、基本设计原理基于单片机的音乐盒的背后,是单片机自身拥有强大的控制和处理能力。
单片机芯片内部包含CPU、存储单元、外设接口等元件,在加上各种传感器,以及DAC和PWM模块等输出模块,可以实现音乐盒的很多功能。
其中,按键、红外遥控器等输入模块用于控制播放、停止、循环等音乐操作,DAC和PWM模块用于模拟音频输出,将数字信号转换成模拟信号,以输出最终的音乐。
二、硬件设计在具体实现基于单片机的音乐盒时,需要选用适当的硬件,并作出合理的硬件设计。
硬件设计可分为几个模块:1、输入模块:选择合适的按键、红外遥控器等。
按键通常采用矩阵式按键,这样可以减少I/O口的使用,而红外遥控器的选择需要根据传输距离和稳定性等因素进行考虑。
2、存储模块:存储模块通常选择闪存或SD卡,目的是保存音频文件。
SD卡常用于储存大量音乐文件,闪存则常用于储存音乐盒固件程序和一些小的音乐片段。
3、输出模块:输出模块一般选择DAC和PWM模块,DAC用于输出高质量的音频信号,PWM则用于输出普通音频信号。
4、控制模块:控制模块通常选择单片机芯片作为控制核心,以实现音乐盒的各种功能。
三、软件设计在软件设计方面,需要根据实际需求对程序进行编程。
编程语言通常使用C语言或汇编语言。
在编程时,需要先编写程序框架,再选用合适的算法进行实现。
1、程序框架设计:程序框架包括程序结构、函数定义及参数、全局变量定义等内容。
通常,程序框架的设计需要体现出程序的模块化思想,以便于程序的维护和升级。
2、算法选择:在实现音乐盒的功能时,需要选用合适的算法。
例如,音乐的循环播放可以采用计数器实现,按键功能可以通过中断实现等。
同时,需要根据实际需求对算法进行部分优化,提升程序效率,减少系统资源的消耗。
基于单片机的电子音乐盒的设计与实现
基于单片机的电子音乐盒的设计与实现引言:电子音乐盒是一种能够播放预先录制音乐的装置。
传统的音乐盒通常使用机械装置来驱动音乐的播放,而基于单片机的电子音乐盒则采用了电子技术来实现这一功能。
本文将介绍基于单片机的电子音乐盒的设计与实现。
设计方案:1.输入模块:输入模块主要负责接收用户的输入,包括选择音乐和设置播放模式。
可以使用按钮、旋钮或触摸屏等方式来作为输入设备。
当用户选择音乐或设置播放模式时,输入模块将会发送相应的信号给控制模块。
2.存储模块:存储模块用于存储音乐的数据,可以使用闪存、SD卡或EEPROM等存储设备。
音乐的数据可以通过计算机编程的方式进行录制和存储。
3.解码模块:解码模块是将存储模块中的音乐数据解码为可供音频输出的信号。
解码模块通常包括一个解码器芯片和一些辅助电路,用于将数字信号转换为模拟信号。
4.音频输出模块:音频输出模块用于将解码模块输出的音频信号转换为可听的声音。
音频输出模块通常包括一个功放芯片和声音放大器等辅助电路。
5.控制模块:控制模块是整个音乐盒的核心,它接收输入模块的信号,并根据输入信号来控制存储模块、解码模块和音频输出模块的工作。
控制模块通常由一块单片机芯片和一些外围电路组成。
实现步骤:1.设计音乐数据格式:根据实际需求设计音乐数据的存储格式,包括音符音高、音符时长等信息。
可以使用标准的音乐符号来表示音乐数据。
2.编写控制程序:使用适当的编程语言编写控制程序,程序可以根据输入信号来选择和播放音乐。
控制程序需要与输入模块、存储模块、解码模块和音频输出模块进行交互。
3.实现输入模块:根据设计方案中的输入要求选择合适的输入设备,并编写对应的驱动程序。
驱动程序可以根据用户的输入来改变控制程序的运行状态。
4.实现存储模块:选择合适的存储设备,并编写读取和写入音乐数据的程序。
存储模块的程序可以根据控制程序的请求来读取特定的音乐数据。
5.实现解码模块:选择合适的解码器芯片,并编写相应的解码程序。
数字音乐盒设计
数字音乐盒设计摘要电子音乐已广泛的应用于社会生活的各个领域,其类型从音乐卡片到CD、MP3等多种多样。
利用单片机控制的电子音乐发生器软硬件上具有独特的优点,系统的开发周期短,成本低,电路制作容易。
更换歌曲时,硬件电路无需作任何修改,只需修改软件即可实现。
本文设计了单片机控制的音乐发生器系统,主要有硬件电路设计和软件设计两部分。
硬件方面选择内部存储资源丰富的AT89C51单片机,时钟采用12MHz晶体振荡电路,软件方面使用汇编语言,同时还可根据个人的习好通过软件改变节拍的延时时间,增加电子音乐的趣味性。
关键字:AT89C51芯片,LED数码管,LED显示器,蜂鸣器。
目录一、相关知识介绍 (1)(一)单片机音乐盒介绍 (1)(二)显示屏控制技术状况 (3)二、总体方案论证与设计 (4)(一)单片机的选取 (4)(二)LED显示方式 (4)(三)LED驱动模式 (5)(四)系统总体结构框图 (5)(一)AT89C51 芯片功能和硬件连接 (6)(二)LED显示器 (8)(三)键盘 (9)(四)系统复位电路的设计 (10)(五)时钟电路模块 (10)(六)输出显示电路 (11)(七)音频输出部分 (11)(八)整体硬件电路 (12)四、系统软件设计 (13)(一)主模块的设计 (13)(二)外部中断源系统设计 (13)(三)基本显示模块设计 (14)(四)系统初始化程序 (15)(五)音调、节拍以及编码的确定方法 (15)(六)程序流程 (19)(七)文档顶端程序清单 (19)五、调试结果 (26)(一)系统总电路图 (26)(二)运行结果及分析 (26)设计小结 (28)参考文献 (29)致谢.....................................................................................................错误!未定义书签。
音乐盒设计报告
音乐盒设计报告引言音乐盒是一种传统的音乐装置,通过旋转手柄,音乐盒能够播放预先设置的音乐曲目。
在现代科技的发展下,电子音乐盒也逐渐兴起,以更加便捷和多样化的方式带给人们美妙的音乐享受。
本文将介绍设计一个电子音乐盒的过程和结果。
设计目标本次设计的电子音乐盒旨在实现以下目标: 1. 小巧便携:能够轻便地携带,随时随地享受音乐; 2. 多样音乐:能够存储和播放不同的音乐曲目,满足不同用户的需求; 3. 简单操作:操作简便,方便用户选择和播放音乐; 4. 好听音质:提供高质量的音频输出,保证音乐的美妙效果; 5. 耐用可靠:设计结构合理,能够保证长时间的使用寿命。
设计方案系统结构设计的电子音乐盒主要由以下组件构成: 1. 控制电路板:控制音乐播放和操作界面; 2. 存储器:存储音乐文件; 3. 播放装置:转动装置和音频输出设备。
控制电路板控制电路板是整个音乐盒的核心部分,负责处理用户的操作指令,控制音乐的播放和切换。
控制电路板采用嵌入式系统设计,集成了微处理器、存储器和输入输出接口。
通过设计合理的电路布局和优化算法,确保音乐盒的性能和稳定性。
存储器存储器用于存储音乐文件,通过存储器,用户可以随时切换不同的音乐曲目。
存储器采用固态存储器(例如闪存),具有较大的容量和高读写速度。
同时,存储器还需要设计合理的文件系统,方便用户管理和添加音乐文件。
播放装置为了实现音乐的播放,播放装置包括转动装置和音频输出设备。
转动装置通过电机和齿轮系统实现,根据用户旋转手柄的操作,转动装置会根据音乐的节奏和时间信息进行精确控制。
音频输出设备采用高音质的耳机和扬声器,保证音乐的清晰和逼真效果。
电源为了保证音乐盒的正常使用,电子音乐盒需要一个稳定的电源。
一般常见的音乐盒采用电池供电,可以使用可充电电池或者干电池。
通过合理的电路设计,确保电池的寿命和稳定性。
设计过程需求分析在设计之前,首先需要明确用户的需求和期望。
通过市场调研和用户调查,获取用户对电子音乐盒的需求和期望,确定设计的基本要求。
基于单片机的数字式音乐盒设计
基于单片机的数字式音乐盒设计一、引言音乐盒是一种能播放旋律的小型装置,常见于饰品或礼物中。
传统的音乐盒通常采用机械结构来产生音乐,但随着技术的进步,数字式音乐盒开始逐渐普及。
本文将以单片机为核心,设计一款数字式音乐盒,实现多种旋律的自由切换、音量调节和节拍设置。
二、硬件设计1.单片机选择由于单片机需要处理音乐播放的计算和控制,因此需要选择性能较高的单片机作为核心处理器。
常用的单片机有8051系列、PIC系列以及Arduino等。
本设计选择Arduino UNO作为单片机,因其性能稳定、易用性高。
2.音频模块与扬声器音频模块是用于产生音乐信号的模块,常见的有MP3解码芯片、DAC芯片等。
本设计选择MP3解码芯片作为音频模块,它可以播放预先录制好的音乐文件,并输出为模拟音频信号。
模拟音频信号经过放大电路后,驱动扬声器播放出声音。
3.控制模块与输入按键控制模块是用来接收用户输入指令,并进行相应的处理和控制的模块。
本设计选用几个按键作为输入,通过Arduino的数字IO口来接收按键信号,从而实现音乐切换、音量调节和节拍设置等功能。
4.电源模块电源模块用于为整个系统提供电能,一般选择DC电源或者电池供电。
本设计选择直流电源供电,通过稳压电路将输入电压稳定为单片机和其他模块所需的工作电压。
同时,为了方便携带和使用,电源模块还可以设计为可充电模式,减少电池更换的频率。
三、软件设计1.主程序框架软件设计的主程序框架分为三个模块:音乐播放控制模块、输入按键检测模块和音量调节模块。
主程序通过循环结构,不断检测按键输入,并根据用户的指令进行相应的处理和控制。
2.音乐播放控制模块音乐播放控制模块是整个设计的核心模块,它通过与MP3解码芯片的通信,实现音乐的自由切换。
MP3解码芯片可以将预先录制好的音乐文件保存在存储器中,通过与单片机的串行通信接口,将音乐数据传输到单片机中进行解码和播放。
音乐播放控制模块实现了音乐的播放、暂停、停止等操作,并提供了多个音乐旋律的选择。
数字音乐盒的设计与实现
数字音乐盒的设计与实现课程设计报告课程设计名称:微机系统综合课程设计课程设计题目:数字音乐盒的设计与实现1 总体设计方案1.1 题目介绍与要求本次课程设计的任务是运用伟福Lab8000试验箱和keil软件设计并实现一个数字音乐盒,要求采用I/O产生一定频率的方波,从而驱动蜂鸣器发出不同的音调,演奏乐曲;并且需要采用七段数码管显示当前播放的歌曲序号和播放时间;还得通过数字键盘直接选择乐曲,控制选择上一曲和下一曲音乐,具有暂停和播放控制功能。
1.2设计思路1.2.1音调的产生频率的高低决定了音调的高低。
音乐的十二平均率规定:每两个八度音(如简谱中的中音1和高音1)之间的频率相差一倍。
在两个八度音之间又分为十二个半音。
另外,音名A(简谱中的低音6)的频率为440Hz,音名B到C之间、E 到F之间为半音,其余为全音。
由此可以计算出简谱中从低音1到高音1之间每个音名对应的频率,所有不同频率的信号都是从同一个基准频率分频得到的。
要产生音频脉冲,只要算出某一音频的周期(1/频率),然后将此周期除以2,即为半周期的时间。
利用定时器计时这半个周期时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期时间再对I/O反相,就可在I/O脚上得到此频率的脉冲。
利用51单片机的内部定时器使其工作在计数器模式MODE1下,改变计数值TH0及TL0以产生不同频率的方法。
此外结束符和休止符可以分别用代码00H和FFH来表示,若查表结果为00H,则表示曲子终了;若查表结果为FFH,则产生相应的停顿效果。
例如频率为523Hz,其周期T=1/523=1912us,因此只要令计数器计时956us/1us=956,在每次技术956次时将I/O反相,就可得到中音DO(523Hz)。
计数脉冲值与频率的关系公式如下:N=Fi/2/FrN:计算值;Fi:内部计时一次为1us,故其频率为1MHz;其计数值的求法如下:初值T=65536?NC调各音符频率与计数值T的对照表如表1.1所示。
单片机课程设计数字音乐盒的设计
数字音乐盒的设计摘要本设计采用了扬声器发声来实现歌曲的播放,能保持基本音调不变,流畅播放出歌曲。
现选用AT89C51 单片机。
用PROTEUS 单片机仿真软件仿真。
利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演奏乐曲。
通过单片机P1 口控制,实现功能键盘控制;功能键盘采用按键开关,通过单片机P2 口控制,实现歌曲播放顺序的调换和暂停播放功能;扬声器由单片机的P3 口控制,实现歌曲播放;主要工作过程是通过按下功能键实现上一首和下一首及暂停播放,同时有液晶屏显示当前播放歌曲的序号,扬声器播放出音乐。
小小的音乐盒可以给人们带来美好的回忆,提高人们的精神文化享受。
传统的音乐盒多是机械型的,体积笨重,发音单调,不能实现批量生产。
本文设计的音乐盒是以单片机为核心元件的电子式音乐盒,体积小,重量轻,能演奏和旋音乐,功能多,使用方便,可以批量生产,具有一定的商业价值。
关键词:AT89C51 单片机,方波,音调目录1 绪论 (1)1.1设计简述 (1)1.2设计目的 (1)1.3主要问题 (1)1.4 技术指标 (1)2 设计方案简述 (2)2.1 设计功能要求 (2)2.2 总体设计原理 (2)2.3 总体设计框图 (2)3 硬件电路设计 (3)3.1 硬件电路 (3)3.2 时钟复位电路 (3)3.3 按键输入电路 (4)3.4 输出显示电路 (4)3.5 整体硬件电路 (5)3.6 原理说明 (6)3.7 键盘按键 (6)4 软件设计 (7)4.1 设计源程序代码(见附录) (7)4.2程序设计流程图 (7)5 仿真 (8)6 设计结果及分析 (10)总结 (11)致谢 (12)参考文献 (13)附录 (14)1 绪论1.1设计简述本文设计的音乐盒,是基于单片机设计制作的电子式音乐盒。
与传统的机械式音乐盒相比更小巧,音质更优美且能演奏和弦音乐。
电子式音乐盒动力来源是电池,制作工艺简单,可进行批量生产,所以价格便宜。
音乐盒设计(单片机课程设计
音乐盒设计(单片机课程设计数字音乐盒的设计目录摘要 I II 第一章设计方案的对比 1 第二章总体方案设计 2原理简介 2方案设计思想 2 第三章方案实现 3、音频脉冲的产生 3 .音乐节拍的生成 4建立音乐的步骤 4 第四章硬件设计 5硬件电路 5、89C51的工作特性 5 原理说明 6 电路各模块说明 6键盘系统 6 放大电路 7 时钟电路 8 复位电路 8 显示电路 9 第五章软件设计10主模块的设计 10 第六章仿真、安装和调试 12 总结 13 致谢 14 参考文献 14 附录 15附录一:音乐程序 15 附录二:基于单片机的数字音乐盒总电路图 32数字音乐盒的设计摘要本设计是基于单片机的数字音乐盒设计由单片机89C51芯片和显示器为核心,辅以必要的电路,构成的一个单片机电子数字音乐盒要求利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调并采用显示信息,从而演奏乐曲,开机时有英文欢迎提示字符,播放时显示歌曲序号,可通过功能键选择乐曲,暂停,播放本设计采用4*4键盘,用99来画系统硬件图,采用汇编语言进行编程,编程后利用C51来进行编译,再生成的文件装入芯片中,采用软件来仿真,检验功能得以正常实现该音乐盒的设计可以通过按键选择不同的曲目,播放和暂停,并通过显示歌曲号及播放时间本设计键盘采用动态扫描方式每次扫描一行键盘,送此行低电平,读输入口的状态值,判断有没有键按下若有键按下,根据读入口的值选择显示值并送至显示值寄存单元,判断键值,启动计数器T0,根据次值为偏移地址找到要选择的音乐的代码的首地址,根据代码产生一定频率的脉冲,驱动蜂鸣器,放出音同时启动定时器T1,计算音乐的播放的时间关键词:数字音乐盒 89C51 显示器软件 4*4键盘动态扫描 C5I数字音乐盒的设计- - 89C51 - I/O a ( 3 30 )4*4 99 - - a pl-ayT0a T1: 89C51 4*4 C51II数字音乐盒的设计第一章设计方案的对比方案一:本设计以89C51为核心,配合键盘系统,放大电路,时钟电路和数码管显示电路实现音乐的演奏音乐盒设计采用独立的键盘做为音符的输入以89C51为核心本设计中用到了89C51单片机,4*4矩阵式键盘,蜂鸣器,14引脚的,可以通过以下原理框图来实现该音乐盒的设计图系统结构框图时钟电路单片机89C51琴键电路|放大电路显示电路复位电路方案二:该方案以89S52单片机为核心,主要设计模块包括数码管显示部分,功能键盘部分,蜂鸣器发声部分,彩灯部分数码管采用共阳极数码管,通过单片机P1口控制,实现歌曲序号的显示;功能键盘采用1*8键盘按键开关,通过单片机P3口控制,实现歌曲播放顺序的调换和暂停播放功能;蜂鸣器由单片机的P2口控制,实现歌曲播放;彩灯是由普通发光二极管代替,能实现单色长亮和闪烁效综上所述:由于方案一的琴键输入是通过独立式键盘来完成的这样便于控制且直观且本方案是采用我们所熟知的单片机类型和显示电路,便于我们理解而方案二中其他电路部分与方案一相差不大,但系统实现比较困难且主控芯片采用的是我们少用的89S51,所以我们选择方案一1数字音乐盒的设计第二章总体方案设计原理简介当键盘有键按下时,判断键值,启动计数器T0,产生一定频率的脉冲,驱动蜂鸣器,放出乐曲同时启动定时器T1,显示乐曲播放的时间,并驱动显示歌曲号方案设计思想(1)要产生音频脉冲,只要算出某一音频的周期(1/音频)然后将此周期除以2即为半周期的时间利用定时器计时这个半周期时间每当计时到后就将输出脉冲的I/O反相然后重复计时此半周期时间再对I/O口反相就可在I/O脚上得到此频率的脉冲(2)利用的内部定时器使其工作在计数器模式1下改变记数值TH0及TL0以产生不同频率的方法例如频率为HZ其周期T=1/=微秒因此只要令计数器定时/1=在每记数9次时将I/O口反相就可得到中音D0(HZ)记数脉冲值与频率的关系公式如下: N=Fi/2/Fr N:记数值Fi:内部计时一次为1微秒.故其频率为1 Fr;要产生的频率 (3):起记数值的求法如下: T=-N=-Fi/2/Fr例如:设K=,F==Fi=1,求低音D0,高音的D0的记数值T=-N=-Fi/2/Fr=-/2/Fr=-/Fr低音D0的T=-/=中音D0的T=-/=低音D0的T=-/=2数字音乐盒的设计第三章方案实现、音频脉冲的产生对于音乐盒而言发出悦耳的音乐是其最主要的功能,那么对于使用单片机来制作出来的音乐盒怎么实现音符的发声呢?通过查看资料我们知道音符的发音主要靠不同的音频脉冲利用单片机的内部定时器/计数器0,使其工作在模式1,定时中断,然后控制引脚的输出音乐只要算出某一音频的周期,然后将此周期除以2,即为半周期的时间,利用定时器计时这个半周期时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期时间再对I/O反相,就可在I/O脚上得到此频率的脉冲具体做法如下所示:例如:中音1的音频=HZ周期T=1/s=s 定时器/计数器0的定时时间为:T/2=/2s=s定时器s的计数值=定时时间/机器周期=s/1s=(时钟频率=12)装入T0计数器初值为-=将装入T0寄存器中,启动T0工作后,每计数次时将产生溢出中断,进入中断服务时,每次对引脚的输出值进行取反,就可得到中音的音符音频将51单片机内部定时器工作在计数器模式1下,改变计数初值TH0TL0以产生不同的频率下表3-1是C调各音符频率与计数初值T的对照表:3数字音乐盒的设计表3-1 C调各音符频率与计数初值T的对照表频率/音符低1 高1 中2RE 低3M 高3M 中4FA 低5 高5 中6LA 低7SI 高7SI初值(s)// /// /// / / /音符中1 低2RE 高2RE频率/初值(s)// /中3M 低4FA 高4FA// /中5 低6LA 高6LA 中7SI// / /.音乐节拍的生成要唱出一首歌,只产生出音频脉冲还不够,还要考虑节拍定义:每个音符占用一个字节,字节的高4位代表音符的高低,低4位表示该音符的节拍,如果一拍为秒,则1/4拍是秒,只要设定延迟时间就可获得节拍的时间我们也可以设1/4拍为1个则1拍应该是4个,只要求得1/4拍的时间,其余的节拍就是它的倍数表3-2节拍数节拍码节拍数节拍码1/4节拍1 1又1/2拍62/4节拍2 2拍 83/4节拍3 2又1/2拍A1拍 4 3拍 C1又1/4拍5 3又3/4拍F建立音乐的步骤先把谱的音符找出,然后由上表建立时间常数初值T的顺序表,标号为4数字音乐盒的设计1建立音符和节拍表,标号为,将构成发音符的计数值放在其中表的结构为:简谱码为高4位,节拍码为低4位,在唱歌程序中对每一个有节拍的音符能通过设计共同生成音符节拍码,本程序的音符节拍码表见表3-2第四章硬件设计硬件电路本设计中用到了89C51单片机,其引脚图如右图4-1-1所示,矩阵式键盘模块,蜂鸣器,16*2 ,扬声器、数码管显示器等图4-1-9C51引脚图、89C51的工作特性•内含4KB的存储器檫写次数次;•内含字节的;5数字音乐盒的设计•具有32根可编程I/O线;•具有2个16位编程定时器•具有6个中断源,5个中断矢量,2级优先权的中断结构;•具有1个全双工的可编程串行通信接口;•具有1个数据指针;•具有可编程3级程序锁定位;•89C51的工作电源为5V且典型值为5V;•89C51最高工作频率为24;•89C51的编程频率为3~24,编程启动电流和启动电压分别为1mA、5或12V原理说明当键盘有键按下时,判断键值,启动计数器T0,产生一定频率的脉冲,驱动蜂鸣器,放出乐曲同时启动定时器T1显示歌曲号硬件电路中用、1分别接S1、S2作为上、下一曲的功能键用控制七段码abcdef 用口控制喇叭电路为12晶振频率工作,起振电路中C1C2均为30pf电路各模块说明键盘系统键盘模块采用4*4按键模式,接在单片机的P1口上键盘系统的链接电路图如图4-3-1所示:当用手按下一个键时,往往按键在闭合位置和断开位置之间跳几下才稳定到闭合状态的情况;在释放一个键时,也回会出现类似的情况这就是抖动抖动的持续时间随键盘材料和操作员而异,不过通常总是不大于10ms很容易想到,抖动问题不解决就会引起对闭合键的识别用软件方法可以很容易地解决抖动问题,这就是通过延迟10ms来等待抖动消失,这之后,在读入键盘码具体编码如下所示:6数字音乐盒的设计: TR0 ;关闭上一次定时,进入下一次按键判断#01H IE #82H A P130H A ;保存键盘状态值D10MS ;延迟10ms消除抖动A P1 ;再读键盘状态A 30H ;两次结果不同,是抖动引起,转图4-3-1 键盘模块电路图放大电路放大电路的分析如下所示,其电路图如图4-3-2所示:此部分的放大电路简单容易实现可以采用一个小功率型硅管,利用“分压偏置式工作点稳定直流通路”,达到了对静态工作点的稳定分压电阻分别选择1K和蜂鸣器一端接+5V电压,一端接晶体管的发射极由输出预定的方波,加到晶体管进行放大,再输出到嗡宁器,很好的实现了频率、声音的转换7数字音乐盒的设计图4-3-2 放大电路模块电路图时钟电路此系统的时钟电路设计是采用内部方式,即是利用芯片内部的振荡电路-51内部有一个用于构成振荡器的高增益反相放大器以此系统电路采用12的晶振,起振电路中C1C2均为30pf时钟电路模块电路图如图4-3-3所示图4-3-3 晶振电路模块电路图复位电路51单片机的引脚是复位信号的输入端,复位信号是高电平有效,其有效时间应持续24个振荡脉冲周期以上一般有两种复位方式:上电复位和手动复位复位电路图如图4-3-4所示8数字音乐盒的设计图4-3-4 复位电路模块电路图上电复位上电时,利用电容C1的充电延时特性,一开始,+5V电压全部降落在电阻R6上,高电平输入脚,单片机复位操作,当电容C1充电接近结束时,电阻R6电压趋于0,脚输入低电平,结束复位操作手动复位在系统出现操作错误或程序运行出错时使用在单片机系统运行过程中,按下复位键K0,高电平输入脚,单片机被强制执行复位操作,系统可退出错误运行状态,恢复正常工作显示电路显示电路采用模块,显示模块采用14引脚的 LML,它有八个数据端口,三个控制口当控制口R/W为低电平时,单片机向写入指令,当其为高电平时,单片机读取的信息单片机的~作为的RSR/WE的控制信号用~作为的D0~D7的控制信号用来显示播放歌曲时间和歌曲号当按下开机键时,会在上显示英文欢迎字符,按其他键可显示歌曲号和播放时间显示模块电路图分别如图4-3-5所示9数字音乐盒的设计图4-3-5 显示模块电路图第五章软件设计主模块的设计主模块是系统软件的主框架结构化程序设计一般有“自上而下”和“自下而上”两种方式,“自上而下”法的核心就是主框架的构建它的合理与否关系到程序最终的功能的多少和性能的好坏本程序可以实现课程设计的基本要求,并可以通过按键播放多首歌曲,主程序流程图如下所示,其中显示子程序的流程图如图5-1-2所示10数字音乐盒的设计图5-1-1 数字音乐盒主程序流程图图5-1-2 显示子程序流程图11数字音乐盒的设计第六章仿真、安装和调试按照上面设计的电路在软件内画图打开单片机软件开发系统选择89c51单片机在其中编写程序运行生成一个后缀名为的文件然后将该文件下载到中的89c51单片机中进行仿真观察实验现象仿真能实现播放音乐,按键选择曲目,暂停,播放功能仿真成功后,安装好实验板然后将音乐程序下载到电路板内观察结果能实现播放音乐,按键换曲等功能程序调试中出现的问题及解决的办法:有时会出现程序一点错误也没有,但就是不能正常运行的现象,最后我们发现是因为程序中有的指令书写得不规范导致的,例如有的返回指令一定要按正确格式书写或在两行指令间最好不要留空行程序中的跳转指令的运用很重要,为保险起见,都用我们就遇到过跳转指令用错程序无法正常运行的现象当用指令时,跳转范围比较少,这时要用一个标号中转编程时要注意,在程序开始时,要写入各定时器中断的入口地址编程过程中要注意加注释或分割线,否则,在程序过长时容易变得很乱,不便于查找或更改编程前要加流程图,这样会使思路清晰,例如数字音乐盒的设计思路完全可以按着MP3的工作方式列写流程图计时正常显示的解决办法:a 两个定时器同时工作,存在中断时序问题,刚开始时我们把定时器1设定在方式3,计,由于定时中断过于频繁,使负载过大,导致音乐不能正常播放,时间不能正常显示解决办法:将定时器1设定在工作方式1,16位计数,计50ms效果有很大改观但还有问题b 当音乐为全4拍起始时,此时音乐节奏与定时器T1中断频率错开,显示和音乐播放都会好一些c 另外,在歌曲中,当遇到一个音符发音为4拍,在编曲中为*CH,因时间较长,当定时器T1此时来中断时,就会对歌曲播放产生影响,若改为发音一拍,12数字音乐盒的设计中断对歌曲播放影响减弱,但音乐效果变差改进方案:若采用可以定时时间更长的单片机,可以避免所有问题图6-1-1 仿真图总结这学期我们已接触了单片机的课,有了一定的基础知识,这次的单片机课程设计使我有了实践和提高能力的机会,让我受益良多在此次单片机的课程设计中,我不但对单片机的基础知识掌握的更牢固,而且对其硬件和软件方面有了更深一层的认识在做数字音乐盒的课程设计时,我13数字音乐盒的设计掌握了89C51单片机的内部振荡方式及振荡频率和单片机的复位电路形式此次设计的软件编程采用的是我们所学的汇编语言,通过对数字音乐盒的编程,我更熟悉了键盘扫描和动态显示的编程以及定时计数器和中断的编程巩固了对89C51的内部结构和接口扩展的知识本次设计中,我用到了99画图软件, C51编程软件和仿真软件以前虽然对99有一定的认识,能运用其画图,不缺不熟练,这次设计是我对其的熟练程度提高了不少在大三上学期我自学过一点 C51软件,但并不会用,更不知道怎样将其结合起来使用在做数字音乐盒的仿真时,通过向同学青椒和查找资料,我能够运用它来画图,并和 C51结合起来进行仿真,更有幸的是,仿真实现了这次课程设计,让我收获到了成功的喜悦,学会了做事严谨的态度希望下次还有这样学习的机会,并且希望下次能做的更好致谢这次基于单片机的数字音乐盒设计得以完成,首先要感谢不畏辛辞地知道我们的王南兰老师,通过王老师的指导,是我增涨了单片机的知识,也使这次课程设计得以顺利完成其次,还要感谢我的同学,在这次课程设计中,遇到了许多的困难,是通过询问他们才解决的,所以要感谢他们的赐教参考文献[1] 许珉单片机原理及应用[M]北京:中国电力出版社 [2] 三恒星科技-51单片机原理与应用实例[M] 北京:电子工业出版社,[3] 王为青,程国钢单片机 Cx51应用开发技术[M] 北京:人民邮电出版社[4] 电子电路大全[M]北京:计量出版社,[5] 阎石数字电子技术基础[M]北京:高等教育出版社,,第4版[6] 邓元庆数字电路与逻辑设计[M]北京:电子工业出版社, [7] 高锋,单片微型计算机原理与接口技术科学出版社XX年14数字音乐盒的设计[8] 李传军单片机原理及应用河南科学技术出版社XX年[9] 杨志忠数字电子技术高等教育出版社[M]XX年 [10] 张友德单片微型机原理应用与实验上海复旦大学出版社, [11] 《融会贯通 99电路设计》弘道工作室北京人民交通出版设,[12] 《单片机原理及接口技术实验》朱定华北京北方交通大学出版社附录一:音乐程序RS RW E;******************** L50MS 60H L1MS 61H LMS 62H 65H 64H 63H;********************* H BH TT0 BH T1 H : 液晶初始化SP#70H P0#01H ;清屏附录15数字音乐盒的设计P0#38H ;8位,2行显示P0#0FH ;屏显,光标闪烁P0#06H ;计数地址加1,显示幕内存初始化 1:1键盘扫描 : KSK1 有按键转到K1 XN: K1:KS K2 K2:R2#0 ;读键盘 R4#00H K3: AR2 P1A AP116数字音乐盒的设计JB L1为1跳转,第一行无按键 A#00H LK L1:JB L2 A#04H LK L2:JB L3 A#08H LK L3:JB 1 A#0CH LK: AR4 K4:1 KS K4R3#07H A R0#30H R1#31H MM1: AR1 R0A R0 R1 R3MM1 R0A ;若同时有其他按键,则等待17数字音乐盒的设计1:R4 ;列扫描 AR2 N2 N1 N2: N1: RL A R2A K3 KS:A#0F0H P1A AP1 A A#0F0H 1: RS0 DL:R5#0AH DL2: R6#63 DL3: R6DL3 R5DL2 RS0;判断P1口 18数字音乐盒的设计30H-37H初值为零 : R3#08H R0#30H M1:R0#00H R0R3M1 : P0#8EHA37H#3 AA+ 2 开机提示字 : A37H A#0FH P0#80H ;设光标地址#1;写数据 1 :按键值播放歌曲 : A37H A#01HA1152H# 10 53H# 10 219数字音乐盒的设计0 A11:A#02HA2252H# 20 53H# 20 2 0 A22:A#03HA3352H# 30 53H# 30 2 0 A33:A#04HA44 2 0 A44:A#05HA55 2 0 A55:A#06HA66 2 0 A66:A#07HA77 220数字音乐盒的设计0 A77:A#08HA88 2 0 A88:90 A#09HA99 2 0 A99:。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
86
Fa
1397
43
43
Fa#
370
1351
162
Fa#
740
676
81
Fa#
1480
41
41
So
392
1276
153
So
784
638
77
So
1568
38
38
So#
415
1205
145
So#
831
602
72
So#
1661
36
36
La
440
1136
136
La
880
568
68
La
1760
34
34
La#
附录(关键部分程序清单)
#in elude <reg51.h>
#defi ne ucharu nsig nedchar
#defi neuint un sig nedi nt
#define LEDLen 6
xdataunsignedcharOUTBIT _at_0x8002;//位控制口
xdataunsignedcharOUTSEG _at_0x8004;//段控制口
社,20154பைடு நூலகம்
[2]张仁彦,高正中,黄鹤松.单片机原理及应用.北京:机械工业出版社,
2016.3.
[3]付先成,,高恒强,蔡红娟.单片机原理与C语言程序设计.武汉:华中科技大
学出版社,2015.8.
[4]张校珩.单片机C语言编程100例■北京:中国电力出版社,2014.1.
⑸唐颖■单片机综合设计实例与实验■北京:电子工业出版社,2015.1.
0xFE,0xF9, 0xFF,0x16};
codeunsignedcharLEDMAP[] = {//八段管显示码
0x3f, 0x06,0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e,0x79, 0x71
1.2
1.2.1
频率的高低决定了音调的高低。音乐的十二平均率规定:每两个八度音(如 简谱中的中音1和高音1)之间的频率相差一倍。在两个八度音之间又分为十二 个半音。另外,音名A(简谱中的低音6)的频率为440Hz,音名B到C之间、E到F之间为半音,其余为全音。由此可以计算出简谱中从低音1到高音1之间每
在键盘中选择了1就会调用tiger[],则蜂鸣器就会按照tiger数组中存储的 十六进制码产生的频率响起音乐,播放结束后就会继续播放序号为2的歌曲。如
图3.6所示。
图3.6音乐函数流程图
4
“A”按键:播放上一首歌曲
B'按键:播放下一首歌曲
“C'按键:暂停键
时,第五六位显示歌曲的秒钟计时。在键盘中选择“T— “6”按键,就会播放 相应的歌曲,六首歌曲循环播放,若当前播放的是第一首,选择“A”按键播放
ucharplay=0;
ucharflag1=0;
uint flag=0;
void delay1(uint z);〃延时1ms
void delay(uint z);〃延时165ms即十六分音符
void song();
〃简谱音调对应的定时器初值适合11.0592M的晶振
ucharcodechuzhi[]={
加一,并且个位清零;秒钟的十位加到5时,分钟个位加一,并且将秒钟清零, 分钟的十位同理,最后通过缓冲区在数码管中显示。计时函数如图3.5所示。
3
音乐函数song()是使蜂鸣器响起音乐的核心,一共有六首歌曲,分别用
0x01――0x06控制着六首歌曲,通过用switch语句控制判断选择的是哪首歌曲, 选择歌曲的序号后,调用相对应的并且储存了用十六进制数表示歌曲的数组,若
在扫描键盘的过程中,先是扫描哪一个的按键别按下,把第几列记录下来后,
再扫描是哪一行的按键,记录是哪一行;最后根据公式“键值=列x4 +行”, 就能计算出是哪一个按键被按下。如图3.4所示。
3.2.4
为了对歌曲进行计时,所以设计了一个计时函数jishi()。分钟和秒钟分别 用两个数码管来显示,当歌曲响起时开始计时,若秒钟个位加到10时,则十位
上一首歌曲就会播放第六首,若当前播放的是第六首,选择“B'按键播放下一 首歌曲就会播放第一首,选择“C'按键时,歌曲和计时都会暂停,再按一次则 继续播放音乐。
4.2
问题1: 六个数码管中所有的段位都会发生很严重的闪烁现象,导致看不清数码 管显示的数字,但运行的结果是正确的。
解决:经过测试发现,试验箱连错了I/O口,连的是P3.7口,该口的功能是读写, 改成连接P1.1口,闪烁消失。
5
5/8拍
6
1又1/2拍
6
3/4拍
8
2拍
8
1拍
A
2又1/2拍
A
1又1/4拍
C
3拍
C
1又1/2拍
F
3又3/4拍
每个音符使用1个字节,字节的高4位代表音符的高低,低
4位代表音符的
节拍。如果1拍为0.4秒,1/4拍为0.1秒,只要设定延迟时间就可求得节拍的时 间。假设1/4拍的延迟时间为1,则1拍的延迟时间应为4,以此类推。所以只要 求得1/4拍的延迟时间,其余的节拍就是它的倍数。表1.3所示。
利用51单片机的内部定时器使其工作在计数器模式MODE1下,改变计数值TH0及TL0以产生不同频率的方法。
此外结束符和休止符可以分别用代码00H和FFH来表示,若查表结果为00H,则表示曲子终了;若查表结果为FFH,则产生相应的停顿效果。
例如频率为523Hz,其周期T=1/523=1912us,因此只要令计数器计时956us/1us=956在每次技术956次时将I/O反相,就可得到中音DO(523Hz)。计数脉冲值与频率的关系公式如下:
问题2:运行时数码管计数不稳定,有微弱的闪烁现象。
解决:调整中断时间,将中断一次的时间3ms改成2ms,在1秒内产生500次中
断,数码管变的更稳定 问题3:音乐跑调
解决:音调的产生是根据声音产生的频率,再用公式计算出定时器的初值,计算 错误导致音乐跑调。
参考文献
[1]张毅刚,刘杰.单片机原理及应用(第三版)■哈尔滨:哈尔滨工业大学出版
一首音乐是由许多不同的音符组成的,而每个音符对应着不同频率,这样就 可以利用不同的频率的组合,加以与拍数对应的延时,构成音乐。节拍与节拍码 对照表如表1.2所示。
表1.2节拍与节拍码对照
节拍码
节拍数
节拍码
节拍数
1
174^
1
1/8拍
2
2/4拍
2
1/4拍
3
3/4拍
3
3/8拍
4
1拍
4
2/1拍
5
1又1/4拍
277
1805
217
Do#
554
903
108
Do#
1109
54
54
Re3
294
1701
204
Re
587
852
102
Re
1175
51
51
Re#
311
1608
193
Re#
622
804
97
Re#
1245
48
48
Mi
330
1515
182
Mi
659
759
91
Mi
1318
45
45
Fa
349
1433
172
Fa
698
图2.4键盘电路图
2.3.3数码管
此次课程设计运用了六的数码管,第一个显示了歌曲的序号,第二个是空位, 第三和第四个显示了分钟的计时,第五和第六个显示了秒钟的计时。数码管的主 要作用就是显示出当前程序运行时的现象,数码管的位选位与ULN2003相连后
再接到键盘上,段选位则是连到74HC374译码器上,实验箱的数码管为共阴极, 显示方式为动态显示。由电路图得知,位选信号为1时有效。数码管示意图如图
图2.1系统原理框图
2.2
8051单片机是在课堂上学习的单片机型号,也是这次课程设计的核心器件,
它是8位的单片机,具有品种全、兼容性强、性能价格比高等特点。8051单片机 具有很多的I/O口,其中P2.4、P2.5、P2.6连接74LS138译码器,而译码器则可 以控制片选信号和位选信号;P0的八个I/O口要与译码器74HC374相连,然后在 与键盘连接,从而能确认数码管的段选信号,此次课程设计的位选码为0x8002。
74HC138芯片和74HC573芯片有效,计算出段控制口和位控制口分别为0x8004
和0x8002。流程图如图3.3所示
3.2.3
扫描键盘主要用的是unsigned char GetKey()函数,而且还是用定时器中断 的方法,设置每隔3毫秒中断一次,在一秒中大约会产生中断333次,就是说在 一秒钟扫描键盘333次。
0xff,0xff,//占位停顿
0xFC,0x8E,〃中音1-7 0xFC,0xED,
0xFD,0x43,
0xFD,0x6A,
0xFD,0xB3,
0xFD,0xF3,
0xFE,0x2D, 0xFE,0x47,〃高音1-7
0xFE,0x76,
0xFE,0xA1,
0xFE,0xC7,
0xFE,0xD9,
表1.31/4和1/8节拍的时间设定
曲调值
DELAY
曲调值
DELAY
调4/4
125毫秒
调4/4
62毫秒