《河北工程大学单片机课设可选音乐播放器解析》由会员分享,可在线阅读,更多相关《河北工程大学单片机课设可选音乐播放器解析(26页珍藏版)》请在金锄头文库上搜索。
1、信息与电气工程学院课程设计说明书(2011/2012学年第 二学期)课程名称 : 单片机应用课程设计 题 目 : 可选音乐播放器 专业班级 : 电气 学生姓名 : 学 号: 指导教师 : 设计周数 : 两周 设计成绩 : 2012年6月21日 目录1、 课程设计目的与要求-12、 总体设计-13、 硬件部分设计方案-1 3.1硬件电路总体方案设计-1 3.2单片机简介-1 3.3数码管显示电路-3 3.4蜂鸣器发声电路-3 3.5按钮电路-4 3.6发光二极管电路-4 3.7时钟振荡电路-5 3.8复位电路-5 3.9总电路图-64、软件部分设计方案 -6 4.1音乐发生器流程及思路-6 4.
2、2主程序设计-105、软件和硬件调试-20 5.1硬件调试-20 5.2软件调试-216、材料清单-217、课设总结-228、参考文献-239 附录-24 可选音乐播放器1、 课程设计目的与要求(1)利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演乐曲(内存3首乐曲)。(2)采用七段数码管和发光二极管来显示当前播放的歌曲序号,播放乐曲时,数码管显示当前歌曲序号同时对应二极管点亮。(3)可通过功能键来进行乐曲切换,按下键时从当前歌曲切换到下一首歌曲,且可实现歌曲自动循环。2、总体设计(1)硬件部分由数码管、发光二极管、蜂鸣器、单片机、按钮组成,来实现歌曲的播放和歌曲序号的显示,
3、按钮用来实现对下一首歌曲的切换,每按一次按钮播放器切换到下一首歌曲。(2)软件用来对单片机的各引脚进行控制进而控制数码管的显示数目,同时在蜂鸣器的输出端口产生不同频率的矩形波进而产生音乐,当按钮按下时程序要完成对歌曲的切换,对数码管和发光二极管的切换。3、硬件部分设计方案3.1 硬件电路总体方案设计硬件电路由数码管分显示电路、蜂鸣器发声电路、按钮电路、发光二极管显示电路、时钟振荡电路、单片机组成。显示电路用来对当前播放歌曲序号进行显示,蜂鸣器发生电路用来进行音乐的产生,按钮电路用来进行当前歌曲到下一首的切换,三个发光二极管分别对应三首歌曲,播放歌曲时与其对应发光二极管点亮,另外两个发光二极管不
4、亮。时钟振荡电路用来为单片机产生时钟脉冲,本设计采用内部时钟方式。 3.2 单片机简介 AT89C51按功能划分有如下功能部件组成:(1)微处理器CPU :AT89C51单片机中有1个8位的CPU,与通用的CPU基本相同,同样包含了运算器和控制器两大部分,只是增加了面向控制的处理功能,不仅可以处理字节数据,还可以进行为变量的处理。(2)数据存储器RAM:片内位128B,片外最多可外扩64KB.数据存储器来存储单片机运行期间的工作变量、运算的中间结果、数据暂存和缓冲、标志位等。片内的128B的RAM,以高速RAM的形式集成在单片机内,可以加快单片机的运行速度,降低功耗。 单片机引脚图 (3)程序
5、存储器ROM/EPROM:为4KB的ROM,片外可扩展只读存储器,最多扩至64KB(4)4个8位并行I/O口,P0,P1,P2,P3:位4个并行8位I/O口(5)1个串行口:1个双全工的串行口,具有四种工作方式(6)2个16位定时器/计数器:具有4钟工作方式(7)中断系统:具有5个中断源,2个中断优先级(8)特殊功能功能寄存器SFR.:共有21个,用于CPU对片内各功能部件进行管理、控制、监视。实际上是一些控制寄存器和状态寄存器,是一个具有特殊功能的RAM区AT89C51的引脚说明和功能说明如下:XTAL1 :接外部晶振的一个引脚。在单片机内部,它是一反相放大器输入端,这个放大器构成了片内振荡
6、器。它采用外部振荡器时,此引脚应接地。 XTAL2 :接外部晶振的一个引脚。在片内接至振荡器的反相放大器输出端和内部时钟发生器输入端。当采用外部振荡器时,则此引脚接外部振荡信号的输入。 RST :AT89C51的复位信号输入引脚,高电位工作,当要对芯片又时,只要将此引脚电位提升到高电位,并持续两个机器周期以上的时间,AT89C51便能完成系统复位的各项工作,使得内部特殊功能寄存器的内容均被设成已知状态。 P0口(P0.0P0.7)是一个8位漏极开路双向输入输出端口,当访问外部数据时,它是地址总线(低8位)和数据总线复用。外部不扩展而单片应用时,则作一般双向IO口用。P0口每一个引脚可以推动8个
7、LSTTL负载。 P2口(P2.0P2.7)口是具有内部提升电路的双向I/0端口(准双向并行I/O口),当访问外部程序存储器时,它是高8位地址。外部不扩展而单片应用时,则作一般双向IO口用。每一个引脚可以推动4个LSTTL负载。 P1口(P1.0P1.7)口是具有内部提升电路的双向I/0端口(准双向并行I/O口),其输出可以推动4个LSTTL负载。仅供用户作为输入输出用的端口。 P3口(P3.0P3.7)口是具有内部提升电路的双向I/0端口(准双向并行I/O口),它还提供特殊功能,包括串行通信、外部中断控制、计时计数控制及外部随机存储器内容的读取或写入控制等功能。3.3数码管显示电路 数码管选
8、用七段显示数码管LED,接单片机的P0端口,用单片机的P0端口来控制七段数码管(用P0.0-P0.6控制七段码a,b,c,d,e,f),通过对P0端口赋不同的值来改变P0端口输出的电平进而来改变数码管显示的数值。因为P0端口为三态门,作为输出端口时须外接上拉电阻。数码管显示电路如图所示:3.4蜂鸣器发声电路蜂鸣器发声电路由蜂鸣器、三极管(PNP)组成。蜂鸣器接单片机的P10端口,因单片机复位时各输出端口均为高电平,为防止单片机一上电复位蜂鸣器就响用低电平来驱动蜂鸣器,三极管选用PNP型配合P10端口来对电流进行放大,三极管与P10端口共同完成对蜂鸣器的驱动。蜂鸣器发生电路图如图2-3所示3.5
9、按钮电路按钮电路由按钮、上拉电阻组成。按钮接P32端口,未按下按钮时P32端口为高电平,当按钮按下时在P32端口产生一个低电平输入单片机,来产生切换到下一曲的信号,进而通过软件来完成歌曲的切换。按钮电路如图所示。3.6发光二极管电路发光二极管电路由限流电阻和发光二极管组成,三个二极管分别接P20、P21和P22三个端口。三个发光二极管分别对应三首歌曲,当有歌曲播放时与其对应的发光二极管点亮,另外两个发光二极管不亮。通过改变P2口的输出来使二极管状态改变,二极管采用低电平驱动,防止复位时二极管全亮。发光二极管电路如图所示3.7时钟振荡电路时钟振荡电路由晶振(6MHZ)和电容组成,接单片机的XTA
10、L1和XTAL2引脚。时钟振荡电路用来为单片机产生时钟脉冲,为内部时钟方式。时钟振荡电路图如图所示。3.8 复位电路复位电路由电解电容、电阻和按钮组成。复位分为上电复位和手动复位,上电复位在单片机一上电时对单片及进行复位,手动复位通过外部按钮来对单片机进行复位。两种复位方式的结果一样。复位电路的电路图如图所示。3.9 总电路图由上述的数码管分显示电路、蜂鸣器发声电路、按钮电路、发光二极管显示电路、时钟振荡电路和单片机组成总电路图。总电路图配合软件程序可实现音乐播放器的功能,总电路图和PCB版图如附一、附二所示。4、 软件部分设计方案4.1音乐发生器设计流程及思路4.1.1音乐基础在进行设计前,
11、首先要对音乐知识有基本的理解,其次要明白单片机产生音乐脉冲的原理,最后完成硬件原理图和相关程序的设计。音作为一种物理现象,是由于物体振动而产生的,振动产生的声波作用于人耳,听觉系统将神经冲动传达给大脑,进而产生听觉。人耳能听到的声音频率大约在1120000Hz,而音乐中使用的音一般在274100Hz。乐音体系中各音级的名称叫做音名,被广泛采用的是C D E F G A B(do re mi fa so la si则多用于歌唱,称为唱名)。乐音体系中音高关系的最小尽量单位叫做半音,两个半音构成一个全音。乐音中有几十个高低不同的音,但是最基本的只有这七个音,其他高、低音的音名都是在这个基础上变化出来的。在乐谱表上用来表示正在进行的音的长短的符号,叫做音符。不同的音符代表不同的长度。音符有一下几种:全音符、二分音符、四分音符、八分音符、十六分音符、三十二分音符、六十四分音符。此外,还有一种附点音符,它就是