已阅读5页,还剩38页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
编号编号: 本科毕业设计(论文)本科毕业设计(论文) 题目:(中文)智能音乐演奏器设计 (英文)DesignDesign ofof IntelligentIntelligent MusicMusic PlayerPlayer 学 院 信息学院 专 业 电气工程与自动化 班 级 12 电气升本 学 号 姓 名 指导教师 职称 副教授 完成日期 2014.04.10 宁波大学信息学院本科毕业设计(论文) 诚诚 信信 承承 诺诺 我谨在此承诺:本人所撰写的毕业论文智能音乐演奏器设计 均系本人独立完成,没有抄袭行为,凡涉及其他作者的观点和材料, 均作了注释,若有不实,后果由本人承担。 承诺人(签名):承诺人(签名): 柴磊柴磊 20142014 年年 0404 月月 1010 日日 宁波大学信息学院本科毕业设计(论文) 摘摘 要要 【摘要摘要】随着人们现代化水平的提高,科技产业发挥着举足轻重的作用。其中新兴技术由于其实用性 广、成本低廉被广泛发展及运用。单片机技术是新兴技术的核心要素,正被人们广泛关注,因此它的发展 前景很宽广。由于单片机有很强的实用性及开发周期短等优点,单片机的设计也越来越广泛。所设计的智 能音乐演奏器,选用的是 stc89c52 单片机为主要控制系统,通过编程手段使音乐的播放功能得到实现。 该播放器可以读取外置存储设备,对存储设备内的音频文件进行读取及解码,再通过外置音频播放。按键 控制功能也是本设计的一大功能,设置相应按键来控制选歌、播放和停止。 【关键词关键词】stc89c52;音乐演奏器;液晶显示 智能音乐演奏器设计 Design of Intelligent Music Player Abstract 【Abstract】 Technology industry plays a vital role in our life, with the improvement of peoples level of modernization . The emerging technologies have been extensively developed because of its wide availability and low cost. SCM technology, as a symbol of emerging technologies, develops also rapidly. As the microcontroller has the advantage of a strong practicability and short developing cycle, the design of microcontroller has become increasingly widespread. The name of the design is a smart music player, which choose stc89c52 MCU as the master. The music player achieves control music playback functions by means of programming. The player can read external storage devices, store and decode the files automatically, and then played by the external device. The function of keys controlling is a big program in this project. The player is set appropriate keys to control song selection, play and stop. 【Key words】 stc89c52 ;Music Player ;LCD display 宁波大学信息学院本科毕业设计(论文) 目目 录录 1 绪 论 .1 1.1 研究背景和现状.1 2.2 研究的目的和意义.1 2 智能音乐演奏器的方案对比论证.3 2.1 智能音乐演奏器的实现功能.3 2.2 智能音乐演奏器的实现功能图.3 2.3 系统各个子系统的方案对比.3 2.3.1 系统主控方案论证.3 2.3.2 电源供电方案论证.4 2.3.3 显示方案论证.5 2.3.4 按键输入方案论证.6 2.3.5 语音模块论证.7 3 智能音乐演奏器的硬件设计.8 3.1 单片机系统设计 .8 3.1.1 单片机概述.8 3.1.2 单片机管脚及功能说明.8 3.1.3 单片机最小系统设计.9 3.2 LCD 显示电路设计 .10 3.2.1 LCD1602 操作时序及引脚定义.10 3.2.2 LCD1602 的硬件设计 .11 3.3 语音转换模块设计.12 3.3.1 语音模块概述.12 3.3.3 语音模块芯片引脚定义及功能描述.13 3.3.4 语音模块触发时序.13 4 智能音乐演奏器的软件设计.15 4.1 开发软件简介.15 4.2 应用程序设计.15 4.2.1 主程序的设计.15 4.2.2 LCD 显示程序设计 .16 4.2.3 按键检测程序设计.19 4.2.4 NV020 模块的程序设计.20 5 总 结 .24 参 考 文 献 .27 致 谢 .28 附 录 .29 宁波大学信息学院本科毕业设计(论文) 1 1 绪绪 论论 1.11.1 研究背景和现状研究背景和现状 自动控制愈来愈重要,它为我国新兴产业带来巨大效益。其中要求控制实现智能化、 小型化、便携式得到人们广泛的关注。在航空航天、军事民用、医疗设备等控制领域中, 集成度和控制功能强大的单片机已发挥不可替代的作用,这使得各种单片机项目的开发与 应用成为系统设计新的热点话题。单片机具有很多优点,如集成度高,开发简单,价格 1 低和品种多样,这使得单片机进入各种系统的品种方式也多样化了。新兴技术的提升发展, 也同样有助于芯片业的蓬勃发展。但是,利用单片机进行控制,并且显示的集成芯片是微 乎其微的,其一是开发的难道较难,其二是开发的周期赶不上市场淘汰产品的速度。现阶 段社会上也有多种音乐播放器,但是市场上的音乐播放器大都价格昂贵,显示、功能单一, 所以开发新型的便携且价格实惠的音乐播放器成为必须。音乐演奏器要实现可操作、可 2 播放、可选择等功能,且它的听觉效果要有一定的水平。即使对音乐演奏器的研究,过去 已经多如牛毛,但是它的可操作性不佳,且它把音乐搜索、收藏、管理全部交给网络来完 成,这就造成资源利用不便。所以,还是有必要完善。也可以增加一些流水灯闪烁效果, 使得该播放器一边播放,一边有流水灯闪烁,实现美观和效果功能同步进行。 1.21.2 研究研究的目的和意义的目的和意义 本设计目的是设计一种全新的,通过单片机控制并显示的智能音乐播放器,本播放器 能够实现音乐文件的读取及控制播放等基本功能。该播放器可以存储多首歌曲,可选择性 播放歌曲,通过音频电路驱动喇叭播放。设置相应按键来控制选歌、播放和暂停,同时在 LCD 液晶屏上显示正在播放的歌名,伴随音乐播放有流水灯闪烁效果。 该音乐演奏器采用技术与实惠的双赢的 STC89C52 单片机作为核心控制单元,结合信 号控制及处理电路、LM386 功率放大器,LCD1602 液晶显示电路,以及配套的外围设备共 同组成的可控、可显示的音乐播放系统。 本设计实现的按键功能为:上一首,下一首,暂停、停止。可以选择不同的按键来实 现播放。伴随着音乐的播放可实现流水灯效果,并且可以在 LED 显示屏上显示正在播放歌 曲的名字。本设计以 STC89c52 芯片作为主控制器,选用 nv020 作为音频解码芯片。通过 智能音乐演奏器设计 对外置 TF 卡媒体存储介质的读取及操作,利用 LCD1602 液晶屏显示内容及用流水灯实现 动态效果,来完成智能音乐播放器的功能。 智能音乐演奏器设计的意义在于开发新型基于单片机的音乐播放器,实现低成本及高 性能,达到更换现在社会有的价格昂贵的音乐播放器。它的设计,应该追求高效、可操作 性强、能显示多首歌等特点。在新时代的今天,各种音乐演奏器。参差不齐。而且功能大 同小异,可以说,音乐播放器发展也给社会的发展带来了新生,为人们的生活带来了色彩, 为可持续发展的当下社会和资源节约型、环境友好型的社会增添了活力。因此,对于智 3 能音乐演奏器设计还是有必要发展这些特点。 智能音乐演奏器研究的是播放器的灵敏便捷。让人们使用起来有愉悦身心的感觉,它 在我们生活中还是很有价值的,何况当今的社会是信息社会,计算机技术的发展带动社会 的发展,而单片机技术的完善带动计算机的发展,因此很有必要好好研究。智能音乐演奏 器,是一款以 STC89C52 为主要控件的设计,很好的把技术和实物融合了。 宁波大学信息学院本科毕业设计(论文) 2 2 智能音乐演奏器的智能音乐演奏器的方案对比论证方案对比论证 2.12.1 智能音乐演奏器的智能音乐演奏器的实现功能实现功能 智能音乐演奏器基于 STC89C52 主控设计并制作,以外置的 TF 卡为存储设备,主控 通过在不同时间和状态下,对有关芯片发出不同控制命令,来实现解码播放功能。智能音 乐演奏器可以达到按键目的为开始,停止,上一首,下一首。伴随着音乐的播放可实现流 水灯效果,并且可以在 LED 显示屏上显示正在播放歌曲的名字。其中,智能音乐演奏器可 实现歌曲的转换功能及歌曲信息显示功能。主要的技术难度在于对 TF 进行驱动及对解码 信息进行控制。 2.22.2 智能音乐演奏器的实现功能图智能音乐演奏器的实现功能图 图 1 系统功能框图 智能音乐演奏器设计时就有四个可以进行控制的按键,按键的功能分别为:下一曲, 上一曲,暂停和停止。通过主控,实现存储卡内文件扇区的读写,及数据流方向的控制。 后面再通过音频放大电路和声音输出设备将动听的音乐输出。在音乐播放的同一时间, LCD 液晶屏也能显示出曲目的名字。主要的控制流程是单片机对语音模块进行驱动及控制, 通过语音模块返回的值,进行显示。按键电路,通过按键可以得到不同的设置控制功能, 作用于语音模块(以不同控制字的方式) ,来达到不同的控制方法。 2.32.3 系统各个子系统方案系统各个子系统方案对比对比 2.3.12.3.1 系统主控方案论证系统主控方案论证 主流控制器有:PLC、MSP430、ARM、51 单片机等。MSP430 有非常丰富的片上资 语音模块 电源电路 STC89C52 键盘电路 LCD 显示 显示 智能音乐演奏器设计 源,即用户可以通过对多种类寄存器的配置,达到不同的控制效果和要求,而且 430 单片 机的输出引脚一般可以选择为 DAC 及 PWM 输出模式,用户可以通过控制其中的寄存器来 实现自己想要的要求,达到自己想要的期望,可谓灵活方便。51 单片机控制资源有限, 4 但现阶段的 51 单片机产品集成度、稳定性也在提高。MSP430 低功耗单片机 是个控制能 力很强且具有很强可操作性的单片机,所以它有非常多种控制方法,但是,美中不足的 5 是它很难开发,而且单片芯片较贵(一片在 20 元-30 元左右) ,所以智能音乐演奏器根据 各个方面的权衡,经过慎重考虑,还是选择了 51 单片机,以它来作为主要的控制器。51 单片机有 4 个 8 位的 P 口控制端口,还有 2 个中断源,及片内 ROM 和 RAM。通过相关程 序的编写,可以很快的实现智能音乐演奏器的设计。 最终结果,本设计选择了 STC89C52 这个很实用而且价格低廉的单片机来达到硬件功 能要求。由于 STC89C52 内部自带了 8KB 的存储空间,所以它应该基本满足设计所要的需 求。 2.3.22.3.2 电源供电方案论证电源供电方案论证 由于系统要求便携式及尽量控制成本,所以不能使用取市电处理之后供电。所以选用 5 号电池进行串联后组成电池组提供 6V 直流电压。供电方法有以下两种:电池后接稳压二 极管供电;电池后接稳压芯片供电。 方案一:电池组后接 5v/1w 的稳压二极管组成。该电路图如图 1 所示。这样设计的系 统,最多可以提供 5V 和 0.2A 的电源输出。中和本设计电流在 150mA 左右,这种稳压管 供电方式是可以的。但是由于智能音乐演奏器要求随身携带,即要求待机功耗尽量低的 6 设计条件下,该类方案不可行。稳压管方案设计电路,在无工作时(主系统进入待机模式 等待命令或按键) ,稳压二极管内也是有静态电流流过的(If=10MA 左右) ,即该系统始终 有功耗 10mA*5V=50mW 产生。 图 2 稳压管供电方式 宁波大学信息学院本科毕业设计(论文) 方案二:由电池组后接稳压芯片 LM2596-5V 组成。电路图如图 2 所示。LM2596 系列 美国一家电子厂商生产的,最高输出电流为 3A 的开关型稳压芯片。开关电源的机理是 7 通过电源导通的占空比不同,达到不同的输出电压,所以稳压芯片是自带了一个 150KHZ 频率振荡器。固定频率的振荡器可以通过反馈电阻,改变开关的频率,达到不同电压输出 的要求,并且该芯片在待机的模式下,静态电流只有 70A,及 5V 输出时待机功率仅为 0.35mW。运用 LM2596 组成的系统,系统的待机功率将大大减小。 图 3 稳压芯片供电方式 综上所述,方案二的系统供电方案是值得我选择的。 2.3.32.3.3 显示方案论证显示方案论证 随着各种智能化设备的出现,显示的种类也是千奇百样。但是依照其原理,显示方法 有两种:一种方案是自发光式的 LED 数码管显示,另外一种方案是背光式的 LCD 液晶显示。 数码管显示的优点是简单;数码管显示不足之处是比较单一,通常仅仅能够显示 8 段 数据。LCD 显示的优点是数据多样即可以显示字符,也可以图片,并且相同时间内显示 8 的信息更多。LCD 显示美中不足的是它本身是不带光的,唯一可显示的方法是依靠其背光 来显示,但是其产生的是不经济、不合理地效果。 由于智能音乐演奏器显示多样,并且有字符显示,所以综上所述,本设计采用的是 智能音乐演奏器设计 LCD1602 液晶显示。实物如图 4 所示 图 4 LCD1602 实物图 2.3.42.3.4 按键输入方案论证按键输入方案论证 键盘,它的功能是信息的输入,并伴随着单片机的发展,它所带来的便利和重要性是 巨大的。键盘的输入能带来非常有效的可操作性。从最初的机械式动作按键,到电气化触 摸按键,键盘的发展也是多样的。由于需要按键控制智能音乐演奏器,所以输入键盘也成 为了一个关键的部件,控制系统当要读取输入数据时,键盘必须有效的被查询。 键盘的原理是:一般情况下,按键所用到的开关为弹簧机械式开关,其利用的原理是 通过判断键盘的高低电平,来确定触点的不同状态。键盘通常有两种:一种为独立式矩阵 键盘,另一种是独立式按键键盘。 9 其中,独立式按键键盘的原理就是:因为按键一端接地,按键另一端接控制口供主控 查询,所以按键之间不会相互影响,各自都可独立的完成操作。它的好处是可实现的电路 很简单,可实现的软件非常灵活。软件控制方式就是通过对独立按键的查询:按键按下 10 了为低电平,若是相反的,则表示高电平。但是,在按键较多的情况下使用独立式键盘是 有缺陷的,由于每个按键都需占用一个主控的输入口,所以输入控制口被大大的浪费,故 此种键盘适用于按键较少的场合。而恰恰相反,矩阵式键盘在按键数量多的情况下使用就 没有这个端口浪费了。由两根线构成矩阵键盘:行线和列线。各个按键位于行、列的交叉 点上,通过主控的分时查询,最后确认被按下的是哪一个按键。两种常见的键盘如 Error! Reference source not found.所示: 图 5 独立式键盘和矩阵式键盘 理想的按键,其可以看成 2 种状态:按下及没有按下。但是由于在使用中,机械触点 和人为因素,一旦按下按键就会有颤动。若主控实时扫描按键,就会出现错误判断:本是 宁波大学信息学院本科毕业设计(论文) 按下动作,由于抖动,会读取到按下-松开-再按下的错误信息。因此在使用键盘的时候, 11 应该去除抖动,来使操作顺利进行。 按键可以通过两种方法来去除抖动:一是硬件消抖,适合于按键数较少的场合,即利 用 RS 触发器构成双稳态电路消抖,硬件消抖电路如 图 所示;二是通过主控处理进行消抖,其原理是:当有按键按下且闭合后,主控检测 到低电平信号,主控不马上执行相关按键值的操作,而是去运行一个一定时常的延时函数 。当过一段时间之后,我们认为物理机械上的前沿抖动消失之后,主控将再一次对按键 12 进行检查。如果检查到的状态和第一次的相同,那么可以肯定这是数据信号;若检查到的 状态与第一次检测到的信号不一样,则认为是抖动信号。 图 6 硬件消抖电路 由于本设计要求只需 4 个按键输入,所以选择独立式按键作为按键输入方式。并且采 取了软件延时的策略去抖。 2.3.52.3.5 语音模块论证语音模块论证 本智能音乐演奏器需要设计出的产品是能够进行控制的,且能实现歌曲播放功能的产 品。但 STC89C52 本身来说,是不能进行音频信息解码及处理数据流的,所以只能利用外 部的解码芯片,并且配合不同的控制方式来实现歌曲播放功能。 MP3 解码芯片常见的有 VS100X 系列和 NV020 模块系列,NV 系列输出可选为 DAC 及 PWM 方式输出,这样既有利于输出设备的选择及实现,而且能解码的音频格式也比较 多;而 VS 系列需要外加 DAC,使用起来必须外加 DAC 电路才能实现音频的播放,而且 只限于解码 MP3 一种格式的音乐文件。 经过比较,选用 NV020 模块为解码芯片,该芯片支多种格式的解码,包括 MP3、PWM 等,自带 DAC、PWM 输出。NV020 芯片功能有:使用者通过设计不同的外 围配置电路,就能选择按键控制模式、并口及串口控制模式等不同的模式。但是其中, 智能音乐演奏器设计 NV020 芯片的按键模式有很多种灵活的触发方式。 3 3 智能音乐演奏器的硬件设计智能音乐演奏器的硬件设计 经过对各个功能模块的系统分析,智能音乐演奏器的硬件设计方案已经确定。智能音 乐演奏器的组成为:STC89C52 单片机,LCD1602 液晶显示,独立按键,NV020 集成语音 解码模块。接着,我们来设计各种功能模块的最小系统,来完善播放器的设计。 3.13.1 单片机系统设计单片机系统设计 3.1.13.1.1 单片机概述单片机概述 STC89C52 的功能概述:STC89C52 是一种带 8K 字节 Flash 存储器的低电压、高性能 的 8 位微处理器。STC89C52 单片机的片上 Flash 存储空间,允许系统在线编程,当然常规 编程也是支持的。该款单片机,有一颗 8 位处理能力的核心运算单元,并且有在线编程, 这些特殊的优势使 STC89C52 为很多产品提供一些有效果而且很灵活的解决方法。 3.1.23.1.2 单片机管脚及功能说明单片机管脚及功能说明 图 7 STC89C52 引脚图 宁波大学信息学院本科毕业设计(论文) 单片机如 图所示。单片机引脚功能说明如下。 VCC:5V 供电电压。 GND:接地。 P0 口:双向 IO 口,内部无上拉,可以做数据和地址总线。数据总线时,需要上拉电 阻。 P1 口:P1 口与 P0 口的主要区别是具有内部上拉电阻。 主控芯片引脚复用功能的简单介绍: P1.0 T2(外部计数输入端口,计数时使用) ,主频率时钟分频输出 P1.1 T2EX(功能控制器的控制端口,通过不同的配置达到不同的输入检测) P1.5 MOSI(在系统编程用) P1.6 MISO(在系统编程用) P1.7 SCK(在系统编程用) P2 口:功能同 P1 口。 P3 口:P3 口的驱动能力和其他口一样。不同之处是 P3 口也能成为 89C52 的特殊功能 (复用第二功能)来使用,如下表所示。 P3 口含有单片机的特殊功能,如烧录及中断。描述如表 1 所示: P3 口引脚P3 口第二功能 P3.0RXD(串行口输入) P3.1TXD(串行口输出) P3.2INT0(外部中断 0 输入) P3.3INT1(外部中断 1 输入) P3.4T0(定时器/计数器 0) P3.5T1(定时器/计数器 1) P3.6WR(写信号输入) 智能音乐演奏器设计 表 1 P3 口引脚功能表 RST:复位输入。 XTAL1:振荡时钟输入端。 XTAL2:振荡时钟输入端。 3.1.33.1.3 单片机最小系统设计单片机最小系统设计 单片机最小的组成单位是由复位电路、电源电路、时钟电路所组成的。而时钟信号是 单片机运行的基础。时钟相当于是整个系统运行的时间准则,只有当时间安排精准,程序 才能有条不絮的运行,才能各司其职。复位操作使它内部所有程序全部重新开始。 当单片机的复位引脚检测到 2 个机器周期(1us 左右)以上的高电平以后,单片机就 会执行复位操作。 STC89C52 的最小系统设计图如 Error! Reference source not found.所示: 图 8 STC89C52 的最小系统设计图 P3.7RD(读信号输出) 宁波大学信息学院本科毕业设计(论文) 3.23.2 LCDLCD 显示电路设计显示电路设计 相关数据的显示是智能音乐演奏器的一项重要功能,是整个系统的主要组成部分,所 以对显示电路的设计,也必须着重考虑。显示的设计功能是:将主控读取到的歌曲按键等 相关数据经过器处理后直观的显示出来。 3.2.13.2.1 LCD1602LCD1602 操作时序操作时序及引脚定义及引脚定义 对 LCD1602 的读写有严格的时序要求。读时序如图 9 所示,写时序如图 10 所示。 图 9 LCD1602 读时序 (引自LCD1602 数据手册 ) 图 10 LCD1602 写时序 (引自LCD1602 数据手册 ) 引脚号引脚 名称 引脚功能定义 1VSS地引脚(GND) 2VDD+5V 电源引脚(VCC) 3VO液晶背光电压(05V) ,可接电位器调节 4RS数据状态控制端端,RS=0 时命令或状态;RS=1 时数 智能音乐演奏器设计 据 5R/W读写控制,高为读,低为写 6E数据读写操作使能端 714DB0- DB7 数据线,可以用 8 位连接,也可以只用高四位连接,其 目的是为了节约资源 15A背光控制正电源 16K背光控制地 表 2 LCD1602 引脚定义 LCD1602 的读操作,主要是读取 LCD 的状态,判断 LCD 是否在转换及合成显示状态。 LCD1602 的写操作,主要是对 LCD1602 进行控制操作,包括清除指令,控制指令及相关 的数据接收。 3.2.23.2.2 LCD1602LCD1602 的硬件设计的硬件设计 根据上面的分析,我设计出了如图 11 所示 LCD1602 显示电路。其中 V0 通过 R1 变阻 器分压得到电压,通过对该电压的修改可以达到不同对比度的显示效果。数据口我们选用 P0 外接上拉电阻实现,控制口我们选用 P2 口实现。 图 11 LCD1602 显示电路 3.33.3 语音转换模块设计语音转换模块设计 3.3.13.3.1 语音模块概述语音模块概述 根据以上的方案对比,我们可以知道 NV 的确是个有着非常强大的可编程语音芯片。 它的音频输出方式可选为 PWM 和 DAC。多样的输出方式选择,使它的运用场合也越来越 宁波大学信息学院本科毕业设计(论文) 大。 NV 芯片内通过串口控制字的输入,用户可以选择高分辨率的 DA 音频输出方式,而 且 NV 芯片内部滤波功率的放大,致使模块后可以自动驱动 0.5W 的喇叭响动。该芯片内 部还集成 PSG 可编程语音合成技术,这种效果使得音乐的音质极好,发出的噪声极低。 此芯片设计时就考虑了众多的外围搭配电路,配合其有的极强的可编程能力,NV 解 码模块不仅能实现标准的控制方式,亦可根据不同的控制需求,做出各种不同功能的音乐 解码器件。 3.3.23.3.2 功能特点功能特点 用户灵活且多变的操作模式供选择(串口数据命令操作、并口数据命令操作、按键操作) ; 20 秒语音长度(在 6KHz 采样率) ; 有忙状态输出指示供主控查询,并且主控可以通过软件调节音量大小; 音质好,性能高,物美价廉; 多样的封装可供选择,使用更方便,开发应用更灵活; 极简的外围电路,配合芯片内部丰富的资源,能够轻松实现用户提出的各种功能要求; 静态工作电流:2uA; 有音频输出时的 Ia 在 20mA120mA 之间; 3.3.33.3.3 语音模块芯片引脚定义与功能语音模块芯片引脚定义与功能 封装引脚引脚标号简述功能描述 1P01K1/A0/CS控制方式 1 选择端 2GNDGND地 3EQIOPI芯片内部的功率放大电路的反馈输入端 4EQOOPO内部功放反馈输出 5VCCVCC芯片模拟电源 2.6V5.6V 6SPK-PSPK-PDAC 及 PWM 输出 7SPK-NSPK-NDAC 及 PWM 输出 8P06BUSY语音播放忙信号 9P05K3/A2/DI/RXD控制方式 2 选择端 10P04K2/A1/SCK控制方式 3 选择端 11VPPVPP芯片编程电源 12VDDVDD芯片数字电源 2.6V5.6V 智能音乐演奏器设计 13P10A3按键口 14P11D5按键口 15RESETBRESETB芯片复位端,低有效 表 3 语音模块引脚及相关功能描述 3.3.43.3.4 语音模块触发时序语音模块触发时序 语音模块可分为:一线制和三线制。 一线串口控制方式,很特殊,它只有一条数据通信线,芯片确定不同的数据位是根据 分辨电平占空比。这一点很特别,数据解调的方法同脉宽调制方法,即通过判断脉冲高低 电平的时间不同,来确定是高电平还是低电平。低电平在后,高电平在前,这种规定是脉 冲时间所具有的。 3 条通信控制线组成了三线串口控制,线程分别是 SS,DI,SCK。 控制的时序仿照标准 SPI 通信格式。通信的准则是:复位信号线在发码之前先将数据线拉 低 1ms5ms 左右,然后再拉高并等待 5ms 以上。时序图如图 12 所示。通过该三线串口即 可以实现对 NV020 芯片的命令控制、语音播放。D0 位为语音测试口。根据智能音乐演奏 器的设计要求,我们选用三线制对语音模块进行控制。 ra m p up30 uS 2mS S S S CK S DI B US Y V OIC E R ST 1 5m S 5m S 图 12 三线串口控制时序图 (引自语音模块数据手册 ) 宁波大学信息学院本科毕业设计(论文) 4 4 智能音乐演奏器的软件设计智能音乐演奏器的软件设计 4.14.1 开发软件简介开发软件简介 系统的软件部分主要是利用 C 语言编程来完成程序的设计,进一步设计带来了便利。 汇编语言和 C 语言组成了单片机开发语言,由于汇编语言的冗长及复杂,所以智能音乐演 奏器选用 C 语言为开发语言。对单片机进行编程,Keil 软件当仁不让的是最好的工具,它 有利于程序更好的设计实现。 Keil 的 C51 系列软件是该公司独自设计的,面向 51 单片机系列并且可以兼容国产单 片机的软件开发系统。C 和其他编程语言相比较,它的优点还是有很多的,而且该单片机 的平台提供大量的、可操作性强的调试工具,有利于集成开发。 4.24.2 应用程序设计应用程序设计 那些设计类软件,如果大脑中没有很清楚的思路和很好的方案,那么设计东西是非常 智能音乐演奏器设计 困难的。程序设计真的很繁琐,很乏味但是它的重要性不言而喻。为了枯燥乏味的设计工 作条理化,就必须要有相应的步骤和方法。通过系统的分析,其设计流程可以简单的分为 以下若干种: (1)整体分析系统控制要求:什么要被控制,什么要被显示,什么要被读取。然后在根据 处理值得不同,确定算法。 (2)然后根据它的算法来画流程:第一步是什么,第二步是什么,再者又是什么。画框图 的优点可以把算法和程序设计的流程方法更加具体化(3)最后再编写程序:可以通过框图 的算法和步骤,选取合适的指令实现功能,然后把它们组成一个有机的整体,就构成了整 体程序。 下面给出各个模块的软件设计,最终来达到设计的要求,实现其功能。 4.2.14.2.1 主程序的设计主程序的设计 智能音乐演奏器的软件设计构成主要有如下几种:由按键检测及控制发出的主程序、 系统 LCD 及解码模块的初始化程序、1602 的数据显示程序、控制解码程序等。主程序设 计流程 Error! Reference source not found.3 所示。 是 否 是 是 开始 初始化 LCD1602 初始化 NV020 模块 是否有 TF 卡 插 入? 初始化文件系统 查找音乐文件 数据送至 NV020 目录 循环播放音乐 是否有键按 下? 执行相应功能 结束 否 是 宁波大学信息学院本科毕业设计(论文) 图 13 主程序设计流程图 4.2.24.2.2 LCDLCD 显示程序设计显示程序设计 显示程序设计流程图,如是其他需要调用的程序之一,所以它的设计重要性不言而喻。 是 否 智能音乐演奏器设计 图 4 所示。显示的目的是直观的向用户提供用户想要的信息, 并且在设计时,应该充分考虑设计显示的内容,和显示的时间。因为 LCD1602 显示子程序 是其他需要调用的程序之一,所以它的设计重要性不言而喻。 是 否 入口 对 1602 初始化写入显示设置命令 延时一段时间 检查忙标志 BF=7? 设置字符显示位置 延时一段时间 向 1602 中写入数 据 LCD 显示内容 返回主程序 宁波大学信息学院本科毕业设计(论文) 图 14 显示子程序流程图 显示程序如下所示: static void delayms(unsigned int n) unsigned int x,y; for(x=n;x0;x-) for(y=110;y0;y-); void lcd_wcom(unsigned char com)/lcd1602 写命令函数 rs=0;/选择指令寄存器 rw=0;/选择写 P0=com;/把命令字送入 P2 delayms(5); en=1; en=0; void lcd_wdat(unsigned char dat) /1602 写数据函数 rs=1;/选择数据寄存器 rw=0; P0=dat; 智能音乐演奏器设计 delayms(5); en=1; en=0; void lcd_wstr(unsigned char *s) unsigned char i=0; while(*s!=0 lcd_wdat(*s); s+; i+; void lcd_init()/ 1602 初始化函数 lcd_wcom(0 x38); lcd_wcom(0 x0c); lcd_wcom(0 x06); lcd_wcom(0 x01); 4.2.34.2.3 按键检测程序设计按键检测程序设计 按键检测的难度主要是处理按键的去抖。针对硬件的设计,我们视按键按下时为低电 平。其主要的设计思路是,时刻检测按键端口是否为“0” ,当检测为 0 时,软件延时 10ms 之后,再对其进行读取,若该端口仍为“0” ,说明按键确实按下,并对其进行相应处理; 若延时之后,该端口为“1” ,说明按键存在抖动,在处理键值的时候,应该将该类情况处 理为错误信号。 宁波大学信息学院本科毕业设计(论文) 按键检测程序如下: uchar getkey() if(key1=0) Delay_ms(15); if(key1=0) while(!key1); return 1; if(key2=0) Delay_ms(15); if(key2=0) while(!key2); return 2; if(key3=0) Delay_ms(15); if(key3=0) while(!key3); return 3; 智能音乐演奏器设计 if(key4=0) Delay_ms(15); if(key4=0) while(!key4); return 4; return 0; 4.2.44.2.4 NV020NV020 模块的程序设计模块的程序设计 音乐解码模块是决定整个系统正确与否及控制对象的主要器件,所以 NV020 设计必须 格外小心。NV020 工作方式是可以如下:当播放器开启后,主要控制将 TF 卡中的信息读 取到,并通过数据处理芯片送达到 NV020 芯片中。NV020 芯片根据数据再进行解码分析, 及耳机驱动电路,将音频信号输出,最后实现了非常优美的乐曲播放。NV020 的所有数据 和控制命令均通过控制器模拟 SPI 总线接口实现。 要控制 NV020 首先要实现的就是写命令,它是控制实现成功的前提。通信接口所在的 部分,使用的是同步串行接口方式。在该模式下,要求 NV020 的时钟信号必须由外部电路 产生,这样才能操作数据的读取及分析。数据(SDATA)在 SCLK 的上升沿或下降沿时被 写入。 在方案论证时,已经分析过 NV020 的时序,这里主要介绍 NV020 的语音地址对应关 系及命令、语音码。语音地址
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年防城港辅警协警招聘考试备考题库及答案详解一套
- 2025年清远辅警招聘考试真题及答案详解(名师系列)
- 2025年郴州辅警招聘考试真题(含答案详解)
- 2025年芜湖辅警协警招聘考试真题附答案详解(研优卷)
- 2025年贵阳辅警招聘考试题库及完整答案详解一套
- 2025年贵港辅警协警招聘考试真题附答案详解(培优)
- 2025年茂名辅警招聘考试真题含答案详解(b卷)
- 2025年黔南布依族苗族自治州辅警招聘考试题库含答案详解(培优)
- 2025年潍坊辅警招聘考试真题附答案详解(基础题)
- 2025年齐齐哈尔辅警协警招聘考试备考题库及答案详解(名师系列)
- 2024年护士资格证模拟题库附答案
- 大学入团考试题及答案
- 2024-2025苏教版(2024)初中生物七年级上册期末考试测试卷及参考答案(共三套)
- 藏文二年级上册 考卷
- 机械工程导论第五讲课件
- 两孩离婚协议(2025年版)
- 客房维修保养检查表
- 建筑碳排放计算分析报告
- 《焊工安全培训》课件
- 人文经济学研究
- 新建碳五分离装置产品结构优化生产环戊烷异戊烷项目可行性研究报告写作模板-拿地申报
评论
0/150
提交评论