📄 main.c
字号:
//=======================================================================
// The information contained herein is the exclusive property of
// Sunnnorth Technology Co. And shall not be distributed, reproduced,
// or disclosed in whole in part without prior written permission.
// (C) COPYRIGHT 2003 SUNNORTH TECHNOLOGY CO.
// ALL RIGHTS RESERVED
// The entire notice above must be reproduced on all authorized copies.
//=======================================================================
//=======================================================================
// 工程名称:ms01.scs
//
// 功能描述:可以完成MIDI音乐的播放、停止、暂停、继续播放、音量增加、
// 音量减少、播放下一首、播放前一首
//
// 文件来源:《SPCE061A单片机实验指导书》
// " 语音实验部分 实验四 SACM-MS01 "
//
// IDE 环境:SUNPLUS u'nSP IDE 1.8.0
//
// 涉及的库:SACMV25.lib
//
// 组成文件: main.c
// hardware.asm/ISR.asm/Resource.asm/key.asm/system.asm
// Resource.inc/hardware.inc/key.inc/ms01.inc/system.inc
// Resource.h
//
// 日期: 2003-6-20
//=======================================================================
#include "hardware.h"
#include "ms01.h"
#define Disable 0
#define Enable 1
#define MaxSongNum 11 // 最大语音资料文件个数
#define MaxVolume 15 // 最大音量
#define Inst_Max_Num 35 // 乐器混合数
#define Drum_Max_Num 20 // 鼓点数
#define Ramp_UpDn_Off 0
#define Ramp_Up_On 1
#define Ramp_Dn_On 2
#define Ramp_UpDn_On 3
#define DAC_24K 1
#define DAC_20K 2
#define DAC_16K 3
#define Manual 0
#define Auto 1
#define Hou1 0x07
#define Min1 0x0A
#define Hou2 0x0D
#define Min2 0x1E
int Ret = 0;
unsigned short Flag; // 定义子程序返回值
unsigned short Hou , Min , Sec;
void Time();
int main()
{
Flag = 1;
Hou = 0x07;
Min = 0x09;
Sec = 0x00;
U_System_Initial();
SACM_MS01_Initial(DAC_24K); /*Initialize the broadcast, In MS01 mode, 1:24KBps; 2:20KBps; 3:16KBps*/
U_System_Initial();
SACM_MS01_Volume(1);
SACM_MS01_ChannelOff(0);
SACM_MS01_ChannelOff(1);
while(1)
{ switch(Flag)
{ case(0): SACM_MS01_Stop(); // 停止播放
U_System_Initial();
Flag = 3;
break;
case(1): SACM_MS01_Play(0,DAC1+DAC2, Ramp_UpDn_On); // 播放音乐
U_System_Initial();
Flag = 3;
break;
case(2): SACM_MS01_Play(0,DAC1+DAC2, Ramp_UpDn_On); // 播放音乐
U_System_Initial();
Flag = 3;
break;
default: break;
}
Ret = SACM_MS01_ServiceLoop(); // SACM-MS01 播放子程序
F_ClearWatchdog() ; //清看门狗
}
return 0;
}
void Time()
{
Sec++;
if(Sec == 60)
{
Sec = 0;
Min++;
if(Min == 60)
{
Min = 0;
Hou ++;
if(Hou == 24)
Hou = 0;
}
if(Hou == Hou1 && Min == Min1)
Flag = 1;
else if(Hou == Hou1 && Min == Min1+1)
Flag = 0;
else if(Hou == Hou2 && Min == Min2)
Flag = 2;
else if(Hou == Hou2 && Min == Min2+1)
Flag = 0;
else
Flag = 3;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -