Anda di halaman 1dari 18

MIKROKONTROLLER

1. Pengertian Mikrokontroler
Mikrokontroler adalah sebuah chip yang berfungsi sebagai pengontrol rangkaian
elektronik dan umunya dapat menyimpan program didalamnya. Mikrokontroler
umumnya terdiri dari CPU (Central Processing Unit), memori, I/O tertentu dan unit
pendukung seperti Analog-to-Digital Converter (ADC) yang sudah terintegrasi di
dalamnya.
Kelebihan utama dari mikrokontroler ialah tersedianya RAM dan peralatan I/O
pendukung sehingga ukuran board mikrokontroler menjadi sangat ringkas.
Mikrokontroler MCS51 ialah mikrokomputer CMOS 8 bit dengan 4 KB Flash PEROM
(Programmable and Erasable Only Memory) yang dapat dihapus dan ditulisi
sebanyak 1000 kali. Mikrokontroler ini diproduksi dengan menggunakan teknologi
high density non-volatile memory. Flash PEROM on-chip tersebut memungkinkan
memori program untuk diprogram ulang dalam sistem (in-system programming) atau
dengan menggunakan programmer non-volatile memory konvensional. Kombinasi
CPU 8 bit serba guna dan Flash PEROM, menjadikan mikrokontroler MCS51
menjadi microcomputer handal yang fleksibel.

2. Mikrocontroller ATMEGA 16
Didalam pembuatan Tugas Akhir ini penulis memilih microcontroler AVR
ATMEGA 16 sebagai prosessor dari alat yang akan dibuat. AVR merupakan seri
microcontroler CMOS 8 bit buatan Atmel, berbasis arsitektur RISC (Reduced
Instruction Set Computer). Atmel merupakan salah satu vendor yang bergerak
dibidang mikroelektronika, telah mengembangkan AVR (Alf and Vegards Risc
processor) sekitar tahun 1997. Berbeda dengan microcontroller MCS51, AVR
menggunakan arsitektur RISC (Reduce Instruction Set Computer) yang mempunyai
lebar bus data 8 bit, perbedaan ini bisa dilihat dari frekuensi kerjanya. MCS51
memiliki frekuensi kerja seperduabelas kali frekuensi oscillator sedangkan frekuensi
kerja AVR sama dengan frekuensi oscillator. Jadi dengan frekuensi oscillator yang
sama, kecepatan AVR duabelas kali lebih cepat dibanding kecepatan MCS51.
Secara umum AVR dibagi menjadi 4 kelas, yaitu Attiny, AT90Sxx, ATMega dan
AT86RFxx. Perbedaan antar tipe AVR terletak pada fitur-fitur yang ditawarkan,
sementara dari segi arsitektur dan set instruksi yang digunakan hampir sama.
(Datasheet AVR ATMega 16 : PDF)

Fitur ATMega 16
Fitur-fitur yang dimiliki ATMega 16 sebagai berikut :
1. Microcontroller AVR 8 bit yang memiliki kemampuan tinggi, dengan daya rendah.
2. Arsitektur RISC dengan throughput mencapai 16 MIPS pada frekuensi 16MHz.
3. Memiliki kapasitas Flash memori 16 KByte, EEPROM 512 Byte dan SRAM 1
KByte.
4. Saluran I/O sebanyak 32 buah, yaitu Port A, Port B, Port C, dan Port D.
5. CPU yang terdiri atas 32 buah register.
6. Unit interupsi internal dan eksternal.
7. Port USART untuk komunikasi serial.
8. Fitur Peripheral.
a. Tiga buah Timer/ Counter dengan kemampuan pembandingan.
1. 2(dua) buah Timer/ Counter 8 bit dengan Prescaler terpisah dan Mode Compare.
2. 1(satu) buah Timer/ Counter 16 bit dengan Prescaler terpisah, Mode Compare,
dan Mode Capture.
b. Real Time Counter dengan Oscillator tersendiri.
c. 4 channel PWM
d. 8 channel, 10 bit ADC.
1. 8 Single-ended Channel.
2. 7 Differential Channel hanya pada kemasan TQFP.
3. 2 Differential Channel dengan Programmable Gain 1x, 10x, atau 200x.
e. Byte-oriented Two-wire Serial Interface.
f. Programmable Serial USART.
g. Antarmuka SPI.
h. Watchdog Timer dengan oscillator internal.
i. On-chip analog Comparator. (Datasheet ATMega16 : PDF)

Konfigurasi Pin AVR ATMega 16


Untuk penjelasan pin dari AVR ATMega 16 ditunjukkan dalam Gambar :
Konfigurasi Pin ATMega 16
Konfigurasi pin ATMega 16 dengan kemasan 40 pin DIP (Dual Inline
Package) dapat dilihat pada Gambar 2.1. Dari gambar diatas dapat dijelaskan fungsi
dari masing-masing pin ATMega 16 sebagai berikut :
1. VCC merupakan pin yang berfungsi sebagai masukan catu daya.
2. GND merupakan pin Ground.
3. Port A (PA.0...PA.7) merupakan pin input/ output dua arah dan pin masukan ADC.
4. Port B (PB.0...PB.7) merupakan pin input/ output dua arah dan pin fungsi
khusus,5. Port C (PC.0...PC.7) merupakan pin input/ output dua arah dan pin fungsi
khusus
6. Port D(PD.0...PD.7) merupakan pin input/ output dua arah dan pin fungsi khusus
7. RESET merupakan pin yang digunakan untuk me-reset mikrokontroler.
8. XTAL1 dan XTAL2 merupakan pin masukan clock eksternal.
9. AVCC merupakan pin masukan tegangan untuk ADC.
10. AREF merupakan pin masukan tegangan referensi ADC.

3. Aplikasi mikrokontroller
Beberapa aplikasi dari mikrokontroller adalah sebagai berikut:
a. Kunci Elektrik dengan Password
Cara kerja :
Kunci elektrik yang terbuat dari seleoid akan dikontrol oleh mikrokontroler. Untuk
membuka kunci elektrik tersebut dibutuhkan password yang diinput dari keypad.
b. Kontrol Alat Berbasis Waktu
Cara kerja:
Mengendalikan peralatan listrik berdasarkan waktu (jam). Sebuah lampu dapat hidup
otomatis jam 17.30 dan mati otomatis jam 05.00. Terdiri dari 4 Ch relay yang masing
masing dapat dikontrol ON OFF nya. Seting jadwal kontrol dengan keypad.
c. Kontrol 8 Relay dengan Komputer
Cara kerja alat : Mengontrol (ON OFF) relay melalui komputer yang di-interface-
kan dengan mikrokontroler. Relay dapat dihubungkan dengan peralatan elektronik
seperti lampu AC.
d.Penyiram Tanaman Otomatis
Cara kerja alat : Menyiram dengan menghidupkan pompa air secara otomatis. Jika
kondisi tanah kering maka pompa akan ON (menyiram) dan akan berhenti secara
otomatis pula jika kondisi tanah sudah basah.
e.Kontrol Volume Tangki Otomatis
Cara kerja alat : Mengontrol volume tangki secara otomatis berdasarkan level air
yang terbaca sensor. Jika tangki dalam keadaan kosong, pompa air akan hidup
secara otomatis sampai kondisi level terpenuhi dan pompa akan mati otomatis.

4. Sistem minimum
Sistem Minimum Mikrokontroler adalah sebuah rangkaian paling sederhana dari
sebuah mikrokontroler agar IC mikrokontroler tersebut bisa beroperasi dan
diprogram. Dalam aplikasinya sistem minimum sering dihubungkan dengan
rangkaian lain untuk tujuan tertentu. Ada beberapa yang harus diperhatikan dalam
membuat sistem minimum mikrokontroler, yaitu:
Power Supply
Semua komponen elektronika membutuhkan power supply atau sering juga disebut
catu daya. Mikrokontroler beroprasi pada tegangan 5 volt. Biasanya pembuatan
catu daya mikrokontroler menggunakan IC regulator 7805 agar tegangannya bisa
stabil.
Gambar: Regulator 7805
Osilator (Pembangkit Frekuensi)
Pada dasarnya mikrokontroler memiliki sifat seperti manusia. Kalau manusia
memiliki jantung untuk bisa hidup maka mikrokontroler memiliki osilator untuk bisa
beroprasi. Mikrokontroler sendiri sudah memiliki osilator internal yaitu sebesar 8Mhz
tetapi kadang kala agar kinerja mikronkontroler lebih cepat osilator internal tidak bisa
menangani kasus tersebut. Oleh karena itu dibutuhkan osilator eksternal (kristal)
yang nilainya lebih dari 8Mhz. Perlu diperhatikan mikrokontroler hanya bisa
beroprasi sampai 16 Mhz. jadi kalau memilih krsital untuk AVR tidak boleh lebih dari
16Mhz.

Gambar: Kristal 16 MHz


ISP (In-System Programmable)
Sistem Minimum Mikrokontroler dibuat untuk di program. Prinsipnya mikrokontroler
bisa diprogram secara parallel atau secara seri. Pemrograman mikrokontroler secara
seri atau lebih dikenal dengan ISP tidak perlu memerlukan banyak jalur data. Tapi
ISP memiliki kelemahan, jika salah setting fuse bit yang memiliki fungsi fital misal pin
reset di disable maka alamat DEH sudah tidak bisa digunakan lagi. Untuk
mengembalikan settingan fuse bit tadi, harus menggunakan pemrograman tipe
parallel (high voltage programming).

Gambar: Settingan Port ISP


Rangkaian Reset
Rangkaian reset sama fungsinya dengan rangkaian reset pada komputer. Fungsi
reset di mikrokontroler yaitu untuk merestart program, sehingga kembali ke program
awal. Penggunaan reset pada mikrokontroler opsional, bisa di pake atau nggak
tergantung si pengguna.
Berikut Gambar Rangkaian Sistem Minimum Mikrokontroler

Gambar: Rangkaian Sistem


Minimum Mikrokontroler
Rangkaian Sistem Minimum Mikrokontroler AT89S1051
(Rangkaian Sistem Minimum ini
dapat pula digunakan untuk Mikrokontroler AT89S2051, dan AT89S4051)
Rangkaian Sistem Minimum Mikrokontroler AT89S51

(Sistem Minimum ini dapat pula


digunakan untuk Mikrokontroler AT89S52, AT89S53, AT89S54, dan AT89S55)
Rangkaian Sistem Minimum Mikrokontroler AVR ATmega8(L)

Rangkaian Sistem
Minimum Mikrokontroler AVR ATMEGA8515(L)

Rangkaian Sistem Minimum


Mikrokontroler AVR ATMEGA8535(L)
(Sistem Minimum ini dapat pula
digunakan untuk Mikrokontroler ATMEGA16(L), ATMEGA32(L), ATMEGA163(L),
dan ATMEGA323(L)
Rangkaian Sistem Minimum Mikrokontroler AVR ATtiny2313(V)
5. Code Vision AVR
Ada banyak jenis software yang dapat digunakan sebagai editor yang sekaligus
menyediakan compiler untuk mikrokontroler Atmel AVR dengan menggunakan
bahasa C, diantaranya MikroC for AVR, WinAVR, Image Craft ICC AVR, IAR
Embedded Workbench for AVR, dan CodeVision AVR.
CodeVision AVR yang digunakan pada blog tutorial ini adalah CodeVisionAVR versi
evaluasi. Pada versi evaluasi terdapat batasan untuk penggunaan fasilitas yang
disediakan, namun lebih dari cukup untuk belajar pemrograman mikrokontroler
Atmel AVR. CodeVisionAVR menyediakan sebuah editor yang didesain untuk
menghasilkan program C secara otomatis untuk mikrokontroler AVR. Program C
yang akan diimplementasikan menggunakan standar ANSI C yang sesuai dengan
arsitektur AVR.
CodeVisionAVR adalah sebuah compiler C yang telah dilengkapi dengan fasilitas
Integrated Development Environment (IDE) dan didesain agar dapat menghasilkan
kode program secara otomatis untuk mikrokontroler Atmel AVR. Program ini dapat
berjalan dengan menggunakan sistem operasi Windows XP, Vista, Windows 7,
dan Windows 8, 32-bit dan 64-bit.
Integrated Development Environment (IDE) telah dilengkapi dengan fasilitas
pemrograman chip melalui metode In-System Programming sehingga dapat secara
otomatis mentransfer file program ke dalam chip mikrokontroler AVR setelah sukses
dikompilasi.
Software In-System Programmer didesain untuk bekerja ketika dihubungkan dengan
development board STK500, STK600, AVRISP mkII, AVR Dragon, AVRProg
(AVR910 application note), Atmel JTAGICE mkII, Kanda System STK200+STK300,
Dontronics DT006, Vogel Elektronik VTEC-SIP, Futurlec JRAVR and MicroTronics
ATCPU, dan Mega2000.
Untuk mengingkatkan kehandalan program ini, maka pada CodeVisionAVR juga
terdapat kumpulan pustaka (library) untuk:
Modul LCD Alphanumeric
Philips I2C bus
National Semiconductor Sensor Temperatur LM75
Philips PCF8563, PCF8583, dan Maxim/Dallas Semiconductor Real Time Clock
DS1302 dan DS1307
Maxim/Dallas Semiconductor 1 wire protocol
Maxim/Dallas Semiconductor Sensor Temperatur DS1820, DS18S20, dan DS18B20
Maxim/Dallas Semiconductor Termometer/Thermostat DS1621
Maxim/Dallas Semiconductor EEPROMs DS2430 dan DS2433
SPI
Power Management
Delays
Gray Code Conversion
MMC/SD/SD HC Flash memory cards low level access
Akses FAT pada MMC/SD/SD HC Flash memory card
CodeVisionAVR dapat menghasilkan kode program secara otomatis melalui fasilitas
CodeWizardAVR Automatic Program Generator. Dengan adanya fasilitas ini maka
penulisan program dapat dilakukan dengan cepat dan lebih efisien. Seluruh kode
dapat diimplementasikan dengan fungsi sebagai berikut:
Identifikasi sumber reset
Mengatur akses memori eksternal
Inisialisasi port input/output
Inisialisasi interupsi eksternal
Inisialisasi timer/counter dan watchdog timer
Inisialisasi USART dan interupsi buffer untuk komunikasi serial
Inisialisasi komparator analog dan ADC
Inisialisasi interface SPI dan two wire interface (TWI)
Inisialisasi interface CAN
Inisialisasi I2C Bus, sensor suhu LM75, thermometer/thermostat DS1621, dan real
time clock PCF8563, PCF8583, DS1302, DS1307
Inisialisasi 1 wire bus dan sensor suhu DS1820/DS18S20
Inisialisasi modul LCD
6. Cara menggunakan code vision AVR
Cara cepat menggunakan aplikasi Codevision AVR untuk menulis program bahasa
C. CodeVision AVR adalah sebuah aplikasi untuk menulis program bahasa C yang
telah dilengkapi dengan fasilitas Integrated Development Environment (IDE) dan di
desain agar dapat menghasilkan kode program secara otomatis untuk mikrokontroler
Atmel AVR.
Berikut tutorial cara menggunakan Code Vision AVR :
1. Buka aplikasi Code Vision AVR

2. Untuk mempermudah dalam menulis sebuah program Klick File >> New

3. Setelah itu klick OK >> muncul form Do You want to use the CodeWizardAVR >>
pilih Yes

4. Setelah itu setting IC Mikro yang digunakan >> pilih ATmega >> OK
5. Setelah itu muncul untuk setting CodeWizardAVR nya tinggal menyesuaikan dengan
Hardware, input output yang digunakan, dan pengaturan Clock Externalnya.

6. Setelah selesai setting Pilih File >> Generate, Save and Exit
7. Setelah itu muncul form untuk menyimpan project yang dibuat. usahakan simpan
pada Folder yang berbeda dengan project lain untuk memudahkan kita mencari file
agar tidak tercampur.
8. Tulis sesuai kolom yang sudah disediakan.
9. Setelah selesai menulis program untuk mengcompile File C menjadi Hex pilih
Project >> Build All atau dengan Sorcut CTRL + F9

7. Cara memasukan / mengisi program ke mikrocontroller


Langkah-langkah Mengisi Program Mikrokontroler
Sebelum melanjutkan ke tahap berikutnya, pastikan dahulu bahwa driver dari
downloader USBasp telah terinstall dengan baik pada komputer Anda. Jika belum,
Anda dapat membaca tutorial berikut ini untuk melakukan instalasi driver. Tahapan
mengisi program pada IC mikrokontroler adalah sebagai berikut :
Hubungkan downloader USBasp ke mikrokontroler dan ke komputer/laptop.
Jalankan aplikasi Khazama AVR Programmer.
Pilihlah tipe chip mikrokontroler yang digunakan, pada tutorial kali ini saya

menggunakan ATMega32. cara


memprogram mikrokontroler
Untuk pertama sekali menjalankan software Khazama ada beberapa pengaturan
yang harus Anda lakukan. Klik Command kemudian pilih Program Options. Pastikan
Anda mencentang Verify Flash dan Verify EEPROM. Pilihan ini digunakan untuk
memastikan apakah program yang diisikan telah sukses.
cara memprogram

mikrokontroler mengisi program mikrokontroler (3)


Kita dapat mengujicoba koneksi antara downloader dengan chip mikrokontroler
dengan memilih menu Command kemudian Read Chip Signature. Jika koneksi ke
mikrokontroler telah sukses, maka akan muncul chip signature yang sesuai dengan
tipe IC yang digunakan (ATMega32).
mengisi program mikrokontroler (4)
Untuk mengisi program, Anda dapat memilih file HEX (hasil kompilasi) yang akan
dimasukkan ke mikrokontroler. Setelah itu klik Auto Program.

mengisi program mikrokontroler (5)


mengisi program mikrokontroler (6)
mengisi program mikrokontroler (7)
Jika proses pengisian program telah berhasil akan muncul pesan bahwa Flash
verified dan EEPROM verified.

Anda mungkin juga menyukai