基于SPCE061A单片机的音乐播放器设计.docx
《基于SPCE061A单片机的音乐播放器设计.docx》由会员分享,可在线阅读,更多相关《基于SPCE061A单片机的音乐播放器设计.docx(15页珍藏版)》请在冰豆网上搜索。
基于SPCE061A单片机的音乐播放器设计
基于SPCE061A单片机的音乐播放器设计
作者:
许江涛
摘要:
介绍一种以SPCE061A单片机为核心的音乐播放器,并辅有一些外围器件,采用汇编语言编写程序,实现音乐的播放,开机时有欢迎提示画面,键盘界面显示。
液晶上显示歌曲的名字,可通过按键选择歌曲。
按键后播放对应歌曲,显示界面,对应的歌曲反色显示,并给出了系统软硬件设计。
关键词:
SPCE061A;音乐播放器;SPLC501液晶显示;SPR模组;
1引言
随着IC集成度越来越高,成本越来越低,使得音乐播放器MP3得到了很大的普及。
现在我们随时随地的感受着数码音乐。
本方案可以直接使用SPCE061A精简开发板,利用SPCE061A的语音处理功能,以及其强大的处理能力,再配合SPR模组,扩大存储容量,很容易就可以实现音乐播放器。
2概述
本文介绍了一个以凌阳科技公司的SPCE061A单片机、SPR模组与液晶1602以及相应的软件程序部分实现音乐播放器的设计【1】。
设计主要有两大部分组成:
液晶显示部分和语音播放,分别采用凌阳公司的两个设计模块:
完成一个是由SPCE061A组成的精简开发板做为主控板;另外一部分采用的SPLC501液晶模块【2】。
2.1SPCE061A开发板功能描述
SPCE061A板主要是用来控制、语音的处理和播放及按键的选择,其中KEY1的功能音乐盒的播放按键;KEY2的功能的停止/播放按键;KEY3的功能是歌曲内容的选择按键,为了充分利用‘61’板的资源,
图1系统框图
不再扩展按键,所以歌曲的选择采用循环选择的方式,没有上一首和下一首的功能。
其中,功能按键在使用的时候,SPLC501液晶模组上对应的空心按键的图标会变成实心按键,同时还有对应歌曲反色显示的功能,使其人机界面友好。
2.2SPLC501液晶模块液晶原理及说明
液晶是一种具有规则性分子排列的有机化合物,它即不是固体也不是液体,它是介于固态和液态之间的物质,把它加热时它会呈现透明的液体状态,把它冷却时它则会出现结晶颗粒的混浊固体状态。
液晶按照分子结构排列的不同分为三种:
粘土状的Smectic液晶,细柱形的Nematic液晶和软胶胆固醇状的Cholestic液晶。
这三种液晶的物理特性各不相同,而第二类的细柱形的Nematic液晶最适于用来制造液晶显示器【3】。
SPLC501液晶模组特点:
1、内置8580位显示RAM。
RAM中的一位数据控制液晶屏上的一个象素点的亮、暗状态。
“1”亮“0”暗。
2、具有65行驱动输出和132列驱动输出
3、可以直接与80系列和68系列微处理器相连。
4、内置晶振电路,也可以外接晶振
5、工作温度范围为-40摄氏度~+85摄氏度
3硬件设计说明
系统以SPCE061A为核心可以划分为键盘(61板上自带的按键)输入、液晶LCD1602用户界面提示与均衡器效果、SPR4096资源存储与61板语音播放等部分如下图所示。
61板作为整个系统的核心控制,并且负责语音的输出【4】。
SPR模组作为语音资源的存储介质,这些语音资源是通过专用的ResWriter工具烧写到SPR4096芯片中的。
61板上自带的键盘与液晶1602实现用户控制音乐播放器的控制与显示作用,在播放音乐时,液晶1602还可以显示音乐的均衡器效果。
图2硬件结构图
3.1SPCE061A单片机主板
SPCE061A是凌阳科技研发生产的性价比很高的一款十六位单片机,使用它可以非常方便灵活的实现语音的录放系统,该芯片拥有8路10位精度的ADC,其中一路为音频转换通道,并且内置有自动增益电路。
这为实现语音录入提供了方便的硬件条件。
两路10位精度的DAC,只需要外接功放(SPY0030A)即可完成语音的播放【5】。
另外凌阳十六位单片机具有易学易用的效率较高的一套指令系统和集成开发环境。
在此环境中,支持标准C语言,可以实现C语言与凌阳汇编语言的互相调用,并且,提供了语音录放的库函数,只要了解库函数的使用,就会很容易完成语音录放,这些都为软件开发提供了方便的条件:
SPCE061A片内还集成了一个ICE(在线仿真电路)接口,使得对该芯片的编程、仿真都变得非常方便,而ICE接口不占用芯片上的硬件资源,结合凌阳科技提供的集成开发环境(unSPIDE)用户可以利用它对芯片进行真实的仿真;而程序的下载(烧写)也是通过该接口进行下载【6】。
下图为SPCE061A单片机的内部结构框图3:
图361板内部结构图
3.1.1芯片特性
SPCE061A性能:
●16位u’nSP微处理器
●工作电压(CPU)VDD为3.0~3.6V,(I/O)VDDH为3.0~5.5V
●CPU时钟:
0.32~49.152MHz
●内置2K字SRAM
●内置32K字FLASH
●可编程音频处理
●晶体振荡器
●系统处于备用状态下(时钟处于停止状态),耗电仅为2uA/3.6V
●2个16位可编程定时器/计数器(可自动预置初始计数值
●2个10位DAC(数/模转换)输出通道
●32位通用可编程输入/输出通道
●14个中断源可来自定时器A/B、时基、2个外部时钟源输入
和键唤醒
●具备触键唤醒的功能
●使用凌阳音频编码SACM_S480可以播放压缩的语音资源
●锁相环PLL振荡器提供系统时钟信号
●32768Hz实时时钟
●7通道10位电压模/数转换器(ADC)和单通道声音模/数转
换器
●声音模/数转换器输入通道内置麦克风放大器,并具有自动增
益控制(AGC)功能
●具备串行设备接口
●具备低电压复位功能和低电压检测功能
●内置在线仿真电路接口
●具有WatchDog功能
3.1.2SPCE061A精简开发板
SPCE061A精简开发板(简称61板),是以凌阳16位单片机SPCE061A为核心的精简开发-仿真-实验板,大小相当于一张扑克牌,是“凌阳科技大学计划”专为大学生、电子爱好者等进行电子实习、课程设计、毕业设计、电子制作及电子竞赛所设计的,也可作为单片机项目初期研发使用。
61板除了具备单片机最小系统电路外,还包括有电源电路、音频电路(含MIC输入部分和DAC音频输出部分)、复位电路等,采用电池供电,方便学生随身携带!
!
!
使学生在掌握软件的同时,熟悉单片机硬件的设计制作,锻炼学生的动手能力,也为单片机学习者和开发者创造了一个良好的学习条件和开发新产品的机会!
【7】61板上有调试器接口(Probe接口)以及下载线(EZ_Probe)接口,分别可接凌阳科技的在线调试器、简易下载线,配合unSPIDE,可方便地在板上实现程序的下载、在线仿真调试【9】。
61板上的主要功能模块如下:
◆SPCE061A单片机最小系统外围电路模块;
◆电源输入模块;
◆音频电路(包含MIC输入、DAC音频功放输出)模块;
◆按键模块;
◆I/O端口接口模块;
◆调试、下载接口模块;
下图为61板的实物图图4:
图461板实物图
3.2SPR模组
针对凌阳科技公司的存储器芯片SPR4096/SPR1024,开发的简易烧写器。
该烧写器配合PC机ResWriter工具,通过EZ-probe下载线,完成对SPR4096/1024存储器芯片的擦除、写入、校验等功能【10】。
并且在SPR模组上留有与SPCE061A单片机的接口,可以实现SPR模组与SPCE061A单片机组成的系统。
3.2.1基本特性与参数指标
产品型号:
SPRMODULEV1.0SPR
模组工作电压:
3.3VSPR
模组外形尺寸:
50mm×50mm
3.2.2SPR模组的主要功能
SPR模组预留两个接口,一个接口是EZ-probe,这是在使用ResWriter工具对SPR4096/1024进行烧写时连接使用的,另一个是10PIN的排线,主要提供电源以及与SPCE061A连接使用。
用户请注意,SPR模组电路支持SPR4096和SPR1024,但只能同时对其中一种芯片进
图5SPR与61链接图
行使用。
SPR模组有两种基本配置,一种为电路板加SPR4096芯片,另一种为电路板加SPR1024芯片,而且必须配合EZ-Probe下载线使用。
在选购时注意确认是SPR模组_4096还是SPR模组_1024。
SPR模组结构框如图5【5】。
SPR4096内嵌512K*8位高性能FLASH存储器同时内嵌4K*8位SRAM。
芯片具有BMI(BusMemoryInterface)并行接口总线与SIF(SerialInterface)串行接口总线。
在SPR4096芯片中,使用两种电源供电,VDDI与VDDQ。
VDDI范围在2.25V-2.75V,这个电源是给内部的FLASH与逻辑控制单元供电的。
VDDQ范围2.25V-3.6V,只给I/O口供电。
SPR4096可以工作在5.0MHz频率下,最大读电流为2.0mA,最大编程/擦写电流6.0mA。
3.2.3SPR模组硬件框图
图6下载电路结构图
SPR模组的硬件电路主要分成3大部分:
如图7
图7SPR模组硬件框图
第一部分:
ResWriter工具对SPR4096/SPR1024进行烧写的硬件电路如图6:
此部分电路主要是控制SCK、SDA信号的作用,通过74HC244可以控制SDA信号的通与断,这样可以使用ResWriter工具发出符合烧写芯片的时序信号,完成对芯片的擦除、写入与校验功能。
第二部分:
SPR4096的工作电路,如图8:
此部分工作电路是为了使
图8SPR4096工作电路图
SPR4096存储器工作的外围电路,通过SCK与SDA与外界相连
第三部分:
SPR1024的工作电路,如图9此部分工作电路是为了SPR1024存储器工作的外围电路,通过SCK与SDA与外界相连。
3.3液晶1602
3.3.1技术参数
显示容量:
32个字符,每个字符为5×7点阵,分2行,每行16列
芯片工作电压:
4.5-5.5V
工作电流:
2mA(5.0V)
模块最佳工作电压:
5.0V
字符尺寸:
2.95×4.35(W*H)mm
3.3.2接口信号说明
图9接口信号说明图
3.3.3读写时序
SPLC5018080系列MPU操作时序:
图10时序电路图
4软件设计说明
4.1主要功能
结合61板上的3个按键,实现的功能:
如图11
图11功能框图
在播放音乐时具有均衡器效果如图12:
图12均衡器效果图
4.2功能实现
整个软件系统完成的功能在程序中分为如下文件实现:
main.c文件:
整个工程的主文件,负责调用相关函数完成相关功能。
speech.c文件:
该文件主要是放音函数,负责从SPR4096中取出数据播放。
key.asm文件:
此文件中包含有与键盘操作有关的函数,包括键盘初始化、扫描键盘与得到键盘程序。
函数声明在key.h与key.inc文件中,分别供c语言与汇编语言调用。
LCD1602_Driver.asm:
此文件中包含LCD1602的初始化操作、读写命令、读写数据操作。
spr4096_driver.asm文件:
与SPR4096存储器相关的操作函数,包括初始化,读、写、擦除操作等。
函数声明在spr4096_user.h文件中,供c语言调用。
fiq.asm文件:
所有与中断有关的操作函数都在这个文件。
在FIQ_TimerA中断中调用语音播放服务函数完成,在IRQ6_TMB1中断中调用8Hz中断实现均衡器显示,在IRQ6_TMB2中断中调用128Hz中断完成键盘扫描作用。
在语音处理方面采用了凌阳科技的sacmv26e.lib函数库完成语音播放功能,只需要调用几条函数就可以播放语音。
在语音处理方面采用了凌阳科技的sacmv26e.lib函数库完成语音播放功能,只需要调用几条函数就可以播放语音。
4.2.1函数
在主函数中完成SPR4096的初始化、键盘、液晶LCD1602的初始化,并进行停止状态的界面显示,然后进入循环根据键盘的值执行相关的操作。
主函数流程图参考图如图13所示:
系统要对SPR4096、键盘、液晶1602进行初始化
图13主函数流程图
4.2.2语音播放的实现
由于语音资源存储在外扩的存储器SPR4096上面,要实现语音播放必须采用手动方式。
需要获得语音资源,关键解决语音资源的起始地址,然后通过读取函数获得语音资源。
函数流程图参考14:
图14语音函数流程图
5结论
本文通过对SPCE061A单片机主板、SPR模组及液晶1602的硬件部分和软件部分的理解介绍,基本能够实现预期的系统需求与要求。
了解了利用凌阳公司的SPCE061A精简开发板怎样设计音乐播放器,并且实现了不仅仅是简单的音乐播放的功能,而且为了方便用户的操作可以设计了其他的一些动作按键,更可能的让用户享受音乐的快乐。
同时从成本上考虑,利用凌阳公司的SPCE061A精简开发板更好的节约成本,成本与功能实现的性价比更值得关注。
在以后的技术开发中,音乐播放器的制作会有更高的提高,用最少的成本材料作出更方便、更舒适、更快捷的音乐播放器。
此项技术实现了音乐播放器,制作简单,可靠性较好,性价比较高,有着广阔的市场应用前景。
参考文献
[1].张春峰,邹新杰,余张国.基于ATMEGA16的智能控制器的开发研制[J].微计算机信息,2007,23(8):
123-124.
[2].张震宇,王华.基于凌阳单片机的语音识别技术及应用.微计算机信息,2007,8-2:
23.
[3].李玉贤,欧阳斌林.基于SPCE061A单片机的语音识别系统的研究.优秀硕士学位论文库.
[4].赵亮.液晶显示模块LCD1602应用[J].电子制作,2007(3):
58-59.
[5].李朝青.单片机原理及接口技术[M].北京:
北京航空航天大学出版社,2005.
[6].薛钧义张彦斌虞鹤松樊波.凌阳十六位单片机原理及应用[M].北京:
北京航空航天出版社2003年2月第1版.
[7].沈美明温冬蝉.IBM-PC汇编语言程序设计[M].北京:
清华大学出社.2001年8月第二版.
[8].张平均,陈志华.SPCE061A单片机与液晶显示模块HS12864-1的借口及其编程[J].微计算机信息,,2005,21(5):
117-118.
[9].张洪润,张亚凡.传感器技术与应用教程[M].北京:
清华大学出版社,2005.4.169-171.
[10].KonradKing.SQL编程实用大全[M].杜大鹏,译.北京:
中国水利水电出版社,2005.
[11].侯振鹏.嵌入式C语言程序设计—使用MCS-51[M].北京:
人民邮电出版社,2006.
TheDesignofMusicPlayerBasedonSpce061A
XuJiangTao
Abstract:
AmicrocontrollercorewithSPCE061Amusicplayer,andassistedanumberofperipheraldevices,usingassemblylanguageprogrammingtorealizethemusicgoing,havewelcomedthepromptbootscreen,keyboardinterfacedisplay.LCDdisplaysongname,selectasongbypressingabutton.AfterthePlaybuttoncorrespondingtosongs,displayinterface,thecorrespondinganti-colordisplaysongandgivethesystemhardwareandsoftwaredesign.
Keywords:
SPCE061A;musicplayer;SPLC501LCD;SPRmodule;