#include <p18f4520.h> //納入微控制器定義檔
#include <delays.h> //納入時間延遲函式庫定義檔
#include <adc.h> //納入類比訊號轉換函式庫定義檔
// 結構位元定義
#pragma config OSC=HS, BOREN=OFF, BORV = 2, PWRT=ON, WDT=OFF, LVP=OFF
void main () {
PORTD = 0x00; // 將PORTD清除關閉LED
TRISD = 0; // 將TRISD設為0,PORTD設定為輸出
ADCON0=0x01; // 選擇AN0通道轉換,開啟ADC模組
ADCON1=0x0E; // 使用VDD,VSS為參考電壓,設定AN0為類比輸入
ADCON2=0x3A; // 結果向左靠齊並設定轉換時間為Fosc/32,採樣時間為20TAD
ADCON0=0x05; // 選擇AN1通道轉換,開啟ADC模組
ADCON1=0x0D; // 使用VDD,VSS為參考電壓,設定AN0、AN1為類比輸入
ADCON2=0x3A; // 結果向左靠齊並設定轉換時間為Fosc/32,採樣時間為20TAD
ADCON0=0x09; // 選擇AN2通道轉換,開啟ADC模組
ADCON1=0x0C; // 使用VDD,VSS為參考電壓,設定AN0、AN1、AN2為類比輸入
ADCON2=0x3A; // 結果向左靠齊並設定轉換時間為Fosc/32,採樣時間為20TAD
while(1) {
Delay10TCYx(5); //時間延遲以完成採樣
ConvertADC() ; //進行訊號轉換
while(BusyADC()); //等待轉換完成
PORTD = ADRESH ; //將高位元組結果傳至LED
}
}
2013年10月22日 星期二
18f4520 ADC通道切換
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言