Anda di halaman 1dari 25

DASAR TEORI

Pengertian Mikrokontroler
Mikrokontroler merupakan sebuah sistem komputer yang seluruh atau sebagian besar
elemennya dikemas dalam satu chip IC, sehingga sering disebut
single chip microcomputer. Lebih lanjut, mikrokontroler merupakan sistem komputer yang
mempunyai satu atau beberapa tugas yang sangat spesifik, berbeda dangan PC (Personal
Computer) yang memiliki beragam fungsi. Perbedaan lainnya adalah perbandingan RAM dan
ROM yang sangat berbeda antara komputer dengan mikrokontroler.
Mikrokontroler adalah sebuah system microprocessor dimana didalamnya sudah terdapat
CPU, ROM, RAM, I/O, Clock dan peralatan internal lainnya yang sudah saling terhubung dan
terorganisasi (teralamati) dengan baik oleh pabrik pembuatnya dan dikemas dalam satu chip
yang siap pakai. Sehingga kita tinggal memprogram isi ROM sesuai aturan penggunaan oleh
pabrik yang membuatnya menurut Winoto (2008:3).
Teknologi yang digunakan pada mikrokontroler AVR berbeda dengan mikrokontroler seri
MCS-51. AVR berteknologi RISC (Reduced Instruction Set Computer), sedangkan seri MCS-51
berteknologi CISC (Complex Instruction Set Computer). Mikrokontroler AVR dapat dikelompokkan
menjadi empat kelas, yaitu keluarga ATtiny, keluarga AT90Sxx, keluarga ATMega, dan keluarga
AT89RFxx. Pada dasarnya yang membedakan masing-masing kelas adalah memori, kelengkapan
periperal dan fungsi-fungsi tambahan yang dimiliki. Berikut ini penjelasan lebih lengkap
mengenai Mikrokontroler ATMega8535:

A. Mikrokontroler ATMega8535
ATMega8535 adalah mikrokontroler CMOS 8 bit daya rendah berbasis arsitektur RISC.
Instruksi dikerjakan pada satu siklus clock, ATMega8535 mempunyai throughput mendekati 1
MIPS per MHz, hal ini membuat ATMega8535 dapat bekerja dengan kecepatan tinggi walaupun
dengan penggunaan daya rendah. Mikrokontroler ATmega8535 memiliki beberapa fitur atau
spesifikasi yang menjadikannya sebuah solusi pengendali yang efektif untuk berbagai keperluan.
Fitur-fitur tersebut antara lain:
Saluran I/O sebanyak 32 buah, yang terdiri atas Port A, B, C dan D
ADC (Analog to Digital Converter)
Tiga buah Timer/Counter dengan kemampuan perbandingan
CPU yang terdiri atas 32 register
Watchdog Timer dengan osilator internal
SRAM sebesar 512 byte
Memori Flash sebesar 8kb dengan kemampuan read while write
Unit Interupsi Internal dan External
Port antarmuka SPI untuk men-download program ke flash
EEPROM sebesar 512 byte yang dapat diprogram saat operasi
Antarmuka komparator analog
Port USART untuk komunikasi serial.

B. Konfigurasi Pin ATMega8535


Mikrokontroler AVR ATMega memiliki 40 pin dengan 32 pin diantaranya digunakan
sebagai port paralel. Satu port paralel terdiri dari 8 pin, sehingga jumlah port pada
mikrokontroler adalah 4 port, yaitu port A, port B, port C dan port D. Sebagai contoh adalah port
A memiliki pin antara port A.0 sampai dengan port A.7, demikian selanjutnya untuk port B, port
C, port D. Diagram pin mikrokontroler dapat dilihat pada gambar berikut:
Diagram Pin ATMega8535
Berikut ini adalah tabel penjelasan mengenai pin yang terdapat pada mikrokontroler
ATMega8535:
Tabel Penjelasan pin pada mikrokontroler ATMega8535

Vcc Tegangan suplai (5 volt)

GND Ground

Input reset level rendah, pada pin ini selama lebih dari panjang pulsa
minimum akan menghasilkan reset walaupun clock sedang berjalan.
RESET RST pada pin 9 merupakan reset dari AVR. Jika pada pin ini diberi
masukan low selama minimal 2 machine cycle maka sistem akan di-
reset

Input penguat osilator inverting dan input pada rangkaian operasi


XTAL 1
clock internal

XTAL 2 Output dari penguat osilator inverting


Pin tegangan suplai untuk port A dan ADC. Pin ini harus dihubungkan
Avcc ke Vcc walaupun ADC tidak digunakan, maka pin ini harus
dihubungkan ke Vcc melalui low pass filter

Aref pin referensi tegangan analog untuk ADC

pin untuk analog ground. Hubungkan kaki ini ke GND, kecuali jika
AGND
board memiliki analog ground yang terpisah

Berikut ini adalah penjelasan dari pin mikrokontroler ATMega8535 menurut port-nya masing-
masing:

1. Port A
Pin33 sampai dengan pin 40 merupakan pin dari port A. Merupakan 8 bit directional port
I/O. Setiap pin-nya dapat menyediakan internal pull-up resistor (dapat diatur per bit). Output
buffer port A dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung.
Data Direction Register port A (DDRA) harus di-setting terlebih dahulu sebelum port A
digunakan. Bit-bit DDRA diisi 0 jika ingin memfungsikan pin-pin port A yang disesuaikan sebagai
input, atau diisi 1 jika sebagai output. Selain itu, pin-pin pada port A juga memiliki fungsi-fungsi
alternatif khusus seperti yang dapat dilihat dalam tabel:
Tabel Penjelasan pin pada port A

Pin Keterangan

PA.7 ADC7 (ADC Input Channel 7)

PA.6 ADC6 (ADC Input Channel 6)

PA.5 ADC7 (ADC Input Channel 5)

PA.5 ADC4 (ADC Input Channel 4)

PA.3 ADC3 (ADC Input Channel 3)

PA.2 ADC2 (ADC Input Channel 2)

PA.1 ADC1 (ADC Input Channel 1)

PA.0 ADC0 (ADC Input Channel 0)


2. Port B
Pin 1 sampai dengan pin 8 merupakan pin dari port B. Merupakan 8 bit directional port
I/O. Setiap pin-nya dapat menyediakan internal pull-up resistor (dapat diatur per bit). Output
buffer port B dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung.
Data Direction Register port B (DDRB) harus di-setting terlebih dahulu sebelum port B
digunakan. Bit-bit DDRB diisi 0 jika ingin memfungsikan pin-pin port B yang disesuaikan sebagai
input, atau diisi 1 jika sebagai output. Selain itu, pin-pin port B juga memiliki fungsi-fungsi
alternatif khusus seperti yang dapat dilihat dalam tabel:
Tabel Penjelasan pin pada port B

Pin Keterangan

PB.7 SCK (SPI Bus Serial Clock)

PB.6 VISO (SPI Bus Master Input/Slave Output)

PB.5 VOSI (SPI Bus Master Output/Slave Input)

PB.4 SS (SPI Slave Select Input)

AIN1 (Analog Comparator Negative Input)OCC (Timer/Counter0 Output


PB.3
Compare Match Output)

PB.2 AIN0 (Analog Comparator Positive Input)INT2 (External Interrupt2 Input)

PB.1 T1 (Timer/Counter1 External Counter Input)

T0 (Timer/Counter0 External Counter Input)XCK (JSART External Clock


PB.0
Input/Output)

3. Port C
Pin 22 sampai dengan pin 29 merupakan pin dari port C. Port C sendiri merupakan port
input atau output. Setiap pin-nya dapat menyediakan internal pull-up resistor (dapat diatur per
bit). Output buffer port C dapat memberi arus 20 mA dan dapat mengendalikan display LED secara
langsung. Data Direction Register port C (DDRC) harus di-setting terlebih dahulu sebelum port
C digunakan. Bit-bit DDRC diisi 0 jika ingin memfungsikan pin-pin port C yang disesuaikan
sebagai input, atau diisi 1 jika sebagai output. Selain itu, pin-pin port D juga memiliki fungsi-
fungsi alternatif khusus seperti yang dapat dilihat dalam tabel II.6:
Tabel Penjelasan pin pada port C

Pin Keterangan

PC.7 TOSC2 (Timer Oscillator Pin 2)

PC.6 TOSC1 (Timer Oscillator Pin 1)

PC.1 SDA (Two-Wire Serial Bus Data Input/Output Line)

PC.0 SCL (Two-Wire Serial Bus Clock Line)

4. Port D
Pin 14 sampai dengan pin 20 merupakan pin dari port D. Merupakan 8 bit directional port
I/O. Setiap pin-nya dapat menyediakan internal pull-up resistor (dapat diatur per bit). Output
buffer port D dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung.
Data Direction Register port D (DDRD) harus di-setting terlebih dahulu sebelum port D
digunakan. Bit-bit DDRD diisi 0 jika ingin memfungsikan pin-pin port D yang disesuaikan sebagai
input, atau diisi 1 jika sebagai output. Selain itu, pin-pin port D juga memiliki fungsi-fungsi
alternatif khusus seperti yang dapat dilihat dalam tabel:
Tabel Penjelasan pin pada port D

Pin Keterangan

PD.0 RDX (UART input line)

PD.1 TDX (UART output line)

PD.2 INT0 (external interrupt 0 input)

PD.3 INT1 (external interrupt 1 input)

PD.4 OC1B (Timer/Counter1 output compareB match output)

PD.5 OC1A (Timer/Counter1 output compareA match output)

PD.6 ICP (Timer/Counter1 input capture pin)

PD.7 OC2 (Timer/Counter2 output compare match output)


C. Diagram Blok ATMega8535
Pada diagram blok ATMega8535 digambarkan 32 general purpose Working register yang
dihubungkan secara langsung dengan Arithmetic Logic Unit (ALU). Sehingga memungkinkan dua
register yang berbeda dapat diakses dalam satu siklus clock.

D. ADC (Analog To Digital Converter)


ADC adalah perangkat elektronika yang berfungsi untuk mengubah sinyal analog (sinyal
kontinyu) menjadi sinyal digital. Perangkat ADC (Analog To Digital Convertion) dapat
berbentuk suatu modul atau rangkaian elektronika maupun suatu chip IC. ADC (Analog To
Digital Converter) berfungsi untuk menjembatani pemrosesan sinyal analog oleh sistem digital.

Converter

Alat bantu digital yang paling penting untuk teknologi kontrol proses adalah yang
menerjemahkan informasi digital ke bentuk analog dan juga sebaliknya. Sebagian besar
pengukuran variabel-variabel dinamik dilakukan oleh piranti ini yang menerjemahkan
informasi mengenai vaiabel ke bentuk sinyal listrik analog. Untuk menghubungkan sinyal ini
dengan sebuah komputer atau rangkaian logika digital, sangat perlu untuk terlebih dahulu
melakukan konversi analog ke digital (A/D). Hal-hal mengenai konversi ini harus diketahui
sehingga ada keunikan, hubungan khusus antara sinyal analog dan digital.

ADC (Analog to Digital Convertion)

Analog To Digital Converter (ADC) adalah pengubah input analog menjadi kode kode
digital. ADC banyak digunakan sebagai Pengatur proses industri, komunikasi digital dan
rangkaian pengukuran/ pengujian. Umumnya ADC digunakan sebagai perantara antara sensor
yang kebanyakan analog dengan sistim komputer seperti sensor suhu, cahaya, tekanan/ berat,
aliran dan sebagainya kemudian diukur dengan menggunakan sistim digital (komputer).
ADC (Analog to Digital Converter) memiliki 2 karakter prinsip, yaitu kecepatan sampling dan
resolusi.

