• Tidak ada hasil yang ditemukan

Perancangan Alat Pengukur Jarak Menggunakan SoftWare BASIC COMPLIER-AVR Berbasis Mikrokontroller ATMega8

N/A
N/A
Protected

Academic year: 2017

Membagikan "Perancangan Alat Pengukur Jarak Menggunakan SoftWare BASIC COMPLIER-AVR Berbasis Mikrokontroller ATMega8"

Copied!
27
0
0

Teks penuh

(1)

BAB 2

LANDASAN TEORI

2.1. Mikrokontroller

Mikrokontroller merupakan alat pengolahan data digital dan analog (fitur

ADC pada seri AVR) dalam level tegangan maksimum 5V. Keunggulan

mikrokontroller dibanding microprocessor yaitu lebih murah dan didukung dengan

software compiler yang sangat beragam seperti software compailer C/C++, basic,

pascal, bahkan assembler. Sehingga penggunaan dapat memilih program yang sesuai

dengan kemampuannya. Dalam hal penggunaan, mikrokontroller dapat dibedakan

jenis dan tipenya, seperti mikrokontroller atmega 8, atmega 8535, atmega 16 dan

lain-lain.

2.1.1. Mikrokontroller ATMega 8

ATMega 8 adalah mikrokontroler CMOS 8-bit daya rendah berbasis arsitektur

RISC yang ditingkatkan. Kebanyakan instruksi dikerjakan pada satu siklus clock,

ATMega 8 mempunyai throughput mendekati 1 MPS per MHz membuat disain dari

sistem untuk mengoptimasi konsumsi daya versus kecepatan proses.Susunan pin –

pin dari IC mikrokontroler ATMega 8 diperlihatkan pada gambar dibawah ini. IC ini

(2)

2.1.2. Arsitektur Mikrokontroller ATMega 8

Gambar 2.1. Arsitektur ATMega8

Mikrokontroller AVR merupakan keluarga mikrokontroller RISC (Reduced

Instruction Set Computing) keluaran Atmel. Konsep arsitektur AVR pada mulanya

dibuat oleh dua orang mahasiswa di Norwgian institute of Technology ( NTH ) yaitu

Alf-Egil Bogen dan Vegard Wollan. Penggunaan mikrokontroller ATMega8 ada dua

pilihan ,dengan menggunakan board ATMega8 develompment board yang sudah ada

diparaan atau dengan membuat rangkaian sendiri. Jika menggunakan rangkaian

(3)

pembuatan sistem, karena hanya tinggal membeli rangkaian berupa kit dan hanya

tinggal menggunakannya. Chip yang dijelaskan di sini menggunakan kemasan PDIP,

untuk kemasan yang lain ( TQPF, QFN / MLF ) tidak jauh berbeda. Untuk lebih

jelasnya silahkan merujuk ke data sheet. Nama nama pin di atas usahakan lebih sering

dikenal, hal ini berguna untuk penggunaan pheripheral internal.

2.1.3. Fitur ATMega8

Berikut ini adalah fitur-fitur yang dimiliki oleh ATMega8 :

A. Saluran I/O sebanyak 23 buah terbagi menjadi 3 port.

B. ADC sebanyak 6 saluran dengan 4 saluran 10 bit dan 2 saluran 8 bit.

C. Tiga buah timer counter, dua diantaranya memiliki fasilitas pembanding.

D. CPU dengan 32 buah register

E. Watchdog timer dan oscillator internal.

F. SRAM sebesar 1K byte.

G. Memori flash sebesar 8K Bytes system Self-programable Flash

H. Unit interupsi internal dan eksternal.

I. Port antarmuka

J. EEPROM sebesar 512 byte.

