基于sopc的 蜂鸣器 实验

实验五 蜂鸣器音乐播放实验

一、实验目的

(1)、掌握蜂鸣器音乐播放的实验原理。

(2)、学习PWM对交流蜂鸣器的控制。

二、实验设备

硬件:PC机,SmartSOPC教学实验开发平台SmartSOPC_standard_lc6 Nios II系统。 软件:Quartus Ⅱ6.0、SOPC Buider6.0、NiosⅡIDE6.0。

三、实验内容

利用光盘提供的PWM对交流蜂鸣器进行控制,实现乐曲《大长今》的播放。

实验箱的蜂鸣器是交流蜂鸣器,在BEEP输入一定频率的脉冲时,蜂鸣器蜂鸣。改变输入频率可以改变蜂鸣器的响声。因此,可以利用一个PWM来控制BEEP,通过改变PWM的频率来得到不同的响声,以此来播放音乐。

实验模板位于:配套光盘\SmartSOPC\ SmartSOPC_Software_Template\Music_C。

四、实验步骤

预习本书第1章的内容,熟悉蜂鸣器控制电路。熟悉配套光盘中PWM核(altera_avalon_pwm)VHDL的源码,了解其实现原理。了解配套光盘中PWM核驱动函数的功能和结构。

(1) 启动NiosII IDE,新建一个空白C\C++工程,并命名为Music_C。

(2) 参考提供的参考程序,在Music_C工程文件夹中新建应用程序文件music_c以及music_h。

(3)确认添加NiosII系统,请确认添加altera_avalon_pwm,并重命名为beep_pwm。

(4)在System Library设置页中,把标准输入输出设备指定为jtag_uart,这样可以通过jtag_uart来调试程序,再把程序和数据区都指定为adram。

(5)下载硬件配置文件(SmartSOPC_standard_1c6)到FPGA。

(6)编译整个工程,查找语法错误。

(7)将实验箱主板上JP6上的BEEP、JP7跳线短接。

(8)全速运行程序,听《大长今》乐曲是否标准。

程序清单

#ifndef _MUSIC_H

#define _MUSIC_H

#include "system.h"

#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

C语言sopc蜂鸣器按键弹奏中音,基于sopc 蜂鸣器相关推荐

  1. C语言sopc蜂鸣器按键弹奏中音,SOPC乐曲演奏大作业.doc

    PAGE 1 综合实验 基于NiosII的乐曲演奏设计 单 位: 班 级: 组 员: 指导老师: 首 都 师 范 大 学 2012年5月 目录 TOC \o "1-3" \h \u ...

  2. FPGA VerilogHDL语言 数字钟 按键消抖

    1.描述 一个简单的基于FPGA的数字钟,语言用的是VerilogHDL,可以实现以下功能: 1. 数码管显示0-59(秒表) 2. 数码管显示:时-分-秒 3. 数码管显示时分秒并且可以设置时间(小 ...

  3. c语言设计模拟闹钟主函数,基于STM32F407的四重感觉人体自然唤醒仪器设计

    葛听雨 薛文彬 吴兴强 谢逸 摘要:现代生活不可避免的需要在清晨用闹钟来唤醒忙碌的工作者,而睡眠质量是关于人的身体健康的重要问题.传统的唤醒仪器,如普通闹钟,在闹铃工作的时候难以恰巧遇到被唤醒者的浅睡 ...

  4. STM32按键输入控制LED、蜂鸣器

    STMSTM32按键输入控制LED.蜂鸣器 基于stm32f407,为实现以上功能,可将问题分为三个部分:LED.蜂鸣器和按键输入. led部分 LED部分 c文件中分为三部分:①使能IO口时钟,②初 ...

  5. Chapter002-FPGA学习之按键控制LED灯和蜂鸣器

    硬件原理 在正点原子开发板中,LED模块高电平驱动,蜂鸣器也是高电平驱动,按键按下,对应引脚为低电平: 原理图如下: 以上设备与FPGA引脚的对照表如下: 设备 引脚名称 对应FPGA引脚 按键 PL ...

  6. R语言构建混淆矩阵(仿真数据)并基于混淆矩阵(confusion matrix)计算并计算Accuracy、Precision、Recall(sensitivity)、F1、Specificity指标

    R语言构建混淆矩阵(仿真数据)并基于混淆矩阵(confusion matrix)计算并计算Accuracy.Precision.Recall(sensitivity).F1.Specificity指标 ...

  7. R语言泊松回归(poisson)模型案例:基于robust包的Breslow癫痫数据集

    R语言泊松回归(poisson)模型案例:基于robust包的Breslow癫痫数据集 目录 R语言泊松回归(poisson)模型案例:基于robust包的Breslow癫痫数据集 #数据加载

  8. R语言数据热力图绘制实战(基于原生R函数、ggplot2包、plotly包)

    R语言数据热力图绘制实战(基于原生R函数.ggplot2包.plotly包) 目录 R语言数据热力图绘制实战(基于原生R函数.ggplot2包.plotly包)

  9. [原创][连载].基于SOPC的简易数码相框 - Nios II SBTE部分(软件部分) - 从SD卡内读取图片文件,然后显示在TFT-LCD上...

    实在很抱歉,时间紧张,我只讲怎样从SD卡内读取bin文件(二进制文件),然后现在TFT-LCD上. 准备工具 1. Image2Lcd.zip 操作步骤 步骤1 寻找或制作240x320的图片 简单起 ...

最新文章

  1. [文档].JLINK挂了怎么办?自己修![转载].JLINK_V8固件烧录和固件升级指导.pdf
  2. 面试官:换人!他连 TCP 这几个参数都不懂
  3. 搭建百度unit2.0测试代码(Java)
  4. 少儿编程语言python-Python少儿编程系列-前言-为什么学Python?
  5. git 放弃本地修改 强制更新
  6. 儿童手表怎么删除联系人_双11儿童手表选购指南:全天候24小时定位,做孩子的贴身保镖...
  7. apt-get的更新源
  8. toj 4316 报数游戏
  9. Vue-router之集成
  10. b站怎么删自己的专栏_麦当劳B站直播翻车,品牌B站营销到底应该怎么做?
  11. 眼看 Android 8.0 都出了,你还对 Android开发一窍不通?
  12. 黑马程序员-关于C语言基本运算的一些注意点
  13. 如何修改(显示)文本文档后缀名
  14. 谷歌翻译是如何获得突破性进展?
  15. python 邮件抄送是什么意思_python 获取邮件中的发件人From、收件人To、抄送人Cc...
  16. 嘉兴 机器人仓库 菜鸟_菜鸟在嘉兴推出全新智能仓 宣布将在双11启用超级机器人仓群...
  17. 关于微软Bing搜索语言无法更改的问题
  18. Ubuntu18.04风扇狂转的解决办法
  19. 爬虫——代理IP的高匿、匿名、透明介绍
  20. NTP调整系统时间同步

热门文章

  1. 一个高效的内存池实现
  2. Scala中心基金会成立
  3. [Logstash-input-redis] 使用详解
  4. Android TableLayout 常用的属性介绍及演示
  5. Linux数据文件自动迁移,linux下增加磁盘改变指定文件路径分区挂载点和迁移数据...
  6. 初探JavaScript(一)——也谈元素节点、属性节点、文本节点
  7. android最全面试题71道题 详解
  8. Android在初始化时弹出popwindow的方法
  9. POJ 1573 POJ 2632(两道有趣的Robot)实例
  10. Linux日志系统-03:logrotate主配置文件详解