基于51单片机的音乐盒设计

随着科学技术的不断发展带动着电子行业的地位越来越重,现在电子产品几乎在社会的各个领域都可以见到。这些技术的发展有效的带动着社会生产力的发展和信息化的提高,同时电子产品也越来越智能。
本设计采用单片机控制喇叭实现一个小型音乐盒,即电子音乐盒的设计。采用了8欧/0.5W小喇叭发声来实现歌曲的播放,能保持基本音调不变,流畅播放出歌曲并可以通过按键进行上下曲切换和开始/暂停并且使用LCD1602显示播放的歌曲序号和名称。同时进行歌曲播放计时。还添加了DS18B20对环境温度的采集,并实时显示出来。主控芯片采用STC89C51单片机。功能键盘采用微动开关,实现上下曲切换和开始/暂停播放功能;扬声器由单片机的P2.0口进行控制,实现歌曲播放。

ABSTRACT

With the continuous development of science and technology, the status of the electronics industry is becoming more and more important. Now the electronic products can be seen in almost every field of the society. The development of these technologies is effective to promote the development of social productive forces and the improvement of information technology, while the electronic products are becoming more and more intelligent.
This design uses the single chip microcomputer to realize a small music box, namely the electronic music box. The use of 8 /0.5W small speakers sound to achieve the song's play, to maintain the basic tone unchanged, smooth playback of songs and can be played on the keys to switch and start / pause and the use of LCD1602 to display the songs and the number of songs. At the same time to play a time song. Also added DS18B20 to the environmental temperature collection, and real-time display. Main control chip using STC89C51 microcontroller. Function keyboard uses micro switch, the switch of the upper and lower music and start / pause playback function; the speaker is controlled by the P2.0 port of the single chip microcomputer, and the song is played.

目录
摘  要
ABSTRACT
1  引言
1.1  选题背景
1.2   音乐盒的意义
1.3   本课题研究主要内容
2  系统硬件方案选择
2.1 硬件方案的选择
2.1.1  主控芯片的选择
2.1.2  显示器件的选择
2.1.3  温度传感器的选择
2.2  系统总体方案
3  音乐盒设计原理
3.1  播放音乐的原理
3.2  音符频率的产生
3.3  节拍频率的产生
4  系统硬件电路设计
4.1  STC89C51单片机系统设计
4.1.1  STC89C51的概述
4.1.2  STC89C51单片机的最小系统
4.2  LCD1602液晶显示的介绍
4.2.1  LCD1602的概述
4.2.2  LCD1602的工作原理
4.3  DS18B20温度传感器的介绍
4.3.1  DS18B20的概述
4.3.2  DS18B20的工作原理
4.4  扬声器部分
4.5  独立按键电路的设计
4.6  原理图绘制软件的介绍
4.7  系统硬件测试
5  系统软件部分设计
5.1  软件开发环境的介绍
5.2  系统主要函数设计
5.2.1主函数的设计
5.2.2  LCD1602显示函数的设计
5.2.3  DS18B20温度采集函数的设计
5.3  系统软件测试
6  结论
参考文献
附录A:原理图
附录B:源程序


1  引言
1.1  设计背景

音乐盒的起源,可追溯至中世纪欧洲文艺复兴时期。当时为使教会的钟塔报时,而将大小的钟表装上机械装置,被称为“可发出声音的组钟”。音乐盒有着300多年的发展历史,是人类文明发展的历史见证。
传统的音乐盒多是机械音乐盒,其工作原理是通过齿轮带动一个带有铁钉的铁桶转动,铁桶上的铁钉撞击铁片制成的琴键,从而发出声音。但是,机械式的音乐盒体积比较大,比较笨重,且发音单调。水、灰尘等外在因素,容易使内部金属发音条变形,从而造成发音跑调。另外,机械音乐盒放音时为了让音色稳定,必须放平不能动摇,而且价格昂贵,不能实现大批量生产。
现今,音乐盒的制造,延袭传统,结合现代,正日益成为人们或为了典藏一段岁月,或为了收藏一份情感,或出于对音乐的追求,或对于旧时代的怀念,或为了居室的美化,等等,而得到众多品位人士的追求。

1.2   音乐盒的意义

音乐盒的起源,可以追溯到中世纪欧洲文艺复兴时期。当时为了使教会的钟塔报时,而将大小的钟表装上了机械装置,被称之为“可发出声音的组钟”。音乐盒已有着300多年的发展历史,是人类文明发展的历史见证。
传统的音乐盒大多是机械音乐盒,其工作的原理是通过齿轮来带动一个带有铁钉的铁桶转动,铁桶上的铁钉撞击用铁片制成的琴键,从而发出声音。但是,机械式的音乐盒体积较大,比较笨重,并且发音单调。水和灰尘等外在因素,容易使得内部金属发音条变形,从而会造成发音跑调。此外,机械音乐盒放音时为了能让音色稳定,必须要放平不能动摇,而且价格昂贵,不能够实现大批量生产。

1.3   本设计研究主要内容

  利用STC89C51单片机,结合LCD显示模块、喇叭、放大电路 ,完成音乐盒的播放;具体设计实现的功能如下
(1)通过按键控制多首音乐播放,并可通过按键选择一个开始,一个暂停,一个翻上首,一个翻下首;
(2)通过显示电路显示播放歌曲名和编号;
(3)通过DS18B20实时采集环境温度并显示。
(4)能够对歌曲播放时长进行计时,并显示。


2  系统硬件方案选择

本章节主要介绍系统所用到的器件的选择与对比,进行综合的对比考虑选择出最适合本设计的一组方案。

2.1 硬件方案的选择

在硬件电路的搭建之前必须明确设计的方案,通过各个模块之间进行比较选择出最适合本设计的硬件,以发挥器件的最大功效。

2.1.1  主控芯片的选择

方案一:
采用STC89C51单片机作为主控芯片。STC89C51是宏晶科技公司生产的一款低功耗、高性能的八位CMOS微处理器,片内具有8k在线编程Flash存储器。STC89C51单片机的内核采用的是MCS-51内核,指令完全兼容MCS-51,但是该单片机越做了升级使得芯片具有很多传统的51单片机不具备的功能,例如该芯片还有4K的EEPROM存储,在需要使用到掉电存储数据的时候就可以直接使用单片机内部的存储,不在需要在外接存储芯片进行存储。STC89C51单片机具有的开发简单、可在线编程下载、成本低是非常不错的选择。
方案二:
采用MSP430单片机作为主控芯片。MSP430单片机称之为混合信号处理器,它可以将多个不同功能的模拟电路、数字电路模块和微处理器集成在一个芯片上,MSP430系列单片机是美国德州仪器 (TI)1996年开始推向市场的一种16位超低功耗、具有精简指令集(RISC)的混合信号处理器(Mixed Signal Processor)。该系列单片机多应用于需要电池供电的便携式仪器仪表中。而却开发难度相对比较大、价格昂贵。所以在一些简单的设计中不宜采用。
方案三:
采用PIC16F877A单片机作为主控芯片。PIC16F877A是由Microchip公司所生产开发的新产品,属于PICmicro系统8位单片机微机,具有Flash程序内存功能,可反复擦写程序。但是开发成本高,难度相对大。
综合上述的描述,考虑到资源的合理利用和成本以及开发的难易程度最终决定采用宏晶科技的STC89C51单片机作为主控芯片。

2.1.2  显示器件的选择

方案一:
采用LED数码管动态扫描显示。LED数码管的价格适中,对于显示数字或者简单的字母会比较合适。但是采用动态扫描法与单片机连接时占用CPU的I/O口较多,并且由于单片机的IO口输出电流不够,所以需要一个驱动电路,通过驱动电路放大电流后控制数码管,还有就是采用数码管进行显示的话显示的内容多了对于电路的焊接机会增大难得容易焊接错误。
方案二:
采用LCD1602液晶显示屏。LCD1602液晶又叫LCD1602字符型液晶。液晶显示功能强大,可以同时显示出16*2即32个字符,可包括数字、字母、符号、或者自定义字符。LCD1602液晶显示器中的每一个字符都是由5*7的点阵组成。LCD1602采用并行数据传输也可以采用串行数据传输,控制简单,和市面上的大多基于HD44780液晶的控制原理完全相同。
方案三:
采用LCD12864液晶显示屏。带中文字库的128X64是一种具有4位/8位并行、2线或3线串行多种接口方式,其显示分辨率为128×64,内置8192个16*16点汉字,和128个16*8点ASCII字符集。利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示8×4行16×16点阵的汉字,也可完成图形显示,低电压低功耗是其又一显著特点。虽然LCD12864液晶显示的功能强大,但是显示的内容偏大造成了,显示空间的浪费,再来该液晶的成本高。
综合上述的描述,最终根据本设计中的功能要求考虑采用LCD1602液晶显示器比较合理。

2.1.3  温度传感器的选择

方案一:
使用热敏电阻作为传感器,用热敏电阻与一个相应阻值电阻相串联分压,利用热敏电阻阻值随温度变化而变化的特性,采集这两个电阻变化的分压值,并进行A/D转换。此设计方案需用A/D转换电路,增加硬件成本而且热敏电阻的感温特性曲线并不是严格线性的,会产生较大的测量误差。
方案二:
采用模拟温度传感器AD590,该传感器的输出电流会随温度的变化而变化,从而需要设计电路转换成电压的变化,进而通过A/D转换后接到单片机中,这种方法固然麻烦,而却费用比较高,而却在电流电压转换和A/D转换中会产生误差。
方案三:
采用数字式温度传感器DS18B20,此类传感器为数字式传感器而且仅需要一条数据线进行数据传输,易于与单片机连接,可以去除A/D模块,降低硬件成本,简化系统电路。另外,数字式温度传感器还具有测量精度高、测量范围广等优点。
所以最终我们采用数字型DS18B20作为温度采集芯片。

2.2  系统总体方案

通过上述对各个模块介绍,我们最终选择了STC89C51作为本设计的主控芯片,采用DS18B20采集温度,通过LCD1602显示歌曲名称和序号和温度值,并可以通过按键实现歌曲的开始/暂停播放,上下曲的切换等功能。
本设计的具体的系统方案如下图2.1所示。

  • 12
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

无限虚空

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值