《单片机原理及接口技术》
课程设计报告
课题名称: 数字音乐盒的设计
学院:自动控制与机械工程学院 专业:机械设计制造及其自动化 班级: 姓名:
时间:2012年1月
目录
1.概述..............................................................................................................2 1.1设计任务...............................................................................................2 1.2设计内容...............................................................................................2
2.系统总体方案介绍......................................................................................2 2.1系统组成框图.......................................................................................2 2.2音乐盒的功能结构图...........................................................................3
0
3.硬件设计......................................................................................................3 3.1 总体设计框图......................................................................................3 3.2各部分硬件设计及其原理...................................................................3 3.2.1 按键电路设计............................................................................4 3.2.2 LED显示电路设计与原理.........................................................4 3.2.3 时钟振荡电路............................................................................4 3.3 硬件电路图及功能..............................................................................5
4.软件设计......................................................................................................5 4.1软件程序设计........................................................................................5 4.1.1 程序流程图..............................................................................5 4.1.2 程序源代码(见附录A)............................................................6
4.2音乐程序的设计原理...........................................................................7 4.2.1 建立音乐的步骤.......................................................................7 4.2.2 单片机音乐的产生原理...........................................................7
5.调试..............................................................................................................9 5.1 检查硬件连接......................................................................................9 5.2 检查软件系统......................................................................................9 5.3 测试结果..............................................................................................9 5.3.1.总体运行图............................................................................9
6.课程设计体会...............................................................................................9
7. 参考文献....................................................................................................10
附录A 程序源代码及注释.........................................................................................10 附录B C调各音符频率与计数值T的对照表……………………….........………………28 附录C简谱对应的简谱码、T值、节拍数……………………………........……………29
1. 概述
本设计是以AT89C51芯片的电路为基础,外部加上放音设备,以此来实现音乐演奏控制器的硬件电路,通过软件程序来控制单片机内部的定时器使其演奏出优美动听的音乐。用户可以按照自己的喜好选择音乐并将其转化成机器码存入单片机的存储器中。对于不同型号的单片机只需要相应的改变一下地址即可。该软、硬件系统具有很好的通用性,很高的实际使用价值,为广大的单片机和音乐爱好者提供了很好的借鉴。
1.1 设计任务
1
设计一个基于MCS-51系列单片机AT89C51系列单片机的音乐盒,利用按键切换演奏出不同的乐曲。蜂鸣器发出某个音调,使用两个按键,一个用来选择上一首歌曲,另一个切换下一首歌曲。
1.2 设计内容
音乐盒可以经常发出宜人的音乐旋律,能给生活增加不少的乐趣。用51系列单片机设计一个音乐盒。
功能如下:
1.利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演奏乐曲(最少三首乐曲,每首不少于30秒)。
2.采用LCD显示信息,显示乐曲编号,播放时间或剩余时间,开机时有英文欢迎提示字符。
3. 可通过功能键选择乐曲,暂停,播放。
2. 系统总体方案介绍
2.1 系统组成框图
音乐盒的系统结构以AT89C51单片机位控制核心,加上几个按键、时钟
复位电路、蜂鸣器、LCD模块组成。单片机负责接收按键的输入,根据输入控制音乐播放曲目和音乐播放|暂停的样式以及蜂鸣器发音。系统组成框图如图2.1所示。
图2.1 系统组成框图
2.2 音乐盒的功能结构图
音乐盒的功能结构如图2.2所示。1~3号开关负责切换播放歌曲,播放歌曲共3首,分别是同一首歌、世上只有妈妈好和精忠报国。4、5号开关负责切换歌曲:上一首和下一首,6号开关负责歌曲的暂停和播放,7号开关是开机键。
开始 2
歌曲选择1~3 歌曲的暂停|播放 图2.2 音乐盒功能结构图
3. 硬件设计
3.1 总体设计框图
文字型LCD(16×2)
2×4 按键 AT89C51 电源 蜂鸣器 图3.1
当键盘有键按下时,判断键值,启动计数器T0,产生一定频率的脉冲,驱 动蜂鸣器,放出乐曲。同时启动定时器T1,显示乐曲播放的时间,并驱动LCD,显示歌曲号及播放时间。也可在LED显示歌曲号。
3.2各部分硬件设计及其原理
3.2.1 按键电路设计
按键电路如图3.2所示:P1.0-P1.5控制按键,其中P1.0-P1.1扫描行,P1.4-P1.5扫描列。
3
9RST0123293031PSENALEEA4下一首5上一首6播放|暂停7开机12345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7AT89C51 图3.2 按键电路
3.2.2 LCD显示电路设计与原理
如图3.3所示文字型LCD(16×2)的D0-D07端口与AT89C51端口P0.0-P0.7相连接VSS与VEE两端接地。P2.0-P2.2作为LCD的RS,R/W,E的控制信号。用P0.0-P0.7作为LCD的D0-D7的控制信号。
LCD1LM017LVSSVDDVEERSRWE4561237891011121314D0D1D2D3D4D5D6D7+5V39383736353433322122232425262710KD2+5VD1123456789RESPACK-8P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13D3LED-YELLOWD5LED-YELLOWD6LED-YELLOWD7LED-YELLOWD8LED-YELLOWLED-YELLOWLED-YELLOWD4LED-YELLOW 图3.3 LCD显示电路 3.2.3 时钟振荡电路 AT89C51中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或者陶瓷谐振器一起构成自然振荡器。外接石英晶体及电容C1、C2接在放大器的反馈回路中构成并联振荡电路。对外接电容C1,C2虽然没有什么
4