?? show_temp.c
字號:
#include "VolMeasure.h" //定義了一個結構體
#include "SPLC501User.h"
#include "SPCE061A.h"
#include "logo.h"
extern float Degree;
extern int temp;
float Temp_Degree(float Vol_Value);
unsigned int AD_Read(void);
//========================================================================
//========================================================================
int Show_Temp(void)
{
float Vol_Value;
int i=0,j=0,k=0,m;
float fVolVal;
float De;
int uiVolFlag=0,uiVolFlagOne=0;
long int uiVolFlagHow=0;
unsigned int uiData;
long int liDataVol;
struct ST_VolValude VolValude;
*P_SystemClock=0x0088;
VolValude.VolTureValudeB=7; //初始化電壓采集值
LCD501_SetPaintMode(0);
LCD501_FontSet(0); //清屏
fVolVal=0.0;
while(1) //主循環
{
*P_DAC_Ctrl = 0;
*P_ADC_Ctrl = C_ADCE+C_MIC_DIS+C_AGCN+C_DAC_OUT3mA+C_VEXTREF_DIS+C_V2VREFB_DIS;
uiData = *P_ADC_LINEIN_Data;
while((*P_ADC_MUX_Ctrl&0x8000)!= 0x8000);
*P_ADC_MUX_Ctrl=C_ADC_CH1;
//播放語音后會改變P_ADC_Ctrl的設置
uiData=AD_Read(); //丟掉第一個數
j=0;
for(i=0;i<20;i++) //采20個數據到VolValude.VolValudeA[j]
{
*P_Watchdog_Clear=C_WDTCLR;
uiData=AD_Read();
VolValude.VolValudeA[j]= uiData;
j++;
}
uiVolFlagOne=0xff;
uiVolFlag=0;
j=0;
uiData=0;
liDataVol=0;
for(i=0;i<20;i++)
{
liDataVol=liDataVol+VolValude.VolValudeA[j];
j++;
}
uiData=liDataVol/20;
VolValude.VolTureValudeA=(float)uiData*3.3/0xffc0; //得到電壓值
fVolVal=VolValude.VolTureValudeB-VolValude.VolTureValudeA;
k=0;
Vol_Value=VolValude.VolTureValudeA; //取得要在LCD上顯示的數據,存入VolValude.LCD[j]
De=Temp_Degree(Vol_Value);
VolValude.LCD[1]=(int)De/100%10;
VolValude.LCD[2]=(int)De/10%10;
VolValude.LCD[3]=(int)De%10;
VolValude.LCD[4]=temp%10;
LCD501_PutChar(86,30,('.'));
LCD501_Bitmap(99 ,33,(unsigned int *)encoding_19); //oC
LCD501_PutChar(58,30,('0'+VolValude.LCD[1])); //預留百位
LCD501_PutChar(68,30,('0'+VolValude.LCD[2]));
LCD501_PutChar(78,30,('0'+VolValude.LCD[3]));
LCD501_PutChar(90,30,('0'+VolValude.LCD[4]));
return;
// }
}
}
//================================================================
unsigned int AD_Read(void)
{
unsigned int bData;
while(!(*P_ADC_MUX_Ctrl&0x8000)); //等待采樣完成
bData=*P_ADC_LINEIN_Data;
bData = bData&0xffc0;
return bData;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -