毕业论文-基于nRF24l01的无线音乐播放器设计_第1页
毕业论文-基于nRF24l01的无线音乐播放器设计_第2页
毕业论文-基于nRF24l01的无线音乐播放器设计_第3页
毕业论文-基于nRF24l01的无线音乐播放器设计_第4页
毕业论文-基于nRF24l01的无线音乐播放器设计_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、温州大学瓯江学院本科毕业论文本科毕业设计(论文)题 目:基于nRF24l01的无线音乐播放器设计 II摘要本文介绍了一种基于nRF24l01的无线音乐播放器设计方案。本设计方案结合了单片机技术和无线通信技术,设计的电路以单片机和无线通信模块为核心,并辅以外围电路。其工作过程是按键选择后,通过无线模块发射相应的数据,由另一无线模块接收的数据后播放不同的音乐。该系统实现了无线控制音乐播放器的歌曲播放选择和歌曲名的显示。本系统的优点是电路简单,性能可靠,实时性好,操作简单,编程容易等。关键词:单片机;无线模块nRF24l01;模拟SPI Abstract This article introduce

2、d one kind based on the nRF24l01 wireless music player design proposal. The design proposal unified the monolithic integrated circuit technology and the wireless communication technology, the design electric circuit take the monolithic integrated circuit and the wireless communication module as a co

3、re, and auxiliary by peripheral circuit. After its work process is the pressed key choice, through wireless module launch corresponding data, after another wireless module receive data broadcasts the different music. This system has realized the wireless control music player song broadcast choice an

4、d a song demonstration. This system's merit is the electric circuit is simple, the perform reliably, timeliness is good, simplicity of operator, programming easy and so onKey Words:single chip microcomputer; wireless module nRF24l01;simulation SPIIII本科毕业论文目录1绪论- 1 -1.1 前言- 1 -1.2 背景与意义- 1 -1.3 设

5、计任务- 1 -2 系统总体设计方案- 3 -3无线通信系统的介绍- 4 -3.1无线通信系统的构成- 4 -3.2无线通信工作方式- 5 -4系统硬件设计- 7 -4.1 芯片介绍- 7 -4.1.1 51芯片介绍- 7 -4.1.2 nRF24l01无线模块介绍- 8 -4.1.3 LM386芯片介绍- 10 -4.2硬件模块设计- 10 -4.2.1单片机最小系统电路- 10 -4.2.2音频电路- 11 -4.2.3按键电路- 12 -4.2.4显示电路- 12 -5 系统软件设计- 13 -5.1概述- 13 -5.2主程序设计- 14 -5.3无线通信程序- 15 -5.4音乐程序

6、- 17 -5.5键盘输入程序- 20 -5.6 LCD显示程序设计- 20 -6 系统调试- 21 -6.1硬件调试- 21 -6.2软件调试- 21 -7 总结总结与展望- 22 -致谢- 23 -参考文献- 24 -附录 原理图- 25 -附录 元器件清单- 26 -附录 源程序清单- 27 - 42 -1绪论1.1 前言随着生活水平的提高,人们对娱乐要求越来越高,音乐播放器就是一个典型的产品,产品设计的越来越小,功能越来越强大,价格又要降下来。而单片机因其优越的性价比和灵活性的功能配置而被广泛的应用于各种领域,且基于无线设计,使音乐播放器摆脱有线的束缚,更加方便、更具娱乐性。1.2 背

7、景与意义 随着社会的发展,人们期望着能随时随地、不受时空限制地进行信息交换。当今的各种智能化控制系统也离不开数据信息的传输。其中,无线数据传输区别于传统的有线传输的新型传输方式,系统不需要传输的线缆、成本低廉、施工简单。无线数据传输如下的优点使其日益得到广泛的应用:1)省去了通信设备之间的连线,特别是在不易接线或接线费用较高区域(如有历史意义的建筑物、河流、山脉等障碍)更具优势,甚至某些场合只能采用无线数据传输方式(如民航飞机的导航);2)设备的可移动性、安装的方便性、组网的灵活性等。 目前,蓝牙、IEEE802.11等无线局域网协议及其技术的研究、开发和应用正如火如荼地进行,也预示着无线通信

8、在未来的信息交换中将发挥出更大的作用。随着计算机、通信和无线技术的逐渐地融合,在传统的有线通信的基础上,无线通信技术应运而生,它具有快捷、方便、可移动和安全等优势,所以广泛应用到遥控玩具、汽车电子、环境监测和电气自动化等。现在,有很多的电器产品(如一些家用电器)的操作控制也都采用了无线数据传输方式,一些无线数据传输功能相对简单的电器产品,其无线数据传输信号的识别与译码大多采用单片机。如今,大部分编码调制芯片配套的译码芯片都内置到无线通信模块里,从而可使单片机做更多复杂的任务。在数字音乐播放器发展方面,功能越来越强大,但价格也随之上涨。用单片机设计音乐播放器,则性价比较高,但基于无线通信的音乐播

9、放器就很少。在一些应用场合中,音乐播放器受到有线通信的束缚,不便使用,这时就需要无线数据传输,本设计就是基于无线收发模块来实现无线音乐播放系统。1.3 设计任务本设计主要任务是制作一个基于nRF24l01的无线音乐播放器设计,此系统能够实现无线控制音乐的播放。先用单片机设计一个音乐播放器,再用无线模块nRF24l01实现无线控制。主要设计要求: (1)学会并掌握单片机的硬件电路设计; (2)理解无线通信nRF24l01的编写方法和程序流程; (3)设计单片机间无线数据传输的硬件原理图; (4)编写软件程序,包含单片机间无线通信的软件设计和音乐播放器的设计; (5)调试并实现单片机的无线音乐播放

10、器系统的设计;2 系统总体设计方案本文设计的基本内容是以单片机间的通信为核心,并辅以音频电路和无线模块外围电路,通过对单片机的编程来设计出单片机无线音乐播放器系统。由于系统模块如图2-1所示:图2-1 无线音乐播放器系统硬件框图无线技术方案有以下几种选择:(1) 红外技术,红外技术有效接收距离短,且无法支持多位传输;电力消耗大,抗干扰性能差。(2) 27MHz射频技术,接收距离短,传输速率较低,抗干扰能力一般,只能进行单向信号传输,容易出现信号中断金额无线频段互相干扰的现象。(3) 调频技术,传输距离较长,可全方位接收信号,抗干扰能力较高,仅支持单向信号传递。(4) 蓝牙技术,在传输距离、速度

11、等方面具有绝对优势,但在微处理器和协议使用许可方面的高要求,使得产品价格一直居高不下。(5) 2.4GHz技术,传输速率可媲美蓝牙,功耗却大大降低;采用完全开放式的网络协议,在价格上具有绝对优势;传输距离可达10米。通过性价比选择工作于2.4 GHz2.5 GHz ISM频段的无线模块nRF24Ll01较为合适,其传输距离也足够日常的音乐欣赏。软件部分为单片机程序设计,主要是对无线模块软件设计、音频模块软件设计和案件控制软件。其通过KEIL软件,用C语言来实现相应的功能,并通过U-EC5下载程序。 3无线通信系统的介绍3.1 无线通信系统的构成无线通信(Wireless communicati

12、on)是利用电磁波信号可以在自由空间中传播的特性进行信息交换的一种通信方式。近些年信息通信领域中,发展最快、应用最广的就是无线通信技术。利用电磁波作为传输介质的通信系统称为无线通信系统。典型的无线通信系统的组成框图如图3-1:图3-1 无线通信系统结构框图 可见,无线通信系统一般有发信机、收信机以及与其相连的天线(含馈线)构成。1发信机发信机的主要作用是将所要传送的信号首先对载波信号进行调制,形成已调载波;已调载波信号经过变频(有的发射机不经过这一步骤)成为射频载波信号,送至功率放大器,经功率放大后送至天(馈)线。图3-2是一种短波发信机的组成框图。 图3-2一种短波发信机的组成框图2天线天线

13、是无线通信系统的重要组成部分。其主要作用:是把射频载波信号变成电磁波或者把电磁波变成射频载波信号。按照规范性的定义,“天线就是把导行模式的射频电流变成扩散模式的空间电磁波的传输模式转换器,及其逆变换的传输模式转换器”。馈线的主要作用:是把发射机输出的射频载波信号高效地送至天线。这一方面要求馈线的衰耗要小;另一方面其阻抗应尽可能与发射机的输出阻抗和天线的输入的阻抗相匹配。3收信机收信机的主要作用是把天线接收下来的射频载波信号首先进行低噪声放大,然后经过变频(一次、两次甚至三次变频)、中频放大和解调后还原出原始信号,最后经低频放大器放大后输出。图3-3是一种短波收信机的组成框图。 图3-3 一种短

14、波收信机的组成框图 3.2 无线通信工作方式无线通信的工作方式可分为单向通信方式和双向通信方式两大类别,而后者又分为单工通信方式、双工通信方式和半双工通信方式三种。1单向通信方式所谓单向通信方式就是通信双方中的一方只能接收信号,而另一方只能发送信号,不能互逆。收信方不能对发信方直接进行信息反馈。例如:陆地移动通信系统中的无线寻呼系统就采用这种工作方式。BP机(或BB机)只能收信而不能发信,反馈信息只能通过“打电话”间接地来完成。2双向通信方式(1) 单工通信方式通信双方只能交替地进行发信和收信,不能同时进行。如图3-4所示。 图3-4 单工通信方式示意图例如:常用的对讲机就采用这种通信方式,平

15、时天线与收信机相连接,发信机也不工作。当一方用户讲话时,接通信时,接通“按-讲”开关,天线与发信机相连(发信机开始工作)。另一方的天线接至收信机,因而可收到对方发来的信号。(2) 全双工通信方式通信双方可同时发信与收信,即双方同时处于收信与发信状态。这时收信与发信必须采用不同的工作频率。用户使用时与“打电话”时的情况一样。这时通信双方的设备一般通过双工器来完成这种功能。如下图3-5所示。 图3-5 全双工通信方式示意图(3) 半双工通信方式通信双方可同时发信和收信。但发信时要按下“按-讲”开关。如图3-6所示。 图3-6 半双工通信方式示意图4系统硬件设计系统设计的初步设想:在设计系统时先设计

16、基于单片机的音乐播放器,另一块单片机通过无线模块控制音乐播放器的音乐播放。4.1 芯片介绍4.1.1 51芯片介绍单片机的全称是单片微型计算机(Single Chip Microcomputer)。为了使用方便,它把组成计算机的主要功能部件:中央处理器(CPU)、数据存储器(RAM)、程序存储器(ROM、EPROM、E2PROM或FLASH)、定时/计数器和各种输入/输出接口电路等都集成在一块半导体芯片上,构成了一个完整的计算机系统。与通用的计算机不同,单片机的指令功能是按照工业控制的要求设计,因此它又被称为微控制器(Microcontroller)。MCS是Intel公司单片机系列的符号。I

17、ntel公司推出有MCS-48、MCS-51、MCS-96系列单片机。其中MCS-51系列单片机典型机型包括51和52两个子系列。52子系列的主要功能为:1、8位CPU。2、片内带振荡器及时钟电路。3、256B片内数据存储器。4、8KB片内程序存储器。5、程序存储器的寻址范围为64KB。6、片外数据存储器的寻址范围为64KB。7、21B特殊功能寄存器。8、4×8根I/O线。9、1个全双工串行I/O接口,可多机通信。10、3个16位定时器/计数器。11、中断系统有8个中断源,可编程为两个优先级。12、111条指令,含乘法指令和除法指令。13、布尔处理器。14、使用单+5V电源。MCS-

18、51具有比较大的寻址空间,地址线宽达16条,即外部数据存储器和程序存储器的寻址范围达216=64kB,这作为单片机控制来说已是比较大的,这同时具备对I/O口的访问能力。此外,MCS-51采用模块化结构,可方便地增删一个模块就可引脚和指令兼容的新产品,从而容易使产品形成系列化。由于MCS-51集成了几乎完善的8位中央处理单元,处理功能强,中央处理单元中集成了方便灵活的专用寄存器,硬件的加、减、乘、除法器和布尔处理机及各种逻辑运算和转移指令,这给应用提供了极大的便利。MCS-51的指令系统近乎完善,指令系统中包含了全面的数据传送指令、完善的算术和逻辑运算指令、方便的逻辑操作和控制指令,对于编程者来

19、说,使用起来相当地灵活和方便。MCS-51单片机的工作频率为212MHz,当振荡频率为12MHz时,一个机器周期为1s,这个速度应该说是比较快的。MCS-51中集成了完善的各种中断源,用户可十分方便地控制和使用其功能,使得它的应用范围加大,可以说它可以满足绝大部分的应用场合。MCS-51系列单片机优异的性能/价格比使得它从面世以来就获得用户的认可。本设计的应用电路中采用了STC公司的STC89C52RC芯片,它与MCS-51单片机指令集兼容,同时它的内部包含用作程序存储器的8KB的基于FLASH技术的只读存储器。采用这款芯片既克服了采用8031需要添加外部程序存储器导致电路复杂的缺点,又克服了

