?? ad.c
字號:
/****************************LPC935AD.C*******************************
*程序功能:測試LPC935 AD轉(zhuǎn)換功能
*轉(zhuǎn)換模式:單次轉(zhuǎn)換
*啟動方式:定時(shí)器0觸發(fā)
**************************************************************************/
/* 對于AD 轉(zhuǎn)換程序的編寫,主要需要注意的有5點(diǎn):
1. 管腳的控制(選為AD 轉(zhuǎn)換器輸入的管腳,均應(yīng)設(shè)置
為僅為輸入狀態(tài),禁止數(shù)字功能)。
2. AD轉(zhuǎn)換工作模式的設(shè)置,LPC935 具有6 種模式,
可通過設(shè)置ADMODA 獲得相應(yīng)的轉(zhuǎn)換模式。
3. AD轉(zhuǎn)換工作頻率(500KHz—3.3MHz)
及附加功能(DAC 或邊界檢測)的選擇。
4. AD轉(zhuǎn)換觸發(fā)、啟動方式的選擇
(通過設(shè)置ADCONx 獲得相應(yīng)的觸發(fā)方式)。
5. 每一次AD 轉(zhuǎn)換完成,注意將AD 轉(zhuǎn)換完成標(biāo)志位清0。
//***************************************************************************/
#include"reg935.h"
#include"UserDef.h"
uchar data lineVolt[3]; //[0] 保存A line volt,[1] 保存B line volt ,[3] 保存C line volt
uchar data lineCurrent[3]; //[0] 保存A line current,[1] 保存B line current ,[3] 保存C line current
/*漏電信息
[0]--漏電情況,1 : 有漏電;0 : 無漏電
[1]--漏電電流值
[2]--漏電線路,1: 表示A相漏電;2: 表示B相漏電; 3:表示C相漏電
*/
uchar data leakageCurrentMsg[3];
void ADConvert(void)
{
//AD0 轉(zhuǎn)換器
ADINS = 0x01; //選擇00 通道
ADCON0 = START_ADC;
while(!(ADCON0&0x08)); //采樣結(jié)束判斷
lineCurrent[0] = AD0DAT0;
ADCON0 &= 0xF7; //清除AD 轉(zhuǎn)換完成標(biāo)志
ADINS = 0x02; //選擇01 通道
ADCON0 = START_ADC;
while(!(ADCON0&0x08));
lineCurrent[1] = AD0DAT1;
ADCON0 &= 0xF7; //清除AD 轉(zhuǎn)換完成標(biāo)志
ADINS = 0x04; //選擇02 通道
ADCON0 = START_ADC;
while(!(ADCON0&0x08));
lineCurrent[2] = AD0DAT2;
ADCON0 &= 0xF7; //清除AD 轉(zhuǎn)換完成標(biāo)志
//AD1 轉(zhuǎn)換器
ADINS = 0x10; //選擇00 通道
ADCON1 = START_ADC;
while(!(ADCON1&0x08));
lineVolt[0] = AD1DAT0;
ADCON1 &= 0xF7; //清除AD 轉(zhuǎn)換完成標(biāo)志
ADINS = 0x20; //選擇01 通道
ADCON1 = START_ADC;
while(!(ADCON1&0x08));
lineVolt[1] = AD1DAT1;
ADCON1 &= 0xF7; //清除AD 轉(zhuǎn)換完成標(biāo)志
ADINS = 0x40; //選擇02 通道
ADCON1 = START_ADC;
while(!(ADCON1&0x08));
lineVolt[2] = AD1DAT2;
ADCON1 &= 0xF7; //清除AD 轉(zhuǎn)換完成標(biāo)志
ADINS = 0x80; //選擇03 通道
ADCON1 = START_ADC;
while(!(ADCON1&0x08));
leakageCurrentMsg[1] = AD1DAT3; //漏電流數(shù)值
ADCON1 &= 0x00; //清除AD 轉(zhuǎn)換完成標(biāo)志
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -