基于at89c51snd1的MP3播放器-毕业论文.docx

上传人:小小飞 文档编号:3919922 上传时间:2019-10-10 格式:DOCX 页数:85 大小:3.64MB
返回 下载 相关 举报
基于at89c51snd1的MP3播放器-毕业论文.docx_第1页
第1页 / 共85页
基于at89c51snd1的MP3播放器-毕业论文.docx_第2页
第2页 / 共85页
基于at89c51snd1的MP3播放器-毕业论文.docx_第3页
第3页 / 共85页
基于at89c51snd1的MP3播放器-毕业论文.docx_第4页
第4页 / 共85页
基于at89c51snd1的MP3播放器-毕业论文.docx_第5页
第5页 / 共85页
点击查看更多>>
资源描述

《基于at89c51snd1的MP3播放器-毕业论文.docx》由会员分享,可在线阅读,更多相关《基于at89c51snd1的MP3播放器-毕业论文.docx(85页珍藏版)》请在三一文库上搜索。

1、密级: NANCHANG UNIVERSITY学 士 学 位 论 文(设 计)THESIS OF BACHELOR(20112015年)中文题目:基于单片机的MP3播放器英文题目:Based on single chip microcomputer of MP3 players学 院:南昌大学共青学院系 别:信息工程系专业班级:学生姓名:学 号:指导教师:二 一 五 年 六 月南昌大学共青学院毕业设计(论文) 学士学位论文原创性声明学士学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已

2、经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。本人签名: 日期: 南昌大学共青学院毕业设计(论文) 摘要摘 要本毕业设计用的是ATMEL公司AT89S51SND1,该芯片是单片机中专用的音乐播放器芯片,作为核心芯片,本设计还采用三星公司K9F5608 NAND FLASH作为存储芯片、CS4330作为数模转换芯片、LP4054作为充电芯片、LM4890作为功放芯片、ME6211作为稳压芯片,尽可能简单地方式实现MP3播放器的设计。论文中描述了各个单元电路的原理以及作用,还有各个模块程序的讲解,使得本设计内容丰富

3、,让读者更了解MP3的工作,在本论文中,有一个核心的问题,就是U盘问题,这也是MP3中必不可少的一个功能,我相信读者一定会喜欢的。关键词:MP3播放器;AT89C51SND1; U盘;USB通讯;C语言 V南昌大学共青学院毕业设计(论文) ABSTRACTABSTRACTThis graduation design is AT89S51SND1 ATMEL company, the chip is a dedicated music player in the MCU chip, as the core chip, this design also USES the Samsung K9F56

4、08 NAND FLASH as memory chips, CS4330 as d/a conversion chip, LP4054 as charging chip, LM4890 as power amplifier chip, ME6211 as the voltage regulator chip, As simple as possible ways to realize the design of the MP3 player.Described in the paper the principle and function of each unit circuit, and

5、the interpretation of each module program, makes the design content is rich, let readers know more about the work of the MP3, in this thesis, there is a core problem, is the problem U disk, it is also essential to MP3 and a function, the reader, I am sure that you will enjoy it.Key words: MP3 player

6、; AT89C51SND1; U disk; The USB communication;The c language南昌大学共青学院毕业设计(论文) 目录目 录摘 要IABSTRACTII目 录III前 言1第一章 绪 论21.1 课题背景21.2 课题研究的目的和意义21.3 MP3播放器的任务与要求2第二章 MP3播放器的方案设计32.1 MP3播放器的工作原理32.2 方案概述42.2.1 方案比较42.2.2 方案论证42.2.3 方案选择52.3 主要芯片介绍52.3.1 主芯片AT89C51SND1单片机52.3.2 存储芯片 K9F560810第三章 MP3播放器的硬件系统设计

