?? adc.c
字號:
void ADCInit()
{
AMX0CF = 0x00; //通道設置為單端輸入模式
AMX0SL = 0x0F; //選擇通道7
ADC0CF = 0xf8; //設置采樣轉換時鐘周期
ADC0CN = 0xD0; //采樣控制使能
}
void ADC_Start(BYTE CHAN)
{
AMX0SL = CHAN; //選擇通道7
ADC0CN &= 0xDF; //清除中斷控制位
ADC0CN |= 0x10; //啟動采樣轉換
}
/*
uint ReadADC()
{
byte DatL,DatH;
DatL = ADC0CN;
if(DatL&0x20)
{
DatL = ADC0L;
DatH = ADC0H;
}
ADC0CN &= 0xDF;
return(DatH*256+DatL);
}
*/
uint TempCount(uint temp)
{
// uint dat;
// ulong ch;
float a,b,c;
temp/=4;
a = 0.776*1024.0/3.3;
b = 0.00286*1024.0/3.3;
//dat = 0.776*1024/3.3 = 241;
//ch = 0.00286*1024.0/3.3= 0.887;
a += (b*22);
c = temp;
c -= a;
//c *= 10;
c /= b;
return (uint)c;
}
void PADCGgatherInt() interrupt 15
{
AdDat.Byt.Li= ADC0L;
AdDat.Byt.Hi = ADC0H;
ADC0CN &= 0xDF;
AdcBuff[CHAN][adcbufCnt]=AdDat.Dat;
CHAN++;
if(CHAN<8) ADC_Start(CHAN);
//else CHAN = 0;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -