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

📄 speechplay.c

📁 用凌阳单片机编的一个带AD采集
💻 C
字号:
//========================================================================================================
// 文件名称:SpeechPlay.c
// 实现功能:实现与硬件相关的底层操作
// 日    期:2003/7/7
//========================================================================================================
#include "s480.h"
//#include "main.h"

#define  C_RSP_NUM_BASE    4  
#define  C_RSP_Dot    	   14  //点
#define  C_RSP_Voltage      2  //伏
#define P_Watchdog_Clear     (volatile unsigned int *)0x7012 
#define P_TimerA_Data       (volatile unsigned int *)0x700A        // Data port for TimerA 
#define P_TimerA_Ctrl       (volatile unsigned int *)0x700B        // Control Port for TimerA

#define P_IOB_Dir           (volatile unsigned int *)0x7007        // Direction vector for IOB
#define P_IOB_Attrib        (volatile unsigned int *)0x7008 
#define P_FeedBack            (volatile unsigned int *)0x7009  

#define P_TimerB_Data       (volatile unsigned int *)0x700C        // Data port for TimerB
#define P_TimerB_Ctrl       (volatile unsigned int *)0x700D        // Control Port for TimerB
 
#define	P_IOA_Data 				(volatile unsigned int *)0x7000   
#define P_IOA_Buffer 			(volatile unsigned int *)0x7001
#define P_IOA_Dir 				(volatile unsigned int *)0x7002
#define P_IOA_Attrib 			(volatile unsigned int *)0x7003	 
void F_PlayRespond(unsigned int);
extern float uiData;
extern unsigned int freval;
extern unsigned char key1;
//========================================================================================================
//函数: F_SpeechPlayChannelData
//语法:void F_SpeechPlayChannelData()
//描述:语音播放通道的电压值
//参数:无
//返回:无
//========================================================================================================
void F_SpeechPlayChannelData(uiData)
{
	unsigned int k[3];
	unsigned int uiShi;						//显示的十位
	unsigned int uiGe;						//显示的个位
	unsigned int uiShi_d;
	unsigned int uiGe_d;
	 k[0]=*P_IOA_Dir;
	 k[1]=*P_IOA_Attrib;
	 k[2]=*P_IOA_Data;					//显示的十分位
		
	 uiData=uiData*10;
     uiShi=uiData/10;
     uiShi_d=uiData-uiShi*10;
     
  
	if(key1==2)
	{
	   uiShi_d=freval/10;
       uiGe_d=freval-uiShi_d*10;
	  if(uiShi_d)
	  	{ F_PlayRespond((unsigned int)(C_RSP_NUM_BASE+uiShi_d));
	        F_PlayRespond(15);
	  	}
	   F_PlayRespond((unsigned int)(C_RSP_NUM_BASE+ uiGe_d));
	}	
    else
	{
	F_PlayRespond(1);
	 F_PlayRespond((unsigned int)(C_RSP_NUM_BASE+uiShi));

	F_PlayRespond(C_RSP_Dot);
	F_PlayRespond((unsigned int)(C_RSP_NUM_BASE+uiShi_d));
	F_PlayRespond(C_RSP_Voltage);
	}
	*P_IOA_Dir=0xfff0;
	 *P_IOA_Attrib=0xfff0;
	*P_IOA_Data=k[2];

	
}
///========================================================================================================
//函数: F_PlayRespond
//语法:void F_PlayRespond()
//描述:播放语音数据
//参数:无
//返回:无
//========================================================================================================
void F_PlayRespond(unsigned int Result)      //播放语音
{  
   SACM_S480_Initial(1);
   SACM_S480_Play(Result,3,3);
   while((SACM_S480_Status()&0x0001) != 0)
   {    *P_Watchdog_Clear=1; 
    	SACM_S480_ServiceLoop(); 
    	
   }
   SACM_S480_Stop();
}

⌨️ 快捷键说明

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