已阅读5页,还剩42页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
编号编号: 本科毕业设计(论文)本科毕业设计(论文) 题目:(中文)基于 stc89c52 单片机的智能音 乐演奏器设计 (英文)designdesign ofof intelligentintelligent musicmusic playerplayer 学 院 信息学院 专 业 电气工程与自动化 班 级 电气升本 学 号 姓 名 指导教师 职称 副教授 完成日期 2014.04.10 宁波大学信息学院本科毕业设计(论文) 摘摘 要要 随着人们现代化水平的提高,科技产业发挥着举足轻重的作用。其中新兴 技术由于其实用性广、成本低廉被广泛发展及运用。单片机技术是新兴技术的 核心要素,正被人们广泛关注,因此它的发展前景很宽广。由于单片机有很强 的实用性及开发周期短等优点,单片机的设计也越来越广泛。所设计的智能音 乐演奏器,选用的是 stc89c52 单片机为主要控制系统,通过编程手段使音乐的 播放功能得到实现。该播放器可以读取外置存储设备,对存储设备内的音频文 件进行读取及解码,再通过外置音频播放。按键控制功能也是本设计的一大功 能,设置相应按键来控制选歌、播放和停止。 【关键词关键词】stc89c52;音乐演奏器;液晶显示 智能音乐演奏器设计 design of intelligent music player 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 液晶屏也能显示出曲目的名字。主要的控制 流程是单片机对语音模块进行驱动及控制,通过语音模块返回的值,进行显示。 按键电路,通过按键可以得到不同的设置控制功能,作用于语音模块(以不同 控制字的方式) ,来达到不同的控制方法。 语音模块 电源电路 stc89c52 键盘电路 lcd 显示 显示 智能音乐演奏器设计 2.32.3 系统各个子系统方案系统各个子系统方案对比对比 2.3.12.3.1 系统主控方案论证系统主控方案论证 主流控制器有:plc、msp430、arm、51 单片机等。msp430 有非常丰 富的片上资源,即用户可以通过对多种类寄存器的配置,达到不同的控制效果 和要求,而且 430 单片机的输出引脚一般可以选择为 dac 及 pwm 输出模式, 用户可以通过控制其中的寄存器来实现自己想要的要求,达到自己想要的期望, 可谓灵活方便。51 单片机控制资源有限,但现阶段的 51 单片机产品集成度、 4 稳定性也在提高。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 所示: 表 1 p3 口引 脚功能表 rst: 复位输入。 xtal1:振荡时钟输入端。 xtal2:振荡时钟输入端。 3.1.33.1.3 单片机最小系统设计单片机最小系统设计 单片机最小的组成单位是由复位电路、电源电路、时钟电路所组成的。而 时钟信号是单片机运行的基础。时钟相当于是整个系统运行的时间准则,只有 当时间安排精准,程序才能有条不絮的运行,才能各司其职。复位操作使它内 部所有程序全部重新开始。 当单片机的复位引脚检测到 2 个机器周期(1us 左右)以上的高电平以后, 单片机就会执行复位操作。 stc89c52 的最小系统设计图如 error! reference source not found.所示: p3 口引脚p3 口第二功能 p3.0rxd(串行口输入) p3.1txd(串行口输出) p3.2int0(外部中断 0 输入) p3.3int1(外部中断 1 输入) p3.4t0(定时器/计数器 0) p3.5t1(定时器/计数器 1) p3.6wr(写信号输入) p3.7rd(读信号输出) 宁波大学信息学院本科毕业设计(论文) 图 8 stc89c52 的最小系统设计图 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 所示。 图 13 主程序设计流程图 是 否 是 是 开始 初始化 lcd1602 初始化 nv020 模块 是否有 tf 卡 插 入? 初始化文件系统 查找音乐文件 数据送至 nv020 目录 循环播放音乐 是否有键按 下? 执行相应功能 结束 否 是 宁波大学信息学院本科毕业设计(论文) 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 while(a-) for(i = 0; i /头文件 #include “music.h“ #include “lcd1602.h“ #include “struct.h“ #define uint unsigned int #define uchar unsigned char sbit key1=p13; sbit key2=p15; sbit key3=p14; sbit key4=p16; sbit stop=p33; uchar num=0; uchar allnum=5; uchar tnct; bit startflag=0; uchar code tab_led=0xfe,0xfd,0xfb,0xf7,0xef,0xdf; 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; void display() lcd_wcom(0x80); 宁波大学信息学院本科毕业设计(论文) if(busy)/正在播放中 lcd_wstr(tabnum); p2=tab_ledtnct/3; else lcd_wcom(0x80); lcd_wstr(“you are welcome!“); lcd_wcom(0x80+0x40); lcd_wstr(“ “); if(startflag) num+; if(num=6) num=0; bofang(num); p2=0xff; void t0_init() tmod|=0x01; th0=(65536-46080)/256; tl0=(65536-46080)%256; ea=1; tr0=1; et0=1; 智能音乐演奏器设计 void main ( ) lcd_init(); t0_init(); while(1) switch(getkey() case 1:startflag=1;bofang(num);break; case 2:stop=0;delay_ms(30);stop=1;startflag=0;break; case 3:num-;if(num=255)num=allnum;bofang(num);break; case 4:num+;if(num=6)num=0;bofang(num);break; display(); void timer0() interrupt 1 th0=(65536-46080)/256; tl0=(65536-46080)%256; tnct+; if(tnct=18) tnct=0; 宁波大学信息学院本科毕业设计(论文) 请删除以下内容,请删除以下内容,o(_)o 谢谢!谢谢!the origin of taxation in the united states can be traced to the time when the colonists were heavily taxed by great britain on everything from tea to legal and business documents that were required by the stamp tax. the colonists disdain for this taxation without representation (so-called because the colonies had no voice in the establishment of the taxes) gave rise to revolts such as the boston tea party. however, even after the revolutionary war and the adoption of the u.s. constitution, the main source of revenue for the newly created states was money received from customs and excise taxes on items such as carriages, sugar, whiskey, and snuff. income tax first appeared in the united states in 1862, during the civil war. at that time only about one percent of the population was required to pay the tax. a flat-rate income tax was imposed in 1867. the income tax was repealed in its entirety in 1872. income tax was a rallying point for the populist party in 1892, and had enough support two years later that congress passed the income tax act of 1894. the tax at that time was two percent on individual incomes in excess of $4,000, which meant that it reached only the wealthiest members of the population. the supreme court struck down the tax, holding that it violated the constitutional requirement that direct taxes be apportioned among the states by population (pollock v. farmers loan the explanation of the tax reform act of 1986 was more than thirteen hundred pages long (pub. l. 99-514, oct. 22, 1986, 100 stat. 2085). commerce clearing house, a publisher of tax information, released a version of the internal revenue code in the early 1990s that was four times thicker than its version in 1953. changes to the tax laws often reflect the times. the flat tax of 1913 was later replaced with a graduated tax. after the united states entered world war i, the war revenue act of 1917 imposed a maximum tax rate for individuals of 67 percent, compared with a rate of 13 percent in 1916. in 1924 secretary of the treasury andrew w. mellon, speaking to congress about the high level of taxation, stated, the present system is a failure. it was an emergency measure, adopted under the pressure of war necessity and not to be counted upon as a permanent part of our revenue structure. the high rates put pressure on taxpayers to reduce their taxable income, tend to destroy individual initiative and enterprise, and seriously impede the development of productive business. ways will always be found to avoid taxes so destructive in their nature, and the only way to save the situation is to put the taxes on a reasonable basis that will permit business to go on and industry to develop. consequently, the revenue act of 1924 reduced the maximum individual tax rate to 43 percent (revenue acts, june 2, 1924, ch. 234, 43 stat. 253). in 1926 the rate was further reduced to 25 percent. the revenue act of 1932 was the first tax law passed during the great depression (revenue acts, june 6, 1932, ch. 209, 47 stat. 169). it increased the 智能音乐演奏器设计 individual maximum rate from 25 to 63 percent, and reduced personal exemptions from 宁波大学信息学院本科毕业设计(论文) $1,500 to $1,000 for single persons, and from $3,500 to $2,500 for married couples. the 智能音乐演奏器设计 national industrial recovery act of 1933 (nira), part of president franklin d. roosevelts new deal, imposed a five percent excise tax on dividend receipts, imposed a capital stock tax and an excess profits tax, and suspended all deductions for losses (june 16, 1933, ch. 90, 48 stat. 195). the repeal in 1933 of the eighteenth amendment, which had prohibited the manufacture and sale of alcohol, brought in an estimated $90 million in new liquor ta
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论