SOPC乐曲演奏大作业.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SOPC乐曲演奏大作业

综合实验 基于NiosII的乐曲 目录 一.设计概述 3 二.设计要求 3 三.设计方案(总体设计原理、软件设计、硬件设计) 3 3.1总体设计原理 3 3.2 软件设计流程图 4 3.3硬件设计 8 四.实验环境 9 五.软件实验步骤 9 六. 头文件 11 6.1 music.h 11 6.2 LCD.h 19 七.实验结果及分析 23 八.总结及遇到问题 24 九.思考题: 24 一.设计概述 本设计基于SOPC builder和 Nios II 8.0的乐曲演奏,使用蜂鸣器进行播放歌曲,本设计编写多首歌曲可以循环播放,并在液晶屏上显示歌曲名称和切换名称。 实验前准备: 1、该实验需要使用七个模块组中的第七个功能单元,所以三个拨码开关处于“处于“110”时,即MODEL_SEL2和MODEL_SEL3拨下处于“OFF”状态,MODEL_SEL1拨下处于“ON”时,选择该模块。 2、拨码开关MODEL_SEL5-8全置于“ON ”状态,即MODEL_SEL5-8拨下处于“ON ”状态时通过USB BLASTER接口下载。当全部拨下处于“OFF”时可使用开发平台上LAB_JTAG_PS_AS 接口下载或者核心开发板上JTAG接口下载。 这里用户可根据自己所用的下载线来选择适当的下载方式和相应的MODEL_SEL5-8的状态。 二.设计要求 通过使用PWM对交流蜂鸣器进行控制,实现多首乐曲(6首)的播放。 实现如下功能: 歌曲播放 暂停功能 多首歌曲的切换(6首) 其他扩展要求:在液晶屏上显示歌曲的名称,以及上下切换字符(before,after) 三.设计方案(总体设计原理、软件设计、硬件设计) 3.1总体设计原理 实验箱的蜂鸣器是交流蜂鸣器,在BZSP输入一定频率的脉冲时,蜂鸣器蜂鸣,改变输入频率可以改变蜂鸣器的响声。因此可以利用一个PWM来控制BZSP,通过改变PWM的频率来得到不同的声响,以此来播放音乐。 PWM设计说明 PWM输出一个占空比可调的方波。当一个周期11个时钟,高电平输出7个时钟时的PWM输出波形如下图所示。 图1 PWM输出波形图 表一 内部寄存器: 寄存器名 地址偏移量 访问属性 描 述 clock_divide 00 读/写 用来设定PWM输出周期的时钟数 duty_cycle 01 读/写 用来设定一个周期内PWM输出低电平的时钟个数 enable 10 读/写 使能和关闭PWM输出,为1时使能PWM输出 保留 11 - 3.2 软件设计流程图 图2 程序流程框图 首先,判断暂停键是否按下,如果没有,则播放歌曲,如果按下来了暂停键,就执行暂停功能。暂停后判断播放键有没有按下,如果按下了播放键,则在断点的地方接着播放歌曲, 如果没有,则一直暂停到播放按键按下。 主程序代码: 6首歌曲播放,暂停,及切换上一首、切换下一首同时显示歌名和play、stop、next、before: 上下首歌切换: 图3 程序 3.3硬件设计 图4 硬件图 四.实验环境 硬件: PC机 GX-SOC/SOPC-DEV-LAB PLATFORM创新开发实验平台 GX-SOPC-EP2C35-M672核心板 软件: Quartus II 8.0 Nios II 8.0 五.软件实验步骤 1、.把 altera_avalon_pwm (IP核)拷贝到自己的工程文件夹目录下, 2. 在主菜单打开Tools-SOPC Builer 图5 生成PWM核 3.重新命名为 bzsp,点击鼠标右键,进行自动分配 Addressess 和IRQ,点击Generate 图5 对PWM核重命名 4.生成成功以后回到Quartus II界面软件中必须替换更新:在.bdf鼠标右键单击空白处,单击Update Symbol or Block…,即可。 5.在NIOS II IDE软件环境中点击New-Nios II C/C++ Application,建立一个工程 6.在SOPC Builder System PTF File 选择NIOS2.ptf,C/C++的应用工程名Name重命名,点击Next 7.选中Create a new system library named,点击Finish. 8.建立music.h文件和LCD.h头文件 编译工程 build 成功后下载硬件 运行RUN 六. 头文件 6.1 music.h #ifndef _MUSIC_H #define _MUSIC_H #include system.h // rhythm: quarter note as a meter//

文档评论(0)

dajuhyy + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档