TEKNIK MIKROKONTROLER (Mikrokontroler AVR dengan Bahasa C Code Vision ).

TEKNIK M IKROKONTROLER
(M ikrokontroler AVR dengan
Bahasa C Code Vision )

Oleh : IGAP. Raka Agung, ST, M T.

(Digunakan di lingkungan sendiri, sebagai buku
ajar mata kuliah Teknik Mikrokontroler)

Jurusan Teknik Elektro dan Komputer
Fakultas Teknik
Universitas Udayana
Tahun 2014
i

ii

HALAM AN PENGESAHAN

Judul Buku Ajar :


Mata Kuliah :
Kode Mata Kuliah :
Nama Penulis :
NIP :.

Teknik Mikrokontroler
(Mikrokontroler AVR dengan
Bahasa C Code Vision)
Teknik Mikrokontroler
TE056124
IGAP. Raka Agung,ST.,MT
19670701 199603 1001

Bukit Jimbaran, 10 Agustus 2014
Menyetujui:
Ketua Jurusan
Teknik Elektro dan Komputer
Fakultas Teknik Unud

Ir. I Nyoman Setiawan, MT

NIP. 19631229 199103 1001

iii

PRAKATA
Segala puji syukur penulis panjatkan ke hadirat
Tuhan Yang Maha Esa yang telah melimpahkan rahmat
dan karuniaNya sehingga penulis dapat menyelesaikan
buku ini. Banyaknya peluang yang ditawarkan membuat
penulis mencoba untuk menyelesaikan penulisan buku ini.
Begitu juga adanya kekurangpadunya antara kurikulum
yang ada di perguruan tinggi dengan ketersediaan
perangkat-perangkat pendukung di lapangan.
Buku ini terdiri dari beberapa bagian yang
berhubungan langsung dengan perangkat keras dan
perangkat lunak mikrokontroler keluarga AVR. Diberikan
bahasan tentang deskripsi umum dari mikrokontroler
keluarga AVR dan perangkat lunaknya dalam bahasa C
dengan menggunakan Code Vision AVR. Untuk
mensimulasikan perangkat keras dan perangkat lunak dari

mikrokontroler AVR ini disediakan juga panduan tentang
contoh dan aplikasi perangkat lunak simulasi yaitu
PROTEUS. Hubungan antara mikrokontoler dengan
perangkat eksternal diberikan dalam bab Basic I/O.
Diberikan juga teori tentang interupsi, timer/counter,
ADC dan komunikasi serial pada mikrokontroler AVR
serta contoh-contoh aplikasinya. Fasilitas-fasilitas ini
semuanya telah tersedia onchip sehingga tinggal program
saja. Pada bagian akhir diberikan fungsi-fungsi yang
sering digunakan yang terdapat pada program Code
Vision AVR.
Buku ini ditujukan kepada khalayak yang ingin
mendalami tentang mikrokontroler, baik perangkat keras
maupun perangkat lunaknya, terutama bagi mahasiswa
Teknik Elektro atau Teknik Komputer. Terbuka juga
kesempatan kepada siswa sekolah menengah baik SMA
maupun
SMK
yang
ingin

mempelajari
dan
mempraktekkan segala hal tentang mikrokontroler AVR.
iv

Buku ini secara khusus diperuntukkan bagi mata kuliah
Teknik Mikrokontroler pada JTE FT UNUD dan sudah
disesuikan dengan kurikulum 2011.
Mempelajari mikrokontroler dan aplikasinya tanpa
praktek langsung khususnya bagi pemula akan terasa
lebih sulit dan kurang lengkap. Untuk itu pada buku ini
telah disediakan perangkat lunak simulasi Proteus yang
sangat lengkap. Simulasi Proteus menyediakan banyak
sekali fasilitas dari yang sederhana sekedar on off saja
sampai simulasi untuk modulasi frekwensi radio.
Perangkat lunak Code Vision juga memberikan
keunggulan bahasa C yang terstruktur dengan editor,
kompiler dan downloader yang menyatu. Code Vision
juga menyediakan fasilitas/fungsi-fungsi khusus untuk
perangkat-perangkat tertentu seperti RTC, LCD atau timer

dengan PWM. Bagi yang ingin secepatnya mengeksekusi
program disediakan fasilitas Code Wizard yang sangat
mempercepat pembuatan kontruksi proram.
Tiada gading yang tidak retak, untuk itu kepada
pembaca lebih baik mencoba langsung pada perangkat
keras. Dengan mencoba langsung akan didapatkan
pengalaman dan permasalahan yang sangat menunjang
kemahiran kita dalam menyelesaikan permasalahan. Akhir
kata penulis mengucapkan banyak terimakasih kepada
semua pihak terutama Jurusan Teknik Elektro dan seluruh
keluargaku yang selalu bersama baik dalam suka ataupun
duka.
Bukit Jimbaran, Juli 2014
Penulis

