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

📄 main.c

📁 用凌阳SPCE061A单片机做成的数字语音电压表的源程序
💻 C
字号:
////////////////////////////////////////////////////////////////////////////////
//工程:Voice.scs 语音电压表
//作者:李银超
//建立:2006 9月1日
//使用方法:I0A0接被测电源正极 被测电源负极和61板GND 相连
//测量范围:0~3V
/////////////////////////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////////////////////
//函数名:void PlayRepond(int Speech_Table_Id)
//参数:要播放的语音在_RES_SPeech里面的偏移
//////////////////////////////////////////////////////////////////////////////
#include "SPCE061V004.h"
void PlayRespond(int Speech_Table_Id)
{	
	SACM_A2000_Initial(1);
	SACM_A2000_Play(Speech_Table_Id,3,3);
	while(SACM_A2000_Status()&0x01)
	{	
		SACM_A2000_ServiceLoop();
	}
}
void PlayResult(float Result)
{	
	unsigned int temp;
	temp=Result;
	PlayRespond(temp);
	PlayRespond(11);
	temp=Result*10;
	PlayRespond(temp%10);
	temp=Result*100;
	PlayRespond(temp%10);
	temp=Result*1000;
	PlayRespond(temp%10);
	temp=Result*10000;
	PlayRespond(temp%10);
	}
	
unsigned int Get_ADC_Var(unsigned int ADC_Channel)
{	
	unsigned int uiData;
	*P_ADC_MUX_Ctrl=ADC_Channel;			//选择通道-------IOA0
	*P_ADC_Ctrl= C_ADCE;					//ADC 使能
	uiData=*P_ADC_LINEIN_Data;				//ADC 开始
	
	while(!(*P_ADC_MUX_Ctrl&0x8000));		//等待,直到结束  
    uiData=*P_ADC_LINEIN_Data; 
	return(uiData&0xffc0);					//返回值
}	
		
		
		
int main()
{	
	unsigned long int uliADC_Var=0;
	int times;
	float Voltage=0.0;
	for(times=0;times<16;times+=1)
	{	
		*P_Watchdog_Clear=C_WDTCLR;
		uliADC_Var+=Get_ADC_Var(C_ADC_CH1);
		}
		uliADC_Var>>=4;
		Voltage=(float)uliADC_Var/0xffc0*3.33;
		PlayResult(Voltage);
}
		
	
	
	

⌨️ 快捷键说明

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