7、123.1 MP3播放器的硬件系统框架123.2 单片机最小系统电路123.3 USB通信电路133.4 按键电路133.5电源电路:143.5.1 充电电路143.5.2 稳压电路143.6 DA转换电路153.7耳机输入电路153.8 功放电路163.9 整体电路设计16第四章 MP3播放器的软件系统设计174.1软件设计总流程174.2 USB驱动程序174.2.1 USB时钟配置184.2.2 USB描述符194.3 按键程序204.3.1 键盘初始化工作204.3.2 设置按键的工作模式204.3.3 下一首以及音量减少功能的实现204.3.4上一首及音量增加功能的实现224.4 串

8、口调试程序234.4.1串口模式设置234.4.2 通过串口输出字符信息244.4.3 通过串口输出16进制数据24第五章 MP3播放器调试275.1 串口调试助手275.2 Bus hound调试助手285.3 程序的烧入305.4调试结果分析32第六章 实物的制作与调试336.1电路的安装过程336.2电路的调试过程336.3电路出现的问题及解决方法35总 结37参考文献38致谢39附录A:程序40附录B:MP3播放器的系统原理图73附录C:实物图片74附录D:焊接图片75附录E:PCB图76南昌大学共青学院毕业设计(论文) 前言前 言在这个科技日益更新的时代,MP3播放器技术已经非常成熟

9、了,在技术上已经没有多大的上升空间,只能在外面、稳定性能以及附加功能和质量各方面做做创新,但是看是这么一个简简单单的产品,却要经历方方面面才能实现一个动听的MP3播放器。本毕业设计要求对单片机有着比较全面的了解,对芯片资料的理解能力要求有点高,在此同时,这也是向嵌入式升级方向的一个很好的学习和锻炼。本设计主要讲述了USB通信和MP3播放两个方面,在USB通信这块要求有扎实的USB通信基础,对NAND Flash和USB通信协议有着一定的了解,在此设计中,参考了大量的有关USB的资料包括USB1.0规范和驱动开发网,以及网友提供的各种解决方案以及疑难点的解答,同时采用串口调试助手以及Bus ho

10、und来对后来的软件调试起了很大的作用。在MP3播放方面,对单片机要求是比较高的,尤其是解码这一块。同时,本设计还涉及到许多外围电路,在外围芯片的选用中,主要是参考了其芯片的英文资料,使设计难度提高了许多,在使用过程中,由于芯片都会提供芯片的典型应用,这些典型应用对我们设计起了不少的参考,是非常实用的资料,使得设计难度大幅度减少,在硬件设计过程中,是理论+实践的过程,由于没有做过类似的项目,在画PCB板的时候,出现了很多的问题,很多功能都忘记在哪里找,同时本设计采用的是ATMEL公司提供的高集成芯片和Samsung公司的存储芯片,此两种芯片体积下,设计难度大,使得此设计只能进行双面板的设计,而

11、在学校实验室的是无法完成,所以必须送到工厂进行加工,使得毕业设计的难度和成本相对增加了不少。通过本毕业设计,让我对英文资料有了更好的理解能力,更加深入地了解到了单片机的应用,同时也是对嵌入式应用的一个过渡,增加了自己不少的信心,当我选择做这个MP3的时候,我也不知道自己能不能顺利完成,但是我相信,只要我会努力,就一定会成功的,所谓的困难,只是对一个没有行动就放弃的人来说,所以我相信,失败乃成功之母,一步一步的失败,就会成就以后的成功,这也是我最大的收获之一。2南昌大学共青学院毕业设计(论文) 第1章 绪论第一章 绪 论1.1 课题背景MP3播放器在当今是一种典型的嵌入式设备,而现在市场上比较常

12、见的都是闪存MP3,插卡式的也有,但应用的比较少。在前几年,由于闪存MP3的容量限制,使它存储歌曲数目较少,在功能上也很难实现多样化。但如今电子行业飞速发展,MP3的多功能及大容量也得到了普及,也受到不少消费者的喜爱。本文提出了一种基于80C51单片机的MP3播放器的设计,目前该设计方案已经实现预想的功能,实践证明,该MP3播放器基本满足了人们对MP3的要求。MP3播放器一般分成3个部分:CPU、MP3解码器、存储器,其中可以将前两部分集成在一起,即带MP3硬件解码器的CPU,或将后两部分集成在一起,即集成硬件解码、DA转换及音频输入,存储器可以是Flash存储器或硬盘。尽管MP3音乐是有损的

13、,它在压缩过程中对功率谱较弱的信号有所丢失,但它同原声区别不大,一般我们听是识别不出来,不影响一般音乐爱好者对音乐的欣赏,大大缩小了声音文件的长度,使音乐的存储和传输更方便。1.2 课题研究的目的和意义通过研究让我们更加了解嵌入式,提高自己的动手能力,将学习的理论知识运用到实践中去,用实践来检验书本上的理论,将自己的理论知识与实践融合,进一步巩固、深化已经学过的理论知识,提高综合运用所学过的知识,并且培养自己发现问题、解决问题的能力,加强对电子设计的认识。1.3 MP3播放器的任务与要求 本设计采用单片机为主控器,实现对mp3播放器的设计,细分为对锂电池充电模块、播放mp3格式歌曲模块、控制模

14、块、功放模块、USB通讯模块、内存配置模块。主要要有电池充电保护功能、播放功能、按键控制功能以及外部播放功能。南昌大学共青学院毕业设计(论文) 第2章 MP3播放器的方案设计第二章 MP3播放器的方案设计2.1 MP3播放器的工作原理图2.1 MP3播放器工作原理如图2.1所示,该系统是通过USB通信将MP3或WMA格式的数字音乐文件存放到Flash存储器上的,在通过Flash将MP3或WMA格式的数字音乐文件送到AT89C51SND1内部集成的解码芯片进行解码,音乐文件经过解码后为数字信号,然后通过D/A转换将数字信号转换为模拟音频信号,再通过功率放大器进行音频放大,最后通过喇叭输出。该系统

15、的工作过程如下:当用户开机后,在播放MP3音乐时,该系统将读取Flash存储器里的歌曲,如果Flash存储器里面没有歌曲文件,可以通过USB接口连接PC来下载音乐文件到Flash中;若该系统中已有MP3歌曲,主芯片就将音频文件从Flash闪存中读到主芯片集成的MP3解码器中解码,解码后变成数字信号,该信号再通过D/A转换器将数字信号转换成模拟信号,再通过音频接口输出该模拟信号,由于输出的信号非常弱,所以需要在外面加一个功率放大器,将放大的模拟信号送到喇叭,喇叭就会发出优美的音乐,在播放过程中还可以进行音量的增减歌曲的控制。2.2 方案概述方案概述讲了方案比较、方案论证和方案选择三个部分,详细地

16、介绍了方法的采取。2.2.1 方案比较比较方案如表2.1 所示:表2.1 MP3方案的比较CPUUSB Device接口芯片MP3解码芯片DANANDFlash音频放大方案一AT89C51SND1CS4330K9F5608NS4890方案二GPEL3101AK9F5608NS4890方案三AVR8515PDIUSBD12STA013CS4330K9F5608NS48902.2.2 方案论证方案论证如表2.2所示:表2.2 MP3方案的认证开发难度稳定性芯片数量材料可否买价钱综合评价方案一易开发稳定性好4易买低9方案二易开发稳定性好3难买低7方案三较难一般6易买高62.2.3 方案选择考虑到开发

17、难度以及成本两个大方面来看,方案一是非常不错的一个选择,具有开发难度低。稳定性能好,采用的芯片也不多,而且材料市面上也方便购买,价钱也适合。而其它两个方案,均有不足的地方,所以综合考虑,我选择了方案一。2.3 主要芯片介绍介绍了AT89C51SND1和K9F5608两个芯片,描述了两个芯片的主要功能已经特性。2.3.1 主芯片AT89C51SND1单片机图2.2 AT89C51SND1引脚图单片机的引脚图见图2.2,该芯片有80个引脚,在焊接过程中需要多注意一点,在功能使用上,需看如下具体参数:1.主要性能参数:(1).MCS51内核,用KEIL软件开发,无需特殊软件平台。(2).MPEG I

18、/II-Layer 3 hardware decoder独立MP3 Decoder;支持48,44.1,32,24,22.05,16khz取样频率;支持软件31阶音量控制,高中低音均衡控制;重低音效果。(3).集成DAC部件,支持PCM,IIS格式;(4).4K字节boot flash memory USB/UART下载代码;(5).64K字节片上代码存储空间;(6).集成USB1.1device部件;(7).MMC卡接口;(8).IDE/ATAPI接口(HDD/CD-ROM Interface);(9).2通道ADC,8Khz取样。2.功能特性概述:AT89C51SND1C提供 4k字节Fl

19、ash闪速存储,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51SND1C可降至0Hz的静态逻辑操作,支持两种软件可选的节电工作模式,空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电力式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作自到下一个硬件复位。3.引脚功能介绍:芯片引脚的详细介绍如下:(1).I/O介绍:具体介绍见表2.3表2.3 I/O口功能介绍引脚名称类型描述备用功能P0I/OP0是一个8位双向I / O端口。AD7:0P1I/OP1是一个8位双向I

20、/ O端口,有内部上拉电阻。KIN3:0,SCL,SDAP2I/OP2是一个8位双向I / O端口,有内部上拉电阻。A15:8P3I/OP3是一个8位双向I / O端口,有内部上拉电阻。RXD,TXD,INT0,INT1,TO,T1,WR#,RD#P4I/OP4是一个8位双向I / O端口,有内部上拉电阻MISO,MOSI,SCK,SS#P5I/OP5是一个8位双向I / O端口,有内部上拉电阻-(2).时钟信号的描述:具体介绍见表2.4表2.4 时钟信号的描述信号名称类型描述备用功能X1I振荡器反相放大器的及内部时钟发生器的输入端。-X2O振荡器反相放大器的输出端。-FILTI锁相环低通滤波

21、器的输入端,FILT接收RC网络锁相环的低通滤波器。-(3).定时器的描述:具体介绍见表2.5表2.5 定时器的描述信号名称类型描述备用功能INT0#I外部中断0P3.2INT1#I外部中断1P3.3T0I定时计数器0P3.4(4).音频接口信号描述:具体介绍见表2.6表2.6 音频接口信号描述信号名称类型描述备用功能DCLKODAC数据时钟-DOUTODAC 音频数据-DSELODAC信道选择-SCLKODAC系统时钟-(5).USB控制信号描述:具体介绍见表2.7表2.7 USB控制信号描述信号名称类型描述备用功能D+I/OUSB+数据端口。为了全速运行,该引脚建议连接一个1.5K的外部上

22、拉电阻。-D-I/OUSB-数据端口。-(6).多媒体接口信号描述:具体介绍见表2.8表2.8 多媒体接口信号描述信号名称类型描述备用功能 MCLKOMMC时钟输出-MCMDI/OMMC命令出入-MDATI/OMMC数据出入-(7).通用异步通信信号描述:具体介绍见表2.9表2.9 通用异步通信信号描述信号名称类型描述备用功能RXDI/O串口接收P3.0TXDO串口发送P3.1(8).串行外部接口SPI信号描述:具体介绍见表2.10表2.10 串行外部接口SPI信号描述信号名称类型描述备用功能SCLI/O双总线时钟P1.6SDAI/O双总线数据P1.7 (9).A/D转换信号描述:具体介绍见表

23、2.11表2.11 A/D转换信号描述信号名称类型描述备用功能 AIN1:0IA/D转换模拟输入-AREFPI模拟参考+电压-AREFNI模拟参考-电压-(10).键盘接口信号描述表:具体介绍见表2.12表2.12 键盘接口信号描述表信号名称类型描述备用功能KIN3:0I键盘输入行P1.3:0(11).ISP接口描述:具体介绍见表2.13表2.13 ISP接口描述信号名称类型描述备用功能 A15:8I/O高八位外部地址P2.7:0AD7:0I/O低八位/数据P0.7:0ALEO锁存ISP#I/OISP使能输入RD#O读信号P3.7WR#O写信号P3.6(12).系统信号描述:具体介绍见表2.1

24、4表2.14 系统信号描述信号名称类型描述备用功能RSTI复位输入-TST#I测试输入-(13).电源信号描述:具体介绍见表2.15表2.15电源信号描述信号名称类型描述备用功能VDDPWR电路板供电-VSSGND电路板接地-AVDDPWR模拟供电-AVSSGND模拟接地-PVDDPWRPLL供电-PVSSGNDPLL接地-UVDDPWRUSB供电-UVSSGNDUSB接地-2.3.2 存储芯片 K9F56081.主要描述图2.3 K9F5608引脚图K9F5608引脚图见图2.3所示,K9F5608是一片32*8BIT的存储芯片,可以提供1.8V,2.65V,3.3V的电压。它使用与非单元的

25、结构使其在固态大规模存储上实现了一个高性价比的解决方案。在其上面可是很方便的实现程序的运行和在线修改和擦除。I/O端口提供了和其他命令输入类似的数据和地址的输入输出。2.引脚描述:具体介绍见表2.16表2.16 K9F5608引脚描述引脚名称引脚功能I/O7:0用作输入命令、地址和数据。没有使用到时被拉高。CLE命令锁存器CE#芯片使能RE#读使能ALE地址锁存器使能端WE#写使能端WP#用于擦除、写的时候有掉电情况的锁存。当外部掉电时,内部电源发生器会产生一个复位,当该引脚为低时且LOCKPRE为高的时候,存储器处于锁的状态。R/B#用于显示芯片的运行状态,当为低的时候,便是芯片处于忙碌的状

26、态,忙完后返回到高的状态。VCCQ提供输出缓冲的电源,在内部连接VCCVCC芯片供电电源。VSSGNDN.C/DNU/3、内部结构图图2.4 K9F5608内部结构图K9F5608内部结构图如图2.4所示,该芯片有2048个block,每个block有64个page,每个page有512+16=528个字节。78南昌大学共青学院毕业设计(论文) 第3章 MP3播放器的硬件设系统设计第三章 MP3播放器的硬件系统设计3.1 MP3播放器的硬件系统框架图3.1 MP3播放器的硬件系统MP3播放器的硬件系统见如图3.1所示,本设计采用的是ATMEL公司的AT89C51SND1音乐播放器专用芯片,该芯

27、片集成了USB通信、串口通讯、A/D转换以及MPEG2解码功能,包含64K的flash存储器和4K嵌入存储器,支持在线编程。提供了定时计数、键盘接口、串并接口、模数转换、以及其他外部存储器接口。3.2 单片机最小系统电路图3.2 单片机最小系统电路单片机最小系统电路见图3.2所示,在最小系统中FILT引脚是阻容网络给单片机内部PLL锁相环的滤波电路,以及给USB和MP3部件提供更高的频率。X1和X2为外接晶体振荡器,为系统提供基本的20M时钟。ISP引脚是提供在线程RESET引脚是复位端,在单片机内部有下拉电阻,所以只需一个上拉电容即可完成上电复位。ISP按键主要是用于下载时候进行芯片的准备工

28、作,连接USB 同时按下S6键,则运行Boot Loader功能,进入到固件下载模式。3.3 USB通信电路图3.3 USB通信电路USB通信电路见图3.3所示,USB接口USBD+和USBD-。这两个引脚就是单片机内部USB部件的差分信号输入输出引脚,接到USB Device插口上。USB_DEL定义的是IO端口P3.4,用来检测USB电缆上的5V电压,检测是否插入USB电缆,来判断是U盘功能还是MP3功能。3.4 按键电路图3.4按键电路按键电路见图3.4所示,播控系统的设置是通过按键来选择,AT89C51SND1提供了按键输入口,MP3键盘由4个键组成,一个备用按键,分别为S1键、S2键

