单片机及 DSP 课程设计报告
智能数字音乐盒
专 业: 电子信息工程
班 级:
姓 名:
学 号:
指导教师:
时 间:2014-06-16~2014-06-27
通信与电子工程学院
摘 要
单片机自 20 世纪 70 年代问世以来,以其极高的性能价格比,受到人们的重视和关注,
应用很广、发展很快。而 51 单片机是各单片机中最为典型和最有代表性的一种。本课程设
计是基于 MCS51 系列单片机所设计的,用 STC89C52 芯片控制的智能数字音乐盒,整个系统
可以由电路硬件控制,也可由 Android 手机客户端软件进行控制。本系统包括 STC89C52 单
片机最小系统、按键电路、蜂鸣器及 LCD1602 显示电路、蓝牙模块、安卓手机客户端组成,
共可以播放 6 首歌曲,按键电路可以实现进入蓝牙控制、播放、暂停、下一首等功能,手机
客户端可以实现释放蓝牙控制、上一首、下一首、播放等功能;LCD1602 可以显示正在播放
的歌曲和时间,蜂鸣器播放音乐。其中手机客户端是由谷歌公司开发的手机编程软件
AppInventor 开发的。
关键词:STC89C52、智能数字音乐盒、蜂鸣器、LCD1602、AppInventor 、蓝牙
目 录
内容----------------------------------------1
一、 设计题目:智能数字音乐盒---------------------------1
二、 设计目的和要求-------------------------------------1
三、 方案论证-------------------------------------------1
四、 总体设计(硬件部分)-------------------------------1
4.1、框图设计-------------------------------------------------------1
4.2、电路原理图-----------------------------------------------------2
4.3、主要模块功能说明-----------------------------------------------2
4.3.1、 STC89C52 单片机-----------------------------------------2
4.3.2、 LCD1602 液晶显示屏--------------------------------------4
4.3.3 、HC-05 蓝牙模块------------------------------------------4
五、 总体设计(软件部分)-------------------------------4
5.1、程序流程图-----------------------------------------------------4
5.1.1、STC89C52 单片机部分--------------------------------------4
5.1.2、AppInventor 手机客户端部分-------------------------------5
5.2、主要模块程序说明----------------------------------------------6
5.2.1、蜂鸣器唱歌子程序----------------------------------------6
(1)、音调的产生-------------------------------------------6
(2)、节拍的确定-------------------------------------------7
(3)、音符的编码-------------------------------------------7
5.2.2、LCD1602 显示子程序--------------------------------------8
5.2.3、串口初始化及串口中断服务子程序--------------------------8
六、 仿真过程综述--------------------------------------8
七、 调试中遇到的难点及解决办法------------------------9
7.1、硬件焊接部分--------------------------------------------------9
7.2、软件调试部分--------------------------------------------------10
八、 课设结果及实物展示--------------------------------10
8.1、实物展示------------------------------------------------------10
8.2、心得体会------------------------------------------------------11
九、 参考文献------------------------------------------11
附录---------------------------------------12
源程序--------------------------------------------------------------------------------------------------------12
内 容
一、 设计题目:智能数字音乐盒
二、 设计目的和要求
目的:为了进一步巩固学习的理论知识,增强对所学知识的实际应用能力和运用所学的知
识解决实际问题的能力,通过设计在巩固所学知识的基础之上具有初步的单片机系统设计
与应用能力。通过本设计,能综合运用《单片机技术原理与应用》、《DSP 原理与应用》《C
语言程序设计》以及《数字电路》、《模拟电路》等课程的内容,为以后从事电子产品设
计、软件编程、系统控制等工作奠定一定的基础。学会使用 KEIL C 和 PROTEUS 等软件,
用 C 语言或汇编语言编写一个较完整的实用程序,并仿真运行,保证设计的正确性。并且
了解单片机接口应用开发的全过程:分析需求、设计原理图、选用元器件、布线、编程、
调试等。
基本要求:用单片机设计一音乐播放器可以通过按键播放多首音乐;
扩展部分:用手机控制音乐播放器播放音乐。
三、 方案论证
方案 1:用 8 个矩阵按键控制音乐的播放。6 个按键选择 6 首不同的音乐播放,其余两个按
键,一个控制音乐的停止,一个控制进入手机控制模式。按下前六个键中的一个,便开始
播放音乐。在显示方面,用数码管显示正在播放的音乐个数。
方案 2:用 4 个独立按键来实现音乐的选择播放,第一个按键实现手机控制,第二个按键
播放音乐,第三个按键暂停播放,第四个按键切换歌曲进入下一首。用 LCD1602 显示歌曲
信息。
为使电路简单,能显示更多的信息,并方便以后扩展,可能播放更多的音乐,选择方
案 2。
四、 总体设计(硬件部分)
4.1、框图设计
框图设计是为了能够从整体上把握系统的各个大的模块以及各个模块之间的联系。同
时罗列出需要主要使用到的各个器件,以方面系统开发中器件的选取。通过框图设计,让
设计者从整体上把握系统的开发。本系统设计的框图如下图 4-1 所示。
图 4-1 系统结构框图
STC89C52
最小系统
按键电路
蓝牙模块
手机
客户端
LCD1602 显示电路
蜂鸣器
4.2、电路原理图
本系统由 STC89C52 最小系统、四个按键电路、LCD1602 显示电路、蜂鸣器等组成。由于
Proteus 仿真软件没有蓝牙,所以在仿真时省略了此部分电路,但在程序调试时,根据实
物测试通过。电路原理图如图 4-2 所示
图 4-2 电路原理图
4.3、主要模块功能说明
4.3.1、 STC89C52 单片机
STC89C52 是 STC 公司生产的一种低功耗、高性能 CMOS8 位微控制器,具有 8K 在系统可
编程 Flash 存储器。STC89C52 使用经典的 MCS-51 内核,但做了很多的改进使得芯片具有传
统 51 单片机不具备的功能。在单芯片上,拥有灵巧的 8 位 CPU 和在系统可编程 Flash,使
得 STC89C52 为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。具有以下标准功
能: 8k 字节 Flash,512 字节 RAM, 32 位 I/O 口线,看门狗定时器,内置 4KB EEPROM,MAX810
复位电路,3 个 16 位定时器/计数器,4 个外部中断,一个 7 向量 4 级中断结构(兼容传统
51 的 5 向量 2 级中断结构),全双工串行口。 另外 STC89C52 可降至 0Hz 静态逻辑操作,
支持 2 种软件可选择节电模式。空闲模式下,CPU 停止工作,允许 RAM、定时器/计数器、
串口、中断继续工作。掉电保护方式下,RAM 内容被保存,振荡器被冻结,单片机一切工作
停止,直到下一个中断或硬件复位为止。
4.3.2、 LCD1602 液晶显示屏
1602 液晶也叫 1602 字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型
液晶模块。它由若干个 5X7 或者 5X11 等点阵字符位组成,每个点阵字符位都可以显示一个
字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,
正因为如此所以它不能很好地显示图形。1602LCD 是指显示的内容 16X2,即可以显示两行,
每行 16 个字符液晶模块(显示字符和数字)。
(1) 引脚功能
第 1 脚:VSS 为地电源。 第 2 脚:VDD 接 5V 正电源。
第 3 脚:VL 为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,
对比度过高时会产生“鬼影”,使用时可以通过一个 10K 的电位器调整对比度。
第 4 脚:RS 为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。
第 5 脚:R/W 为读写信号线,高电平时进行读操作,低电平时进行写操作。当 RS 和 R/W