bab ii
DESCRIPTION
next materialTRANSCRIPT
5
BAB II
TINJAUAN PUSTAKA
Untuk memahami sistem kerja dari laporan akhir ini, terlebih dahulu
memahami teori – teori komponen yang termasuk dalam pemrograman
BASCOM AVR yang dianggap erat hubungannya dengan alat yang akan dibuat
dan berkaitan erat dengan yang akan dibahas .
2.1 Alat Bantu Komunikasi Tuna Wicara
alat tersebut merupakan rangkaian elektronika berupa sistem switch Push
Button yang di hubungkan dengan Mikrokontroler ATMega8 sebagai sistem
utama yang di proses sehingga dapat menghasilkan output suara dengan susunan
bahasa kalimat sehari - hari yang baik dan benar, sehingga dengan output suara
dari alat inilah Tuna Wicara tersebut akan dapat berkomunikasi dengan orang lain
secara normal.
Karena itu penulis mencoba menganalisa dan mempelajari lebih dalam
tentang membuat sebuah alat elektronika berbasis mikrokontroler yang dapat
diaplikasikan pada Mikrocontroller ATMega8 dan Modul Voice Player untuk
menghasilkan alat bantu komunikasi tuna wicara yang sesuai dan mudah di
gunakan oleh Tuna Wicara tersebut. Dan di harapkan penulis dapat memahami
fungsi, karakteristik dan cara kerja rangkaian aplikasi dari Mikrocontroller
ATMega8 dan Modul Voice Player.
2.2. Keypad Matriks 4 x 3
Keypad adalah saklar-saklar push button yang disusun secara matriks yang
berfungsi untuk menginput data seperti, input pintu otomatis, input absensi, input
datalogger dan sebagainya. Saklar-saklar push button yang menyusun keypad
yang digunakan umumnya mempunyai 3 kaki dan 2 kondisi, kondisi pertama
yaitu pada saat saklar tidak ditekan, maka antara kaki 1, 2 dan 3 tidak terhubung
(berlogika 1), Berikut gambar keypad matriks 4 x 3 yang dipakai dalam
6
pembuatan alat bantu komunikasi tuna wicara dengan masukan tone keypad
menggunakan media voice player :
Gambar 2.1 Keypad Matriks 4x3
sedangkan pada kondisi kedua adalah saat saklar ditekan, maka kaki 1, 2
dan 3 akan terhubung dan berlogika 0 sebagaimana terlihat pada gambar 8 (b).
(1) Keadaan saat saklar tidak ditekan (2) Keadaan saat saklar ditekan
(berlogika 1) (berlogika 0)
Gambar 2.2 Saklar Push Button 3 Kaki
(Sumber : Arif, 2010 : 6 )
2.2.1 Rangkaian Tone Keypad Matrik 4 x 3
Keypad akan tersusun secara matrik dengan kondisi satu kaki menjadi
indeks kolom (C1), satu kaki menjadi indeks baris (R1) dan satu kaki menjadi
common (common). Susunan matrik keypad 4x3 tidak hanya terdiri dari satu
7
saklar, akan tetapi tersusun dari 12 saklar dalam kondisi terhubung antara indeks
baris, kolom dan common yang ditunjukkan pada gambar 2.20. (Arif, 2010: 6)
Gambar 2.3 Rangkaian Matrik Keypad 4 x 3
(Sumber : Arif, 2010 : 7)
2.2.2 Kombinasi Keypad dengan Mikrokontroller
Gambar 2.4 Sistem Input Data Keypad
(Sumber : Arif, 2010 : 8 )
8
Ketika keypad dalam keadaan tidak ditekan maka baris (row) R1, R2, R3,
R4, dan kolom (collum) C1,C2,C3,C4 yang terkombinasi dengan mikrokontroller
ber logika satu. Dan apabila salah satu tombol ditekan akan terjadi hubungan
singkat yang menyebabkan berlogika nol. Berikut contoh input data desimal pada
keypad:
Contoh input desimal 1
Urutan baris dan Kolom : R1 R2 R3 R4 C1 C2 C3
Logika : 0 1 1 1 0 1 1
Contoh input desimal 2
Urutan baris dan Kolom : R1 R2 R3 R4 C1 C2 C3
Logika : 0 1 1 1 1 0 1
Contoh input desimal 3
Urutan baris dan Kolom : R1 R2 R3 R4 C1 C2 C3
Logika : 0 1 1 1 1 1 0
Contoh input desimal 4
Urutan baris dan Kolom : R1 R2 R3 R4 C1 C2 C3
Logika : 1 0 1 1 0 1 1
Contoh input desimal 5
Urutan baris dan Kolom : R1 R2 R3 R4 C1 C2 C3
Logika : 1 0 1 1 1 0 1
Contoh input desimal 6
Urutan baris dan Kolom : R1 R2 R3 R4 C1 C2 C3
Logika : 1 0 1 1 1 1 0
Contoh input desimal 7
Urutan baris dan Kolom : R1 R2 R3 R4 C1 C2 C3
Logika : 1 1 0 1 0 1 1
Contoh input desimal 8
Urutan baris dan Kolom : R1 R2 R3 R4 C1 C2 C3
Logika : 1 1 0 1 1 0 1
Contoh input desimal 9
Urutan baris dan Kolom : R1 R2 R3 R4 C1 C2 C3
Logika : 1 1 0 1 1 1 0
Contoh input desimal *
Urutan baris dan Kolom : R1 R2 R3 R4 C1 C2 C3
Logika : 1 1 1 0 0 1 1
9
Contoh input desimal 0
Urutan baris dan Kolom : R1 R2 R3 R4 C1 C2 C3
Logika : 1 1 1 0 1 0 1
Contoh input desimal 1
Urutan baris dan Kolom : R1 R2 R3 R4 C1 C2 C3
Logika : 0 1 1 0 1 1 0
( Arif, 2010 : 8 )
Bilangan ini akan discan mikrokontroller bahwa tombol keypad sedang
ditekan, karena telah diatur dengan pemograman dan perancangan rangkaian
interface antara keypad dan mikrokontroller agar bilangan logika tersebut dapat
dikonfersikan menjadi input logika yang ditekan pada keypad. Demikian pula
pada tombol ‘2’ dan seterusnya sehingga menghasilkan tabel sebagai berikut.
( Arif, 2010 : 10 )
Tabel II.I. Kombinasi Data Keypad
(Sumber : Arif, 2010 : 14)
Data Output Data Input Key
PressedR1 R2 R3 R4 C1 C2 C3
0 1 1 1 0 1 1 1
0 1 1 1 1 0 1 2
0 1 1 1 1 1 0 3
1 0 1 1 0 1 1 4
1 0 1 1 1 0 1 5
1 0 1 1 1 1 0 6
1 1 0 1 0 1 1 7
1 1 0 1 1 0 1 8
1 1 0 1 1 1 0 9
1 1 1 0 0 1 1 *
1 1 1 0 1 0 1 0
1 1 1 0 1 1 0 #
10
Pengambilan data dari keypad dilakukan dengan menunggu adanya
penekanan tombol keypad. Kondisi tidak ada penekanan tombol adalah high
untuk semua pin keypad kecuali common yang terhubung ke ground atau pada
port mikrokontroler. Untuk itu program akan mendeteksi dengan tidak adanya
kondisi pada port sebagai detector akan tetapi adanya penekanan tombol. Setelah
ditemukan adanya penekanan tombol, maka dilakukan pencarian tombol apa yang
ditekan berdasarkan angka–angka yang tercantum pada tabel 1. Jika tidak
ditemukan salah satu kombinasi maka berarti ada lebih dari satu tombol yang
ditekan, atau ada “gangguan lain” yang menyebabkan data tidak valid. Untuk itu
ulangi lagi dengan menekan tombol keypad. ( Arif, 2010 : 15 )
2.3 Modul Voice Player
Alat bantu komunikasi tuna wicara dengan masukan tone keypad
menggunakan media voice player, modul ini menggunakan SDcard yang
berfungsi sebagai tempat penyimpanan data suara yang akan dikeluarkan. Pada
modul voice player terdapat sebuah IC Atmega8 yang berfungsi sebagai
pengontrol output suara yang akan dikeluarkan. Output dari Atmega8 yang berupa
data digital diubah kebentuk analog melalui rangkaian DAC R-2R yang terdapat
pada modul voice player, yang kemudian output dari rangkaian DAC digunakan
untuk menghasilkan suara melalui speaker. ( Daney, 2012 : 1 )
Modul ini dioperasikan menggunakan serial interface dengan setting
serialnya sebagai berikut:
Boudrate : 9600
Data Bit : 8
Stop bit : 1
Parity : none
11
Gambar 2.5 Serial interface Modul Voice Player
( Sumber : Daney, 2012 : 1 : 3 )
Format MicroSD yang digunakan FAT16/FAT32. Nama file .wave yang
disimpan harus memiliki jumlah karakter maksimal 8 buah dan tidak ada tanda
space. File yang disimpan dalam microSD HARUS dengan format .wave dengan
aturan sebagai berikut:
1. Bit/sample : 8 bit
2. Sampling Freq : 22050 Hz
3. Channel : mono
Seperti program dibawah ini :
12
Gambar 2.6 Pengaturan Format suara Modul Voice Player
( Sumber : Daney.2012 : 5 )
File diputar dengan cara mengirimkan paket data secara serial dengan format
paket seperti dibawah ini:
Format Paket @xxxxx# , dimana
@ header paket
# tail paket
xxxxx ,nama file yang akan diputar tanpa .wav
Semua data paket dalam format ASCII string atau test bisa menggunakan program
hyperterminal milik windows. Misalkan akan diputar file dengan nama
123456.wav, maka paket yang dikirim adalah @123456# , atau file dengan nama
suara.wav, maka paket yang dikirim adalah @suara# .
Jika file wave telah selesai diputar, maka modul akan mengirimkan data berupa
character “*”(tanpa tanda petik dua). ( Daney, 2012 : 6)
13
Hasil monitor komunikasi serial menggunakan program hyperterminal :
Gambar 2.7 Monitor komunikasi serial menggunakan program hyperterminal
( Sumber : Daney, 2012 : 8)
Modul voice player menggunakan SDcard dapat digunakan dalam berbagai
aplikasi misalnya antrian loket bank, jam bersuara, trans Jakarta dan lain-lain.
Dalam pemakain modul ini ada beberapa hal yang perlu diperhatikan yaitu:
1. Perhatikan porisi SDCard jangan sampai terbalik. Posisi/pemasangan SDCard
yang benar seperti dibawah ini . ( Daney, 2012 : 7)
Gambar 2.8 Posisi SDCard yang benar
( Sumber : Daney, 2012 : 8 )
14
2. Power Modul, modul ini menggunakan power 12-9 VDC. Perhatikan
pemasangan jangan sampai terbalik. Kalo pemasangan benar, led power akan
menyala. ( Daney, 2012 : 6)
Gambar 2.9 Jarak Jack dan power on dan off yang benar
(Sumber : Daney.2012 : 8 )
3. Komunikasi serial, dalam modul ini disediakan dua opsi komunikasi serial
yaitu komunikasi serial dengan computer/laptop menggunakan RS232 dan
komunikasi serial dengan device mikrokontroller menggunakan port TX,RX
dan GND. Untuk komunikasi serial ada jumper yang perlu disetting yaitu jp1
yaitu sebagai berikut:
( Daney, 2012 : 6)
Gambar 2.10 Port Tx dan Rx Modul Voice Player
( Sumber : Daney, 2012 : 8 )
Saat koneksi dengan computer gunakan kabel perpanjangan serial yang
Straight bukan yang cross. Namun saat koneksi ke device lain maka koneksinya
15
harus cross yaitu TX ke RXmodul, RX ke TXmodul dan GND ke GNDmodul.
Gunakan jumper 2 untuk koneksi ke device lain. ( Daney, 2012 : 6)
4. Audio Out
Modul ini dilengkapi jack audio out dimana suara/voice dikelurkan dari
sini berupa mono. Untuk dapat mendengarkan suara diperlukan audio amplifier
lagi, misalnya speaker active. ( Daney, 2012 : 6)
5. Indikator Led
Modul ini dilengkapi dengan dua led indicator yaitu led indikator Good
dan led indikator MicroSD. Led MicroSD mengindikasikan koneksi microsd
dengan mikrokontroller dapat dikenali apa tidak. Jika led microSD menyala
berarti mikrokontroller tidak dapat melakukan komunikasi dengan
microSD.Jika komunikasi sukses led microSD akan berkedip selama 1 secon
lalu padam.(Daney, 2012 : 6)
2.4 LCD 16x2 ( Liquid Crystal Display )
(Afgianto, 2010 : 205) . LCD adalah suatu komponen yang terintegrasi
dimana fungsi dari komponen ini adalah untuk menampilkan karakter dari
data yang dikirimkan pada pin atau kaki penerima 8 bit (pada LCD
karakter). Secara umum jenis LCD dapat dibedakan menjadi dua yaitu
LCD karakter dan LCD grafik. LCD tidak dapat langsung menampilkan
karakter bentuk grafik pada tampilannya sebelum suatu LCD tersebut di
program pada mikrokontroler.
Penampil LCD pada dasarnya terdiri dari dari bagian berikut : cairan tipis
dari suatu jenis kristal cair yang transparan berada diantara 2 keping kaca.
Bagian dalam daripada keping-keping kaca itu dilapisi bahan penghantar.
Pengahantar yang depan adalah tembus cahaya. Jika bahan-bahan penghantar
diberi tegangan listrik maka terjadilah medan listrik yang menembus kristal.
Adapun keunggulan dari LCD adalah dengan daya listrik yang kecil saja
16
dapat menimbulkan cahaya (LCD bekerja). Pada indikator aktif (yaitu
indikator tabung dan indikator dioda) perlu dibangkitkan daya listrik
guna pembangkitan cahaya,sedangkan pada LCD ini cahaya diperoleh
dengan jalan mengemudikan sinar yang jatuh dari luar. (Afgianto, 2010 : 207)
Selain ada kelebihannya, LCD juga memiliki kekurangan yaitu
untuk pengendalianya dibutuhkan tegangan bolak-balik. Tegangan rata-rata
tidak akan terpakai, hal ini menyebabkan tidak terpakainya transistor-transistor
bipolar biasa sebagai penggerak (driver) untuk segmen-segmennya, maka
dipakailah transistor MOS. Arus yang digunakan untuk mengaktifkan segmen
LCD adalah menggunakan arus bolak-balik. Frekuensi yang diperlukanb
berkisar 30 Hz. Hal ini berguna untuk menghindari tampilan yang tidak
sesuai dengan karakteristiknya. Apabila catu daya yang digunakan DC maka
perlu diaktifkan bentuk gelombang AC dengan menggunakan osilator. Batas
frekunsi ditentukan oleh resistansi elektroda- elektroda dan kapasitas segme
segmen dalam penampil. Konsumsi arus tergantung padsa frekuensi dan kapasitas
segmen-segmen dalam penampil. (Afgianto, 2010 : 208)
Gambar 2.11 Modul LCD M1632( 16x2 )
Sumber : http://iitkgp.vlab.co.in/?sub=39&brch=125&sim=1162&cnt=1
17
Penggunaan LCD dalam peralatan ini bertujuan untuk menampilkan
kode/password yang dimasukkan pada tone keypad sehingga mempermudah
pembacaan kode atau password. LCD yang digunakan adalah M1632
merupakan LCD Matrix dengan konfigurasi 16 karakter dan 2 baris
dengan setiap karakternya dibentuk oleh 8 baris pixel dan 5 kolom pixel ( 1
baris pixel terakhir adalah kursor ). (Afgianto, 2010 : 211)
Gambar 2.12 Modul LCD ( Liquid Crystal Display )
Sumber : http://iitkgp.vlab.co.in/?sub=39&brch=125&sim=1162&cnt=1
Kaki-kaki Modul M1632 Fungsi dari setiap kaki pada komponen tersebut :
1. Kaki 1 ( GND ) : Kaki ini berhubungan dengan tegangan +5 volt
yang merupakan tegangan untuk sumber daya dari HD44780 ( khusus
untuk modul M1632,kaki ini adalah VCC ).
2. Kaki 2 ( VCC ) : Kaki ini berhubungan dengan tegangan 0 volt (Ground )
dari modul LCD ( khusus untuk modul M1632,kaki ini adalah GND ).
3. Kaki 3 ( VEE/VLCD ) : Tegangan pengatur kontras LCD,kaki ini
terhubung pada V5.Kontras mencapai nilai maksimum pada saat kondisi
kaki ini pada tegangan 0 volt.
4. Kaki 4 ( RS ) : Register Select,kaki pemilih register yang akan
diakses.Untuk akses ke Register Data,logika dari kaki ini adalah 1 dan
untuk akses ke Register Perintah,logika dari kaki ini adalah 0.
5. Kaki 5 ( R/W ) : Logika 1 pada kaki ini menunjukkan bahwa modul LCD
18
sedang pada mode pembacaan dan logika 0 menunjukkan bahwa modul
LCD sedang pada mode penulisan.Untuk aplikasi yang tidak memerlukan
pembacaan data pada modul LCD,kaki ini dapat dihubungkan langsung ke
Ground
6. Kaki 6 (E) : Enable Clock LCD, kaki mengaktifkan clock LCD. Logika 1 pada
kaki ini diberikan pada saat penulisan atau membacaan data.
7. Kaki 7 – 14 (D0 – D7) : Data bus, kedelapan kaki LCD ini adalah bagian di
mana aliran data sebanyak 4 bit ataupun 8 bit mengalir saat proses penulisan
maupun pembacaan data.
8. Kaki 15 (Anoda) : Berfungsi untuk tegangan positif dari backlight LCD sekitar
4,5 volt (hanya terdapat untuk LCD yang memiliki backlight)
9. Kaki 16 (Katoda) : Tegangan negatif backlight LCD sebesar 0 volt (hanya
terdapat pada LCD yang memiliki backlight).
2.3 Mikrokontroler AVR ATMega8
(Bagus,2012:4). AVR merupakan salah satu jenis mikrokontroler
yang di dalamnya terdapat berbagai macam fungsi. Perbedaannya pada mikro
yang pada umumnya digunakan seperti MCS51 adalah pada AVR tidak perlu
menggunakan oscillator eksternal karena di dalamnya sudah terdapat
internal oscillator. Selain itu kelebihan dari AVR adalah memiliki Power-
On Reset, yaitu tidak perlu ada tombol reset dari luar karena cukup hanya
dengan mematikan supply, maka secara otomatis AVR akan melakukan
reset. Untuk beberapa jenis AVR terdapat beberapa fungsi khusus seperti
ADC, EEPROM sekitar 128 byte sampai dengan 512 byte.
AVR ATmega8 adalah mikrokontroler CMOS 8-bit berarsitektur
AVR RISC yang memiliki 8K byte in-System Programmable Flash.
Mikrokontroler dengan konsumsi daya rendah ini mampu mengeksekusi
19
instruksi dengan kecepatan maksimum 16MIPS pada frekuensi 16MHz. Jika
dibandingkan dengan ATmega8L perbedaannya hanya terletak pada besarnya
tegangan yang diperlukan untuk bekerja. Untuk ATmega8 tipe L,
mikrokontroler ini dapat bekerja dengan tegangan antara 2,7 - 5,5 V sedangkan
untuk ATmega8 hanya dapat bekerja pada tegangan antara 4,5 – 5,5 V.
(Bagus ,2012 : 4)
Gambar 2.13 Atmel AVR ATMega8
Sumber : (Bagus, 2012:4)
2.1.1 konfigurasi Pin ATMega8
Gambar 2.14. Konfigurasi Pin ATMega8
20
Sumber : (Winoto,2010:40)
ATMega8 memiliki 28 Pin, yang masing-masing pin nya memiliki fungsi
yang berbeda-beda baik sebagai port maupun fungsi yang lainnya. Berikut akan
dijelaskan fungsi dari masing-masing kaki ATMega8.
1. VCC
Merupakan supply tegangan digital.
2. GND
Merupakan ground untuk semua komponen yang membutuhkan grounding.
3. Port B (PB7...PB0)
Didalam Port B terdapat XTAL1, XTAL2, TOSC1, TOSC2. Jumlah Port B
adalah 8 buah pin, mulai dari pin B.0 sampai dengan B.7. Tiap pin dapat
digunakan sebagai input maupun output. Port B merupakan sebuah 8-bit bi-
directional I/O dengan internal pull-up resistor. Sebagai input, pin-pin yang
terdapat pada port B yang secara eksternal diturunkan, maka akan mengeluarkan
arus jika pull-up resistor diaktifkan. Khusus PB6 dapat digunakan sebagai input
Kristal (inverting oscillator amplifier) dan input ke rangkaian clock internal,
bergantung pada pengaturan Fuse bit yang digunakan untuk memilih sumber
clock. Sedangkan untuk PB7 dapat digunakan sebagai output Kristal (output
oscillator amplifier) bergantung pada pengaturan Fuse bit yang digunakan untuk
memilih sumber clock. Jika sumber clock yang dipilih dari oscillator internal,
PB7 dan PB6 dapat digunakan sebagai I/O atau jika menggunakan Asyncronous
Timer/Counter2 maka PB6 dan PB7 (TOSC2 dan TOSC1) digunakan untuk
saluran input timer. (Bagus, 2012 : 9)
4. Port C (PC5…PC0)
21
Port C merupakan sebuah 7-bit bi-directional I/O port yang di dalam masing-
masing pin terdapat pull-up resistor. Jumlah pin nya hanya 7 buah mulai dari pin
C.0 sampai dengan pin C.6. Sebagai keluaran/output port C memiliki karakteristik
yang sama dalam hal menyerap arus (sink) ataupun mengeluarkan arus (source).
(Bagus, 2012 : 11)
5. RESET/PC6
Jika RSTDISBL Fuse diprogram, maka PC6 akan berfungsi sebagai pin I/O.
Pin ini memiliki karakteristik yang berbeda dengan pin-pin yang terdapat pada
port C lainnya. Namun jika RSTDISBL Fuse tidak diprogram, maka pin ini akan
berfungsi sebagai input reset. Dan jika level tegangan yang masuk ke pin ini
rendah dan pulsa yang ada lebih pendek dari pulsa minimum, maka akan
menghasilkan suatu kondisi reset meskipun clock-nya tidak bekerja.
(Bagus, 2012 : 11)
6. Port D (PD7…PD0)
Port D merupakan 8-bit bi-directional I/O dengan internal pull-up resistor.
Fungsi dari port ini sama dengan port-port yang lain. Hanya saja pada port ini
tidak terdapat kegunaan-kegunaan yang lain. Pada port ini hanya berfungsi
sebagai masukan dan keluaran saja atau biasa disebut dengan I/O.
(Bagus, 2012 : 12)
7. AVcc
Pin ini berfungsi sebagai supply tegangan untuk ADC. Untuk pin ini harus
dihubungkan secara terpisah dengan VCC karena pin ini digunakan untuk analog
saja. Bahkan jika ADC pada AVR tidak digunakan tetap saja disarankan untuk
menghubungkannya secara terpisah dengan VCC. Jika ADC digunakan, maka
AVcc harus dihubungkan ke VCC melalui low pass filter. (Bagus, 2012 : 14)
8. AREF
22
Merupakan pin referensi jika menggunakan ADC.
(Bagus, 2012 : 14)
Gambar 2.15 Blok Diagram ATmega8
(Sumber : Bagus, 2012 : 15)
Pada AVR status register mengandung beberapa informasi mengenai
23
hasil dari kebanyakan hasil eksekusi instruksi aritmatik. Informasi ini
digunakan untuk altering arus program sebagai kegunaan untuk
Meningkatkan performa pengoperasian. Register ini di-update setelah
operasi ALU (Arithmetic Logic Unit) hal tersebut seperti yang tertulis
dalam datasheet khususnya pada bagian Instruction Set Reference. Dalam
hal ini untuk beberapa kasus dapat membuang penggunaan kebutuhan
instrukasi perbandingan yang telah didedikasikan serta dapat
menghasilkan peningkatan dalam hal kecepatan dan kode yang lebih
sederhana dan singkat. Register ini tidak secara otomatis tersimpan
ketika memasuki sebuah rutin interupsi dan juga ketika menjalankan
sebuah perintah setelah kembali dari interupsi. Namun hal tersebut
harus dilakukan melalui software.
2.5 Bahasa Pemrograman Bascom AVR
(Sulistiyanto,2008:195). BASCOM-AVR adalah program basic compiler
berbasis windows untuk mikrokontroler keluarga AVR merupakan pemrograman
dengan bahasa tingkat tinggi ” BASIC ” yang dikembangkan dan dikeluarkan oleh
MCS elektronika sehingga dapat dengan mudah dimengerti atau diterjemahkan.
Dalam program BASCOM-AVR terdapat beberapa kemudahan, untuk membuat
program software ATMEGA8, seperti program simulasi yang sangat berguna
untuk melihat simulasi hasil program yang telah kita buat, sebelum program
tersebut kita download ke IC atau ke mikrokontroler. Ketika program BASCOM-
AVR dijalankan dengan mengklik icon BASCOM-AVR, maka jendela berikut
akan tampil :
24
Gambar 2.17 Tampilan Jendela Pada Program BASCOM AVR
(Sumber : Sulistiyanto,2008:195).
Keterangan lengkap ikon – ikon dari program BASCOM AVR dapat dlihat
pada tabel 2.2 berikut:
Tabel II.II. Keterangan tombol - tombol program BASCOM AVR
(Sulistiyanto,2008:196)
Icon Nama Fungsi Shortcut
File New Membuat file baru Ctrl+N
Open File Untuk membuka file Ctrl+N
File Close Untuk menutup program yang di buka Ctl+O
File Save Untuk menyimpan file Ctrl+S
Save As Menyimpan dengan nama yang lain -
Print Preview Untuk melihat tampilan sebelum -
25
dicetak
Print Untuk mencetak dokumen Ctrl+P
Exit Untuk keluar dari program -
Program
Compile
Untuk mengkompile program yang
dibuat, outoutnya bs berupa*.hex,*.bin,
dll F7
Syntax check Untuk memeriksa kesalahan bahasa Ctrl+F7
Show result
Untuk menampilkan hasil kompilasi
program Ctrl+W
Untuk menu show result informasi yang akan ditampilkan berupa :
Tabel II.III. Info hasil kompilasi program
(Sulistiyanto,2008:197)
Info Keterangan
Compiler Versi dari compiler yang digunakan
Processor Menampilkan target processor yang dipilih
Date and Time Tanggal dan waktu kompilasi
Baud Rate and XtalBaudrate yang dipilih dan kristal yang
digunakan uP.
ErrorError nilai Baud yang di set dengan nilai baud
sebenarnya
Flash Used Persentase Flash ROM yang terisi program
Stack Start Lokasi awal stack pointer memori
26
RAM Start Lokasi awal eksternal RAM
LCD Mode Mode LCD yang digunakan 4 bit atau 8 bit
2.5.1 Compiler
Compiler digunakan untuk mensetting chip, output, communication, I2C
dan LCD pada program BASCOM-AVR yang menyediakan pilihan untuk
memodifikasi pilihan-pilihan pada kompilasi. Dengan memilih menu “option”
kemudian “compiler” dan pilih “chip” atau yang lainnya, maka jendela berikut
akan tampil :
Gambar 2.18. Compiler BASCOM-AVR
(Sumber: Afgianto, 2010 : 86)
27
(Afgianto, 2010 : 86) Dalam program BASCOM, karakter dasarnya terdiri
atas karakter alphabet (A-Z dan a-z), karakter numeric (0-9) dan karakter spesial
seperti yang ditunjukkan pada tabel 2.4 berikut :
Tabel II.IV. Karakter-karakter Spesial pada BASCOM
(Sulistiyanto,2008:195)
Karakter Nama
Blank atau spasi
‘ Apostrophe
* Asteriks atau simbol perkalian
+ Simbol Pertambahan (Plus Sign)
, Comma
- Simbol Pengurangan (Minus Sign)
. Period (decimal point)
/ Slash (division symbol) will be handled as \
: C olon
“ Double Quotation mark
; Semicolon
< Less than
= Equal sign (assigment symbol or relation
operator)
> Greater than
\ Backslash (interger/word division symbol)
2.5.2 Tipe Data
Setiap variabel dalam BASCOM memiliki tipe data yang menunjukkan
daya tampung variabel tersebut, hal ini berhubungan dengan penggunaan memori
dari mikrokontroler. Berikut ini adalah tipe data pada BASCOM berikut
keterangannya.
28
Tabel II.V. Tipe Data pada BASCOM
(Sulistiyanto,2008:195)
Tipe Data Ukuran (Byte) Range
Bit 1/8 -
Byte 1 0 – 255
Integer 2 (-32,768) – (+32,767)
Word 2 0 – 65535
Long 4 (-2147483648) – (+2147483647)
Single 4 -
String s/d 254 byte -
2.5.3 Program Simulasi BASCOM AVR
(Nanang Sulistiyanto,2008:193). BASCOM-AVR menyediakan pilihan
yang dapat mensimulasikan program. Program simulasi ini bertujuan untuk
menguji suatu aplikasi yang dibuat dengan pergerakan LED yang ada pada layar
simulasi dan dapat juga langsung dilihat pada LCD, jika kita membuat aplikasi
yang berhubungan dengan LCD. Adapun bentuk tampilan simulasinya dapat
dilihat pada gambar 2.5.
29
Gambar 2.19 Tampilan Simulasi BASCOM AVR
(Sumber : Sulistiyanto,2008:193)
Tekan tombol untuk memulai simulasi. Dan untuk memberhentikan
simulasi maka tekan tombol . Selain itu untuk dapat melihat perubahan data
pada setiap port atau ketika ingin memberikan input pin-pin tertentu dari
mikrokontroler, maka gunakan tombol maka akan muncul tampilan simulasi
hardwarenya. Adapun bentuk tampilannya dapat dilihat pada gambar 2.6.
Gambar 2.20 Tampilan Simulasi Hardware
(Sumber : Sulistiyanto,2008:196)
30
2.5.4. Kontrol Program
(Sulistiyanto,2008:196). Keunggulan sebuah program terletak pada kontrol
program ini. Kontrol program merupakan kunci dari kehandalan program yang
dibuat termasuk juga pada rule evaluation pada logika samar. Kontrol program
dapat mengendalikan alur dari sebuah program dan menentukan apa yang harus
dilakukan oleh sebuah program ketika menemukan suatu kondisi tertentu. Kontrol
program ini meliputi kontrol pertimbangan kondisi dan keputusan, kontrol
pengulangan serta kontrol alternatif. BASCOM menyediakan beberapa kontrol
program yang sering digunakan untuk menguji sebuah kondisi, perulangan dan
pertimbangan sebuah keputusan. Berikut ini beberapa kontrol program yang
sering digunakan dalam pemrograman dengan BASCOM.
Berikut adalah beberapa kontrol program yang sering digunakan dalam
pemrograman dengan BASCOM:
1. If...Then
Dengan pernyataan if...then, kita dapat mengetes kondisi tertentu.
Kemudian menentukan tindakan yang sesuai dengan kondisi yang diinginkan.
Sintaksis penulisannya sebagai berikut: IF <syarat kondisi> THEN <pernyataan>
Sintaksis ini hanya digunakan jika hanya ada satu kondisi yang diuji dan hanya
melakukan satu tindakan.
2. Select...Case
Perintah select...case akan mengeksekusi beberapa blok pernyataan
tergantung pada nilai variabelnya. Perintah mirip dengan perintah if...then, namun
memiliki kelebihan, yaitu kemudahan pada penulisannya.
3. While...Wend
Perintah while...wend akan mengeksekusi sebuah pernyataan secara
berulang ketika maasih menemukan kondisi yang sama. Perintah akan berhenti
jika ada perubahan kondisi dan melakukan perintah selanjutnya. Sintaksisnya
sebagai berikut: While < syarat kondisi > < Pernyataan > Wend
31
4 . Do...Loop
Perintah Do...Loop digunakan untuk mengulangi sebuah blok pernyataan
secara terus-menerus. Untuk membatasi perulanganny, kita dapat menambahkan
sebuah syarat kondisi agar perulangan berhenti dan perintahnya menjadi
Do...Loop Until. Sintaksisnya sebagai berikut: Do <blok pernyataan> Loop
Dengan perintah Do...Loop Until Do <blok pernyataan> Loop until <syarat
kodisi>
5. For...Next
Perintah for...next digunakan untuk mengeksekusi sebuah blok pernyataan
secara berulang. Perintah hampir sama dengan perintah Do...Loop. namun, pada
akhir perulangan serta tingkat kenaikan atau turunya bisa ditentukan.
Penggunaanua sebagai berikut: For var = start TO/DOWNTO end [STEP Value]
< blok pernyataan> Next
6. Exit
Perintah exit digunakan untuk keluar secara langsung dari blok program
for...next, do...loop, sub...endsub, while...wend. sintaksis penulisannya: EXIT
[Do] [For] [While] [Sub]
7. Gosub
Dengan Gosub, program akan melompat ke sebuah label dan akan
menjalankan program yang ada dalam subrutin sampai menemui perintah return.
Perintah return akan mengembalikan program ke titik setelah perintah Gosub.
Sintaksisnya sebagai berikut:
Print “coba rutin”
Gosub
32
Print“hello”
END
Cabang: X = X+2 Print X Return
8. GOTO
Perintah GOTO digunakan untuk melakukan percabangan. Perbedaannya
dengan GOSUB ialah perintah GOTO tidak memerlukan perintah return, sehingga
programnya tidak akan kembali ke titik dimana perintah GOTO berada. Berikut
adalah sintaksis perintah GOTO: GOTO label Label :
2.5.5 Operasi – Operasi Bascom AVR
Operasi-operasi dalam BASCOM bertujuan untuk mendapatkan,
memodifikasi atau menggabungkan suatu informasi ke dalam sebuah pernyataan
yang akan dibuat sesuai dengan kebutuhan. Adapun operasi-operasi dalam
BASCOM-AVR adalah sebagai berikut:
1. Operator Aritmatika
Digunakan dalam perhitungan, yang termasuk operator aritmatika ialah +
(tambah), - (Kurang), / (bagi), dan * (kali).
2. Operator Relasi
Digunakan untuk membandingkan nilai sebuah angka, hasilnya dapat
digunakan untuk membuat keputusan dengan program yang dibuat. Yang
termasuk operator relasi adalah:
Tabel II.VI. Operator Relasi pada BASCOM
Operator Relasi Pernyataan
= Sama Dengan X =Y
<> Tidak sama dengan X <> Y
< Lebih kecil dari X < Y
> Lebih besar dari X > Y
<= Lebih kecil atau sama dengan X <= Y
>= Lebih besar atau sama dengan X >= Y
33
3. Operator Logika
Digunakan untuk menguji sebuah kondisi atau untuk memanipulasi bit dan
operasi boelan. Dalam BASCOM ada empat buah operator logika yaitu
AND, OR, NOT dan XOR. Operator logika ini juga bisa digunakan untuk
menguji sebuah byte dengan pola bit tertentu, sebagai contoh:
Dim A as Byte
A = 63 and 19
PRINT A
A = 10 or 9
PRINT A
Output
4. Operasi Fungsi
Digunakan untuk melengkapi operator yang sederhana.