本题目为音乐流水灯的设计,目的是熟练掌握DSP定时器的控制、中断系统的应用以及程序的编写调试。
1、让DSP发出不同的音乐音调;
2、存储一个简单音乐(自选);
3、音乐的音调对应不同的灯
4、启动开关按下时,音乐流水灯开始运行,在播放音乐的同时,LED灯根据不同音调点亮;
5、按要求编写课程设计报告书,正确、完整的阐述设计和实验结果。
我们单片机的发声是通过蜂鸣器发出的,所以我们先了解一下蜂鸣器:
1.蜂鸣器介绍
蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、 打印机、 复印机、 报警器、 电子玩具、 汽车电子设备、 电话机、 定时器等电子产品中作发声器件。蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。
压电式蜂鸣器主要由多谐振荡器、 压电蜂鸣片、 阻抗匹配器及共鸣箱、 外壳等组成。 多谐振荡器由晶体管或集成电路构成, 当接通电源后( 1.5~15V 直流工作电压),多谐振荡器起振,输出 1.5~5kHZ 的音频信号, 阻抗匹配器推动压电蜂鸣片发声。(无源蜂鸣器)
所以要使蜂鸣器发声,只需要频率在1.5到5khz之间即可
下面我们通过一个实验使DSP芯片发声:
打开ccs软件
1.新建一个项目:在我之前的博客写过
2.项目中的文件如下:(采用的是模块化编程),每个模块写好之后具有移植性
leds.c
#include "leds.h"
/*******************************************************************************
* 函 数 名 : LED_Init
* 函数功能 : LED初始化函数
* 输 入 : 无
* 输 出 : 无
*******************************************************************************/
void LED_Init(void)
{
EALLOW;
SysCtrlRegs.PCLKCR3.bit.GPIOINENCLK = 1;// 开启GPIO时钟
//LED1端口配置
GpioCtrlRegs.GPCMUX1.bit.GPIO68=0;//设置为通用GPIO功能
GpioCtrlRegs.GPCDIR.bit.GPIO68=1;//设置GPIO方向为输出
GpioCtrlRegs.GPCPUD.bit.GPIO68=0;//使能GPIO上拉电阻
//LED2端口配置
GpioCtrlRegs.GPCMUX1.bit.GPIO67=0;
GpioCtrlRegs.GPCDIR.bit.GPIO67=1;
GpioCtrlRegs.GPCPUD.bit.GPIO67=0;