基于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