Anda di halaman 1dari 4

Mengenal ADC (1)

ADC (Analog to Digital Converter) adalah fitur paling populer dari ATmega 8535. Dengan adanya fitur ini kita tidak perlu menggunakan ADC0804 untuk membaca sinyal analog. ATmega 8535 memiliki 8 channel input ADC. Hasil pembacaan ADC beresolusi maksimum 10 bit (hmmm... cukup presisi. Biasanya saya hanya menggunakan 8 bit biar gak bingung ngitungnya.. He3...) Register-Register yang mempengaruhi ADC: Berikut adalah daftar register untuk menentukan setting ADC

Register ADMUX Register ADMUX digunakan untuk: menentukan tegangan referensi dari ADC menentukan format data hasil konversi ADC menentukan channel ADC yg akan digunakan (Ingat!! ATmega 8535 memiliki 8 channel ADC ) Berikut isi dari register ADMUX:

Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 REFS REFS0 ADLAR MUX3 MUX2 MUX1 MUX0 1

Bit 7 (REFS1) dan bit 6(REFS0) digunakan untuk menentukan tegangan referensi ADC.

Bit 7 0 0 1 1

Bit 6 0 1 0 1

Tegangan Referensi pin AREF, internal Vref di matikan (off) pin AVCC, dengan kapasitor eksternal pada pin AREF tidak digunakan tegangan referensi internal 2,56 V dengan kapasitor eksternal pada pin AREF

Bit 5 (ADLAR) digunakan untuk menentukan format data hasil konversi. Isi bit ini dengan 1 (ADLAR=1)jika menggunakan resolusi 8 bit

Bit 3..0 (MUX3..0) digunakan untuk menentukan channel ADC

Bit 3 0

Bit 2 0

Bit 1 0

Bit 0 0

Channel ADC 0

0 0 0 0 0 0 0

0 0 0 1 1 1 1

0 1 1 0 0 1 1

1 0 1 0 1 0 1

1 2 3 4 5 6 7

Contoh:

tegangan referensi ADC menggunakan AVCC, mode 10 bit, membaca channel 1

maka programnya: ADMUX=0x41;

Register ADCSRA

Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 ADEN ADSC ADFR ADIF ADIE ADPS2 ADPS1 ADPS0

Bit 7 (ADEN) untuk mengaktifkan ADC. ADEN=0 disable / ADEN=1 enable

Bit 6 (ADSC) untuk memulai (start) pembacaan ADC.

Bit 5 (ADFR) jika ADFR=1 free running mode , ADFR=0 single conversion

Bit 4 (ADIF) bit penanda interupsi. Bernilai 1 saat konversi ADC selesai.

Bit 3 (ADIE) berfungsi untuk mengaktifkan interupsi ADC. ADIE=1 enable / ADIE=0 disable

Bit 2..0(ADPS2..0) menentukan clock ADC

Bit 2 0 0 0 0 1 1 1 1

Bit 1 0 0 1 1 0 0 1 1

Bit 0 0 1 0 1 0 1 0 1

Clock XTAL / 2 XTAL / 2 XTAL / 4 XTAL / 8 XTAL /16 XTAL / 32 XTAL / 64 XTAL / 128

Register ADCL dan ADCH

merupakan 2 register tempat menampung hasil pembacaan ADC

untuk mengambil nilai nya gunakan ADCW(mode 10 bit) dan ADCH (mode 8 bit)

misal: adc_data=ADCH; //memasukkan nilai ADC mode 8bit ke variable adc_data

Saat akan menggunakan ADC, hal yang pertama harus di lakukan adalah ADC initialization / inisialisasi ADC (menentukan mode ADC). contoh inisialisasi ADC: // ADC initialization // ADC Clock frequency: 125.000 kHz // ADC Voltage Reference: AVCC pin // ADC High Speed Mode: Off // ADC Auto Trigger Source: None ADMUX=0x40; ADCSRA=0x85; SFIOR&=0xEF; nyampe sini dulu ya kenalan ma ADCnya,,, ntar dismbung lagi ... ngantuk berat nwech.....^_^

any questions?? post comment on this blog: http:\\avrku.blogspot.com or send email to: zigan@ymail.com CodeVisionAVR C Compiler is copyright by Pavel Haiduc, HP InfoTech s.r.l.

AVR is a registered trademark of Atmel Corporation

Posted by zigan

COMMENTS :
2 comments to Mengenal ADC (1) bagaimana menentukan nilai resolusi konversi adc dari atmega8535 bulkisespost mengatakan... on 8 Februari 2011 18:48 mas minta tolong donk, listing program untuk monitoring suhu dengan lm35, mikronya atmega8535. ni emailnya: cmut_gdglepo@yahoo.com Anonim mengatakan... on 16 Maret 2011 13:58 Poskan Komentar