29、、S3键和S4键:S4功能切换;S3向后;S2向前;S1播放/暂停。S5是备用按键,在本设计中该按键换成了led显示灯,显示其按键工作状态。用户在使用播放器时可以方便地根据自己的喜好来选择歌曲播放或暂停。3.5电源电路:电源电路是包括两个部分:一个是充电电路;一个是稳压电路。充电电路是为了给电池充电的,稳压电路是给系统提供工作电压。3.5.1 充电电路图3.5充电电路充电电路如图3.5所示,充电电路使用的LP4054芯片,LP4054通过修改PROG引脚对地的电阻可以对充电电流进行设定,同时当电池充满了还能关闭充电器。充电电流计算公式: Ibat=1000/Rprog (3.1)关闭充电器的计

30、算公式: Ibat=(Vprog/Rprog)x1000.PROG (3.2)3.5.2 稳压电路图3.6 稳压电路稳压电压如图3.6所示,ME6211是一个高集成的稳压芯片,能最高输入7v的电压,600mA的电流,ME6211有1.5V、2.8V、3V、3.3V几种稳压的规格,在本论文中,使用的是3.3V规格。3.6 DA转换电路图3.7 DA转换电路DA转换电路如图3.7所示,DA转换部分采用的是CS4330进行转换,AT89C51SND1从Flash中读取数据之后,当MP3、WMA等格式的文件经过AT89C51SND1芯片内部解码后就得到二进制数据数字信号,然后通过CS4330将得到的数

31、字信号转换成模拟信号输出。3.7耳机输入电路图3.8 耳机输入电路耳机输入电路如图3.8所示,通过CS4330芯片将数字信号转换成模拟信号之后,输入到耳机,由于CS4330输出的功率比较小,驱动能力有点低,所以途中的假负载电阻R5、R6可以省去,这样耳机的声音会更大。3.8 功放电路图3.9 功放电路功放电路如图3.9所示,该电路是通过RC滤波器滤波之后将音频信号输入到4890功放,通过4890放大之后输出到喇叭,从而发出优美的音乐声。该功放有一个开关控制引脚,在正常使用的时候,该引脚接了一个47k的上拉电阻,当接入耳机之后,ERJI这个引脚就会通过耳机接地,从而使功放停止工作。3.9 整体电

32、路设计整体电路设计的电路图见附录B的图B.1 MP3播放器的系统原理图所示,当给电路提供电压时,先通过ME6211将输入的电压进行稳压处理,然后在输出一个3.3的稳定电压供给整个电路工作,CPU工作了,首先会向flash读取歌曲信息,然后将读取的歌曲进行排序,当我们通过按键中断给它一个播放信号时,CPU会将选中的歌曲通过CS4330将读取的数字信号转换成我们人能识别的模拟信号,由于CS4330输出的模拟信号非常弱,不能直接供给喇叭,所以我们通过LM4890功放芯片再将转换好的模拟信号不失真地放大,再将放大了的信号输出到喇叭,从而发出我们听到的优美的音乐声,其次还可以接入耳机,当接入耳机时,LM

33、4890停止工作,CS4330的信号直接输入到耳机上,从而喇叭没有声音,耳机就能听到优美的音乐。南昌大学共青学院毕业设计(论文) 第四章 MP3播放器的软件系统设计第四章 MP3播放器的软件系统设计 4.1软件设计总流程软件设计的总流程见图4.1所示,讲述了播放器的软件设计总流程,全部程序见附录A。图4.1 软件设计总流程4.2 USB驱动程序USB驱动程序包括USB时钟的配置和USB描述符两个部分,USB时钟的配置是为USB时钟设置而配置的,USB描述符是为USB的所有配置进行描述,提供最基本的工作。4.2.1 USB时钟配置USB程序中,首先我们对USB的时钟进行配置,本设计中的时钟配置如

