📄 main.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 + -