bab ii

39
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

Upload: mamansuratman-love-anmaforever

Post on 01-Feb-2016

222 views

Category:

Documents


0 download

DESCRIPTION

next material

TRANSCRIPT

Page 1: BAB II

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

Page 2: BAB II

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

Page 3: BAB II

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 )

Page 4: BAB II

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

Page 5: BAB II

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 #

Page 6: BAB II

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

Page 7: BAB II

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 :

Page 8: BAB II

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)

Page 9: BAB II

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 )

Page 10: BAB II

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

Page 11: BAB II

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

Page 12: BAB II

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

Page 13: BAB II

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

Page 14: BAB II

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

Page 15: BAB II

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

Page 16: BAB II

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)

Page 17: BAB II

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

Page 18: BAB II

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

Page 19: BAB II

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 :

Page 20: BAB II

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 -

Page 21: BAB II

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

Page 22: BAB II

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)

Page 23: BAB II

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.

Page 24: BAB II

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.

Page 25: BAB II

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)

Page 26: BAB II

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

Page 27: BAB II

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

Page 28: BAB II

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

Page 29: BAB II

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.