main.c
来自「试验仪自检程序」· C语言 代码 · 共 102 行
C
102 行
//======================================================
// 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.
//========================================================
//============================================================
// 工程名称: LED_Dots_Key_Music.spj
// 功能描述: 通过1*8按键扫描,不同的按键完成不同的语音播放控制。
// 文件来源:《实验仪实验指导书》"实验三十五 1*8键盘播放语音" 第125页
// IDE环境: SUNPLUS u'nSPTM IDE 1.8.4
//
// 涉及的库:
// 组成文件:
// main.c/hardware.asm/isr.asm/key.asm/led.asm
//============================================================
//============================================================
// 文件名称:main.c
// 实现功能: 通过1*8按键扫描,不同的按键完成不同的语音播放控制
//============================================================
#include "hardware.h"
#include "s480.h"
#define GREEN 0x00ff
#define RED 0xff00
#define HaveKey 1
#define NoKey 0
#define SPEECH_1 0
#define DAC1 1
#define DAC2 2
#define Ramp_UpDn_Off 0
#define Ramp_Up_On 1
#define Ramp_Dn_On 2
#define Ramp_UpDn_On 3
#define Auto 1
#define Full 1
#define Empty 2
unsigned char Keycode;
unsigned char KeyFlag; //按键标识
//=============================================================
// 函数名称: int main()
// 功能描述: 通过1*8按键扫描,不同的按键完成不同的语音播放控制
// 语法格式: int main()
//入口参数: 无
// 出口参数: 无
// 注意事项: 仅为用户模型
//=============================================================
int main(void)
{
KeyFlag = 0;
Keycode = 12;
SP_Init_B();
SP_Init_A();
SP_Init_DisplayBuff();
show();
SACM_S480_Initial(Auto); //自动方式播放初始化
while(1)
{
F_ClearWatchdog(); // 清看门狗
Keycode = F_Key_Scan();//扫描键盘
while(KeyFlag == HaveKey)
{
KeyFlag = NoKey;
if(Keycode == 10) Keycode = 0;
show();
switch(Keycode)
{
case 1: SACM_S480_Play(0,DAC1+DAC2,Ramp_UpDn_On);//定义语音索引号、播放通,允许音量增/减调节
break;
case 2: SACM_S480_Play(1,DAC1+DAC2,Ramp_UpDn_On);break;
case 3: SACM_S480_Play(2,DAC1+DAC2,Ramp_UpDn_On); break;
case 4: SACM_S480_Play(3,DAC1+DAC2,Ramp_UpDn_On);//定义语音索引号、播放通,允许音量增/减调节
break;
case 5: SACM_S480_Play(4,DAC1+DAC2,Ramp_UpDn_On);//定义语音索引号、播放通,允许音量增/减调节
break;
case 6: SACM_S480_Play(5,DAC1+DAC2,Ramp_UpDn_On);//定义语音索引号、播放通,允许音量增/减调节
break;
case 7:SACM_S480_Play(6,DAC1+DAC2,Ramp_UpDn_On);//定义语音索引号、播放通,允许音量增/减调节
break;
case 8:SACM_S480_Play(7,DAC1+DAC2,Ramp_UpDn_On);//定义语音索引号、播放通,允许音量增/减调节
break;
case 9:SACM_S480_Play(8,DAC1+DAC2,Ramp_UpDn_On);//定义语音索引号、播放通,允许音量增/减调节
break;
case 0:SACM_S480_Play(9,DAC1+DAC2,Ramp_UpDn_On);//定义语音索引号、播放通,允许音量增/减调节
break;
default: break;
}
}
SACM_S480_ServiceLoop(); // 获取语音数据并将其填入解码队列
F_ClearWatchdog(); // 清看门狗
}
return 0;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?