Kecepatan Sampling ADC

Kecepatan sampling suatu ADC menyatakan seberapa sering sinyal analog


dikonversikan ke bentuk sinyal digital pada selang waktu tertentu. Kecepatan sampling
biasanya dinyatakan dalam sample per second (SPS).

Resolusi ADC

Resolusi ADC menentukan ketelitian nilai hasil konversi ADC. Sebagai contoh: ADC 8
bit akan memiliki output 8 bit data digital, ini berarti sinyal input dapat dinyatakan dalam 255
(2n 1) nilai diskrit. ADC 12 bit memiliki 12 bit output data digital, ini berarti sinyal input
dapat dinyatakan dalam 4096 nilai diskrit. Dari contoh diatas ADC 12 bit akan memberikan
ketelitian nilai hasil konversi yang jauh lebih baik daripada ADC 8 bit.

Prinsip Kerja ADC

Prinsip kerja ADC adalah mengkonversi sinyal analog ke dalam bentuk besaran yang
merupakan rasio perbandingan sinyal input dan tegangan referensi. Sebagai contoh, bila tegangan
referensi 5 volt, tegangan input 3 volt, rasio input terhadap referensi adalah 60%. Jadi, jika
menggunakan ADC 8 bit dengan skala maksimum 255, akan didapatkan sinyal digital sebesar 60%
x 255 = 153 (bentuk decimal) atau 10011001 (bentuk biner).

signal = (sample/max_value) * reference_voltage


= (153/255) * 5
= 3 Volts

Komparator ADC

Bentuk komunikasi yang paling mendasar antara wujud digital dan analog adalah piranti
(biasanya berupa IC) disebut komparator. Piranti ini, yang diperlihatkan secara skematik pada
gambar dibawah, secara sederhana membandingkan dua tegangan pada kedua terminal inputnya.
Bergantung pada tegangan mana yang lebih besar, outputnya akan berupa sinyal digital 1 (high)
atau 0 (low). Komparator ini digunakan secara luas untuk sinyal alarm ke komputer atau sistem
pemroses digital. Elemen ini juga merupakan satu bagian dengan konverter analog ke digital dan
digital ke analog yang akan didiskusikan nanti.

Konsep Kompataror Pada ADC (Analog to Digital Converter)

Gambar diatas memperlihatkan sebuah komparator merubah keadaan logika output sesuai fungsi
tegangan input analog. Sebuah komparator dapat tersusun dari sebuah opamp yang memberikan
output terpotong untuk menghasilkan level yang diinginkan untuk kondisi logika (+5 dan 0 untuk
TTL 1 dan 0). Komparator komersil didesain untuk memiliki level logika yang dperlukan pada
bagian outputnya.
Jenis-Jenis ADC (Analog to Digital Converter)

ADC Simultan

ADC Simultan atau biasa disebut flash converter atau parallel converter. Input analog Vi
yang akan diubah ke bentuk digital diberikan secara simultan pada sisi + pada komparator tersebut,
dan input pada sisi tergantung pada ukuran bit converter. Ketika Vi melebihi tegangan input
dari suatu komparator, maka output komparator adalah high, sebaliknya akan memberikan output
low.

ADC Simultan

Bila Vref diset pada nilai 5 Volt, maka dari gambar 3 dapat didapatkan :

V(-) untuk C7 = Vref * (13/14) = 4,64


V(-) untuk C6 = Vref * (11/14) = 3,93
V(-) untuk C5 = Vref * (9/14) = 3,21
V(-) untuk C4 = Vref * (7/14) = 2,5
V(-) untuk C3 = Vref * (5/14) = 1,78
V(-) untuk C2 = Vref * (3/14) = 1,07
V(-) untuk C1 = Vref * (1/14) = 0,36

Misal :

Vin diberi sinyal analog 3 Volt, maka output dari C7=0, C6=0, C5=0, C4=1, C3=1, C2=1,
C1=1, sehingga didapatkan output ADC yaitu 100 biner

Tabel Output ADC Simultan

Ada beberapa konsep dasar dari ADC adalah dengan cara Counter Ramp ADC, Successive
Aproximation ADC dan lain sebagainya.

Counter Ramp ADC

Blok Diagram Counter Ramp ADC


Pada gambar diatas, ditunjukkan blok diagram Counter Ramp ADC didalamnya tedapat
DAC yang diberi masukan dari counter, masukan counter dari sumber Clock dimana sumber Clock
dikontrol dengan cara meng AND kan dengan keluaran Comparator. Comparator membandingkan
antara tegangan masukan analog dengan tegangan keluaran DAC, apabila tegangan masukan yang
akan dikonversi belum sama dengan tegangan keluaran dari DAC maka keluaran comparator = 1
sehingga Clock dapat memberi masukan counter dan hitungan counter naik.

Misal akan dikonversi tegangan analog 2 volt, dengan mengasumsikan counter reset,
sehingga keluaran pada DAC juga 0 volt. Apabila konversi dimulai maka counter akan naik dari
0000 ke 0001 karena mendapatkan pulsa masuk dari Clock oscillator dimana saat itu keluaran
Comparator = 1, karena mendapatkan kombinasi biner dari counter 0001 maka tegangan keluaran
DAC naik dan dibandingkan lagi dengan tegangan masukan demikian seterusnya nilai counter
naik dan keluaran tegangan DAC juga naik hingga suatu saat tegangan masukan dan tegangan
keluaran DAC sama yang mengakibatkan keluaran komparator = 0 dan Clock tidak dapat masuk.
Nilai counter saat itulah yang merupakan hasil konversi dari analog yang dimasukkan.

Kelemahan dari counter tersebut adalah lama, karena harus melakukan trace mulai dari
0000 hingga mencapai tegangan yang sama sehingga butuh waktu.

SAR (Successive Aproximation Register) ADC

Blok Diagram SAR ADC


Pada gambar diatas ditunjukkan diagram ADC jenis SAR, Yaitu dengan memakai
konvigurasi yang hampir sama dengan counter ramp tetapi dalam melakukan trace dengan cara
tracking dengan mengeluarkan kombinasi bit MSB = 1 ====> 1000 0000. Apabila belum sama
(kurang dari tegangan analog input maka bit MSB berikutnya = 1 ===>1100 0000) dan apabila
tegangan analog input ternyata lebih kecil dari tegangan yang dihasilkan DAC maka langkah
berikutnya menurunkan kombinasi bit ====> 10100000.

Untuk mempermudah pengertian dari metode ini diberikan contoh seperti pada timing
diagram gambar 6 Misal diberi tegangan analog input sebesar 6,84 volt dan tegangan referensi
ADC 10 volt sehingga apabila keluaran tegangan sbb :

Jika D7 = 1 Vout=5 volt


Jika D6 = 1 Vout=2,5 volt
Jika D5 = 1 Vout=1,25 volt
Jika D4 = 1 Vout=0,625 volt
Jika D3 = 1 Vout=0,3125 volt
Jika D2 = 1 Vout=0,1625 volt
Jika D1 = 1 Vout=0,078125 volt
Jika D0 = 1 Vout=0,0390625 volt

Timing diagram urutan Trace SAR ADC

Setelah diberikan sinyal start maka konversi dimulai dengan memberikan kombinasi 1000
0000 ternyata menghasilakan tegangan 5 volt dimana masih kurang dari tegangan input 6,84 volt,
kombinasi berubah menjadi 1100 0000 sehingga Vout = 7,5 volt dan ternyata lebih besar dari 6,84
sehingga kombinasi menjadi 1010 0000 tegangan Vout = 6,25 volt kombinasi naik lagi 1011 0000
demikian seterusnya hingga mencapai tegangan 6,8359 volt dan membutuhkan hanya 8 clock.

