2.5.2 ResetBdanBOsilatorBEksternalB
Chip akan reset jika tegangan catu nol atau pin RST dipaksa 0 [6]. Jika membutuhkan tombol reset, dapat ditambah dengan rangkaian reset seperti pada Gambar
2.10.
Gambar 2.10. Rangkaian reset [6]
2.5.3 ADCBAnalog to Digital ConverterB
Sinyal masukan dari pin ADC akan dipilih oleh multiplexer register ADMUX untuk diproses oleh ADC[6]. Karena converter ADC dalam chip hanya satu buah
sedangkan saluran masukanny ada delapan maka dibutuhkan multiplexer untuk memilih input pin ADC secara bergantian. ADC mempunyai rangkaian untuk mengambil sampel
dan hold menahan tegangan input ADC mempunyai catu daya yang terpisah yaitu pin AVCC-AGND. AVCC tidak boleh berbeda ±0,3V dari Vcc.
Operasi ADC membutuhkan tegangan referensi VREF dan clock Fade register ADCSRA. Tegangan referensi eksternal pada pin AREF tidak boleh melebihi AVCC.
Tegangan referensi eksternal dapat di-decouple pada pin AREF dengan kapasitor untuk mengurangi derau. Atau dapat menggunakan tegangan referensi internal sebesar 2,56V
pin Aref diberi kapasitor secara eksternal untuk menstabilkan tegangan referensi internal. ADC mengonversi tegangan input analog menjadi bilangan digital sebesar 10-bit. GND 0
volt adalah nilai minimum yang mewakili ADC dan nilai maksimum ADC diwakili oleh tegangan pada pin AREF minus 1 LSB. Hasil konversi ADC disimpan dalam register
pasangan ADCH:ADCL.
Sinyal input ADC tidak boleh melebihi tegangan referensi. Nilai digital input ADC untuk resolusi 10-bit 1024 adalah:
Kode digital = VinputVref x1024 2.3 Untuk resolusi 8-bit 256 :
Kode digital = VinputVref x256 2.4
Misalnya masukan suatu pin ADC dengan resolusi 8-bit adalah 2,5V dan tegangan referensi yang digunakan Vref internal sebesar 2,56V sehingga kode digital-nya adalah:
Kode digital = 2500 mV2560 mV x256 = 250 = 0xFA. Akurasi ADC dalam chip tidak sempurna, akurasinya ±2LSB sehingga kemungkinan kode yang dihasilkan tidak
tepat 0xFA bisa jadi 0xF8, 0xF9, 0xFB, atau 0xFC.
2.5.3.1 ModeBOperasiB 1. ModeBkonversiBtunggalB
Dalam mode ini konversi dilakukan untuk sekali pembacaan sampel tegangan masukan, jika ingin membaca lagi maka harus disampel lagi sehingga kita dapat
mengkonversi tegangan masukan untuk saat-saat yang kita butuhkan saja [6]. Mode tunggal dipilih dengan meng-clear bit-ADFR dalam register ADCSRA. Konversi
tunggal memulai konversi ketika bit-ADSC di-set, dan bit tersebut tetap sampai satu kali konversi selesai complete, setelah complete itu maka otomatis oleh
CPU bit-ADSC akan clear. Ketika konversi sedang berlangsung dan kita mengubah saluran channel masukan ADC maka hal tersebut tidak akan diubah oleh CPU
hingga konversi ADC saluran tersebut selesai.
2. ModeBkonversiBfree runningB
Dalam mode ini konversi dilakukan terus menerus secara kontinyu ADC membaca sampel tegangan masukan lalu dikonversi hasilnya masukan ke register
ADCH:ADCL terus menerus [6]. Ketika kita membaca ADC selagi ADC mengkonversi tegangan sedang berlangsung, maka yang terbaca adalah hasil ADC
yang terakhir yang dibaca oleh ADC.
Mode free running dipilih dengan men-set bit-ADFR dalam register ADCSRA. Konversi pertama dalam mode ini dimulai dengan men-set bit-ADSC. Dalam mode
ADC bekerja secara independen tidak bergantung dari flag interupsi ADC apakah ADIF set atau clear sama saja.
2.5.3.2 RegisterBPengendaliBADCB 1. ADCBMultiplexer Selection RegisterB–BADMUXB
Tabel 2.4. Register ADMUX [6]
B
Tabel 2.4 menunjukan register pada ADMUX dan Tabel 2.4 menunjukkan pemilihan tegangan referensi [6].
Bit 7:6 – REFS1:0: Reference Selection Bits Kedua bit ini bertugas memilih tegangan referensi yang digunakan.
Tabel 2.5. Pemilihan tegangan referensi [6]
Tabel 2.5 menujukkan pemilihan tegangan referensi pada ADC. Bit 5 – ADLAR: ADC Left Adjust Result
Bit ini berakibat pada format data hasil konversi dalam register ADCH: ADCL lihat register tersebut
Bit 3:0 – MUX3:0: Analog Channel Selection Bits Bit – bit ini memilih saluran masukan untuk ADC, seperti terlihat pada Tabel 2.6.
Tabel 2.6. Pemilih pin masukan ADC [6]
2. ADCBControl and Status RegisterBAB–BADCSRABB
Tabel 2.7. Register ADCSRA [6]
Tabel 2.7 menunjukkan register pada ADCSRA [6]. Bit 7 – ADEN : ADC Enable
Bit pengaktif ADC ADEN=0 disable ADEN =1 enable. Bit 6 – ADSC: ADC Start Conversion
Dalam mode konversi tungal penge-set-an bit ini maka akan memulaistart konversi ADC untuk sekali konversi.
Bit 5 – ADFR: ADC Free Running Select Bit ini memilih mode operasi yang digunakan, ketika bit ini di-set maka ADC akan
menggunakan Free running di mana dalam mode ini ADC disampel dan diperbarui secara simultankontinyu. Ketika bit ini di-clear maka akan mengakhiri mode free
running dan masuk ke mode konversi tunggal single conversion. Bit 4 – ADIF: ADC Interrupt Flag
Bit ini akan set secara otomatis ketika konversi ADC telah selesaicomplete, dan akan clear ketika eksekusi interupsi ADC conversion complete.
Bit 3 – ADIE: ADC Interrupt Enable Bit ini bertugas untuk mengaktifkan interupsi ADC conversion complete ADIE=0
disable ADIE=1 enable. Bit 2:0 – ADPS2:0: ADC Prescaler Select Bits
Bit – bit ini menentukan faktor pembagi frekuensi CPU yang digunakan untuk clock ADC, seperti yang terlihat pada Tabel 2.8
Tabel 2.8. ADC prescaler [6]