K. Port USART ( Universal Syncronous and Asycronous Serial Receiver and

(4)

2.1.4. Konfigurasi Pin ATMega8

ATMega8 memiliki 28 pin yang masing-masing pin-nya memiliki fungsi yang berbeda-beda baik sebagai port ataupun sebagai fungsi yang lain. Berikut akan dijelaskan tentang kegunaan dari masing-masing kaki pada ATMega8.

Gambar 2.2. Pin Konfigurasi Pada ATMega 8

2.1.5. Deskripsi Pin-Pin Pada Mikrokontroler ATMega8 1. VCC

(5)

2. GND

Merupakan ground untuk smua komponen yang membutuhkan grounding.

3. Port B

Adalah 8 buah pin mulai dari pin B.0 sampai dengan pin B.7. Tiap pin dapat

digunakan sebagai input dan juga output. Port B merupakan sebuah 8-bit bit

directional I/O port dengan inernal 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. Jika ingin menggunakan

tambahan kristal, maka cukup untuk menghubungkan kaki dari kristal ke keki

pada pin port B. Namun jika tidak digunakan, maka cukup untuk dibiarkan

saja. Pengguna kegunaan dari masing-masing kaki ditentukan dari clock fuse

setting-nya.

4. Port C

Port C merupakan sebuah 7-bit bi-directional I/O yang di dalam

masing-masing pin terdapat pull-up resistor. Jumlah pin-nya hanya 7 buah mulai dari

C.0 sampai dengan pin C.6. Sebagai keluaran / output, port C memiliki

karakteristik yang sama dalam hal kemampuan menyarap arus ( sink ) ataupun

mengeluarkan arus ( source).

5. Reset / PC6

Jika RSTDISBL Fuse diprogram, maka PC6 akan berfungsi sebagai pin I/O.

Untuk diperhatikan juga bahwa pin ini memiliki karakteristik yang berbeda

dengan pin-pin yang tedapat pada port C. Namun jika RSTDISBL Fuse tidak

(6)

tegangan yang masuk ke pin ini rendah dan pulsa yang ada lebih pendek dari

pulsa minimum, makan akan menghasilkan suatu kondisi reset meskipun

clock-nya tidak berkerja.

6. Port D

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.

7. AVCC

Pada pin ini memiliki fungsi sebagai power supply tegangan untuk ADC.

Untuk pin ini harus dihubungkan secara terpisah dengan VCC karena pin ini

digunakan untuk analog saja. Bahkan jika ACD pada AVR tidak digunakan,

tetap saja disarankan untuk menghubungkan secara terpisah dengan VCC.

Cara menghubungkan AVCC adalah melewati low-pass filter setelah itu

dihubungkan dengan VCC.

8. AREF

Merupakan pin referensi analog jika menggunakan ADC. Pada AVR status

Register mengandung beberapa informasi mengenai hasil dari kebanyakan

hasil eksekusi intruksi aritmatik. Informasi ini dapat digunakan untuk altering

arus program sebagai kegunaan untuk meningkatkan performa pengoperasian.

Perlu diketahui bahwa register ini di-update setelah semua operasi ALU (

Arithmetic Logic Unit ). Hal tersebut seperti yang telah tertulis dalam

(7)

untuk beberapa kasus dapat membuang kebutuhan penggunaan instruksi

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 iini harus dilakukan melalui software.

9. Bit 7 (1)

Merupakan bit Global Interrupt Enable. Bit ini harus di-set supaya semua

perintah interupsi dapat dijalankan. Untuk fungsi interupsi individual akan

dijelaskan pada bagian yang lain. Jika bit ini di-reset, maka semua perintah

interupsi baik yang secara individual maupun yang secara umum akan

diabaikan. Bit ini akan dibersihkan atau cleared oleh hardware setelah sebuah

interupsi dijalankan dan akan di-set kembali oleh perintah RETI. Bit ini juga

dapat di-set dan di-reset melalui aplikasi dengan instruksi SEI dan CLI.

10.Bit 6 (T)

Merupakan bit Copy Storage. Instruksi bit Copy Instruction BLD ( Bit LoaD )

dan BST ( Bit Store ) menggunakan bit ini sebagai asal atau tujuan untuk bit

yang telah dioperasikan. Sebuah bit dari sebuah register dan Register File

dapat disalin ke dalam bit ini dengan menggunakan intruksi BST, dan sebuah

bit di dalam bit ini dapat disalin ke dalam sebuah bit di register pada Register

(8)

11.Bit 5 (H)

Merupakan bit Half Carry Flag. Bit ini menandakan sebuah Half Carry dalam

beberapa operasi aritmatika. Bit ini berfungsi dalam aritmatik BCD.

12.Bit 4 (S)

Merupakan Sign bit. Bit ini selalu merupakan sebuah eksklusif di antara

Negative Flag (N) dan Two’s Complement Overflow Flag (V).

13.Bit 3 (V)

Merupakan bit Two’s Complement Overflow Flag. Bit ini menyediakan

fungsi aritmatika dua komplemen.

14.Bit 2 (N)

Merupakan bit Negative Flag. Bit ini menyediakan sebuah hasil negative di

dalam sebuah fugnsi logika atau aritmatika.

15.Bit 1 (Z)

Merupakan bit Zero Flag. Bit ini mengindikasikan sebuah hasil nol “ 0 ”

dalam sebuah fungsi aritmatika atau logika.

16.Bit 0 (C)

Meruapakan bit Carry Flag. Bit ini mengindikasikan sebuah Carry atau sisa

dalam sebuah fugnsi aritmatika atau logika.

2.1.6. Peta Memori

ATMega8 memiliki dua ruang memori utama, yaitu memori data dan memori

program. Selain dua memori utama, ATMega8 juga memiliki fitur EEPROM yang

(9)

2.1.6.1. Flash Memory

ATMega8 memiliki flash memory sebesar 8 Kbytes untuk memori program.

Karena semua instruksi AVR menggunakan 16 atau 32 bit, maka AVR memiliki

organisasi memori 4 Kbyte x 16 bit dengan alamat dari $000 hingga $FFF. Untuk

keamanan software, memori flash dibagi mejadi dua bagian, yaitu : Boot Program

dan bagian Application program. AVR tersebut memiliki 12 bit Program Counter

(PC) sehingga mampu mengalamati isi flash memori.

2.1.6.2. SRAM

ATMega8 memiliki 608 alamat memori data yang terbagi menjadi 3 bagian,

yaitu 32 buah register file, 64 buah IO register dan 512 byte internal SRAM. Peta

Memori ATMega8 memiliki dua ruang memori utama, yaitu memori data dan

memori program. Selain dua memori utama, ATMega8 juga memiliki fitur EEPROM

yang dapat digunakan sebagai penyimpan data.

2.1.6.3. EEPROM

ATMega8 juga memiliki memori data berupa EEPROM 8 bit sebesar 512 byte

($000-$1FF).

2.1.6.4. Status Register (SREG)

Register SREG digunakan untuk menyimpan informasi dari hasil operasi

aritmatika yang terakhir. Informasi-informasi dari register SREG dapat digunakan

(10)

instruksi percabangan. Data SREG akan selalu akan berubah setiap instruksi atau

operasi pada ALU dan datanya tidak otomatis tersimpan apabila terjadi instruksi

percabangan baik karena interupsi maupun lompatan.

2.1.6.5. Status Register

Status register adalah register berisi status yang dihasilkan pada setiap operasi

yang dilakukan ketika suatu instruksi dieksekusi. SREG merupakan bagian dari inti

CPU mikrokontroler. Berikut ini adalah status register dari ATMega8 beserta

penjelasannya.

Gambar 2.3. Status Register ATMega8

Status Register ATMega8 :

a. Bit 7 (I)

Merupakan bit Global Interrupt Enable. Bit ini harus di-set supaya semua

perintah interupsi dapat dijalankan. Untuk fungsi interupsi individual akan

dijelaskan pada bagian lain. Jika bit ini di-set, maka semua perintah interupsi

(11)

dibersihkan atau cleared oleh hardware setelah sebuah interupsi dijalankan

dan akan set kembali oleh perintah RETI. Bit ini juga dapat set dan

di-reset melalui aplikasi dengan instruksi SEI dan CLI.

b. BIT 6 (T)

Merupakan bit Copy Storage. Instruksi bit Copy Instructions BLD (Bit Load)

dan BST (Bit Store) menggunakan bit ini sebagai asal atau tujuan untuk bit

yang telah dioperasikan. Sebuah bit dari sebuah register dalam Register File

dapat disalin ke dalam bit ini dengan menggunakan instruksi BST, dan sebuah

bit di dalam bit ini dapat disalin ke dalam sebuah bit di dalam register pada

Register File dengan menggunakan perintah BLD.

c. BIT 5 (H)

Merupakan bit Half Cary Flag. Bit ini menandakan sebuah Half Carry dalam

beberapa operasi aritmatika. Bit ini berfungsi dalam aritmatik BCD.

d. BIT 4 (S)

Merupakan Signbit. Bit ini selalu merupakan sebuah eksklusif diantara

Negative Flag (N) dan Two’s Complement OverflowFlag (V).

e. BIT 3 (V)

Merupakan bit Two’s Complement Overflow Flag. Bit ini menyediakan

fungsi- fungsi aritmatika dua komplemen.

f. BIT 2 (N)

Merupakan bit Negative Flag. Bit ini mengindikasikan sebuah hasil negatif di

dalam sebuah fungsi logika atau aritmatika.

(12)

Merupakan bit Zero Flag. Bit ini mengindikasikan sebuah hasil nol “0” dalam

sebuah fungsi arimatika atau logika.

h. BIT 0 (C)

Merupakan bit Carry Flag. Bit ini mengindikasikan sebuah carry atau sisa

dalam sebuah fungsi aritmatika atau logika.

2.2. Sensor Photointerrupter

Sensor optointerrupter (Photo-Interrupter) merupakan sebuah modul sensor

yang terdiri dari led inframerah dan sensor phototransistor (Photodioda) dalam

sebuah kemasan yang berbentuk huruf U. Sensor ini mendeteksi adanya benda yang

melewati lubang pada U dan menghalangi cahaya dari led menuju phototransistor.

Gambar 2.4. Bentuk Umum Photointerrupter

Sebuah photointerrupter adalah transmisi tipe photosensor yang mengintegrasikan

penerima optik dan transmisi unsur-unsur dalam satu paket. Karena metode

(13)

Gambar 2.5. Simbol Photointerrupter

2.2.1. Prinsip Kerja Sensor Photointerrupter

Sebenarnya prinsip kerja optocoupler dan optointerrupter sama saja, cuman

bedanya di pengemasan dan beda fungsi. Kalau optocoupler biasanya digunakan

untuk saklar elektronik dan memisahkan GND supply supaya supply bekerja pada

beban masing-masing sehingga tidak mengganggu supply yang lain.

Kalau optointerrupter ini biasanya digunakan untuk mendeteksi apakah ada

benda yang menghalangi atau tidak tanpa menyentuh bagian dari sensor.

photointerrupter dapat digunakan untuk mendeteksi ada tidaknya halangan yg berada

diantara transmitter dan receiver.

Photointerrupter bekerja dengan logika seperti berikut :

1. Tidak ada halangan

Saat tidak ada halangan, cahaya inframerah yang dipancarkan oleh

Photodioda (transmitter) dapat diterima oleh phototransistor (receiver).

(14)

2. Ada halangan

Saat ada halangan, cahaya inframerah yang dipancarkan oleh Photodioda

(transmitter) tidak dapat diterima oleh phototransistor (receiver). Sehingga

output photointerrupter akan berlogika LOW, “0”.

2.2.2. Led Inframerah (Dioda Pemancar Cahaya Merah)

LED adalah dioda yang menghasilkan cahaya saat diberi energi listrik. Dalam

bias maju sambungan p-n terdapat rekombinasi antara elektron bebas dan lubang

(hole). Energi ini tidak seluruhnya diubah kedalam bentuk energi cahaya atau photon

melainkan dalam bentuk panas sebagian.

Gambar 2.6. Bentuk Led Inframerah

Proses pemancaran cahaya akibat adanya energi listrik yang diberikan

terhadap suatu bahan disebut dengan sifat elektroluminesensi. Material lain misalnya

Galium Arsenida Pospat (GaAsP) atau Galium Pospat (GaP): photon energi cahaya

dipancarkan untuk menghasilkan cahaya tampak. Jenis lain dari LED digunakan

(15)

laser atau inframerah. LED adalah dioda yang menghasilkan cahaya saat diberi energi

listrik. Dalam bias maju sambungan p-n terdapat rekombinasi antara elektron bebas

dan lubang (hole). Energi ini tidak seluruhnya diubah kedalam bentuk energi cahaya

atau photon melainkan dalam bentuk panas sebagian. Proses pemancara cahaya akibat

adanya energi listrik yang diberikan terhadap suatu bahan disebut dengan sifat

elektroluminesensi. Material lain misalnya Galium Arsenida Pospat (GaAsP) atau

Galium Pospat (GaP): photon energy cahaya dipancarkan untuk menghasilkan cahaya

tampak. Jenis lain dari LED digunakan untuk menghasilkan energi tidak tampak

seperti yang dipancarkan oleh pemancar laser atau inframerah. keluar dari permukaan

p dan n dalam bentuk photon. Photon-photon yang dihasilkan ini ada yang diserap

lagi dan ada yang meninggalkan permukaan dalam bentuk radiasi energi.

Gambar 2.7. Simbol Led Inframerah

2.2.3. Phototransistor

Phototransistor adalah komponen elektronika yang masih termasuk dari

keluarga Transistor. Komponen ini juga memiliki kaki Basis, Kolektor, dan Emiter.

Kaki basis dalam Photo Transistor adalah berupa lensa yang berfungsi sebagai

(16)

emiter akan semakin besar pula, hal ini sebagai akibat penguatan bias basis cahaya

tersebut. Cahaya yang biasa digunakan sebagai input adalah Infra Red dan Laser.

Gambar 2.8. Simbol Phototransistor

Untuk aplikasi dalam rangkaian elektronika diperlukan transistor lain agar

output semakin besar. Apabila output PhotoTransistor masuk pada input basis

transistor selanjutnya, maka disebut Photo Darlington. Ini sama dengan apabila kita

membutuhkan penguatan besar pada aplikasi transistor biasa.

Gambar 2.9. Bentuk Phototransistor

Kelebihan PhotoTransistor :

1. Tegangan Output merupakan tegangan digital atau sudah mempunyai logika 1

/ logika 0.

(17)

3. Tegangan yang dibutuhkan relatif rendah, yaitu cukup dengan 5 Volt DC.

4. Aplikasi Pembuatan Proyek atau alat elektronika menggunakan

PhotoTransistor lebih mudah.

Kelemahan Phototransistor :

1. Rawan terhadap kotoran, sehingga lensa tidak dapat menerima cahaya dengan

baik. Sehingga perlu perawatan lebih.

2.3. LCD (Liquid Criystal Display)

LCD (Liquid Crystal Dispalay) sering diartikan dalam bahasa indonesia

sebagai tampilan kristal cair merupakan suatu jenis media tampilan yang

menggunakan kristal cair sebagai penampil utama. LCD dapat menampilkan karakter

ASCI sehingga kita bisa menampilkan campuran huruf dan angka sekaligus berwarna

ataupun tidak berwarna, hal ini disebabkan karena terdapat banyak sekali titik cahaya

(piksel) yang terdiri dari satu buah kristal cair sebagai sebuah titik cahaya. Walau

disebut sebagai titik cahaya namun kristal cair ini tidak memancarkan cahaya sendiri.

Sumber cahaya didalam sebuah perangkat LCD adalah lampu neon berwarna putih

dibagian belakang susunan kristal cair tadi. Titik cahaya yang jumlahnya puluhan

ribu bahkan jutaan inilah yang membentuk tampilan citra. Kutub kristal cair yang

dilewati arus listrik akan berubah karena pengaruh polarisasi medan magnetik yang

timbul dan oleh karenanya akan hanya membiarkan beberapa warna diteruskan

sedangkan warna lainnya tersaring. Dalam menampilkan karakter untuk membantu

menginformasikan proses dan control yang terjadi dalam suatu program robot kita

(18)

pada alamat menaruh karakternya. Salah satu LCD yang sering dipergunakan adalah

LCD 16x2 artinya LCD tersebut terdiri dari 16 kolom dan 2 baris. LCD ini sering

digunakan karena harganya yang relatif murah dan pemakaian nya yang mudah.

Gambar 2.10. LCD 16 x 2

Modul LCD memiliki karakteristik sebagai berikut:

1. Terdapat 16 x 2 karakter huruf yang bisa ditampilkan.

2. Setiap terdiri dari 5 x 7 dot-matrix cursor.

3. Terdapat 192 macam karakter.

4. Terdapat 80 x 8 bit display RAM ( maksimal 80 karakter ).

5. Memiliki kemampuan penulisan dengan 8 bit maupun dengan 4 bit.

6. Dibangun oleh osilator lokal.

7. Satu sumber tegangan 5 Volt.

(19)

2.3.1. Konfigurasi Pin LCD

4 RS H/L H=Memasukkan Data,L=Memasukkan Ins

5 R/W H/L H=Baca, L=Tulis

Buzzer adalah sebuah komponen elektronika yang berfungsi untuk mengubah

getaran listrik menjadi getaran suara. Buzzer terdiri dari kumparan yang terpasang

pada diafragma dan kemudian kumparan tersebut dialiri arus sehingga menjadi

elektromagnet, kumparan tadi akan tertarik ke dalam atau keluar, tergantung dari arah

arus dan polaritas magnetnya, karena kumparan dipasang pada diafragma maka setiap

(20)

membuat udara bergetar yang akan menghasilkan suara. Buzzer biasa digunakan

sebagai indikator bahwa proses telah selesai atau terjadi suatu kesalahan pada sebuah

alat (alarm).

2.5. Sumber Tegangan (Baterai 9 Volt DC)

Baterai (Battery) adalah sebuah alat yang dapat merubah energi kimia yang

disimpannya menjadi energi Listrik yang dapat digunakan oleh suatu perangkat

Elektronik. Hampir semua perangkat elektronik yang portabel seperti Handphone,

Laptop, Senter, ataupun Remote Control menggunakan Baterai sebagai sumber

listriknya. Dengan adanya Baterai, kita tidak perlu menyambungkan kabel listrik

untuk dapat mengaktifkan perangkat elektronik kita sehingga dapat dengan mudah

dibawa kemana-mana. Dalam kehidupan kita sehari-hari, kita dapat menemui dua

jenis Baterai yaitu Baterai yang hanya dapat dipakai sekali saja (Single Use) dan

Baterai yang dapat di isi ulang (Rechargeable).

(21)

2.5.1. Jenis - jenis Baterai

Setiap baterai terdiri dari terminal positif ( Katoda) dan terminal negatif

(anoda) serta elektrolit yang berfungsi sebagai penghantar. Output arus listrik dari

baterai adalah arus searah atau disebut juga dengan arus DC (Direct Current). Pada

umumnya, baterai terdiri dari 2 Jenis utama yakni baterai primer yang hanya dapat

sekali pakai (single use battery) dan baterai sekunder yang dapat diisi ulang

(rechargeable battery).

1. Baterai Primer (Baterai Sekali Pakai/Single Use)

Jenis-jenis Baterai yang tergolong dalam Kategori Baterai Primer (sekali

Pakai / Single use) diantaranya adalah : Baterai Zinc-Carbon (Seng-Karbon),

Baterai Alkaline (Alkali), Baterai Lithium, Baterai Silver Oxide

2. Baterai Sekunder (Baterai Isi Ulang/Rechargeable)

Jenis-jenis Baterai yang tergolong dalam Kategori Baterai Sekunder (Baterai

Isi Ulang) diantaranya adalah : Baterai Cd (Nickel-Cadmium), Baterai

Ni-MH (Nickel-Metal Hydride), Baterai Li-Ion (Lithium-Ion).

2.6. Saklar (Tombol)

Saklar adalah sebuah perangkat yang digunakan untuk memutuskan dan

menghubungkan aliran listrik. Jadi saklar pada dasarnya adalah suatu alat yang dapat

atau berfungsi menghubungkan atau pemutus aliran listrik (arus listrik) baik itu pada

jaringan arus listrik kuat maupun pada jaringan arus listrik lemah. Yang membedakan

saklar arus listrik kuat dan saklar arus listrik lemah adalah bentuknya kecil jika

(22)

semakin besar saklar yang digunakan jika aliran listrik semakin kuat. Secara

sederhana, saklar terdiri dari dua bilah logam yang menempel pada suatu rangkaian,

dan bisa terhubung atau terpisah sesuai dengan keadaan sambung (on) atau putus

(off) dalam rangkaian itu. Material kontak sambungan umumnya dipilih agar supaya

tahan terhadap korosi. Kalau logam yang dipakai terbuat dari bahan oksida biasa,

maka saklar akan sering tidak bekerja. Untuk mengurangi efek korosi ini,paling tidak

logam kontaknya harus disepuh dengan logam anti korosi dan anti karat.

Gambar 2.12. Saklar Elektronik

2.7. Bahasa Pemrograman BASCOM-AVR

Bahasa BASCOM-AVR menggunakan bahasa pemograman BASIC. Bahasa

BASIC adalah bahasa pemograman yang dapat dikatakan bahasa pemograman

berlevel tinggi. Bahasa pemograman berlevel rendah berarti bahasa pemograman

yang berorientasi pada mesin, misalnya bahasa assembly. Sedangkan bahasa

pemograman berlevel tinggi merupakan bahasa pemograman yan berorientasi pada

manusia. Bahasa pemograman berlevel rendah merupakan bahasa pemograman

dengan sandi yang hanya dimengerti oleh mesin, sehingga untuk memprogram dalam

(23)

tinggi relatif mudah digunakan, karena ditulis dengan bahasa manusia yang lebih

mudah dimengerti dan tidak tergantung pada mesin.

Penulisan program dalam bahasa BASCOM-AVR ini tidak mengenal aturan

penulisan dikolam tertentu. Jadi bisa dimulai dari kolom manapun. Namun demikian,

untuk mempermudah dalam pembacaan program dan untuk keperluan dokumentasi,

sebaiknya penulisan program dalam bahasa BASCOM-AVR ini diatur sedemikian

rupa sehingga mudah dibaca.

2.7.1. Tipe Data

Tipe data merupakan bagian program yang penting karena tipe data mempengaruhi

setiap instruksi yang akan dilaksanakan komputer.

Tabel 2.1. Tipe -Tipe Data Dalam BASCOM-AVR

NO Tipe Jangkauan

1. Bit 0 atau 1

2. Byte 0 – 225

3. Integer -65,535

4. Word 0 – 65535

5. Long -2E+09

6. Single 1.5x10-45 – 3.4x1038

7. Double 5.0x10-324 – 1.7x10308

8. String >254 byte

(24)

2.7.2. Variabel

Variabel adalah suatu pengenal (identifier) yang digunakan untuk mewakili suatu

nilai tertentu didalam proses program. Berbeda dengan konstanta yang nilainya selalu

tetap, nilai dari suatu variabel bias berubah-ubah sesuai dengan kebutuhan. Nama dari

suatu variabel mempunyai ketentuan sebagai berikut:

1. Terdiri dari gabungan huruf dan angka dengan karakter pertama harus berupa

huruf.

2. Tidak boleh mengandung karakter spasi.

3. Tidak boleh mengandung symbol-symbol khusus, kecuali garis bawah

(underscore). Yang termasuk symbol khusus yang tidak boleh digunakan

adalah $ ? % # ! & * , ( ) - + = @.

4. Panjang sebuaah nama variabel hanya 32 karakter.

Untuk dapat menggunakan variabel, maka variabel tersebut harus

dideklarasikan terlebih dahulu pada program yang dibuat. Berikut ini

merupakan cara mendeklarasikan variabel pada BASCOM-AVR.

Sebelum digunakan, maka variable harus dideklarasikan terlebih dahulu.

Dalam BASCOM, ada beberapa cara untuk mendeklarasikan sebuah variable (data).

Cara pertama adalah menggunakan pernyataan ‘DIM’ (dimensi) diikuti nama tipe

datanya. Contoh pendeklarasian menggunakan DIM sebagai berikut:

Dim nama as byte

Dim tombol1 as integer

Dim tombol2 as word

(25)

Dim tombol4 as word

Dim Kas as string*10

2.7.3. Operasi – Operasi dalam BASCOM - AVR

Bahasa pemograman BASCOM – AVR ini dapat digunakan untuk

menggabungkan, membandingkan, atau mendapatkan informasi tentang sebuah

pernyataan dengan menggunakan operator-operator yang tersedia di BASCOM-AVR.

1. Operator aritmatika

Operator ini adalah operator yang digunakan dalam perhitungan operator

aritmatika meliputi + (tambah), - (kurang), / (bagi), dan * (kali).

2. Operator Relasi

Operator ini berfungsi membandingkan nilai sebuah angka. Hasilnya dapat

digunakan untuk membuat keputusan yang sesuai dengan program yang kita

buat. Operator relasi meliputi:

Tabel 2.2. Tabel Operasi Relasi

Opertor Relasi Pernyataan

= Sama Dengan X = Y

<> Tidak Sama Dengan X <> Y

< Lebih Kecil Dari X < Y

> Lebih Besar Dari X > Y

<= Lebih Kecil Sama Dengan X <= Y

(26)

3. Operator Logika

Operator digunakan untuk menguji sebuah kondisi atau memanipulasi bit dan

operasi bolean. Dalam BASCOM, ada empat buah operator logika, yaitu

AND, OR, NOT, dan XOR. Operator logika bisa pula 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

16

11

4. Operator fungsi

Operator fungsi digunakan untuk melengkapi operator yang sederhana.

2.7.4. Alias

Dengan menggunakan alias, variable yang sama dapat diberikan nama yang

lain. Tujuannya adalah mempermudah proses pemrograman. Umumnya, alias

digunakan untuk mengganti nama variable yang telah baku, seperti port

(27)

2.7.5. Konstanta

Dalam BASCOM, selain variabel kita mengenal pula konstanta. Konstanta

meruupakan variabel pula. Perbedaannya dengan variable biasa adalah nilai yang

dikandung tetap. Dengan konstanta, kode program yang kita buat akan lebih mudah

dibaca dan dapat mencegah kesalahan penulisan pada program kita. Misalnya, kita

akan lebih mudah menulis phi daripada menulis 3,14159867. Sama seperti variable,

agar konstanta bisa dikenali oleh program, maka harus dideklarasikan terlebih dahulu.

2.7.6. Array

Dengan array, kita dapat menggunakan sekumpulan variable dengan nama

dan tipe yang sama. Untuk mengakses variable tertentu dalam array, kita harus

menggunakan indeks. Indeks harus berupa angka dengan tipe data byte, integer, atau

word. Artinya, nilai maksimum sebuah indeks sebesar 65535. Proses pendeklarasian

sebuah array variabel sama dengan variabel, namun perbedaannya kita pun

mengikutkan jumlah elemennya. Berikut adalah contoh pemakaian array :

Dim kelas(10) as byte

Dim c as Integer

For C - 1 To 10

a© - c

PortA.1- a©

Gambar

Gambar 2.1. Arsitektur ATMega8
Gambar 2.2. Pin Konfigurasi Pada ATMega 8
Gambar 2.3. Status Register ATMega8
Gambar 2.4. Bentuk  Umum Photointerrupter
+7

Referensi

Dokumen terkait

diberikan penguat tambahan atau dapat juga dengan konfigurasi port sebagai sinking current , seperti pada port yang digunakan untuk menyalakan LED, yang akan menyala

Sensor MQ-6 digunakan untuk mendeteksi kebocoran gas yang terjadi, dengan sistem otomasi dibantu oleh mikrokontroller ATmega8 sebagai. pusat control dan lcd

Sensor MQ-6 digunakan untuk mendeteksi kebocoran gas yang terjadi, dengan sistem otomasi dibantu oleh mikrokontroller ATmega8 sebagai2. pusat control dan lcd

 Frekuensi dibangkitkan oleh perhitungan dari mikrokontroller, dimana frekuensi erat kaitannya dengan timer, setelah itu untuk memancarkan suara ultrasonik maka

kasih yang sebesar- besarnya kepada keluarga tercinta TUHAN YME yang telah memberi ridhoNya kepada saya untuk menyesaikan segala sesuatunya dengan baik,.. terima kasih Ayah dan

Dalam pengujian proses juga dilakukan pengamatan terhadap alat- alat yang telah siap untuk digunakan pada perancangan alat pengendali listrik ini yaitu meliputi

Alat ini digunakan untuk mengukur jarak dan untuk membandingkan alat ukur uji dengan alat standard berbasis ATmega dan ditampilkan pada LCD 2x16 yang telah

Alat pengaman sepeda motor berbasis mikrokontroller ATMega8 dan SMS gateway dalah alat yang berfungsi sebagai pengaman sepeda motor dari pencuri. Dalam pembuatan alat