Uraian diatas merupakan konsep dasar dari ADC (Analog to Digital Converter), untuk
pengembangan atau aplikasi ADC dan ADC dalam bentuk lain akan ditulis dalam artikel berbeda
dengan tujuan dapat memberikan penjelasan yang lebih lengkap dari ADC (Analog to Digital
Converter).
TUJUAN

Mengetahui dan memahami cara menggunakan ADC (Analog Digital Converter).


Mengetahui dan memahami bagaimana memprogram masukan tegangan ADC ke
mikrokontroler ATMEGA8535.

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

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 00110011B
DATA HASIL PERCOBAAN
Tabel ADC
Tegangan Tampilan LED Nilai digital Nilai digital
No
analog (0-5V) (bit7-bit0) LED (decimal) perhitungan (desimal)
1 0 00000000 0 0
2 0.5 00011011 27 27
3 1 00110111 55 54
4 1.5 01010001 81 81
5 2 01101111 111 109
6 2.5 10000111 135 136
7 3 10100001 161 163
8 3.5 10111101 189 190
9 4 11011001 219 217
10 4.5 11110011 243 244
11 4.7 11111111 255 255

ANALISIS

Program 1
Pada praktikum kali ini kelompok kami mempraktikkan mikrokontroller dengan sumber
input ADC dan output menggunakan LED 8bit. Yang pertama kita akan membuat program
unntuk input ADC dan output LED 8bit, dari output 8bit LED ini kita akan mengetahui nilai
digital dari ADC. Kita menggunakan ADC dalam mikrokontroller untuk merubah nilai analog
dari sensor menjadi nilai digital yang dapat dilihat nilainya dengan mata manusia.
Dalam membuat program pertama-tama kita harus melakukan inisialisasi terlebih dahulu
#include <mega8535.h>

#include <delay.h>

unsigned char adcdt;

#define ADC_VREF_TYPE 0x60;


Karena kita menggunakan atmega8535 maka header yang digunakan adalah #include
<mega8535.h>. Dan untuk melakukan pemanggilan perintah delay kita juga harus memasang
header #include <delay.h>. Sedangkan untuk script unsigned char adcdt; digunakan
untuk mendeklarasikan variable positif yang bertype character.

#define ADC_VREF_TYPE 0x60; type header ini menggunakan Vref artinya kita bisa memasukkan

tegangan Vref yang diinginkan fungsi dari Vref adalah sebagai perscaler dari tiap-tiap data. Maksudnya
tingkatan perubahan yang terjadi setiap data masukan ADC dari nilai satu ke nilai yang lainnya.
sehingga makin kecil perscaler makan akan lebih kelihatan perubahan yang terjdi, dan makin presisi.
untuk 0x06 maksudnya adalah berdasarkan register dari ADC itu sendiri. disetting untuk menentukan
nilai REFS1 dan REFS2 dapat diatur berdasarkan tabel datasheet.

Selanjutnya membuat program baca ADC. Fungsi program ini adalah melakukan pembacaan
ADC berdasarkan pin masukan ADC, program ini harus ada setiap melakukan pembacaan ADC.

unsigned char read_adc(unsigned char adc_input);

ADMUX=adc_input | (ADC_VREF_TYPE&0xFF);

delay_us(10);

ADCSRA|=0x40;

while((ADCSRA & 0x10)==0);

ADCSRA|=0x10;

return ADCH;

langkah ketiga:
pada main program kita akan memangil inisialisasi ADC dengan:

PORTC=0x00;

DDRC=0xFF;

ADMUX=ADC_VREF_TYPE & 0xFF;

ADCSRA=0xA7;

SFIOR&=0x0F;
dimana ADMUX akan diisi dengan 0x60 berdasarkan setingan register awal tadi.
selanjutnya menjalankan program ADC pada main program:

while(1)
{
adcdt=read_adc(0);
PORTC=adcdt;
}
dapat dilihat read_adc akan memanggil pin ADC 0 nol sebagai masukan tegangan, yang
kemudian di tampilkan dalam bentuk biner pada PORTB. Program diatas harus dilakukan
pengulangan secara terus menerus while(1).