20、采用8751导致电路制作成本高的缺点。52系列I/O脚使用简单,但高电平时无输出能力,可谓有利有弊。故其他系列的单片机(如PIC系列、AVR系列等)对I/O口进行了改进,增加了方向寄存器以确定输入或输出,但使用也变得复杂。 图4-1 单片机芯片引脚图4.1.2 nRF24l01无线模块介绍nRF24l01是一款新型单片射频收发器件,工作于2.4GHz2.5GHz ISM频段。内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,并融合了增强型ShockBurst技术,其中输出功率和通信频道可通过程序进行配置。nRF24L01功耗低,在以-6dBm的功率发射时,工作电流也只有9mA;接收时,

21、工作电流只有12.3 mA,多种低功率工作模式(掉电模式和空闲模式)使节能设计更方便。(1)主要特点:2.4Ghz全球开放ISM频段免许可证使用;最高工作速率2Mbps,高效GFSK调制,抗干扰能力强,特别适合工业控制场合;125频道,满足多点通信和跳频通信需要;内置硬件CRC检错和点对多点通信地址控制;低功耗1.9-3.6V工作,待机模式下状态仅为1uA;内置2.4Ghz天线,体积小巧;模块可软件设地址,只有收到本机地址时才会输出数据(提供中断指示),可直接接各种单片机使用,软件编程非常方便。(2)应用领域:遥控、遥测、无线抄表、门禁系统、小区传呼、工业数据采集系统、无线标签、身份识别、非接

22、触RF 智能卡、小型无线数据终端、安全防火系统、无线遥控系统、生物信号采集、无线232、无线422/485 数据通信等。(3)接口定义引脚 名称引脚功能描述1 CE数据输入RX或TX模式选择 2 CSN数据输入SPI片选信号 3 SCK数据输入SPI时钟 4 MOSI数据输入从SPI数据输入脚 5 MISO数据输出从SPI数据输出脚 6 IRQ数据输出可屏蔽中断脚 7 VDD电源电源(+3V) 8 VSS 电源接地(0V) 表4-1无线模块端口定义图4-2 无线模块PCB图 图4-3 无线模块4.1.3 LM386芯片介绍LM386是美国国家半导体公司生产的音频功率放大器,主要应用于低电压消费

23、类产品。为使外围元件最少,电压增益内置为20。但在1脚和8脚之间增加一只外接电阻和电容,便可将电压增益调为任意值,直至200。输入端以地位参考,同时输出端被自动偏置到电源电压的一半,在6V电源电压下,它的静态功耗仅为24mW,使得LM386特别适用于电池供电的场合。特性:静态功耗低,约为4mA,可用于电池供电;工作电压范围宽4-12V或5-18V;电压增益可调20-200;低失真度。 图4-4 LM386引脚图4.2 硬件电路模块设计单片机硬件电路模块包括单片机最小系统电路、音频电路、按键电路和显示电路。4.2.1 单片机最小系统电路STC89C51RC单片机内部自带一个构成振荡回路的高增益反

24、相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。通过这两个引脚在芯片外并接石英晶体振荡器和两只电容器(电容一般取30pF)。石英晶体为一感性元件,与电容构成振荡回路,为片内放大器提供正反馈和振荡所需的相移条件,从而构成一个稳定的自激振荡器。复位电路包括片内,外两部分。这里我们只要考虑片外复位部分,它主要有电平方式和脉冲方式两类,我则采用了按键电平复位方式,通过按键RESET,使单片机复位端经电阻R1与电源VCC接通而实现对单片机系统的复位。其中电阻R2的取值范围为13K,电容C3容量为1030uF。由于单片机P0口内部没有上拉电阻,需要外接10K的上拉电阻。这样,就构成单片

25、机最小系统了。 图4-5 单片机最小系统电路 4.2.2 音频电路 音频电路由放大器LM386、喇叭部分等组成,电路如下图3-5所示。图4-6 音频电路原理图LM386是一种音频集成功放,具有自身功耗低、电压增益可调整、电源电压范围大、外接元件少和总谐波失真小等优点,这里我查找了相关资料,采用了其典型的连接方法,即电压增益20。程序上通过控制单片机端口输出一个高低电位信号,经过放大后输出至喇叭,从而产生报警功能。滑动电阻起到限流作用,决定输入信号的强弱。固定电阻和电容一起构成一个滤波模块,消除干扰 。4.2.3 按键电路在键盘接口设计上,可通过触点式开关把机械上的通断转换成为电气上的逻辑关系,

