BusyADC(): char BusyADC(void);
ADC modülü o an analog-dijital çevirme işlemi yapıyor mu diye kontrol eder. Fonksiyonun dönüş değeri;
1: ADC modülü çevirme işlemi yapıyor.
2: ADC modülü herhangi bir çevirme işlemi yapmıyor.CloseADC(): void CloseADC(void);
ADC modülünü kapatır.ConvertADC(): void ConvertADC(void);
Analog’tan dijitale çevirme işlemini başlatır.OpenADC(): void OpenADC(unsigned char config, unsigned charconfig2, unsigned char portconfig);
ADC modülünü açar. Çeşitli parametlereleri aşağıda verildiği gibidir;
2: ADC modülü herhangi bir çevirme işlemi yapmıyor.CloseADC(): void CloseADC(void);
ADC modülünü kapatır.ConvertADC(): void ConvertADC(void);
Analog’tan dijitale çevirme işlemini başlatır.OpenADC(): void OpenADC(unsigned char config, unsigned charconfig2, unsigned char portconfig);
ADC modülünü açar. Çeşitli parametlereleri aşağıda verildiği gibidir;
config1: Birden fazla parametre alır fakat bunların hepsini OR işleminden geçirerek tek bir parametre haline getirir. Alabileceği parametreler aşağıdaki gibidir;
- A/D Clock Source: ADC çalışması için saat sinyali
ADC_FOSC_2: Çalışma frekansı(Fadc) = Fosc / 2
ADC_FOSC_4: Çalışma frekansı(Fadc) = Fosc / 4
ADC_FOSC_8: Çalışma frekansı(Fadc) = Fosc / 8
ADC_FOSC_16: Çalışma frekansı(Fadc) = Fosc / 16
ADC_FOSC_32: Çalışma frekansı(Fadc) = Fosc / 32
ADC_FOSC_64: Çalışma frekansı(Fadc) = Fosc / 64
ADC_FOSC_RC: Çalışma frekansı saat sinyali mikrodenetleyicinin içindeki osilatörden alınacak
- A/D Clock Source: ADC çalışması için saat sinyali
ADC_FOSC_2: Çalışma frekansı(Fadc) = Fosc / 2
ADC_FOSC_4: Çalışma frekansı(Fadc) = Fosc / 4
ADC_FOSC_8: Çalışma frekansı(Fadc) = Fosc / 8
ADC_FOSC_16: Çalışma frekansı(Fadc) = Fosc / 16
ADC_FOSC_32: Çalışma frekansı(Fadc) = Fosc / 32
ADC_FOSC_64: Çalışma frekansı(Fadc) = Fosc / 64
ADC_FOSC_RC: Çalışma frekansı saat sinyali mikrodenetleyicinin içindeki osilatörden alınacak
- A/D Result Justification:
ADC_RIGHT_JUST: Sonuç düşük anlamlı bitlerde
ADC_LEFT_JUST: Sonuç yüksek anlamlı bitlerde
ADC_RIGHT_JUST: Sonuç düşük anlamlı bitlerde
ADC_LEFT_JUST: Sonuç yüksek anlamlı bitlerde
- A/D Acquisition Time Select:ADC_0_TAD: 0 Tad
ADC_2_TAD: 2 Tad
ADC_4_TAD: 4 Tad
ADC_6_TAD: 6 Tad
ADC_8_TAD: 8 Tad
ADC_12_TAD: 12 Tad
ADC_16_TAD: 16 Tad
ADC_20_TAD:20 Tad
ADC_2_TAD: 2 Tad
ADC_4_TAD: 4 Tad
ADC_6_TAD: 6 Tad
ADC_8_TAD: 8 Tad
ADC_12_TAD: 12 Tad
ADC_16_TAD: 16 Tad
ADC_20_TAD:20 Tad
config2: Birden fazla parametre alır fakat bunların hepsini ORişleminden geçirerek tek bir parametre haline getirir. Alabileceği parametreler aşağıdaki gibidir;
- Channel: ADC çevrim sonucunun hangi kanal üzerinden okunacağını belirtir.
ADC_CH0: Channel 0
ADC_CH1: Channel 1
ADC_CH2: Channel 2
ADC_CH3: Channel 3
ADC_CH4: Channel 4
ADC_CH5: Channel 5
ADC_CH6: Channel 6
ADC_CH7: Channel 7
ADC_CH8: Channel 8
ADC_CH9: Channel 9
ADC_CH10: Channel 10
ADC_CH11: Channel 11
ADC_CH12: Channel 12
ADC_CH13: Channel 13
ADC_CH14: Channel 14
ADC_CH15: Channel 15
ADC_CH0: Channel 0
ADC_CH1: Channel 1
ADC_CH2: Channel 2
ADC_CH3: Channel 3
ADC_CH4: Channel 4
ADC_CH5: Channel 5
ADC_CH6: Channel 6
ADC_CH7: Channel 7
ADC_CH8: Channel 8
ADC_CH9: Channel 9
ADC_CH10: Channel 10
ADC_CH11: Channel 11
ADC_CH12: Channel 12
ADC_CH13: Channel 13
ADC_CH14: Channel 14
ADC_CH15: Channel 15
- A/D Interrupts: ADC modülünün çevirme işlemi sonucunda kesme oluşturup oluşturmayacağını ayarlar
ADC_INT_ON: Kesmeler aktif
ADC_INT_OFF: Kesmeler devre dışı
ADC_INT_ON: Kesmeler aktif
ADC_INT_OFF: Kesmeler devre dışı
- A/D voltage configuration:
ADC_VREFPLUS_VDD: VREF+ = VDD
ADC_VREFPLUS_EXT: VREF+ = external
ADC_VREFMINUS_VDD: VREF- = VDD
ADC_VREFMINUS_EXT: VREF- = external
ADC_VREFPLUS_VDD: VREF+ = VDD
ADC_VREFPLUS_EXT: VREF+ = external
ADC_VREFMINUS_VDD: VREF- = VDD
ADC_VREFMINUS_EXT: VREF- = external
portconfig: Bu değer 0 ile 15 arasında bir değerdir. ADC portlarının analog giriş yada dijital giriş/çıkış yapmak için ayarlanmasını sağlar. (0:0000 bütün girişler analog, 15:1111 bütün giriş/çıkışlar dijital)
Örnek kullanım;OpenADC( ADC_FOSC_32 & ADC_RIGHT_JUST & ADC_12_TAD, ADC_CH0 & ADC_INT_OFF, 15 );
ReadADC(): int ReadADC(void);
Analog to Digital çevrim sonucunu döndürür (16-bit).
SetChanADC(): void SetChanADC(unsigned char channel);
ADC işlemi için hangi kanalın kullanılacağını belirler (Aynı işlemi OpenADC() fonksiyonuyla da yapabiliriz).
- Channel:
ADC_CH0: Channel 0
ADC_CH1: Channel 1
ADC_CH2: Channel 2
ADC_CH3: Channel 3
ADC_CH4: Channel 4
ADC_CH5: Channel 5
ADC_CH6: Channel 6
ADC_CH7: Channel 7
ADC_CH8: Channel 8
ADC_CH9: Channel 9
ADC_CH10: Channel 10
ADC_CH11: Channel 11
ADC_CH0: Channel 0
ADC_CH1: Channel 1
ADC_CH2: Channel 2
ADC_CH3: Channel 3
ADC_CH4: Channel 4
ADC_CH5: Channel 5
ADC_CH6: Channel 6
ADC_CH7: Channel 7
ADC_CH8: Channel 8
ADC_CH9: Channel 9
ADC_CH10: Channel 10
ADC_CH11: Channel 11
Kaynak:http://elkitabim.net
Yorumlar
Yorum Gönder