1、 单片机系统课程设计单片机系统课 程 设 计成绩评定表设计课题 : 基于 89C51 的数字音乐盒的设计 学院名称 : 电气工程学院 专业班级 : 自动 1102 设计时间 : 2013-12-16 2013-12-27 指导教师意见:成绩:签名: 年 月 日单片机系统课程设计单片机系统课 程 设 计课程设计名称: 基于 89C51 的数字音乐盒的设计 专 业 班 级 : 自动 1102 学 生 姓 名 : 学 号 : 201123910302 指 导 教 师 : 课程设计地点: 31-630 课程设计时间: 2013-12-16 2013-12-27 单片机系统课程设计单片机系统 课程设计任
2、务书学生姓名 专业班级 学号题 目 基于 89C51 的数字音乐盒的设计课题性质 工程设计 课题来源 自拟指导教师主要内容(参数)1、利用 89c51 单片机设计一个数字音乐盒,实现功能如下:2、内置 4 首音乐歌曲,通过单片机的 I/O 口产生方波驱动蜂鸣器播放音乐。3、通过独立按键对歌曲实现暂停、上一曲、下一曲功能的控制。4、具备复位功能。任务要求(进度)第 1-2 天:熟悉课程设计任务及要求,查阅技术资料,确定设计方案。第 3-4 天:按照确定的方案设计单元电路。要求画出单元电路图,元件及元件参数选择要有依据,各单元电路的设计要有详细论述。第 5-6 天:软件设计,编写程序。第 7-8
3、天:实验室调试。第 9-10 天:撰写课程设计报告。要求内容完整、图表清晰、文理流畅、格式规范、方案合理、设计正确,篇幅合理。主要参考资料1 张迎新单片微型计算机原理、应用及接口技术(第 2 版)M北京: 国防工业出版社,20042伟福 LAB6000 系列单片机仿真实验系统使用说明书3 阎石数字电路技术基础(第五版) 北京:高等教育出版社,2006审查意见系(教研室)主任签字: 年 月 日 单片机系统课程设计目 录1 绪论 .11.1 数字音乐盒概述 .11.2 设计思想及基本功能 .12 总体方案设计 .22.1 方案设计 .22.2 方案比较 .32.3 方案选取 .33 硬件电路设计
4、.33.1 直流稳压电源电路设计 .33.2 单片机最小系统设计 .43.3 蜂鸣器电路 .53.4 键盘控制电路 .54 系统软件设计 .64.1 主程序软件设计 .64.2 中断服务程序设计 .75 总结 .7参考文献: .9附录 .10附录一 系统原理图 .10附录二 系统调试 .11附录三 程序代码 .12附录四 机器码 .17单片机系统课程设计11 绪论1.1 数字音乐盒概述数字音乐盒是现代电子科技与音乐结合的产物,是一种新型的播放乐器。因为单片机具有强大的控制功能和灵活的编程实现特性,数字音乐盒已经溶入现代人们的生活中,成为不可替代的一部分。本文的主要内容是用 AT89S51 单片
5、机为核心控制元件,设计一个数字音乐盒。该音乐盒主要由按键电路、单片机最小系统、以及蜂鸣器电路组成,使用 3 个按键控制音乐盒。本系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠等,具有一定的实用和参考价值。1.2 设计思想及基本功能该系统具有一般音乐盒的最基本功能,即通过蜂鸣器播放音乐曲目,通过键盘电路控制歌曲的播放。在选取设计方案和采取元器件方面,该系统本着简单实用经济的思想,尽量简化电路设计,用最简单的电路布线和选用最经济实用的器件来达到设计要求。数字音乐盒控制系统具有以下几个基本功能:(1)内置 4 首音乐歌曲,通过单片机的 I/O 口产生方波驱动蜂鸣器播放音乐。(2)通过
6、独立按键对歌曲实现暂停、上一曲、下一曲功能的控制。(3)具备复位功能。单片机系统课程设计22 总体方案设计2.1 方案设计根据查阅的资料和现实生活中的应用,我认为用两种方案可实现数字音乐盒的功能:方案(一):利用数字音乐芯片配合电源电路,放大电路实现音乐播放,其框图如图 2-1 所示。音乐芯片电源模块 放大电路 音频输出图 2.1 方案一的原理框图方案(二):利用单片机系统制作数字音乐盒,配合按键,实现对音乐的播放控制,其原理框图如图 2-2 所示。A T 8 9 C 5 1电源模块键盘控制模块蜂鸣器输出模块图 2.2 方案二的原理框图单片机系统课程设计32.2 方案比较这两种方案均可以实现数
7、字音乐盒的音乐播放功能,但各有优劣。方案(一)结构简单,可靠性高,由于音乐芯片产品化,价格也相对便宜,但芯片普遍容量太小、且功能单一。方案(二)采用单片机作为控制核心,可实现功能的多样化,且容量也足够大,但价格相对昂贵,对外部环境条件的的要求也相对较高。2.3 方案选取鉴于方案(一)功能过于简单,不能满足本设计的需求,且已无太大的研究价值,故本设计采用方案二。3 硬件电路设计硬件电路包括直流稳压电源电路、单片机最小系统、蜂鸣器电路、按键控制电路四大模块。3.1 直流稳压电源电路设计直流电源的稳定性和输出电源的质量影响单片机系统运行的稳定性,所以一个完整的可靠的电子设计需要可靠的电源供电。除了用
8、市面上的干电池供电外,还可以采用市电 220v 变压、整流、滤波、整流和稳压后获得稳定的直流电源。本设计采用后者输出 5v 直流电压。图 3-1 为采用三端集成稳压器 7805 构成的正 5v 直流电源。12P0.3uFC1 0.1uFC210uFC3D1 VinVoutGND7805T20VTrans VC1N401图 3.1 直流电源原理图单片机系统课程设计43.2 单片机最小系统设计单片机最小系统是使单片机工作满足的最低硬件系统要求、主要包括单片机、时钟电路、复位电路等,原理图如图 3-2 所示。时钟电路:本系统采用单片机内部方式产生时钟信号,用于外接一个12MHz 石英晶体振荡器和 2
9、 个 30pF 微调电容,构成稳定的的自激振荡器,其发出的脉冲直接送入内部的时钟电路。复位电路:确定单片机工作的起始状态,完成单片机的启动过程。单片机系统的复位方式有上电自动复位和手动按键复位。本设计采用手动按键复位,该复位方式同样具有上电自动复位功能。P1.0/T21P1./T2EX2P1.23.34P1.45.56P1.67.78RST9P3.0/RxD10 .1/TP3.2/IN012 ./IT13P3.4/014 .5/T15P3.6/WR16.7/D7XTAL218 19GND20 P2.0/A821.1/9P2./A1023.3/ 4P2.4/A1225.5/36P2.6/A142
10、7.7/58PSEN29AL30EA/VP31 P0.7/AD732.6/ 6P0.5/AD534.4/ 45P0.3/AD336.2/ 27P0.1/AD138./ 09VC40U1AT89C51RC30pFC130pFC22UFC320R11KR21212mHZYS1 VC VC图 3.2 单片机最小系统原理图单片机系统课程设计53.3 蜂鸣器电路蜂鸣器电路为本系统的输出即发声电路,由三极管驱动蜂鸣器发生,单片机 P1.0 引脚产生音频信号,原理图如图 3-3 所示。P1.0/T21./EX2P1.23.34P1.45.56P1.67.78RST9P3.0/RxD10.1/TP3.2/IN
11、012./IT13P3.4/014.5/T15P3.6/WR16.7/D7XTAL218 19VS20P2.0/A821.1/9P2./A023.3/14P2.4/A225.5/136P2.6/A427.7/158PSEN29AL30A/VP31 P0.7/AD732.6/6P0.5/AD534.4/45P0.3/AD336.2/27P0.1/AD138./09VC40U1AT89C51Q12N3904Ls1Buzer1KR1VC图 3.3 蜂鸣器电路原理图3.4 键盘控制电路本系统外接三个独立按键,用作对歌曲操作的控制,上一曲、下一曲接外部中断 0 和外部中断 1 输入端 P3.2 和 P3
12、.3,暂停/播放功能键接定时/计数器1 的外部输入端口 P3.5,按键公共端接地,按下引入低电平,电路图如图 3-4P1.0/T21P1./2EX2P1.23.34P1.45.56P1.67.78RST9P3.0/RxD10.1/TP3.2/IN012./IT13P3.4/014.5/T15P3.6/WR16.7/D7XTAL218 19VS20 P2.0/A821.1/9P2./023.3/A14P2.4/225.5/136P2.6/A427.7/158PSEN29AL30 /VP31 P0.7/AD732.6/6P0.5/534.4/AD45P0.3/336.2/27P0.1/AD138.
13、/09VC40U1AT89C51S12S3上 一 曲下 一 曲暂 停 /播 放图 3.4 键盘控制电路原理图单片机系统课程设计64 系统软件设计本系统系统软件设计主要包括音乐播放主程序和中断控制程序两部分。本章节系统的介绍了数字音乐盒的主程序和中断程序的设计流程,具体的程序代码见附录。4.1 主程序软件设计主程序构成无限循环,用于对歌曲节拍、字符信息的读取、分析计算,定时器的重装完成音频的发生。主程序图流程说明:开机先设定单片机数据表格中的四首歌曲的入口地址完成初始化,接着取出位于节拍音符表格的第一个数据完成对本歌曲拍数的设置,之后进入主循环,对之后的节拍音符数据取出分析,当得到休止符时即表示本歌曲演奏结束,进行下一曲的播放,若演奏到了第四首则演奏第一首。不是休止符则分析取出的节拍音符,奏出音符,控制其持续时间。之后扫描暂停标志位,判断是否执行暂停操作,如无便回到主循环,分析下一个节拍音符数据。主程序流程图如图4-1 所示。开始设定歌曲入口地址设定几分音符取节拍音符数据是否为休止符 停止播放分别求节拍 、 音符音符是否为 0 4 首歌曲是否已播放完下一曲不唱 唱音符演奏时间控制是否暂停暂停是否是否是否是否