26、在按键的按下或者释放时,由于机械弹性作用,通常伴随有一定的触点抖动。消除抖动引起的误判,有2方法,一种采用硬件电路,如采用RC、双稳态触发器或者单稳态触发器等。但会增加硬件成本及硬件电路的体积。另一种就是采用软件延时消除抖动,其原理是当CPU检测到有按键按下时,延时1020ms,再一次查询确认该键是否按下。单片机与键盘连接的方式有4种:直接输入方式、矩阵输入方式、A/D输入方式、译码器输入扩展方式。由于本设计就4个按键,单片机IO也较多,采用直接输入方式,即每个按键对应一个IO口,用软件延时消除抖动。4.2.4 显示电路 液晶LCD1602已很普遍,这里就不具体说了,本设计需要显示歌曲目录,用

27、数码管不好显示,用液晶LCD12864会使显示屏幕太大,用LCD1602可显示歌曲,显示模块也不会太大。 表4-2 LCD1602接口5 系统软件设计5.1 概述 系统软件设计总体思路是根据按键选择,再无线发送数据来控制音乐器播播放和歌曲的显示,主要程序模块有无线通信模块、音乐播放模块、显示模块和按键模块。在设计各个程序模块时,需要对各个模块进行划分。模块的划分有很大的灵活性,但也不能随意划分,模块划分时应遵循以下原则:(1)每个模块应具有独立的功能,能产生明确的结果,这就是单模块功能的高内聚性。(2)模块间的控制耦合应尽量简单,模块间的数据耦合应尽量少,这就是模块间的低耦合性。(3)模块长度

28、适中,模块语句的长度通常在20100条的范围较合适。模块化程序设计是按自上而下的过程进行的,主模块即为总模块,然后是多层次的子模块。在进行模块划分时,应首先弄清楚每个模块所需完成的功能、数据结构以及与其它模块之间的关系。其次是对主要任务再进一步细化,把一些专用的子任务再划分给下一级即第二级子模块去完成,这时也需要清楚它们间的相互关系。按这种方法一直细分成易于理解和实现的小模块为止。模块说明应包括实现模块功能所用的基本算法,模块入口算法、出口参数,模块的数据结构及调用子程序等。一般有了层次图和模块说明后,划分模块的工作也就算完成了。实际的应用程序一般都由一个主程序(包括若干个功能模块)和多个子程

29、序构成,每个功能程序模块都能完成某一明确的任务,实现具体的某一功能,如显示、打印等。采用这种模块化的程序设计方法,有下述优点:(1)单一模块结构的程序功能单一,因而易于编写、调试和修改。(2)便于分工,可有多个程序员同时编写、调试,加快软件研制进度。(3)程序可读性好,便于功能扩充和版本升级。(4)程序的修改可局部进行,而其它部分则可相对保持不变。(5)使用频繁的子程序可以汇编成子程序库,以便于多个模块调用。5.2 主程序设计开始时,按发射部分的开始按键才能开始真正工作,显示模块则会显示welcome,再按上翻键或者下翻键,播放上一首歌或者下一首歌,显示模块则会显示英文歌曲名。单片机发射部分以

30、此调用键盘扫描子程序,无线发射程序,数据发射成功后再返回程序开头循环运行,其发射程序流程图如下: Y开始程序初始化 有键按下?赋值tx-buf0 数据发送清空缓冲置tx-buf0=0x00 数据发完?NYN 图4-7 发射程序流程图单片机接收部分先调用无线接收程序,数据收到后产生一个外部中断,由单片机的主程序读取接收数据,再做判断是否要调用音乐程序、显示程序。其中断程序主要是接收到数据后,把数据写入接收缓冲区,再开外部中断。其接收部分流程图如下: Y开始程序初始化Temp=0xfc读取temp数据t歌曲开始处理NN歌曲结束处理播放上一首播放下一首Temp=0xfdTemp=0xffTemp=0

31、xfeYYYNN读取接收缓冲期值写入到rx_buf清除状态标志和缓冲区赋值temp=rx_buf0, 开 外部中断外部中断程序处理 图4-8 接收程序流程图5.3 无线通信程序两个模块要通信时,一个要设为发送,另一个接收。无线通信模块与单片机之间的数据传输是模拟SPI总线的。 SPI总线系统是一种同步串行外设接口,它可以使MCU与各种外围设备以串行方式进行通信以交换信息。外围设置FLASHRAM、LCD显示驱动器、A/D转换器和MCU等。SPI总线系统可直接与各个厂家生产的多种标准外围器件直接接口,该接口一般使用4条线:串行时钟线(SCK)、主机输入/从机输出数据线MISO、主机输出/从机输入

