Mikroprosesor
Banyak yang mengenal atau mengatakan bahwa mikrokontroler adalah komputer mini/ mikro. Mengenai kebenaran istilah komputer mini untuk sebutan mikrokontroler dapat dilihat dari beberapa hal berikut :
1. Masing-masing memiliki unit pengolah atau yang biasa disebut CPU (Central Processing Unit).
2. Terdapat ROM (Read Only Memory) dan RAM (Random Access Memory) sebagai lokasi eksekusi program dan menyimpan data sementara.
3. Memiliki fungsi (I/O) input (masukan) dan output (luaran) sebagai penghubung dengan perangkat lain (dunia luar).
Yang menjadi pembeda secara nyata antara koputer dengan mikrokontroler adalah ukuran dan kecepatan dikarenakan perbedaan ukuran yang disesuaikan dengan kebutuhan. Lalu ada perangkat yang disebut mikroprosesor yang juga sering kita dengar. Apa itu mikroprosesor ?
Mikroprosesor merupakan CPU yang terintegrasi dalam perangkat tunggal (single chip). Mikroprosesor biasanya digunakan untuk keperluan kinerja yang relatif tinggi dan cepat. Untuk mendukung penggunaannya mikroprosesor masih membutuhkan perangkat lain secara eksternal seperti I/O, RAM, ROM dan lainnya. Berbeda dengan mikrokontroler yang sudah terdapat perangkat eksternal dalam kemasannya. Perbedaan mikrokontroler dengan mikroprosesor dapat dilihat pada gambar 1.1
Mikroprosesor Mikrokontroler
Gambar 1.1. Perbedaan mikroprosesor dengan mikrokontroler
Special functioning block
Mikrokontroler dapat kita jumpai atau ditemukan pada perangkat elektronik dalam industri, perkantoran, rumah tangga dan lainnya. Dalam industri misalnya penggunaan mikrokontroler dapat ditemukan pada perangkat kontrol alat-alat berat, dalam perkantoran dapat ditemukan dalam perangkat alat penghitung, display, pencetak, dalam rumah tangga dapat ditemukan dalam mesin cuci, televisi, AC dan lain-lain. Penggunaan mikrokontroler tersebut didasari pada kelebihan yang dimiliki dibanding dengan mikroprosesor. Mikrokontroler pada dasarnya terdapat salah satu atau lebih dari komponen berikut :
a. CPU (Central Processing Unit)
g. ADC (Analog to Digital Converter) h. DAC (Digital to Analog Converter) i. Terminal antarmuka serial
j. Rangkaian oscilator
Sedangkan diagram blok dasar mikrokontroler seperti pada gambar 1.2
Gambar 1.2. Struktur mikrokontroler
CPU merupakan otak sebuah mikrokontroler. CPU memiliki tugas utama menghasilkan/ menentukan instruksi dan dekode instruksi yang berakhir pada eksekusi instruksi.
Memory :
Memory berfungsi sebagai penyimpan data dan program seperti pada mikroprosesor. Pada mikrokontroler biasanya memiliki RAM dan ROM (EPROM, EEPROM) atau flash memory untuk menyimpan kode program (source code).
Parallel I/O:
Port parallel I/O digunakan untuk antarmuka mikrokontroler dengan perangkat keras seperti LED, LCD, printer, dan lainnya.
Serial :
Port serial menyediakan antarmuka serial antara mikrokontroler dan peripheral lainya seperti port paralel
ADC :
ADC berfungsi untuk mengubah sinyal analog ke bentuk digital. Masukan ADC harus berupa sinyal analog, misalnya pembacaan sensor dan luaran dari ADC berbentuk digital. Luaran digital tersebut dapat digunakan untuk berbagai aplikasi digital (misal : perangkat pengukuran)
DAC :
DAC merupakan kebalikan dari ADC yaitu mengubah sinyal digital kedalam format analog. Biasanya digunakan untuk kontrol perangkat analog seperti motor DC.
Timer dan Counter :
Timer dan counter merupakan salah satu kegunaan fungsi dari mikrokontroler. Sebuah mikrokontroler kemungkinan memiliki lebih dari satu timer dan counter. Timer dan counter menyediakan fungsi pewaktu dan penghitung didalam mikrokontroler. Proses/ operasi utama dari bagian ini adalah melakukan fungsi pewaktu, modulasi, pembangkit pulsa, pengukur frekuensi, membuat osilasi, dan lainnya. Dan juga dapat digunakan untuk menghitung pulsa eksternal.
Interrupt control :
Special functioning block :
Beberapa mikrokontroler dibuat untuk aplikasi tertentu atau aplikasi khusus misal pada perangkat luar angkasa, robot, mobil balap, dan lainnya. Mikorokontroler ini biasanya dibuat dengan adanya penambahan port untuk operasi khusus.
1.2 Mikrokontroler ATMega8535
Pada pembelajaran ini menggunakan mikrokontroler ATMega8535 yang merupakan bagian keluarga mikrokontroler AVR (Alf and Vegard’s Risc processor) keluaran Atmel. Pada mikrokontroler ATMega8535 (gambar 1.3) memiliki spesifikasi sebagai berikut :
Flash memory : 8 kB Real time counter : tersedia Analog comparator : tersedia ISP via SPI port : tersedia Full duplex SPI : tersedia
I2C : tersedia
Gambar 1.3. Mikrokontroler ATMega8535
Konfigurasi pin ATMega8535 pada tipe standar 40 PDIP adalah seperti pada gambar 1.4 yang menjelaskan fungsi tiap-tiap pin pada mikrokontroler ATMega8535.
Gambar 1.4. Konfigurasi pin mikrokontroler ATMega8535
Port XTAL 1 (kaki ke 13) merupakan masukan ke penguat oscillator dan masukan ke rangkaian clock internal. Port XTAL 2 (kaki ke 12) merupakan luaran dari penguat oscillator. Port AVCC (kaki ke 30) merupakan pin untuk tegangan port A dan ADC. Jika ADC tidak digunakan dapat disambungkan dengan Port VCC. Port AREF (kaki ke 32) merupakan pin referensi analog untuk nilai ADC.
1.3 Belajar dengan mikrokontroler ATMega8535
Pada buku ini tidak banyak mengulas tentang teori mendasar tentang mikrokontroler, namun lebih banyak proses kegiatan percobaan mandiri, sehingga anda diharapkan mampu menganalisa setelah melakukan percobaan.
Pada kegiatan percobaan menggunakan ATMega8535, hal ini perlu ditegaskan lagi karena dipasaran muncul dua nama yang yang hampir sama yaitu satunya adalah ATMega8535L. lalu apa perbedaan keduanya? Jika ditoko komponen elektronik biasanya penjual biasanya mengatakan jika ATMega8535L hanya bisa diinjeksi program 5 kali saja, berbeda dengan ATMega8535 yaitu dapat diinjeksi hingga ratusan bahkan ribuan kali. Benarkah demikian? Sebenarnya perbedaan mendasar keduanya adalah pada sumber tegangan dan frekuensi kecepatan. ATMega8535L bekerja pada sumber tegangan 2,7 – 5,5 Volt, sedangkan pada ATMega8535 bekerja pada tegangan 4,5 – 5, 5Volt. ATMega8535L memiliki speed grades 0 – 8 MHz, sedangkan ATMega8535 memiliki speed grades 0 – 16 MHz.
Trainer kit yang digunakan pada kegiatan percobaan merupakan trainer kit buatan Laboratorium Sistem Komputer dan Kontrol – Politeknik Negeri Jember sebagai perlengkapan kegiatan praktikum perkuliahan mikrokontroler. Trainer kit telah terintegrasi dengan downloader mikrokontroler dengan koneksi USB yaitu USBasp yang diadopsi dari produk Thomas Fischl
(http://www.fischl.de/usbasp/) untuk memudahkan anda dalam melakukan percobaan. Trainer kit
ini telah melalui beberapa tahap perbaikan dan penyempurnaan dalam menemukan bentuk dan penataan port-port yang dianggap paling nyaman dan mudah dipahami oleh pemula. Pada trainer kit anda/ pengguna setelah dapat menggunakannya secara berkelanjutan, karena setelah anda memiliki/ membuat sendiri masih bisa digunakan selain proyek-proyek percobaan di dalam buku ini.
Penggunaan program aplikasi pada buku ini menggunakan Codevision AVR C compiler yang berbasis bahasa C. Codevision AVR C compiler versi evaluasi bisa didapatkan secara gratis
(http://www.hpinfotech.ro/cvavr_download.html) dengan kapasitas program maksimum 4 kB
menggunakan Khazama AVR Programmer yang merupakan aplikasi khusus untuk USBasp. Khazama AVR Programmer yang akan digunakan bisa anda dapatkan secara gratis
(http://khazama.com/project/programmer/).
Dalam penggunaan buku ini sebaiknya anda sudah mempelajari beberapa hal berikut ini :
a. Datasheet mikrokontroler ATMega8535 b. Dasar-dasar pemrograman bahasa C
c. Dasar-dasar elektronika, digital (sistem bilangan dan logika dasar) d. Teknik antarmuka (interface)
e. USBasp driver (http://www.fischl.de/usbasp/)