1 TEKNIK MIKROKONTROLER (Mikrokontroler AVR dengan Bahasa C Code Vision ) Oleh : IGAP. Raka Agung, ST, MT. (Digunakan di lingkungan sendiri, sebagai b...
TEKNIK MIKROKONTROLER (Mikrokontroler AVR dengan Bahasa C Code Vision )
Oleh : IGAP. Raka Agung, ST, MT. (Digunakan di lingkungan sendiri, sebagai buku ajar mata kuliah Teknik Mikrokontroler)
Jurusan Teknik Elektro dan Komputer Fakultas Teknik Universitas Udayana Tahun 2014 i
ii
HALAMAN 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
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