32、数据线MOSI和低电平有效的从机选择线SS(有的SPI接口芯片带有中断信号线INT、有的SPI接口芯片没有主机输出/从机输入数据线MOSI)。SPI的通信原理很简单,它以主从方式工作,这种模式通常有一个主设备和一个或多个从设备,需要至少4根线,事实上3根也可以(用于单向传输时,也就是半双工方式)。也是所有基于SPI的设备共有的,它们是MOSI(数据输入),MSIO(数据输出),SCK(时钟),CSN(片选)。(1)MOSI 主设备数据输出,从设备数据输入(2)MISO 主设备数据输入,从设备数据输出(3)SCLK  时钟信号,由主设备产生(4)CSN 从设备使能信号,由主设备控制其中

33、CSN是控制芯片是否被选中的,也就是说只有片选信号为预先规定的使能信号时(高电位或低电位),对此芯片的操作才有效。这就允许在同一总线上连接多个SPI设备成为可能。接下来就负责通讯的3根线了。通讯是通过数据交换完成的,这里先要知道SPI是串行通讯协议,也就是说数据是一位一位的传输的。这就是SCK时钟线存在的原因,由SCK提供时钟脉冲,MOSI,MISO则基于此脉冲完成数据传输。数据输出通过 MISO线,数据在时钟上升沿或下降沿时改变,在紧接着的下降沿或上升沿被读取。完成一位数据传输,输入也使用同样原理。这样,在至少8次时钟信号的改变(上沿和下沿为一次),就可以完成8位数据的传输。下两副图为SPI

34、的读写操作。图4-9 SPI读操作 图4-10 SPI写操作通信程序基本上是将单片机数据写入无线模块或者读取无线模块内的数据,在接收部分,无线模块接收到数据后其IRQ引脚产生一个低电平,这样,把IRQ引脚接到单片机外部中断脚就可以利用中断法来读取数据,提高单片机工作效率。下面为中断设置,详细程序说明见附录程序。EA=1; /中断开启ET0=1; /允许定时器TOIT0=0; /外部中断为低电平触发EX0=1; /允许外部中断0PX0=1; /外部中断0为高优先级5.4 音乐程序要产生音频脉冲,只要算出某一音频的脉冲(1/频率),然后将此周期除以2,即为半周期的时间,利用定时器计时这个半周期的时

35、间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期的时间再对I/O反相,就可以在I/O脚上得到此频率的脉冲。利用STC80C52RC的内部定时器使其工作在计数器模式1下,改变计数值TH0及TL0以产生不同频率的方法如下:例如,频率为523Hz,其周期为1/523 s=1912us,因此只要令计数器计时956us/1us=956,在每计数956次时就将I/O反接,就可得到中音DO(532Hz)。计数脉冲值与频率的关系公式如下: N=Fi/2/Fr (N:计数值,Fi:内部计时一次为1uS,故其频率为1MHz,Fr:要产生的频率 )其计数值的求法如下:T=65536-N=65536-F

36、i/2/FrC调个音符频率与计数值T的对照表如下表所示:表4-3 C调个音符频率与计数值T的对照表每个音符使用1个字节,字节的高4位代表音符的高低,低4位代表音符的节拍,下表为节拍码的对照。但如果1拍为0.4秒,1/4拍是0.1秒,只要设定延迟时间就可求得节拍的时间。假设1/4节拍为1DELAY,则1拍应为4DELAY,以此类推。所以只要求得1/4拍的DELAY时间,其余的节拍就是它的倍数,如下表为1/4和1/8节拍的时间设定及各调节拍的时间设定表。表4-4 节拍码对照表 1/4节拍1/8节拍曲调值DELAY曲调值DELAY调4/4125毫秒调4/462毫秒调3/4187毫秒调3/494毫秒调