v

DAFTAR ISI
HALAMAN JUDUL…………….…………… …........... i
HALAMAN PENGESAHAN…………………………..iii

PRAKATA…………………………………………..…..iv
KONTRAK PERKULIAHAN…………………….. ,,,....vi
SILABUS……………………………………………....xiii
SATUAN ACARA PERKULIAHAN………………...xvii
DAFTAR ISI…………...…………………………… xxxi
DAFTAR GAMBAR……………………………….xxxiii
BAB I MIKROKONTROLER AVR DAN CODE
VISION AVR
1.1 SEKILAS TENTANG KELUARGA AVR………….1
1.2 MIKROKONTROLER AVR DAN BAHASA C ….. 4
1.3 CODE VISION AVR………………………………...7
1.4 INSTALASI CODEVISIONAVR ….……………….9
1.5 UNINSTALL CODEVISIONAVR………………...13
1.6 MEMBUAT PROGRAM BARU ………………….13
1.7 RANGKUMAN…………………………………….18
1.8 TUGAS……………………………………………..19
1.9 DAFTAR BACAAN……………………………….19
BAB II SOFTWARE PROTEUS 7
2.1 PENGENALAN …………………………………....21
2.2 INSTALASI ………………………………………..22

2.3 TAMPILAN PROGRAM ………………………….22
2.4 MEMBUAT SIMULASI PROGRAM ……………. 23
2.5 RANGKUMAN…………………………………….27
2.6 TUGAS……………………………………………..28
1.9 DAFTAR BACAAN……………………………….28
BAB III INPUT OUTPUT
3.1 REGISTER UNTUK PORT INPUT OUTPUT……29
3.2 APLIKASI LAMPU LED………………………….32
3.3 TUGAS PROGRAM APLIKASI LED ……………33
3.4 APLIKASI TOMBOL PUSH BUTTON…… ……..35
vi

3.5 APLIKASI LCD……………………………………36
3.6 RANGKUMAN…………………………………….39
3.7 TUGAS……………………………………………..39
3.8 DAFTAR BACAAN……………………………….40
BAB IV INTERUPSI
4.1 REGISTER INTERUPSI…………………………...41
4.2 CONTOH PROGRAM DENGAN KETIGA
EKSTERNAL INTERRUPT………………………..44

4.3 APLIKASI LED DENGAN INTERUPSI…………..45
4.4 RANGKUMAN……………………………………..47
4.5 TUGAS……………………………………………...47
4.6 DAFTAR BACAAN………………………………..48
BAB V TIMER / COUNTER
5.1 TIMER/COUNTER 0 ……………………………...49
5.2 TIMER/COUNTER1 (16-BIT) …………………… 64
5.3 APLIKASI TIMER…………………………………67
5.4 RANGKUMAN…………………………………….73.
5.5 TUGAS……………………………………………...73
5.6 DAFTAR BACAAN………………………………..78
BAB VI ANALOG TO DIGITAL CONVERTER (ADC)

6.1 REGISTER-REGISTER ADC…………………….. 75
6.2 KONFIGURASI ADC…………………………...... 80
6.3 APLIKASI ADC……………………………………81
6.4 RANGKUMAN……………………………………..83
6.5 TUGAS……………………………………………...83
6.6 DAFTAR BACAAN………………………………..84
BAB VII KOMUNIKASI SERIAL MIKROKONTROLER


7.1 INISIALISASI USART…………………………….85
7.2 APLIKASI USART………………………………...86
7.3 REGISTER USART………………………………. 87
7.4 APLIKASI USART……………………………….. 93
7.5 RANGKUMAN…………………………………….96
7.6 TUGAS……………………………………………...96
7.7 DAFTAR BACAAN………………………………..97
vii

BAB VIII FUNGSI LIBRARY PADA CODE VISION AVR
8.1 FUNGSI INPUT/OUTPUT …………………………...99

8.2 FUNGSI TIPE KARAKTER …………………… 100
8.3 FUNGSI LIBRARY STANDART …………………. 100
8.4 FUNGSI MATEMATIKA …………………………. 100
8.5 FUNGSI KONVERSI BCD …………………….. 101
8.6 FUNGSI LCD …………………………………… 101
8.7 FUNGSI DELAY………………………………….102
8.8 RANGKUMAN………………………………….. 102

8.9 DAFTAR BACAAN…………………………… .. 103
DAFTAR PUSTAKA………………………………...105

viii

DAFTAR GAMBAR
Gambar 1.1 Ikon file setup.exe…………………………9
Gambar 1.2 Pilihan bahasa……………………………..9
Gambar 1.3 Klik tombol next…………………………10
Gambar 1.4 Menyetujui syarat-syarat yang diberikan.. 10
Gambar 1.5 Menentukan lokasi tujuan………………..11
Gambar 1.6 Setuju untuk membuat tempat baru……...11
Gambar 1.7 Nama folder pada Start Menu,…………...11
Gambar 1.8 Nama folder pada Start Menu……………12
Gambar 1.9 Proses instalasi sedang berlangsung…….. 12
Gambar 1.10 Informasi tambahan……………………. 12
Gambar 1.11 Proses instalasi selesai…………………. 13
Gambar 1.12 Icon CodeVisionAVR…………………. 14
Gambar 1.13 Tampilan CodeVisionAVR……………. 14
Gambar 1.14 Jendela Pilihan Tipe File………………. 14

Gambar 1.15 Jendela Confirm CodeWizardAVR…… 15
Gambar 1.16 CodeWizardAVR pada tab Chip………. 15
Gambar 1.17 CodeWizardAVR pada tab Ports……… 16
Gambar 1.18 Program CodeVisionAVR yang
terkonfigurasi………………………………………… 17
Gambar 1.19 Menyisipkan program utama…………. 17
Gambar 1.20 Jendela Informasi ……………………… 18
Gambar 2.1 Tampilan Program ISIS………………… 23
Gambar 2.2 Rangkaian ATMega8535………………....24
Gambar 2.3 Tampilan jendela baru ………………….. 24
Gambar 2.4 Tombol Pick Devices ………………….. 25
Gambar 2.5 Jendela Pick Devices …………………… 25
Gambar 2.6 Posisi komponen…………………………,26
Gambar 2.7 Hubungan Jalur Komponen ……………. ,26
Gambar 2.8 Jendela Edit Component………………....,27
Gambar 3.1 Susunan pin mikrokontroler AVR 8535... 30
Gambar 3.2 Simbol LED (Light Emitting Diode)…… 33
Gambar 3.3 Rangkaian Lampu Flip-flop…………… 33
ix

Gambar 3.4 CodeWizardAVR seperti konfigurasi…... 34
Gambar 3.5 Seting kode wizard untuk Port B sebagai
input dan port A sebagai output……………………… 35
Gambar 3.6 Aplikasi Tombol Push Button dan LED... 36
Gambar 3.7 Rangkaian LCD dan hubungannya dengan
mikrokontroler…………………………………………. 37
Gambar 3.8 Code Vision Wizard AVR untuk LCD 16x2
tipe HD44780………………………………………….. 38
Gambar 3.9 Potongan program untuk tampilan LCD… 38
Gambar 3.10 Tampilan program LCD setelah
dimasukkan simulasi Proteus………………………….. 39
Gambar 4.1 Rangkaian LED dan Codewizard interupsi
eksternal………………………………………………...46
Gambar 5.1 Diagram blok timer0 / counter 0………... 50
Gambar 5.2 Diagram blok counter dan lingkungannya 51
Gambar 5.3 Diagram blok unit Output Compare……. 52
Gambar 5.4 Diagram timing untuk mode CTC……… 54
Gambar 5.5 Diagram timing untuk mode fast PWM.. 56
Gambar 5.6 Diagram timing untuk mode phase correct
PWM…………………………………………………...58
Gambar 5.7 Blok diagram counter 16 bit dan
sekelilingnya………………………………………….. 66
Gambar 5.8 Rangkaian simulasi proteus timer detik…69
Gambar 5.9 Setting timer 1 pada Code Wizard AVR 70
Gambar 5.10 Setting timer 0 pada CodeWizard AVR 72
Gambar 6.1 Rangkaian simulasi ADC pada LCD……81
Gambar 6.2 Setting code wizard AVR untuk LCD dan
ADC……………………………………………………82
Gambar 7.1 IC MAX232 menyesuaikan level tegangan
dari ke port serial……………………………………. 86
Gambar 7.2 Seting code wizard AVR untuk komunikasi
USART……………………………………………….. 94
Gambar 7.3.Rangkaian komunikasi serial USART pada
simulasi proteus………………………………………. 94
x

Gambar 7.4. Tampilan eksekusi program simulasi serial
USART ……………………………………………….95

xi

xii