34、下:void AtmelUSBInit()/用于USB的PLL时钟20M晶振时的设置int data i; /定义一个变量PLLNDIV=0x04; /设置PLL时钟PLLCON |=(0x3&Rdiv)2;USBCLK=0;PLLCON&=(PLLRES); /使能PLLPLLCON|=PLLEN; USBCON&=(USBE); /关闭USB、复位USBfor(i=0;i3000;i+); /等待PLL时钟工作稳定USBCON|=USBE; /打开USB控制器void EpEnable(void) /初始化USB端点UEPNUM=0x00;UEPCONX=0x80;UEPNUM=0x01;

35、UEPCONX=0x86;UEPNUM=0x02;UEPCONX=0x82;UEPRST=0x07;UEPRST= 0x00;UEPIEN=0x07;USBIEN|=EEOFINT;USBADDR=FEN;4.2.2 USB描述符由于一个标准的USB设备有5种USB描述符,所以当时钟配置完成后,我们还要对其设备进行描述。1.设备描述符:一个设备只有一个设备描述符code uchar Device_Descriptor18=0x12,/描述符大小固定为0x120x01,/设备描述符类型固定为0x010x10, 0x01,/ USB 规范发布号表示了本设备能适用于那种协议0x0,/类型代码(由US

36、B指定)0x0,/子类型代码(由USB分配)0x0,/协议代码(由USB分配)0x20,/端点最大分组大小0x05, 0x82,/供应商ID(由USB分配)0x00, 0x11,/产品ID(由厂商分配)0x00, 0x00,/设备出产编码由厂家自行设置0,/厂商描述符字符串索引,到对应的字符串描述符,为则表示没有0,/产品描述符字符串索引同上0,/设备序列号字符串索引同上0x01/ 可能的配置数指配置字符串的个数;2.配置描述符、接口描述符、端点描述符、字符串描述符如下:code uchar Configuration_Descriptor_All32=9,2,0x20,0x00,1,1,0,

37、0x80,0xfa,/配置描述符9,4,0,0,2,8,6,0x50,0, /接口描述符0x07,0x05,0x81,0x02,0x40,0x00,0x00, /端点描述符0x07,0x05,0x02,0x02,0x40,0x00,0x0/字符串描述符;4.3 按键程序程序中介绍了按键的工作模式,已经写了键盘是如何工作的。为系统提供外部控制。4.3.1 键盘初始化工作void KeyBoardInit()P1 = 0x0f;KBCON = 0x00; /设置键盘低电平使能IEN1 = IEN1 | EKB;/使能中断 4.3.2 设置按键的工作模式void Func()/使键盘工作在三种工作模

38、式if (CurrentFun 0x00) /如果音量不是最小则进行减小MP3VOR -= 0x01;MP3VOL -= 0x01;break;case EFFECTION :/ 处于音效调节if (MP3BAS 7)/降低重低音效果MP3BAS -= 7;MP3MED = 0x0f;MP3TRE += 7;break;case SELECTSONG:/处于选曲状态if (NowPlaying = (NumofSong - 1)/当前歌曲是最后一首则调到第一首歌曲NowPlaying = 0;MP3InitFlag = 1;else /不是最后一首,则跳入下一首 NowPlaying+;MP3

39、InitFlag = 1;ChangeSong = 1;break;default : break;4.3.4上一首及音量增加功能的实现void Previous()switch (CurrentFun)case VOLUME :if (MP3VOR 0x1f)MP3VOR += 0x01;MP3VOL += 0x01;break;case EFFECTION : if (MP3BAS 0)NowPlaying-;MP3InitFlag = 1;else NowPlaying = NumofSong - 1;MP3InitFlag = 1;ChangeSong = 1;break;default:break;这个程序跟4.3.3作用类似,在这里我就不作解释了。4.4 串口调试程序本节介绍了串口模式设置、通过串口输出字符信息、通过串口输出16进制数据几个程序详细介绍。4.4.1串口模式设置void init_uart(int fre)#if AT89C51SND1 if (fre=1200)TMOD=0x20; /设置工作模式 TH1=0xa9; TL1=0xa9;SCON=0x50;PCON=PCON|0x80;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1