37、2/4250毫秒调2/4125毫秒表4-5各调节拍的时间设定表下面再说明如何建立音乐代码库: (1)先建立频率-半周期数据表,即单片机定时器的取值表,如下:定时器高八位的取值表 code unsigned char FREQH=0xF2,0xF3,0xF5,0xF5,0xF6,0xF7,0xF8, /低音12345670xF9,0xF9,0xFA,0xFA,0xFB,0xFB,0xFC,0xFC, /1,2,3,4,5,6,70xFC,0xFD,0xFD,0xFD,0xFD,0xFE, /高音 2345670xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFF, /超高音 123

38、4567 ;定时器低八位的取值表code unsigned char FREQL=0x42,0xC1,0x17,0xB6,0xD0,0xD1,0xB6,/低音12345670x21,0xE1,0x8C,0xD8,0x68,0xE9,0x5B,0x8F, /1,2,3,4,5,6,70xEE,0x44, 0x6B,0xB4,0xF4,0x2D,/高音 2345670x47,0x77,0xA2,0xB6,0xDA,0xFA,0x16,/超高音 1234567; (2)再建立音乐数据表 以世上只有妈妈好为例来说明,如下: code unsigned char sszymmh = 6, 2, 3, 5

39、, 2, 1, 3, 2, 2, 5, 2, 2, 1, 3, 2, 6, 2, 1, 5, 2, 1, /一个音符有三个数字。前为第几个音、中为第几个八度、后为时长(以半拍为单位)。 /6, 2, 3代表:, 中音, 个半拍;···0, 0, 0;/0,0,0,代表歌曲播放结束; (3)通过公式设定就可读出频率值,从而发出声音。如下所示:k = sszymmhi + 7 * sszymmhi + 1 + 6  /第i个是音符, 第i+1个是第几个八度  timer0h = FREQHk;    

40、0; /从数据表中读出频率数值  timer0l = FREQLk;      /实际上, 是定时的时间长度      time = sszymmhi + 2;   /读出时间长度数值   i += 3;    song();                 

41、 /发出一个音符该song()就是把频率数值表赋值给计数,计数一到就中断即可。下图为音乐程序流程图。YN开始设置定时器T1和延迟时间time音乐表为0启动定时器T1结束定时器T1中断关闭P2.0取反设置定时器,开定时器中断 延时time个半拍关闭定时器T1定时器中断程序图4-11 音乐程序流程图 5.5键盘输入程序在本设计中,发射模块电路开始工作时,不断地扫描P2口判断是否有键按下,图4-2为键盘程序流程图。 否有键按下程序返回是调用按键扫描子程序按键处理开始 图4-12 键盘程序流程图5.6 LCD显示程序设计 作为人机借口的显示设备LCD,在本设计中可以显示歌曲名称,由于1602只能同时显

42、示16x2即32个字符,而且显示中文字体也不好,所以本设计就直接显示歌曲的拼音,且调用也方面。6系统调试调试工作可分硬件调试和软件调试两个部分,调试方法如下:首先,硬件调试主要是先制作硬件电路板,然后用万用表等工具对电路检查,最后应用程序进行功能调试。硬件调试比较费时,需要细心和耐心,也需要熟练掌握电路原理。然后,用仿真软件进行软件调试,比如单片机C51编辑软件KEIL,该软件提供一个集成开发环境uVision,它包括C编辑器、宏编辑器、连接器、库管理和一个功能强大的仿真调试器。通过编译、运行,可以检查程序错误。但应用此方法,仍需要十分了解所使用元器件的工作方式和管脚连接方式。6.1 硬件调试

43、主要包括对单片机STC89C52RC、辅助电源电路、显示电路、键盘电路、无线通信模块和音频电路的调试。检查线路故障和其他硬件故障,以防出现电路短路、断路,并测试各个点的各项测试是否满足课题的要求。在显示电路要注意电源是否接反,是否很容易烧掉1602模块,而且1602显示模块的三脚一定要接上10K的滑动变阻器来调节字体的亮度。作为驱动晶体管的三级管8550是否在焊接过程中由于焊接方式的不当而被烧坏。接到无线模块的电压先要经过测试是否达到要求,否则由于高电压而烧坏无线模块。6.2 软件调试主要检查软件的语法错误、无线通信的正确性、显示是否正常和歌曲正确播放,如表6-1所示。在本次设计中,起先对无线

44、模块不是很了解,设置通信不对导致无法建立无线通信。表6-1 调试各按键功能表及调试结果按键选择传输距离结果开始10米显示正常结束显示正常上翻歌曲正确播放下翻歌曲正确播放7总结与展望实现无线音乐播放的方法有很多,这个设计只是其中的一种。而且市场上的音乐播放器种类繁多,再加上显示的硬件电路越来越人性化。所以这个无线音乐播放系统还可以更加的人性化,更加的智能化,可以增加其他的模块用于生活需要,比如时钟模块、音乐无线下载、接收与发射自由转换等等。本文所设计的系统,采用了性能较为强劲的STC89C52RC单片机和增强型的无线模块nRF24L01,其无线模块含有增强型ShockBurst技术,其中输出功率

45、和通信频道可通过程序进行配置,总系统具有以下优点:1)反应快,从按键功能选择到播放显示,基本是实时性。2)通用性好,能够较为容易插入不同的音乐代码。3)可拓展性强,设计软件程序时,使用模块化设计,便以日后升级。4)良好经济性。由于时间和作者本身知识水平的限制,没有更好的发挥各个芯片的性能,相互间的无线模块接收、发送还不能转换,也还暂时不能使歌曲代码完全发送。本系统仅完成了基本的功能,希望在能在未来的时间里,进一步深入地改善系统的设计,使系统在多个模块间可以方便快捷的传输音乐内容代码。还可以添加存储容量和录音功能,这样更能表达一个完整的无线音乐播放器。通过本次设计,对单片机的内部模块更加熟悉,使

46、用上也更加的清晰,对于今后用单片机设计产品提供了极大的帮助,并且培养了良好的编程习惯,对子程序命名的规范,和对寄存器的使用上,有了一定的良好意识,也锻炼了我的自学能力和动手实践能力。 致谢在毕业设计的时间里,从开始的一无措,到现在完成整个系统的设计和仿真。在整个过程中,不仅是一次所学知识的整理,更是一次动手能力的提升。在论文完成之际,我要特别感谢我的指导老师谢胜利老师的热情关怀和悉心指导。从开始的一无措,到现在完成整个系统的设计和撰写论文的过程中,谢老师倾注了大量的心血和汗水,无论是在论文的选题、构思和资料的收集方面,还是在论文的研究方法以及成文定稿方面,我都得到了谢老师悉心细致的教诲和无私的

47、帮助,特别是他广博的学识、深厚的学术素养、严谨的治学精神和一丝不苟的工作作风使我终生受益,在此表示真诚地感谢和深深的谢意。最后,感谢对本文成文给与过帮助的所有老师、同学和朋友。参考文献1  朱益,运吕杨基于CC2430的智能家居ZigBee无线数传设计与实现J云南大学学报(自然科学版),2009,31(1):1141152 魏克新,马中原,冷建伟基于无线数传的海上采油平台监控系统J电气传动,2009,10(39):67713  施雯,王畅基于nRF2401的发动机转速测量系统J公路与汽运,2008,6:584  周鸿福Wireless Communica

48、tion Design in Water Factory Monitor System by SocketsJWiCOM084th International Conference2008:155  黄振杰,卢小冰基于AT89S52 单片机的多功能音乐播放器电子设计工程J,2009,2:17216 刘斌,熊光洁,吴雪等基于单片机无线通信的应急交通控制研究J 微计算机信息,2009,32(25):1151177  HE Jinghan,REN Yingli ,BO Zhiqian, Klimek AdrewAdvanced Communication System in Su

49、bstation for Integrated ProtectionJTransactions of Tianjin University2008,14:128133 8  郑启忠,朱宏辉,耿四军等系统级RF芯片nRF24E1收发原理与应用编程 J新器件新技术,2004,07:4245.9  陈丽娟,常丹华基于nRF2401芯片的无线数据通信J电子器件,2006,03:249250.10  张崇,于晓琳,刘建平单片2.4GHz无线收发一体芯片nRF2401 及其应用J国外电子元器件,2004,06:343611  喻金钱,喻斌段距离无线通信M北京航空航天

50、大学出版社,2009:12014812  Long Hainan,Liu ZhiqiangDesign Wireless Data Transmission System for Small Hydropower Stations Based on nRF24L01JThe 1st International Conference on Information Science and Engineering, 2009, 40084010附录 原理图附录 元器件清单器件名称规格数量无线模块nRF24l012单片机STC89C51RC2晶振12M2电阻10K10电阻101可变电阻10K2电容30P4电容0.1UF1电解电容10UF2电解电容220UF1LED2喇叭11602液晶显示屏1LM386音频放大器1LM1117三端线性稳压器2附录 源程序清单1. 发送程序代码:#include <reg51.h>#include <intrins.h>#include "api.h"#define uint

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论