Analisis Tabel

1. Bila tegangan analog bernilai 0 maka tampilan LED adalah 00000000, lalu diubah menjadi
nilai digital LED (desimal) adalah 0. Dari hasil perhitungan nilai digital (desimal) adalah 0.
2. Bila tegangan analog bernilai 0,5 maka tampilan LED adalah 00011011, lalu diubah
menjadi nilai digital LED (desimal) adalah 27. Dari hasil perhitungan nilai digital (desimal)
adalah 27.
3. Bila tegangan analog bernilai 1 maka tampilan LED adalah 00110111, lalu diubah menjadi
nilai digital LED (desimal) adalah 55. Dari hasil perhitungan nilai digital (desimal) adalah 54.
4. Bila tegangan analog bernilai 1,5 maka tampilan LED adalah 01010001, lalu diubah
menjadi nilai digital LED (desimal) adalah 81. Dari hasil perhitungan nilai digital (desimal)
adalah 81.
5. Bila tegangan analog bernilai 2 maka tampilan LED adalah 01101111, lalu diubah menjadi
nilai digital LED (desimal) adalah 111. Dari hasil perhitungan nilai digital (desimal) adalah
109.
6. Bila tegangan analog bernilai 2,5 maka tampilan LED adalah 10000111, lalu diubah
menjadi nilai digital LED (desimal) adalah 135. Dari hasil perhitungan nilai digital (desimal)
adalah 136.
7. Bila tegangan analog bernilai 3 maka tampilan LED adalah 10100001, lalu diubah menjadi
nilai digital LED (desimal) adalah 161. Dari hasil perhitungan nilai digital (desimal) adalah
163.
8. Bila tegangan analog bernilai 3,5 maka tampilan LED adalah 10111101, lalu diubah
menjadi nilai digital LED (desimal) adalah 189. Dari hasil perhitungan nilai digital (desimal)
adalah 190.
9. Bila tegangan analog bernilai 4 maka tampilan LED adalah 11011001, lalu diubah menjadi
nilai digital LED (desimal) adalah 219. Dari hasil perhitungan nilai digital (desimal) adalah
217.
10. Bila tegangan analog bernilai 4,5 maka tampilan LED adalah 11110011, lalu diubah
menjadi nilai digital LED (desimal) adalah 243. Dari hasil perhitungan nilai digital (desimal)
adalah 244.
11. Bila tegangan analog bernilai 4,7 maka tampilan LED adalah 11111111, lalu diubah
menjadi nilai digital LED (desimal) adalah 255. Dari hasil perhitungan nilai digital (desimal)
adalah 255.
KESIMPULAN

1. Perbedaan (selisih) yang terjadi dari data hasil output LED dan hasil perhitungan
dikarenakan adanya human error (kesalahan manusia). Seperti halnya sewaktu mengatur
output potensiometer yang seharusnya 5 volt tepat, tapi sulit untuk melakukan hal tersebut.
Maka adapun kurang dan lebihnya dari 5 volt yang 1 angka di belakang koma biasanya
diabaikan, namun akan berdampak pada pembacaan mikrokontroller karena mikrokontroller
bisa menghitung dengan lebih detail.
2. Perbedaan putsf dan puts adalah bila putsf dapat mengubah dalam data saat program
berjalan, sedangkan puts pada saat program berjalan tidak dapat merubah data tersebut.
3. Ketelitian pada konversi sinyal analog ke digital dipengaruhi oleh jumlah bit yang
digunakan, jika semakin banyak bit maka akan semakin akurat pula proses pada konversinya.
LAMPIRAN

TEGANGAN
FOTO PRAKTIKUM SIMULASI
ANALOG

0 VOLT

0,5 VOLT

1 VOLT

1,5 VOLT
2 VOLT

2,5 VOLT

3 VOLT

3,5 VOLT

4 VOLT
4,5 VOLT

4,7 VOLT

SYNTAX PROGRAM

Anda mungkin juga menyukai