ImageVerifierCode 换一换
格式:DOCX , 页数:42 ,大小:327.86KB ,
资源ID:7962866      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7962866.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(SOPC乐曲演奏大作业.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

SOPC乐曲演奏大作业.docx

1、SOPC乐曲演奏大作业综合实验 基于NiosII的乐曲演奏设计单 位:班 级:组 员: 指导老师:首 都 师 范 大 学2012年5月一.设计概述 3二设计要求 3三设计方案(总体设计原理、软件设计、硬件设计) 33.1总体设计原理 33.2 软件设计流程图 43.3硬件设计 8四实验环境 9五软件实验步骤 9六. 头文件 116.1 music.h 116.2 LCD.h 19七实验结果及分析 23八总结及遇到问题 24九思考题: 24一.设计概述 本设计基于SOPC builder和 Nios II 8.0的乐曲演奏,使用蜂鸣器进行播放歌曲,本设计编写多首歌曲可以循环播放,并在液晶屏上显示

2、歌曲名称和切换名称。 实验前准备: 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的状态。二设计

3、要求 通过使用PWM对交流蜂鸣器进行控制,实现多首乐曲(6首)的播放。实现如下功能:1. 歌曲播放2. 暂停功能3. 多首歌曲的切换(6首)其他扩展要求:在液晶屏上显示歌曲的名称,以及上下切换字符(before,after)三设计方案(总体设计原理、软件设计、硬件设计)3.1总体设计原理实验箱的蜂鸣器是交流蜂鸣器,在BZSP输入一定频率的脉冲时,蜂鸣器蜂鸣,改变输入频率可以改变蜂鸣器的响声。因此可以利用一个PWM来控制BZSP,通过改变PWM的频率来得到不同的声响,以此来播放音乐。PWM设计说明PWM输出一个占空比可调的方波。当一个周期11个时钟,高电平输出7个时钟时的PWM输出波形如下图所示

4、。图1 PWM输出波形图表一 内部寄存器:寄存器名地址偏移量访问属性 描 述clock_divide00读/写用来设定PWM输出周期的时钟数duty_cycle01读/写用来设定一个周期内PWM输出低电平的时钟个数enable10读/写使能和关闭PWM输出,为1时使能PWM输出保留113.2 软件设计流程图图2 程序流程框图 首先,判断暂停键是否按下,如果没有,则播放歌曲,如果按下来了暂停键,就执行暂停功能。暂停后判断播放键有没有按下,如果按下了播放键,则在断点的地方接着播放歌曲,如果没有,则一直暂停到播放按键按下。主程序代码:6首歌曲播放,暂停,及切换上一首、切换下一首同时显示歌名和play

5、、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.生成成功

6、以后回到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重命名,点击Next7.选中Create a new system library named,点击Finish. 8.建立music.h文件和LCD.h头文件9.编译工程10.build 成功后下载硬件11.运行RUN六. 头文件

7、6.1 music.h#ifndef _MUSIC_H#define _MUSIC_H#include system.h/ rhythm: quarter note as a meter/持续时间的长短#define RHYTHM 36#define _1 RHYTHM*4 /note#define _1d RHYTHM*6 /dotted note #define _2 RHYTHM*2 /halfnote#define _2d RHYTHM*3 /dotted halfnote #define _4 RHYTHM*1 /quarter note#define _4d RHYTHM*3/2

8、/dotted quarter note #define _8 RHYTHM*1/2 /eighth note#define _8d RHYTHM*3/4 /dotted eighth note #define _16 RHYTHM*1/4 /sixteenth note#define _16d RHYTHM*3/8 /dotted sixteenth note#define _32 RHYTHM*1/8 /thirty-second note/低音#define _1DO (ALT_CPU_FREQ/131)#define _1DOr (ALT_CPU_FREQ/139)#define _1

9、RE (ALT_CPU_FREQ/147)#define _1REr (ALT_CPU_FREQ/155)#define _1MI (ALT_CPU_FREQ/165)#define _1FA (ALT_CPU_FREQ/175)#define _1FAr (ALT_CPU_FREQ/185)#define _1SOL (ALT_CPU_FREQ/196)#define _1SOLr (ALT_CPU_FREQ/207)#define _1LA (ALT_CPU_FREQ/220)#define _1LAr (ALT_CPU_FREQ/233)#define _1SI (ALT_CPU_FRE

10、Q/247)/中音#define _DO (ALT_CPU_FREQ/262)#define _DOr (ALT_CPU_FREQ/277)#define _RE (ALT_CPU_FREQ/294)#define _REr (ALT_CPU_FREQ/311)#define _MI (ALT_CPU_FREQ/330)#define _FA (ALT_CPU_FREQ/349)#define _FAr (ALT_CPU_FREQ/370)#define _SOL (ALT_CPU_FREQ/392)#define _SOLr (ALT_CPU_FREQ/416)#define _LA (AL

