没有合适的资源?快使用搜索试试~ 我知道了~
实验4 dsp-tms28335-硬汉科技-电子琴设计.pdf
需积分: 5 2 下载量 197 浏览量
2023-12-16
14:53:42
上传
评论
收藏 143KB PDF 举报
温馨提示
试读
20页
这就是电子琴设计的完整代码
资源推荐
资源详情
资源评论
#include "DSP2833x_Device.h" // DSP2833x Headerfile Include File
#include "DSP2833x_Examples.h" // DSP2833x Examples Include File
#include "leds.h"
#include "key.h"
#include "beep.h"
#define DISABLE_TIMER1_INT IER &= 0xFFFE;
#define ENABLE_TIMER1_INT IER |= M_INT1;
Uint16 Musi[23]={ //单位 us,不同频率下,蜂鸣器发出不同音调的声音
0,
3816, //L_do
3496, //L_re
3215, //L_mi
2865, //L_fa
2551, //L_so
2272, //L_la
2024, //L_xi
1912, //do
1703, //re
1517, //mi
1432, //fa
1275, //so
1136, //la
1013, //xi
956, //H_do
851, //H_re
758, //H_mi
716, //H_fa
638, //H_so
568, //H_la
506, //H_xi
0xFF //STOP
};
Uint16 Song1[]={9};//2//16
Uint16 Song2[]={10};//3//17
Uint16 Song3[]={11};//4//18
Uint16 Song4[]={12};//5//19
Uint16 Song5[]={13};//6//20
Uint16 Song6[]={14};//7//21
Uint16 Song7[]={15};//8//22
Uint16 DT1[]={2}; //节拍
Uint16 DT2[]={3};
Uint16 DT3[]={4};
Uint16 DT4[]={5};
Uint16 DT5[]={6};
Uint16 DT6[]={7};
Uint16 DT7[]={8};
void Delay(Uint16 t) //延时
函数
{
Uint32 i=0;
Uint32 gain = 300000; //延时
增益
Uint32 base=0;
base=gain*t;
for(i=0;i<=base;i++);
}
interrupt void cpu_timer0_isr(void);
extern void Show1(void);
extern void Show2(void);
extern void Show3(void);
extern void Show4(void);
extern void Show5(void);
extern void Show6(void);
extern void Show7(void);
/******************************************************************************
*
* 函 数 名 : main
* 函数功能 : 主函数
* 输 入 : 无
* 输 出 : 无
*******************************************************************************
/
void Show1(void)
{
Uint16 addr=0;
while(1)
{
if(Musi[Song1[addr]]==0xFF)
{
return; //音
乐播放结束
}
else
{
StopCpuTimer0(); //停
止计数
DISABLE_TIMER1_INT; //不
使能定时中断
ConfigCpuTimer(&CpuTimer0, 150, Musi[Song1[addr]+8]/2); //设置定
时时间
StartCpuTimer0(); //重启
定时器
ENABLE_TIMER1_INT; //
使能定时中断
Delay(DT1[addr]); //音
乐节拍延时
StopCpuTimer0(); //停
止计数
DISABLE_TIMER1_INT; //不
使能定时中断
BEEP_OFF; //
关闭蜂鸣器
Delay(2);
addr++;
break;
}
}
}
void Show2(void)
{
Uint16 addr=0;
while(1)
{
if(Musi[Song2[addr]]==0xFF)
{
return; //音
乐播放结束
}
else
{
StopCpuTimer0(); //停
止计数
DISABLE_TIMER1_INT; //不
使能定时中断
ConfigCpuTimer(&CpuTimer0, 150, Musi[Song2[addr]+8]/2); //设置定
时时间
StartCpuTimer0(); //重启
定时器
ENABLE_TIMER1_INT; //
使能定时中断
Delay(DT2[addr]); //音
乐节拍延时
StopCpuTimer0(); //停
止计数
DISABLE_TIMER1_INT; //不
使能定时中断
BEEP_OFF; //
关闭蜂鸣器
Delay(2); //音
乐停顿
addr++;
break;
}
}
}
void Show3(void)
{
Uint16 addr=0;
while(1)
{
if(Musi[Song3[addr]]==0xFF)
{
return; //音
乐播放结束
剩余19页未读,继续阅读
资源评论
王正义123
- 粉丝: 10
- 资源: 21
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- ISOSAE21434.D1-2020SAE美国汽车标准
- 奥比中光RGBD在JETSON ORIN NX的ROS程序
- SerialNumberUtil.java
- autojspro写的木鱼小软件,模拟木鱼的敲击声,提供源代码
- 修改windows服务器远程桌面端口批处理
- 黑马Java八股文面试题视频教程,Java面试八股文宝典(含阿里、腾迅大厂java面试真题,java数据结构,java并发
- java调用科大讯飞在线语音合成API -完整代码
- Python爬虫基础知识.zip
- Java八股文和面试项目介绍-春招秋招校招社招
- 其他类别JSP网页HTML编辑器 v1.0 beat-jsphtmleditor.7z
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功