19 mikrokontroler lebih murah, lebih sedikit membutuhkan komponen pendukung, fitur
lebih lengkap daripada mikroprosesor.
5. Mikrokontroler AVR
Kelengkapan fasilitas atau fitur yang dimiliki oleh mikrokontoler dapat digunakan secara maksimal oleh seorang programmer yang dapat digunakan
untuk mengendalikan keluaran seperti LCD, lampu LED sebagai output, maupun yang lainnya. Menurut Suprapto 2012:18 , saat ini di Indonesia mikrokontroler
jenis AVR yang paling banyak digunakan, karena fitur yang berada di dalam mikrokontroler jenis tersebut cukup lengkap, murah, dan banyak dijual dipasaran.
Beberapa jenis mikrokontroler memang memiliki kelengkapan yang berbeda-beda, namun memiliki arsitektur yang sama dan set intruksinya hampri sama pula.
Mikrokontroler AVR merupakan seri andalan buatan ATMEL. Pemilihan seri mikrokontroler yang akan digunakan oleh seorang pemrogram yaitu berdasarkan
fitur yang dimiliki oleh IC tersebut, adapun perbandingan seri mikrokontroler buatan ATMEL dapat dilihat pada Tabel 3 dibawah ini sebagai pedoman dalam
memilih jenis yang akan digunakan.
20
Tabel 3. Perbandingan Seri Mikrokontroler Buatan ATMEL
sumber Suprapto, 2012:19
Seri Mikrokontro
ler Flas
h KB
RAM Byte
EEPRO MKB
PIN IO
TIMER 16bit
Timer 8bit
U A
R T
P W
M ADC
10bit S
P I
IS P
ATmega 8 8
1024 0.5
23 1
1 1
3 68
1 Ya ATmega
8535 8
512 0.6
32 2
2 1
4 8
1 Ya ATmega 16
16 1024
0.7 32
1 2
1 4
8 1 Ya
ATmega 162 16
1024 0.8
35 2
2 2
6 8
1 Ya ATmega 32
32 2048
1 32
1 2
1 4
8 1 Ya
ATmega128 128
4096 4
53 2
2 2
8 8
1 Ya ATtiny12
1 -
0.0625 6
- 1
- -
- -
Ya ATtiny2313
2 128
0.125 18
1 1
1 4
- 1 Ya
ATtiny44 4
256 0.25
12 1
1 -
4 8
1 Ya ATtiny84
8 512
0.5 12
1 1
- 4
8 1 Ya
Adapun penjelasan dari fitur-fitur dari beberapa jenis ATmega berdasarkan tabel di atas yaitu memori flash, memori RAM, EEPROM, PORT IO, timer, UART,
PWM, ADC, SPI, ISP. Fitur dari mikrokontroler terdapat flash adalah salah satu
jenis Read Only Memory yang biasanya diisi program buatan seorang pemrogram, memori jenis ini ketika mikrokontroler direset maka program akan dibaca dari
awalhasil terakhir tidak disimpan. Fitur kedua yang dimiliki yaitu RAM Random Acces Memory adalah merupakan memori yang membantu CPU untuk
menyimpan data sementara dan pengolahan data pada saat program dijalankan.
Fitur ketiga yang dimiliki yaitu EEPROM Electrically Erasable Programmable Read Only Memory adalah memori untuk penyimpanan data
secara permanen oleh program yang sedang dijalankan, memori yang disimpan tidak akan berubah pada saat mikrokontroler direset. Mikrokontroler juga memiliki
Port IO adalah pinkaki untuk jalur keluaran dan masukan yang ada di dalam mirkrokontroler, mikrokontroler juga memiliki fasilitas Timer adalah fitur
21 mikrokontroler yang berfungsi mengeksekusi program sesuai waktu yang
dikehendaki oleh pemrogram. Mikrokontroler juga memiliki UART Universal Asynchronous Receive Transmit sebagai jalur komunikasi secara serial tak
sinkron.
Fasilitas lain yaitu PWM Pulse Width Modulation, mikrokontroler dapat
membuat gelombang kotak yang dapat diatur kecepatan hidup-mati modulasi
gelombang. Mikrokontroler terdapat fitur ADC Analog to Digital Converter
adalah fitur dari IC mikrokontroler yang dapat mengkonversi nilai analog yang
berupa tegangan ke dalam bentuk nilai digital. Fitur lain yaitu SPI Serial Peripheral Interface adalah jalur komunikasi data secara serial sinkron. Fitur
yang terahkir yaitu ISP In System Programming adalah kemampuan IC
mikrokontroler untuk dapat diprogram secara langsung yang hanya membutuhkan kaki yang minimalis. Suprapto, 2012 :20.
a. Pemrograman mikrokontroler
Terdapat beberapa bahasa pemrograman yang digunakan utnuk menulis program dari komputer. Bahasa pemrograman seperti dalam Suprapto 2012, 33-
35 adalah sebuah notasi yang memiliki suatu ketentuan khusus pada setiap jenis bahasa pemrograman untuk memprograman melalui komputer ke suatu objek
yang diprogram. Bahasa pemrograman dibagi menjadi dua tingkat, yaitu bahasa mesin,
bahasa tingkat tinggi dan tingkat rendah. Bahasa mesin machine language yaitu bahasa yang sulit dipahami oleh manusia, namun proses eksekusinya sangat
cepat, dan memerlukan penerjemah atau interpreter. Bahasa tingkat rendah low level language atau bahasa assembly adalah bahasa yang apabila di eksekusi