//========================================================================
// 函數: void ADC_Inilize(ADC_InitTypeDef *ADCx)
// 描述: ADC初始化程序.
// 參數: ADCx: 結構參數,請參考adc.h里的定義.
// 返回: none.
// 版本: V1.0, 2012-10-22
//========================================================================
void ADC_Inilize(ADC_InitTypeDef *ADCx)
{
P1ASF = ADCx->ADC_Px; // 設置端口
ADC_CONTR = (ADC_CONTR & ~ADC_90T) | ADCx->ADC_Speed; //// 設定讀取數值的端口
if(ADCx->ADC_Power == ENABLE) ADC_CONTR |= 0x80; // 判斷ADC 是否使能上電狀態, 如果沒有就上電 如果有就進行轉換
else ADC_CONTR &= 0x7F;
if(ADCx->ADC_AdjResult == ADC_RES_H2L8) PCON2 |= (1<<5); //10位AD結果的高2位放ADC_RES的低2位,低8位在ADC_RESL。
else PCON2 &= ~(1<<5); //10位AD結果的高8位放ADC_RES,低2位在ADC_RESL的低2位。
if(ADCx->ADC_Interrupt == ENABLE) EADC = 1; //中斷允許 ENABLE,DISABLE
else EADC = 0;
if(ADCx->ADC_Polity == PolityHigh) PADC = 1; //優先級設置 PolityHigh,PolityLow
else PADC = 0;
}
|