STC89C51单片机的数字音乐盒设计(含代码)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
HEFEI UNIVERSITY
FPGA综述报告
系别电子信息与电气工程系任课教师汪济洲
班级
姓名
成绩
日期
数字音乐盒设计
摘要:本设计是一个基于STC89C51系列单片机的音乐盒,依据单片机技术原理,通过硬件电路制作以及软件编译,设计制作出一个多功能音乐盒。该音乐盒主要由按键电路、复位电路、时钟电路以及蜂鸣器组成。使用两个按键控制音乐盒,一个用来切换歌曲,另一个用来切换8路LED的变化花样,本音乐盒共有两首歌曲,花样灯花样共计4种。播放歌曲时,蜂鸣器发出某个音调,与之对应的LED亮起。本设计利用KEIL编程软件对音乐盒源程序进行编程并调试,配合PROTEUS仿真软件对硬件进行仿真调试,节约了设计时间。
关键字:音乐盒 STC89C51单片机 KEIL PROTEUS 音调
目录
1概述 (3)
1.1设计方案 (3)
1.2研究内容 (3)
1.3音乐盒的功能结构图 (3)
2硬件设计 (4)
2.1总体设计框图 (4)
2.2各部分硬件设计及其原理 (4)
2.2.1 STC89C51简介 (4)
2.2.2 LED显示电路设计与原理 (5)
2.2.3 时钟振荡电路 (5)
2.3硬件电路图及功能 (6)
3软件设计 (7)
3.1音调、节拍以及编码的确定方法 (7)
4.1.1 音调的确定 (7)
4.1.2 节拍的确定 (8)
4.1.3 编码 (9)
4.2软件程序设计 (10)
4.2.1 程序流程图及相应代码块 (10)
4.2.2 程序源代码(见附录A) (14)
5调试 (14)
5.1检查硬件连接 (14)
5.2检查软件系统 (14)
5.3测试结果 (14)
5.3.1.总体运行图 (14)
5.3.2.花样灯4种花样图 (15)
参考文献 (16)
附录A 程序源代码及注释 (16)
1概述
本设计是以STC89C51芯片的电路为基础,外部加上放音设备,以此来实现音乐演奏控制器的硬件电路,通过软件程序来控制单片机内部的定时器使其演奏出优美动听的音乐。用户可以按照自己的喜好选择音乐并将其转化成机器码存入单片机的存储器中。对于不同型号的单片机只需要相应的改变一下地址即可.
1.1设计方案
设计一个基于STC89C51系列单片机的音乐盒,利用按键切换演奏出不同的乐曲。蜂鸣器发出某个音调,与之相对应的LED亮起。使用两个按键,一个用来切换歌曲,另一个切换八路LED的变化花样。
1.2研究内容
1)电路有两种工作模式:演奏音乐模式和花样灯模式。
演奏音乐模式:演奏完整的一首的歌曲,八路LED随着音乐变化。
花样灯模式:八路LED变化出各种花样,蜂鸣器随着发出“嘀嘀”声。
2)按下按键1进入花样灯模式,再按切换LED花样,共四种花样。
3)按下按键2进入演奏音乐模式,再按切换歌曲,共两首歌曲。
1.3音乐盒的功能结构图
音乐盒的功能结构如图2.2所示。Key1负责切换LED显示花样,显示花样共4种。Key2负责切换播放歌曲,播放歌曲共2首,分别是千年之恋和寂寞沙洲冷。
图1.1 音乐盒功能结构图
2硬件设计
2.1 总体设计框图
图2.1总体设计框图
2.2各部分硬件设计及其原理
2.2.1 STC89C51简介
STC89C51是一种带4K字节闪存可编程可擦除只读存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压,高性能CMOS 8位微处理器,俗称单片机。STC89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的STC89C51是一种高效微控制器,STC89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如图3.2所示。
图2.2 STC89C51系列单片机
2.2.2 LED显示电路设计与原理
LED显示电路是由8个LED发光二极管组成,连接方式为共阳极,LED接到单片机的P1口,若为低电平,可使LED亮起。发光二极管的亮、灭由内部程序控制,8个LED发光二极管分别对应不同的音阶,所以LED会随着音阶的变化按规律亮、灭。
2.2.3 时钟振荡电路
AT89C51中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或者陶瓷谐振器一起构成自然振荡器。外接石英晶体及电容C1、C2接在放大器的反馈回路中构成并联振荡电路。对外接电容C1,C2虽然没有什么严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性。如果使用石英晶体,我们推荐电容使用30PF±10PF,而如
果使用陶瓷振荡器建议选择40PF±10PF。用户也可以采用外部时钟。采用外部时钟的电路如图示。这种情况下,外部时钟脉冲接到XTAL1端,即内部时钟发生器的输入端,XTAL2则悬空。由于外部时钟信号是通过一个2分频触发器后作为内部时钟信号的,所以对外部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大的低电平持续时间应符合产品技术条件的要求。振荡器电路图如下: