Tuesday, April 26, 2011

Memanfaatkan ADC Pada Mikrokontroler #1

ADC

ADC (analog to digital converter) adalah suatu piranti yang digunakan untuk mengubah isyarat analog menjadi isyarat digital. Disini akan dibahas ADC yang terdapat pada mikrokontroler (keluarga AVR). Adapun fitur dari ADC pada ATMega8535 adalah sebagai berikut :
1. Resolusi 10 bit
2. Waktu konversi 65-260 uS
3. 0-VCC range input ADC
4. Memiliki 8 channel input
5. Tiga mode pemilihan tegangan referensi



Mode Operasi
1. Mode konversi tunggal (single conversion)
Dalam mode ini, konversi dilakukan dalam sekali pembacaan sampel tegangan input. Konversi dimulai ketika bit ADSC di-set dan bit ini tetap di-set sampai satu kali konversi selesai, setelah itubit ini otomatis di clear CPU.
2. Mode konversi kontinu (free running)
Dalam mode ini, konversi dilakukan secara terus menerus (ADC membaca sampel tegangan input lalu dikonversi dan hasilnya ditampung di register ADCH dan ADCL secara terus menerus)

Register pengendali ADC
a. ADC multiplexer selection register (ADMUX)

Bit 7:6 - REFS1:0 (reference selection bits)
kedua bit ini digunakan untuk memilih tegangan referensi ADC yang akan digunakan.

Bit 5 - ADLAR (ADC Left Adjust Result)
Bit ini digunakan untuk memilih mode data keluaran ADC. Bit ini berakibat pada format data hasil konversi dalam register ADCH:ADCL

Bit 3:0 - MUX3:0 (Analog Channel Selection Bits)
Bit ini digunakan untuk memilih saluran input ADC.
b. ADC Control and Status Register A (ADCSRA)
Bit 7 - ADEN : ADC Enable
Bit ini digunakan untuk mengaktifkan ADC, bernilai awal 0, jika bernilai 1 maka ADC aktif.

Bit 6 - ADSC : ADC Start Conversion
Set bit ini untuk memulai konversi sinyal masukan. Ketika konversi telah selesai, maka otomatis bit ini di clear.

Bit 5 - ADATE : ADC Auto Trigger Enable
Bit ini digunakan untuk mengatur sumber pemicu terjadinya konversi ADC. Jika bit ini di set maka akan mengaktifkan auto triggering register SFIOR dan menggunakan mode free running.

Bit 4 - ADIF : ADC Interupt Flag
Bit ini di set ketika konversi ADC telah selesai dan data register telah ter-update. Bit ini otomatis di clear ketika eksekusi interupsi ADC conversion complete.

Bit 3 - ADIE : ADC Interupt Enable
Bit ini digunakan untuk mengaktifkan interupsi ADC conversion complete. Bernilai awal 0. Jika di set dan konversi ADC telah selesai, maka sebuah interupsi akan dieksekusi sesuai dengan jenis interupsi yang ditulis di program.

Bit 2 - ADPS2:0 : ADC Prescaler Select Bit
Digunakan untuk menentukan faktor pembagi frekuensi clock CPU yang akan digunakan.


c. ADC Data Register (ADCH:ADCL)
ADCH dan ADCL (masing-masing 8 bit register) merupakan bit penampung hasil konversi ADC. Format data hasil konversi berdasarkan setting di ADLAR. Untuk membaca data di register ADCH:ADCL bisa digunakan perintah lsl, lsr, rol, dan ror.

d. Spesial Function IO Register (SFIOR)
Register SFIOR merupakan register 8 bit pengatur sumber pemicu konversi ADC. Untuk operasiADC, bit ACME, PUD, PSR2, dan PSR10 tidak dipakai.

Bit ADTS2:0 mengatur pemicu eksternal operasi ADC. Hanya berfungsi jika bit ADATE pada ADCSRA bernilai 1. Bernilai awal 000 sehingga ADC bekerja pada mode free running dan tidak ada interupsi yang dihasilkan.



Untuk mempelajari tentang program mikrokontroler, lanjut ke artikel Memanfaatkan ADC Pada Mikrokontroler #2

0komentar:

Iklan Sahabat

Photobucket