11、T_CPU_FREQ/440)#define _LAr (ALT_CPU_FREQ/466)#define _SI (ALT_CPU_FREQ/492)/高音#define _DO1 (ALT_CPU_FREQ/523)#define _DO1r (ALT_CPU_FREQ/554)#define _RE1 (ALT_CPU_FREQ/579)#define _RE1r (ALT_CPU_FREQ/740)#define _MI1 (ALT_CPU_FREQ/651)#define _FA1 (ALT_CPU_FREQ/695)#define _FA1r (ALT_CPU_FREQ/740)#

12、define _SOL1 (ALT_CPU_FREQ/784)#define _SOL1r (ALT_CPU_FREQ/830)#define _LA1 (ALT_CPU_FREQ/880)#define _LAR1r (ALT_CPU_FREQ/932)#define _SI1 (ALT_CPU_FREQ/983)#define SONG_SIZE1 200#define SONG_SIZE2 200#define SONG_SIZE3 200#define SONG_SIZE4 200#define SONG_SIZE5 200#define SONG_SIZE6 200#define M

13、UTE(TONE) (TONE)2 /低音为25占空比#define LOUD(TONE) (TONE)1 /高音为50占空比/1=G 3/4/乐曲为一个多行3列的2维数组/第1列为音调,第2列为节拍,第3列音高(高音、低音)int burroSONG_SIZE13 = _DO,_2, MUTE(_DO),/1 _MI, _32,0, _DO,_2, MUTE(_DO),/1 _MI, _32,0, _DO,_2, MUTE(_DO),/1 _MI, _32,0, _MI,_2, MUTE(_MI),/3_MI, _32,0, _SOL,_2, LOUD(_SOL),/5_MI, _32,0,

14、 _SOL,_2, LOUD(_SOL),/5 _MI, _32,0, _SOL,_2, LOUD(_SOL),/5 _MI, _32,0, _SOL,_2, LOUD(_SOL),/5 _MI, _32,0, _LA,_2, MUTE(_LA),/6 _MI, _32,0, _LA,_2, MUTE(_LA),/6 _MI, _32,0, _LA,_2, MUTE(_LA),/6 _MI, _32,0, _DO1,_2, LOUD(_DO1),/1 _MI, _32,0, _SOL,_1, LOUD(_SOL),/5 _MI, _32,0, _FA,_2, MUTE(_FA),/4 _MI,

15、 _32,0, _FA,_2, MUTE(_FA),/4 _MI, _32,0, _LA,_2, MUTE(_LA),/6 _MI, _32,0, _LA,_2, MUTE(_LA),/6 _MI, _32,0, _MI,_2, MUTE(_MI),/3 _MI, _32,0, _MI,_2, MUTE(_MI),/3 _MI, _32,0, _MI,_2, MUTE(_MI),/3 _MI, _32,0, _MI,_2, MUTE(_MI),/3 _MI, _32,0, _RE, _2,MUTE(_RE), /2 _MI, _32,0, _RE, _2,MUTE(_RE), /2 _MI,

16、_32,0, _RE, _2,MUTE(_RE), /2 _MI, _32,0, _RE, _2,MUTE(_RE), /2 _MI, _32,0, _SOL,_1, MUTE(_SOL),/5_MI, _32,0, _SOL,_4, MUTE(_SOL),/5_DO,_2, MUTE(_DO),/1_MI, _32,0, _DO,_2, MUTE(_DO),/1_MI, _32,0, _DO,_2, MUTE(_DO),/1_MI, _32,0, _MI,_2, MUTE(_MI),/3_MI, _32,0, _SOL,_2, MUTE(_SOL),/5_MI, _32,0, _SOL,_2

17、, MUTE(_SOL),/5_MI, _32,0, _SOL,_2, MUTE(_SOL),/5_MI, _32,0, _SOL,_2,MUTE(_SOL),/5_MI, _32,0, _LA,_2, MUTE(_LA),/6_MI, _32,0, _LA,_2, MUTE(_LA),/6_MI, _32,0, _LA,_2, MUTE(_LA),/6_MI, _32,0, _DO1,_2, MUTE(_DO1),/1_MI, _32,0, _SOL,_1, LOUD(_SOL),/5_FA,_2, LOUD(_FA),/4_MI, _32,0, _FA,_2, LOUD(_FA),/4_M

18、I, _32,0, _FA,_2, LOUD(_FA),/4_MI, _32,0, _LA,_2, MUTE(_LA),/6_MI, _32,0, _MI,_2, MUTE(_MI),/3_MI, _32,0, _MI,_4, MUTE(_MI),/3_MI, _32,0, _MI,_4, MUTE(_MI),/3_MI, _32,0, _MI,_2, MUTE(_MI),/3_MI, _32,0, _MI,_2, MUTE(_MI),/3_MI, _32,0, _RE, _2,LOUD(_RE), /2_MI, _32,0, _RE, _2,LOUD(_RE), /2_MI, _32,0,

19、_RE, _2,LOUD(_RE), /2_MI, _32,0, _MI,_2, MUTE(_MI),/3_MI, _32,0, _DO,_1, MUTE(_DO),/1;int dachangjinSONG_SIZE23 = _LA, _2, LOUD(_LA), /2 _SI, _2, MUTE(_SI), /3 _SI, _2, MUTE(_SI), /3 _SI, _2d,LOUD(_SI), /3. _LA, _4, MUTE(_LA), /2_ _SOL,_2, MUTE(_SOL),/1 _MI, _2, LOUD(_MI), /.6 _SOL,_2, MUTE(_SOL),/1

20、 _SOL,_2d, MUTE(_SOL),/1 _LA, _16,MUTE(_LA), /2_ _SOL,_1d,MUTE(_SOL),/1- _LA, _2, LOUD(_LA), /2 _SI, _2, MUTE(_SI), /3 _SI, _2, MUTE(_SI), /3 _SI, _2d,LOUD(_SI), /3. _RE1,_4, MUTE(_RE1),/5 _SI, _2, MUTE(_SI), /3 _SI, _2, MUTE(_SI), /3 _LA, _2, MUTE(_LA), /2 _SI, _2, MUTE(_SI), /3 _SI, _4d,MUTE(_SI),

21、 /3- _RE1,_2, LOUD(_RE1),/5 _MI1,_2, MUTE(_MI1),/6 _MI1,_2, MUTE(_MI1),/6 _MI1,_2d,LOUD(_MI1),/6 _RE1,_4, MUTE(_RE1),/5 _SI, _2, MUTE(_SI), /3 _SI, _2, LOUD(_SI), /3 _RE1,_2, MUTE(_RE1),/5 _MI1,_4, MUTE(_MI1),/6 _RE1,_16,MUTE(_RE1),/5 _MI1,_16,MUTE(_MI1),/6 _RE1,_1d,MUTE(_RE1),/5 _LA, _2, LOUD(_LA),

22、 /2 _SI, _2, MUTE(_SI), /3 _SI, _2, MUTE(_SI), /3 _LA, _2d,LOUD(_LA), /3. _SI, _4, MUTE(_SI), /2 _SI, _2, MUTE(_SI), /3 _LA, _2, LOUD(_LA), /2 _SI, _2, MUTE(_SI), /3 _MI, _2, LOUD(_MI), /.6 _SOL,_8,MUTE(_SOL),/1 _MI, _1d,MUTE(_MI), /.6 _MI, _2,0, /stop _LA, _2, LOUD(_LA), /2 _SI, _2, MUTE(_SI), /3 _

23、SI, _2, MUTE(_SI), /3 _SI, _2d,LOUD(_SI), /3. _LA, _4, MUTE(_LA), /2_ _SOL,_2, MUTE(_SOL),/1 _MI, _2, LOUD(_MI), /.6 _SOL,_2, MUTE(_SOL),/1 _SOL,_8d,MUTE(_SOL),/1 _LA, _16,MUTE(_LA), /2_ _SOL,_1d,MUTE(_SOL),/1- _LA, _2, LOUD(_LA), /2 _SI, _2, MUTE(_SI), /3 _SI, _2, MUTE(_SI), /3 _SI, _2d,LOUD(_SI),

24、/3. _RE1,_4, MUTE(_RE1),/5 _SI, _2, MUTE(_SI), /3 _SI, _2, MUTE(_SI), /3 _LA, _2, MUTE(_LA), /2 _SI, _2, MUTE(_SI), /3 _SI, _1d,MUTE(_SI), /3- _RE1,_2, LOUD(_RE1),/5 _MI1,_2, MUTE(_MI1),/6 _MI1,_2, MUTE(_MI1),/6 _MI1,_2d,LOUD(_MI1),/6 _RE1,_4, MUTE(_RE1),/5 _SI, _2, MUTE(_SI), /3 _SI, _2, LOUD(_SI),

25、 /3 _RE1,_2, MUTE(_RE1),/5 _MI1,_2, MUTE(_MI1),/6 _RE1,_1d,MUTE(_RE1),/5 _LA, _2, LOUD(_LA), /2 _SI, _2, MUTE(_SI), /3 _SI, _2, MUTE(_SI), /3 _LA, _2d,LOUD(_LA), /3. _SI, _4, MUTE(_SI), /2 _SI, _2, MUTE(_SI), /3 _LA, _2, LOUD(_LA), /2 _SI, _2, MUTE(_SI), /3 _MI, _2, LOUD(_MI), /.6 _SOL,_8,MUTE(_SOL)

26、,/1 _MI, _1d,MUTE(_MI), /.6- _LA, _8,LOUD(_LA), /2 _LA, _8,LOUD(_LA), /2 _LA, _8d,LOUD(_LA), /2 _SOL,_4, MUTE(_SOL),/1 _MI, _2, MUTE(_MI), /.6 _LA, _8,LOUD(_LA), /2 _LA, _8,LOUD(_LA), /2 _LA, _8d,LOUD(_LA), /2 _SOL,_4, MUTE(_SOL),/1 _MI, _2, MUTE(_MI), /.6 _LA, _2, LOUD(_LA), /2 _SI, _2, MUTE(_SI),

27、/3 _SOL,_2, MUTE(_SOL),/1 _LA, _2d,LOUD(_LA), /2 _SI, _4, MUTE(_SI), /3 _RE1,_2, MUTE(_RE1),/5 _MI1,_8,LOUD(_MI1),/6 _MI1,_8,LOUD(_MI1),/6 _MI1,_8d,LOUD(_MI1),/6 _RE1,_4, MUTE(_RE1),/5 _SI, _2, MUTE(_SI), /3 _LA, _8,LOUD(_LA), /2 _LA, _8,LOUD(_LA), /2 _LA, _8d, LOUD(_LA), /2 _SOL,_4, MUTE(_SOL),/1 _

28、MI, _2, MUTE(_MI), /.6 _MI, _2, LOUD(_MI), /.6 _RE, _2, MUTE(_RE), /.5 _MI, _2, MUTE(_MI), /.6 _MI, _1d,MUTE(_MI), /.6 _MI, _2,0, /stop _MI, _2,0, /stop;/*_1SOL, _4d, MUTE(_1SOL), /.1 _1LA, _4d, MUTE(_1LA), /.2 _1SI, _4d, MUTE(_1SI), /.3 _DO, _4d, MUTE(_DO), /.4 _RE, _4d, MUTE(_RE), /.5_MI, _4d, MUTE(_MI), /.6_FA, _4d, MUTE(_FA), /.7 _SOL, _4d, MUT

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1