Anda di halaman 1dari 11

LAPORAN PRAKTIKUM

MIKROPROSESOR

MENGGUNAKAN ANALOG TO DIGITAL CONVERTER (ADC) DALAM


MIKROKONTROLLER ATMEGA8535

Disusun untuk memenuhi Matakuliah Mikroprosesor

Yang diampu oleh Yogi Dwi Mahandi S.Pd, M.T

Disusun Oleh:

Nama : Kezia Cindi Dwinata Lumban Gaol


NIM : 220534600068

UNIVERSITAS NEGERI MALANG

FAKULTAS TEKNIK

DEPARTEMEN TEKNIK ELEKTRO DAN INFORMATIKA

PRODI S1 PENDIDIKAN TEKNIK ELEKTRO

NOVEMBER 2023
A. TUJUAN

• Mengetahui dan memahami cara menggunakan ADC yang ada di dalam


mikrokontroler.
• Mengetahui dan memahami bagaimana memrogram mikrokontroler untuk
mengonversi data analog menjadi data digital.

B. DASAR TEORI

1. ANALOG TO DIGITAL CONVERTER (ADC)

Penggunaan ADC sebagai pengonversi data analog menjadi data digital merupakan
sesuatu hal yang diperlukan jika data yang masuk ke dalam mikrokontroler, biasanya data dari
sensor berupa sinyal analog.
Fitur ADC dalam ATMega8535 adalah sebagai berikut:
• Resolusi 10 bit.
• Waktu konversi 65-260 μs.
• Input 8 kanal.
• Input ADC 0-5Vcc.
• 3 Mode pemilihan tegangan referensi.
Ada beberapa langkah yang harus dilakukan untuk inisialisasi ADC, yaitu penentuan
clock, tegangan referensi, format data output dan mode pembacaan. Inisialisasi ini dilakukan
pada register-register berikut:

2. ADMUX (ADC Multiplexer Selection Register)

ADMUX merupakan register yang mengatur tegangan referensi yang digunakan ADC,
format data output dan saluran ADC.

• REFS0-1 (Reference Selection Bits)

REFS0-1 adalah bit-bit pengatur mode tegangan referensi ADC.


• ADLAR (ADC Left Adjust Result)

ADLAR adalah bit keluaran ADC. Jika ADC telah selesai konversi, maka data ADC
akan diletakkan di 2 register, yaitu ADCH dan ADCL dengan format sesuai ADLAR.
Format data ADC jika ADLAR=0

Format data ADC jika ADLAR=1


• MUX0-4 (Analog Channel and Gain Selection Bits)

MUX0-4 adalah bit-bit pemilih saluran pembacaan ADC.

3. ADCSRA (ADC Control and Status Register A)

ADCSRA adalah register 8 bit yang berfungsi untuk melakukan manajemen sinyal kontrol dan
status ADC.

• ADEN (ADC Enable)


ADEN merupakan bit pengatur aktivasi ADC. Jika bernilai 1 maka ADC akan aktif.
• ADCS (ADC Start Conversion)
ADCS merupakan bit penanda dimulainya konversi ADC. Selama konversi berlogika
1 dan akan berlogika 0 jika selesai konversi.
• ADATE (ADC Auto Trigger Enable)
ADATE merupakan bit pengatur aktivasi picu otomatis. Jika bernilai 1 maka konversi
ADC akan dimulai pada saat tepi positif pada sinyal trigger yang digunakan.
• ADIF (ADC Interrupt Flag)
ADIF merupakan bit penanda akhir konversi ADC. Jika bernilai 1 konversi ADC pada
suatu saluran telah selesai dan siap diakses.
• ADIE (ADC Interrupt Enable)
ADIE merupakan bit pengatur aktivasi interupsi. Jika bernilai 1 maka interupsi
penandaan telah selesai. Konversi ADC diaktifkan.
• ADPS0-2 (ADC Prescaler Select Bit)
ADPS0-2 merupakan bit pengatur clock ADC.

4. SFIOR (Special Function IO Register)

SFIOR adalah register 8 bit yang mengatur sumber pemicu ADC. Jika bit ADATE pada register
ADCSRA bernilai 0 maka ADTS0-2 tidak berfungsi.
Rangkaian yang digunakan untuk mempelajari ADC dapat dilihat dalam Gambar dibawah.
Rangkaian ini merupakan rangkaian pembagi tegangan dimana tegangan keluaran dapat
dihitung dengan rumus:
Vout = R2 x Vcc
R1+R2

C. ALAT DAN BAHAN YANG DIGUNAKAN

• 1 set PC/Laptop yang sudah berisi program Code Vision dan Khazama
• 1 buah catu daya DC +5V
• 1 buah multimeter
• 1 buah ISP Downloader AVR
• 1 buah sistem minimum AVR
• 1 buah I/O
• 1 buah kabel printer USB
• 1 buah kabel pita hitam
• 1 buah potensiometer

D. PROSEDUR

1. Rangkailah peralatan yang diperlukan seperti dalam Gambar diatas. Hubungkan soket
jumper PORTC pada minimum system dengan soket jumper pada OUTPUT LED. Vout
pada rangkaian potensiometer dihubungkan pada PORTA.0 (ADC channel 0).
Kabel Kabel hitam
Kabel USB downloader Minimum I/O
ISP Downloader
system AVR

Potensio
meter

2. Buka program Code Vision AVR


3. Buat program dengan menggunakan aplikasi Code Vision AVR
4. Buatlah file project (.prj) kemudian pilih IC yang digunakan (ATmega8535) dan atur
clock 4.000 Mhz. (seperti praktikum sebelumnya)
5. Buatlah file source (.c) kemudian hubungkan file project dengan file source seperti pada
praktikum sebelumnya.
6. Tambahkan file header

7. Program berikut merupakan deklarasi variabel hasil konversi ADC. Tuliskan variabel
berikut di luar program utama.

8. Buatlah program utama dan inisialisasikan PORT C sebagai output dengan kondisi awal
LOW.

9. Tuliskan inisialisasi ADC berikut di dalam program utama.

10. Perhatikan blok program berikut. Arti dari blok instruksi tersebut adalah setting ADC
di PORTA dan inisialisasi ADC. Tuliskan fungsi berikut di luar program utama.
11. Tuliskan program berikut dalam program utama tepatnya di dalam while(1).

12. Compile dan Build program jika ada yang error perbaiki program. Masukkan file hex
menggunakan Khanzama AVR Programer. Klik auto program.
13. Hubungkan output potensiometer pada PORTA.0.
14. Ukur tegangan potensiometer (kaki tengah) sebesar 0-5V (sesuai tabel).
15. Lepas probe AVO Meter lalu perhatikan dan catat nyala LED dan konversi nilai dalam
desimal.

16. Hitung perhitungan nilai digital dalam desimal dengan rumus berikut:
Vdigital = Vukur / Vcc *255
Contoh: misal tegangan analog yang diukur 1 V, maka tegangan digital adalah:
V = 1/5 *255 = 51 desimal, atau 33H atau 0011001

E. DATA HASIL PERCOBAAN

Tabel ADC
No Tegangan Tampilan LED Nilai digital Nilai digital
analog (0-5V) (bit7-bit0) LED (decimal) perhitungan (desimal)
1 0 00000000 0 0/5x255=0
2 0.5 00011001 26 0.5/5x255=25.5
3 1 00110011 51 1/5x255=51
4 1.5 01001100 76 1.5/5x255=76.5
5 2 01100110 102 2/5x255=102
6 2.5 10000000 128 2.5/5x255=127.5
7 3 10011001 153 3/5x255=153
8 3.5 10110011 179 3.5/5x255=178.5
9 4 11001100 204 4/5x255=204
10 4.5 11100110 230 4.5/5x255=229.5
11 5 11111111 255 5/5x255=255

• HASIL PRAKTIKUM
1. 2.

3. 4.

5. 6.
7. 8.

9. 10
.

11
.

F. ANALISA DATA

1. Analisa data hasil pada Tabel ADC !

ADC adalah jenis konverter yang mengubah masukan analog menjadi keluaran digital.
ADC banyak digunakan sebagai pengontrol proses industri, komunikasi digital, dan sirkuit
pengukuran/pengujian. Biasanya, ADC digunakan sebagai perantara antara sensor yang
sebagian besar sistem analog, dan komputer, seperti sensor untuk suhu, cahaya,
tekanan/berat, alir
an, dan lainnya dan kemudian diukur dengan 'sistem digital (komputer).
Dari praktikum ini terlihat bahwa pada rangkaian ADC ini input yang digunakan
adalah potensiometer untuk menampilkan besar kecilnya nilai ADC yang ditampilkan
melalui output berupa lampu LED. Ketika tegangan potensiometer meningkat, resistansi
pada potensiometer menjadi lebih kecil dan tegangan yang masuk ke ADC menjadi lebih
tinggi. Dan ketika tegangan potensiometer berkurang maka resistansi pada potensiometer
menjadi lebih besar dan tegangan yang masuk ke ADC menjadi lebih kecil. LED yang
digunakan dalam praktikum ini adalah LED 8-bit dengan nilai minimum 0 (biner
00000000) dan maksimum 255 (biner 11111111).

G. KESIMPULAN

Dari praktikum yang telah dilakukan, maka dapat dilihat kesimpulan percobaannya
sebagai berikut:
1. Nilai ADC yang ditampilkan pada LED ditentukan oleh input pada potensiometer.
2. Semakin besar resistansi potensiometer maka nilai ADC yang ditampilkan pada
LED akan semakin kecil.
3. Jika resistansi potensiometer lebih kecil maka nilai ADC yang ditampilkan pada
LED akan semakin besar.
4. Nilai minimum ADC yang digunakan pada tahap ini adalah 0, sedangkan nilai
maksimumnya adalah 255.
5. Amplitudo nilai analog ini akan berbanding terbalik dengan hambatan pada
potensiometer. Resistansi dari potensiometer sendiri bisa berbeda-beda tergantung
posisinya.
Pada pengguaan ADC sebagai pengkonversi data dari analog menjadi data yang digital
hal ini merupakan hal yang diperlukan jika data yang masuk kedalam mikrokontroler
biasanya data dari sensor berupa sinyal analog. Ada beberapa langkah yang harus
dilakukan untuk inisialisasi ADC, yaitu penentuan clock, tegangan referensi, format data
output dan mode pembacaan. Inisialisasi register pada ADC (Analog to Digital converter
ialah ADMUX (ADC Multiplexer Selection Register), ADCSRA (ADC Control and Status
Register A), dan SFIOR (Special Function IO Register). Dan rumus untuk pehitungan nilai
digital dalam bentuk decimal dapa dihitung dengan
rumus sebagai berikut: Vdigital = Vukur / Vcc *255.

Anda mungkin juga menyukai