⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 电压控制程序,符合各种设备需要,核心程序,IBm专属
💻 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.
//======================================================================
//======================================================================
//  工程名称:  ex3_LED_Key_Music 
//  功能描述:  《实验仪指导书》综合实验
//              按键播放语音
//              不同的按键选择播放相对应的语句
//  涉及的库:	CMacro1016.lib
//				sacmv26e.lib         	
//  组成文件:	main.c
//				isr.asm/key.asm/Led.asm/hardware.asm
//      		hardware.h/s480.h/SPCE061A.h
//				hardware.inc/s480.inc/SPCE061A.inc
//  硬件连接:  实验仪KEYPAD接口的IOA7~IOA0与COL1~COL8分别连接,IOA8与ROW连接
//				IOB8~IOB15与LED_SEG接口的a~h连接
//				LED_DIG接口的IOB2与DIG1连接
//  日期:       2005-10-17  v1.0(建立)
//======================================================================
//======================================================================
//	文件名称:	main.c
//	功能描述:	1*8键盘控制语音播放
//	维护记录:	2005-10-17	v1.0
//======================================================================
#include "SPCE061A.h"
#include "Key.h"
#include "Dig.h"
#include "s480.h"    

#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

//=============================================================================================== 
// 语法格式:	int  main(void)
// 实现功能:	主函数
// 参数:		无
// 返回值:		0
//===============================================================================================
void Initial_INT(void);

unsigned int g_Data[] = {0x003f,0x0006,0x005b,0x004f,0x0066,0x006d,0x007d,0x0007,0x007f,0x006f};
						   //0,	     1,		2,		3,		4,	  5,	6,		7,		8,		9
int  main(void)
{
	unsigned int Keycode; 

	*P_IOA_Dir |= 0x0100;					// IOA8输出高电平
	*P_IOA_Attrib |= 0x0100;
	*P_IOA_Buffer |= 0x0100;
    
	Key_Init();
	DIG_Init();
	
	Initial_INT();
	
	SACM_S480_Initial(Auto);                                   //初始化为自动方式播放
 	while(1) 
	{
	    *P_Watchdog_Clear = 0x0001;                             // 清看门狗
	    Keycode = Key_Get();                                 	//扫描键盘
	    switch(Keycode)
	    {
	    	case 0x80:											// K1
	    		SACM_S480_Play(0,DAC1+DAC2,Ramp_UpDn_On); 		// 播放语音资源s1
	    		SACM_S480_Volume(15);	                        // 设置播放音量
	    		DIG_Set(1, g_Data[1]);							// 数码管显示按键序号
	    		break;
	    	case 0x40:											// K2
	    		SACM_S480_Play(1,DAC1+DAC2,Ramp_UpDn_On); 		// 播放语音资源s2
	    		SACM_S480_Volume(15);	                        // 设置播放音量
	    		DIG_Set(1, g_Data[2]);							// 数码管显示按键序号
	    		break;
	    	case 0x20:											// K3
	    		SACM_S480_Play(2,DAC1+DAC2,Ramp_UpDn_On); 		// 播放语音资源s3
	    		SACM_S480_Volume(15);	                        // 设置播放音量
	    		DIG_Set(1, g_Data[3]);							// 数码管显示按键序号
	    		break;
	    	case 0x10:											// K4
	    		SACM_S480_Play(3,DAC1+DAC2,Ramp_UpDn_On); 		// 播放语音资源s4
	    		SACM_S480_Volume(15);	                        // 设置播放音量
	    		DIG_Set(1, g_Data[4]);							// 数码管显示按键序号
	    		break;
	    	case 0x08:											// K5
	    		SACM_S480_Play(4,DAC1+DAC2,Ramp_UpDn_On); 		// 播放语音资源s5
	    		SACM_S480_Volume(15);	                        // 设置播放音量
	    		DIG_Set(1, g_Data[5]);							// 数码管显示按键序号
	    		break;
	    	case 0x04:											// K6
	    		SACM_S480_Play(5,DAC1+DAC2,Ramp_UpDn_On); 		// 播放语音资源s6
	    		SACM_S480_Volume(15);	                        // 设置播放音量
	    		DIG_Set(1, g_Data[6]);							// 数码管显示按键序号
	    		break;
	    	case 0x02:											// K7
	    		SACM_S480_Play(6,DAC1+DAC2,Ramp_UpDn_On); 		// 播放语音资源s7
	    		SACM_S480_Volume(15);	                        // 设置播放音量
	    		DIG_Set(1, g_Data[7]);							// 数码管显示按键序号
	    		break;
	    	case 0x01:											// K8
	    		SACM_S480_Play(7,DAC1+DAC2,Ramp_UpDn_On); 		// 播放语音资源s8
	    		SACM_S480_Volume(15);	                        // 设置播放音量
	    		DIG_Set(1, g_Data[8]);							// 数码管显示按键序号
	    		break;
	    	default:
	    		break;
        }
	    SACM_S480_ServiceLoop();                                // 获取语音数据并将其填入解码队列      
	    *P_Watchdog_Clear = 0x0001;                             // 清看门狗
    }
	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -