基于nRF24l01的无线音乐播放器设计毕业论文.docx
《基于nRF24l01的无线音乐播放器设计毕业论文.docx》由会员分享,可在线阅读,更多相关《基于nRF24l01的无线音乐播放器设计毕业论文.docx(49页珍藏版)》请在冰豆网上搜索。
![基于nRF24l01的无线音乐播放器设计毕业论文.docx](https://file1.bdocx.com/fileroot1/2023-6/5/18086a35-f9c2-4da3-a400-8dfb5064a947/18086a35-f9c2-4da3-a400-8dfb5064a9471.gif)
基于nRF24l01的无线音乐播放器设计毕业论文
本科毕业设计(论文)
题目:
基于nRF24l01的无线音乐播放器设计
摘 要
本文介绍了一种基于nRF24l01的无线音乐播放器设计方案。
本设计方案结合了单片机技术和无线通信技术,设计的电路以单片机和无线通信模块为核心,并辅以外围电路。
其工作过程是按键选择后,通过无线模块发射相应的数据,由另一无线模块接收的数据后播放不同的音乐。
该系统实现了无线控制音乐播放器的歌曲播放选择和歌曲名的显示。
本系统的优点是电路简单,性能可靠,实时性好,操作简单,编程容易等。
关键词:
单片机;无线模块nRF24l01;模拟SPI
Abstract
ThisarticleintroducedonekindbasedonthenRF24l01wirelessmusicplayerdesignproposal.Thedesignproposalunifiedthemonolithicintegratedcircuittechnologyandthewirelesscommunicationtechnology,thedesignelectriccircuittakethemonolithicintegratedcircuitandthewirelesscommunicationmoduleasacore,andauxiliarybyperipheralcircuit.Afteritsworkprocessisthepressedkeychoice,throughwirelessmodulelaunchcorrespondingdata,afteranotherwirelessmodulereceivedatabroadcaststhedifferentmusic.Thissystemhasrealizedthewirelesscontrolmusicplayersongbroadcastchoiceandasongdemonstration.Thissystem'smeritistheelectriccircuitissimple,theperformreliably,timelinessisgood,simplicityofoperator,programmingeasyandsoon
KeyWords:
singlechipmicrocomputer;wirelessmodulenRF24l01;simulationSPI
目 录
1 绪论
1.1前言
随着生活水平的提高,人们对娱乐要求越来越高,音乐播放器就是一个典型的产品,产品设计的越来越小,功能越来越强大,价格又要降下来。
而单片机因其优越的性价比和灵活性的功能配置而被广泛的应用于各种领域,且基于无线设计,使音乐播放器摆脱有线的束缚,更加方便、更具娱乐性。
1.2背景与意义
随着社会的发展,人们期望着能随时随地、不受时空限制地进行信息交换。
当今的各种智能化控制系统也离不开数据信息的传输。
其中,无线数据传输区别于传统的有线传输的新型传输方式,系统不需要传输的线缆、成本低廉、施工简单。
无线数据传输如下的优点使其日益得到广泛的应用:
1)省去了通信设备之间的连线,特别是在不易接线或接线费用较高区域(如有历史意义的建筑物、河流、山脉等障碍)更具优势,甚至某些场合只能采用无线数据传输方式(如民航飞机的导航);2)设备的可移动性、安装的方便性、组网的灵活性等。
目前,蓝牙、IEEE802.11等无线局域网协议及其技术的研究、开发和应用正如火如荼地进行,也预示着无线通信在未来的信息交换中将发挥出更大的作用。
随着计算机、通信和无线技术的逐渐地融合,在传统的有线通信的基础上,无线通信技术应运而生,它具有快捷、方便、可移动和安全等优势,所以广泛应用到遥控玩具、汽车电子、环境监测和电气自动化等。
现在,有很多的电器产品(如一些家用电器)的操作控制也都采用了无线数据传输方式,一些无线数据传输功能相对简单的电器产品,其无线数据传输信号的识别与译码大多采用单片机。
如今,大部分编码调制芯片配套的译码芯片都内置到无线通信模块里,从而可使单片机做更多复杂的任务。
在数字音乐播放器发展方面,功能越来越强大,但价格也随之上涨。
用单片机设计音乐播放器,则性价比较高,但基于无线通信的音乐播放器就很少。
在一些应用场合中,音乐播放器受到有线通信的束缚,不便使用,这时就需要无线数据传输,本设计就是基于无线收发模块来实现无线音乐播放系统。
1.3设计任务
本设计主要任务是制作一个基于nRF24l01的无线音乐播放器设计,此系统能够实现无线控制音乐的播放。
先用单片机设计一个音乐播放器,再用无线模块nRF24l01实现无线控制。
主要设计要求:
(1)学会并掌握单片机的硬件电路设计;
(2)理解无线通信nRF24l01的编写方法和程序流程;
(3)设计单片机间无线数据传输的硬件原理图;
(4)编写软件程序,包含单片机间无线通信的软件设计和音乐播放器的设计;
(5)调试并实现单片机的无线音乐播放器系统的设计;
2系统总体设计方案
本文设计的基本内容是以单片机间的通信为核心,并辅以音频电路和无线模块外围电路,通过对单片机的编程来设计出单片机无线音乐播放器系统。
由于
系统模块如图2-1所示:
无线技术方案有以下几种选择:
(1)红外技术,红外技术有效接收距离短,且无法支持多位传输;电力消耗大,抗干扰性能差。
(2)27MHz射频技术,接收距离短,传输速率较低,抗干扰能力一般,只能进行单向信号传输,容易出现信号中断金额无线频段互相干扰的现象。
(3)调频技术,传输距离较长,可全方位接收信号,抗干扰能力较高,仅支持单向信号传递。
(4)蓝牙技术,在传输距离、速度等方面具有绝对优势,但在微处理器和协议使用许可方面的高要求,使得产品价格一直居高不下。
(5)2.4GHz技术,传输速率可媲美蓝牙,功耗却大大降低;采用完全开放式的网络协议,在价格上具有绝对优势;传输距离可达10米。
通过性价比选择工作于2.4GHz~2.5GHzISM频段的无线模块nRF24Ll01较为合适,
其传输距离也足够日常的音乐欣赏。
软件部分为单片机程序设计,主要是对无线模块软件设计、音频模块软件设计和案件控制软件。
其通过KEIL软件,用C语言来实现相应的功能,并通过U-EC5下载程序。
3 无线通信系统的介绍
3.1无线通信系统的构成
无线通信(Wirelesscommunication)是利用电磁波信号可以在自由空间中传播的特性进行信息交换的一种通信方式。
近些年信息通信领域中,发展最快、应用最广的就是无线通信技术。
利用电磁波作为传输介质的通信系统称为无线通信系统。
典型的无线通信系统的组成框图如图3-1:
图3-1无线通信系统结构框图
可见,无线通信系统一般有发信机、收信机以及与其相连的天线(含馈线)构成。
1.发信机
发信机的主要作用是将所要传送的信号首先对载波信号进行调制,形成已调载波;
已调载波信号经过变频(有的发射机不经过这一步骤)成为射频载波信号,送至功率放大器,经功率放大后送至天(馈)线。
图3-2是一种短波发信机的组成框图。
图3-2一种短波发信机的组成框图
2.天线
天线是无线通信系统的重要组成部分。
其主要作用:
是把射频载波信号变成电磁波或者把电磁波变成射频载波信号。
按照规范性的定义,“天线就是把导行模式的射频电流变成扩散模式的空间电磁波的传输模式转换器,及其逆变换的传输模式转换器”。
馈线的主要作用:
是把发射机输出的射频载波信号高效地送至天线。
这一方面要求馈线的衰耗要小;另一方面其阻抗应尽可能与发射机的输出阻抗和天线的输入的阻抗相匹配。
3.收信机
收信机的主要作用是把天线接收下来的射频载波信号首先进行低噪声放大,然后经过变频(一次、两次甚至三次变频)、中频放大和解调后还原出原始信号,最后经低频放大器放大后输出。
图3-3是一种短波收信机的组成框图。
图3-3一种短波收信机的组成框图
3.2无线通信工作方式
无线通信的工作方式可分为单向通信方式和双向通信方式两大类别,而后者又分为单工通信方式、双工通信方式和半双工通信方式三种。
1.单向通信方式
所谓单向通信方式就是通信双方中的一方只能接收信号,而另一方只能发送信号,不能互逆。
收信方不能对发信方直接进行信息反馈。
例如:
陆地移动通信系统中的无线寻呼系统就采用这种工作方式。
BP机(或BB机)只能收信而不能发信,反馈信息只能通过“打电话”间接地来完成。
2.双向通信方式
(1)单工通信方式
通信双方只能交替地进行发信和收信,不能同时进行。
如图3-4所示。
图3-4单工通信方式示意图
例如:
常用的对讲机就采用这种通信方式,平时天线与收信机相连接,发信机也不工作。
当一方用户讲话时,接通信时,接通“按-讲”开关,天线与发信机相连(发信机开始工作)。
另一方的天线接至收信机,因而可收到对方发来的信号。
(2)全双工通信方式
通信双方可同时发信与收信,即双方同时处于收信与发信状态。
这时收信与发信必须采用不同的工作频率。
用户使用时与“打电话”时的情况一样。
这时通信双方的设备一般通过双工器来完成这种功能。
如下图3-5所示。
图3-5全双工通信方式示意图
(3)半双工通信方式
通信双方可同时发信和收信。
但发信时要按下“按-讲”开关。
如图3-6所示。
图3-6半双工通信方式示意图
4 系统硬件设计
系统设计的初步设想:
在设计系统时先设计基于单片机的音乐播放器,另一块单片机通过无线模块控制音乐播放器的音乐播放。
4.1芯片介绍
4.1.151芯片介绍
单片机的全称是单片微型计算机(SingleChipMicrocomputer)。
为了使用方便,它把组成计算机的主要功能部件:
中央处理器(CPU)、数据存储器(RAM)、程序存储器(ROM、EPROM、E2PROM或FLASH)、定时/计数器和各种输入/输出接口电路等都集成在一块半导体芯片上,构成了一个完整的计算机系统。
与通用的计算机不同,单片机的指令功能是按照工业控制的要求设计,因此它又被称为微控制器(Microcontroller)。
MCS是Intel公司单片机系列的符号。
Intel公司推出有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-51具有比较大的寻址空间,地址线宽达16条,即外部数据存储器和程序存储器的寻址范围达216=64kB,这作为单片机控制来说已是比较大的,这同时具备对I/O口的访问能力。
此外,MCS-51采用模块化结构,可方便地增删一个模块就可引脚和指令兼容的新产品,从而容易使产品形成系列化。
由于MCS-51集成了几乎完善的8位中央处理单元,处理功能强,中央处理单元中集成了方便灵活的专用寄存器,硬件的加、减、乘、除法器和布尔处理机及各种逻辑运算和转移指令,这给应用提供了极大的便利。
MCS-51的指令系统近乎完善,指令系统中包含了全面的数据传送指令、完善的算术和逻辑运算指令、方便的逻辑操作和控制指令,对于编程者来说,使用起来相当地灵活和方便。
MCS-51单片机的工作频率为2~12MHz,当振荡频率为12MHz时,一个机器周期为1μs,这个速度应该说是比较快的。
MCS-51中集成了完善的各种中断源,用户可十分方便地控制和使用其功能,使得它的应用范围加大,可以说它可以满足绝大部分的应用场合。
MCS-51系列单片机优异的性能/价格比使得它从面世以来就获得用户的认可。
本设计的应用电路中采用了STC公司的STC89C52RC芯片,它与MCS-51单片机指令集兼容,同时它的内部包含用作程序存储器的8KB的基于FLASH技术的只读存储器。
采用这款芯片既克服了采用8031需要添加外部程序存储器导致电路复杂的缺点,又克服了采用8751导致电路制作成本高的缺点。
52系列I/O脚使用简单,但高电平时无输出能力,可谓有利有弊。
故其他系列的单片机(如PIC系列、AVR系列等)对I/O口进行了改进,增加了方向寄存器以确定输入或输出,但使用也变得复杂。
图4-1单片机芯片引脚图
4.1.2nRF24l01无线模块介绍
nRF24l01是一款新型单片射频收发器件,工作于2.4GHz~2.5GHzISM频段。
内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,并融合了增强型ShockBurst技术,其中输出功率和通信频道可通过程序进行配置。
nRF24L01功耗低,在以-6dBm的功率发射时,工作电流也只有9mA;接收时,工作电流只有12.3mA,多种低功率工作模式(掉电模式和空闲模式)使节能设计更方便。
(1)主要特点:
2.4Ghz全球开放ISM频段免许可证使用;最高工作速率2Mbps,高效GFSK调制,抗干扰能力强,特别适合工业控制场合;125频道,满足多点通信和跳频通信需要;内置硬件CRC检错和点对多点通信地址控制;低功耗1.9-3.6V工作,待机模式下状态仅为1uA;内置2.4Ghz天线,体积小巧;模块可软件设地址,只有收到本机地址时才会输出数据(提供中断指示),可直接接各种单片机使用,软件编程非常方便。
(2)应用领域:
遥控、遥测、无线抄表、门禁系统、小区传呼、工业数据采集系统、无线标签、身份识别、非接触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.3LM386芯片介绍
LM386是美国国家半导体公司生产的音频功率放大器,主要应用于低电压消费类产品。
为使外围元件最少,电压增益内置为20。
但在1脚和8脚之间增加一只外接电阻和电容,便可将电压增益调为任意值,直至200。
输入端以地位参考,同时输出端被自动偏置到电源电压的一半,在6V电源电压下,它的静态功耗仅为24mW,使得LM386特别适用于电池供电的场合。
特性:
静态功耗低,约为4mA,可用于电池供电;工作电压范围宽4-12V或5-18V;电压增益可调20-200;低失真度。
图4-4LM386引脚图
4.2硬件电路模块设计
单片机硬件电路模块包括单片机最小系统电路、音频电路、按键电路和显示电路。
4.2.1单片机最小系统电路
STC89C51RC单片机内部自带一个构成振荡回路的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。
通过这两个引脚在芯片外并接石英晶体振荡器和两只电容器(电容一般取30pF)。
石英晶体为一感性元件,与电容构成振荡回路,为片内放大器提供正反馈和振荡所需的相移条件,从而构成一个稳定的自激振荡器。
复位电路包括片内,外两部分。
这里我们只要考虑片外复位部分,它主要有电平方式和脉冲方式两类,我则采用了按键电平复位方式,通过按键RESET,使单片机复位端经电阻R1与电源VCC接通而实现对单片机系统的复位。
其中电阻R2的取值范围为1~3KΩ,电容C3容量为10~30uF。
由于单片机P0口内部没有上拉电阻,需要外接10K的上拉电阻。
这样,就构成单片机最小系统了。
图4-5单片机最小系统电路
4.2.2音频电路
音频电路由放大器LM386、喇叭部分等组成,电路如下图3-5所示。
图4-6音频电路原理图
LM386是一种音频集成功放,具有自身功耗低、电压增益可调整、电源电压范围大、外接元件少和总谐波失真小等优点,这里我查找了相关资料,采用了其典型的连接方法,即电压增益20。
程序上通过控制单片机端口输出一个高低电位信号,经过放大后输出至喇叭,从而产生报警功能。
滑动电阻起到限流作用,决定输入信号的强弱。
固定电阻和电容一起构成一个滤波模块,消除干扰。
4.2.3按键电路
在键盘接口设计上,可通过触点式开关把机械上的通断转换成为电气上的逻辑关系,在按键的按下或者释放时,由于机械弹性作用,通常伴随有一定的触点抖动。
消除抖动引起的误判,有2方法,一种采用硬件电路,如采用RC、双稳态触发器或者单稳态触发器等。
但会增加硬件成本及硬件电路的体积。
另一种就是采用软件延时消除抖动,其原理是当CPU检测到有按键按下时,延时10~20ms,再一次查询确认该键是否按下。
单片机与键盘连接的方式有4种:
直接输入方式、矩阵输入方式、A/D输入方式、译码器输入扩展方式。
由于本设计就4个按键,单片机IO也较多,采用直接输入方式,即每个按键对应一个IO口,用软件延时消除抖动。
4.2.4显示电路
液晶LCD1602已很普遍,这里就不具体说了,本设计需要显示歌曲目录,用数码管不好显示,用液晶LCD12864会使显示屏幕太大,用LCD1602可显示歌曲,显示模块也不会太大。
表4-2LCD1602接口
5系统软件设计
5.1概述
系统软件设计总体思路是根据按键选择,再无线发送数据来控制音乐器播播放和歌曲的显示,主要程序模块有无线通信模块、音乐播放模块、显示模块和按键模块。
在设计各个程序模块时,需要对各个模块进行划分。
模块的划分有很大的灵活性,但也不能随意划分,模块划分时应遵循以下原则:
(1)每个模块应具有独立的功能,能产生明确的结果,这就是单模块功能的高内聚性。
(2)模块间的控制耦合应尽量简单,模块间的数据耦合应尽量少,这就是模块间的低耦合性。
(3)模块长度适中,模块语句的长度通常在20~100条的范围较合适。
模块化程序设计是按自上而下的过程进行的,主模块即为总模块,然后是多层次的子模块。
在进行模块划分时,应首先弄清楚每个模块所需完成的功能、数据结构以及与其它模块之间的关系。
其次是对主要任务再进一步细化,把一些专用的子任务再划分给下一级即第二级子模块去完成,这时也需要清楚它们间的相互关系。
按这种方法一直细分成易于理解和实现的小模块为止。
模块说明应包括实现模块功能所用的基本算法,模块入口算法、出口参数,模块的数据结构及调用子程序等。
一般有了层次图和模块说明后,划分模块的工作也就算完成了。
实际的应用程序一般都由一个主程序(包括若干个功能模块)和多个子程序构成,每个功能程序模块都能完成某一明确的任务,实现具体的某一功能,如显示、打印等。
采用这种模块化的程序设计方法,有下述优点:
(1)单一模块结构的程序功能单一,因而易于编写、调试和修改。
(2)便于分工,可有多个程序员同时编写、调试,加快软件研制进度。
(3)程序可读性好,便于功能扩充和版本升级。
(4)程序的修改可局部进行,而其它部分则可相对保持不变。
(5)使用频繁的子程序可以汇编成子程序库,以便于多个模块调用。
5.2主程序设计
开始时,按发射部分的开始按键才能开始真正工作,显示模块则会显示welcome,再按上翻键或者下翻键,播放上一首歌或者下一首歌,显示模块则会显示英文歌曲名。
单片机发射部分以此调用键盘扫描子程序,无线发射程序,数据发射成功后再返回程序开头循环运行,其发射程序流程图如下:
图4-7发射程序流程图
单片机接收部分先调用无线接收程序,数据收到后产生一个外部中断,由单片机的主程序读取接收数据,再做判断是否要调用音乐程序、显示程序。
其中断程序主要是接收到数据后,把数据写入接收缓冲区,再开外部中断。
其接收部分流程图如下:
图4-8接收程序流程图
5.3无线通信程序
两个模块要通信时,一个要设为发送,另一个接收。
无线通信模块与单片机之间的数据传输是模拟SPI总线的。
SPI总线系统是一种同步串行外设接口,它可以使MCU与各种外围设备以串行方式进行通信以交换信息。
外围设置FLASHRAM、LCD显示驱动器、A/D转换器和MCU等。
SPI总线系统可直接与各个厂家生产的多种标准外围器件直接接口,该接口一般使用4条线:
串行时钟线(SCK)、主机输入/从机输出数据线MISO、主机输出/从机输入数据线MOSI和低电平有效的从机选择线SS(有的SPI接口芯片带有中断信号线INT、有的SPI接口芯片没有主机输出/从机输入数据线MOSI)。
SPI的通信原理很简单,它以主从方式工作,这种模式通常有一个主设备和一个或多个从设备,需要至少4根线,事实上3根也可以(用于单向传输时,也就是半双工方式)。
也是所有基于SPI的设备共有的,它们是MOSI(数据输入),MSIO(数据输出),SCK(时钟),CSN(片选)。
(1)MOSI–主设备数据输出,从设备数据输入
(2)MISO–主设备数据输入,从设备数据输出
(3)SCLK– 时钟信号,由主设备产生
(4)CSN–从设备使能信号,由主设备控制
其中CSN是控制芯片是否被选中的,也就是说只有片选信号为预先规定的使能信号时(高电位或低电位),对此芯片的操作才有效。
这就允许在同一总线上连接多个SPI设备成为可能。
接下来就负责通讯的3根线了。
通讯是通过数据交换完成的,这里先要知道SPI是串行通讯协议,也就是说数据是一位一位的传输的。
这就是SCK时钟线存在的原因,由SCK提供时钟脉冲,MOSI,MISO则基于此脉冲完成数据传输。
数据输出通过MISO线,数据在时钟上升沿或下降沿时改变,在紧接着的下降沿或上升沿被读取。
完成一位数据传输,输入也使用同样原理。
这样,在至少8次时钟信号的改变(上沿和下沿为一次),就可以完成8位数据的传输。
下两副图为SPI的读写操作。
图4-9SPI读操作
图4-10SPI写操作
通信程序基本上是将单片机数据写入无线模块或者读取无线模块内的数据,在接收部分,无线模块接收到数据后其IRQ引脚产生一个低电平,这样,把IRQ引脚接到单片机外部中断脚就可以利用中断法来读取数据,提高单片机工作效率。
下面为中断设置,详细程序说明见附录程序。
EA=1;//中断开启
ET0=1;//允许定时器TO
IT0=0;//外部中断为低电平触发
EX0=1;//允许外部中断0
PX0=1;//外部中断0为高优先级
5.4音乐程序
要产生音频脉冲,只要算出某一音频的脉冲(1/频率),然后将此周期除以2,即为半周期的时间,利用定时器计时这个半周期的时间,每当计时到后就将输出脉冲的I/O反相,然后重复