BAB 2 DASAR TEORI. LDR (Light Dependent Resistant) merupakan suatu jenis resistor yang nilai

dokumen-dokumen yang mirip
BAB II LANDASAN TEORI

BAB 2 LANDASAN TEORI

II. TINJAUAN PUSTAKA. Mikrokontroler ATmega8535 merupakan salah satu jenis mikrokontroler keluarga AVR

BAB II DASAR TEORI. Universitas Sumatera Utara

BAB 2 LANDASAN TEORI. Temperatur merupakan salah satu informasi yang sangat penting dalam menentukan

BAB 2 LANDASAN TEORI. Infra merah (infra red) adalah sinar elektromagnetik yang panjang gelombangnya

BAB II LANDASAN TEORI

Mikrokontroler AVR. Hendawan Soebhakti 2009

BAB 2 LANDASAN TEORI. Perangkat keras merupakan bentuk fisik dari sensor PIR (Passive Infrared) yang

BAB 2 LANDASAN TEORI. terdiri dari modul SHT-11, power supply, sistem minimum ATmega8535, LCD

Sistem Mikrokontroler FE UDINUS

BAB 2 DASAR TEORI. LDR merupakan suatu sensor yang apabila terkena cahaya maka tahanannya akan. menurun kalau permukaan film itu terkena cahaya.

MIKROKONTROLER Yoyo Somantri dan Egi Jul Kurnia

BAB II LANDASAN TEORI

BAB 2 LANDASAN TEORI. Cahaya infra merah merupakan cahaya yang tidak tampak. Jika dilihat dengan

BAB III PERANCANGAN SISTEM

BAB II LANDASAN TEORI

BAB II DASAR TEORI Bentuk Fisik Sensor Gas LPG TGS 2610 Bentuk fisik sensor TGS 2610 terlihat pada gambar berikut :

RANCANGAN SISTEM PARKIR TERPADU BERBASIS SENSOR INFRA MERAH DAN MIKROKONTROLER ATMega8535

BAB 2 LANDASAN TEORI. modul power supply, webcam, Led Infra Merah, photodiode, sistem minimum

BAB II TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI

BAB II LANDASAN TEORI

BAB III MIKROKONTROLER

II. TINJAUAN PUSTAKA. kondisi cuaca pada suatu daerah. Banyak hal yang sangat bergantung pada kondisi

APLIKASI SENSOR UGN3505 SEBAGAI PENDETEKSI MEDAN MAGNET

BAB II LANDASAN TEORI. Selain dari pada itu dapat juga dijadikan sebagai bahan acuan didalam

BAB II KONSEP DASAR SISTEM PENGONTROL PARTITUR OTOMATIS

BAB II TINJAUAN TEORITIS

III. METODOLOGI PENELITIAN. Penelitian dan perancangan tugas akhir ini telah dimulai sejak bulan Juli 2009

BAB III TEORI PENUNJANG. Microcontroller adalah sebuah sistem fungsional dalam sebuah chip. Di

2.1 Pendingin Termoelektrik (Termoelectric Cooler)

BAB II LANDASAN TEORI. pada itu dapat juga dijadikan sebagai bahan acuan didalam merencanakan suatu system.

BAB III DESKRIPSI MASALAH

BAB II LANDASAN TEORI

BAB 2 LANDASAN TEORI

II. TINJAUAN PUSTAKA. menjadi sumber tegangan arus searah yang bersifat variable. Pengubah daya DC-

BAB II DASAR TEORI. 2.1 Ethanol

BAB II LANDASAN TEORI. ATMega 8535 adalah mikrokontroller kelas AVR (Alf and Vegard s Risc

BAB II DASAR TEORI. open-source, diturunkan dari Wiring platform, dirancang untuk. memudahkan penggunaan elektronik dalam berbagai

BAB 2 LANDASAN TEORI

BAB II TINJAUAN PUSTAKA. Gambar 2.1. Simbol LED [8]

BAB II KONSEP DASAR SISTEM MONITORING TEKANAN BAN

BAB III PERANCANGAN SISTEM. sebuah alat pemroses data yang sama, ruang kerja yang sama sehingga

BAB II TINJAUAN PUSTAKA. Atmel AVR adalah jenis mikrokontroler yang paling sering dipakai dalam

BAB III PERANCANGAN DAN PEMBUATAN ALAT

ARSITEKTUR MIKROKONTROLER AT89C51/52/55

BAB II TINJAUAN PUSTAKA

BAB II Tinjauan Pustaka

BAB III PERANCANGAN SISTEM

BAB II TINJAUAN PUSTAKA

Gambar 2.1 Mikrokontroler ATMega 8535 (sumber :Mikrokontroler Belajar AVR Mulai dari Nol)

BAB III LANDASAN TEORI. digunakan seperti MCS51 adalah pada AVR tidak perlu menggunakan oscillator

Sistem Minimum Mikrokontroler. TTH2D3 Mikroprosesor

TAKARIR. Akumulator Register yang digunakan untuk menyimpan semua proses aritmatika

BAB III DESKRIPSI DAN PERANCANGAN SISTEM

MICROCONTROLER AVR AT MEGA 8535

BAB II DASAR TEORI 2.1. Mikrokontroler AVR ATmega32

Antarmuka LCD pada DST-AVR

BAB II TINJAUAN PUSTAKA. [10]. Dengan pengujian hanya terbatas pada remaja dan didapatkan hasil rata-rata

PERTEMUAN IV PEMOGRAMAN SEVEN SEGMEN DAN LCD

BAB III PERANCANGAN SISTEM

BAB II LANDASAN TEORI

MIKROKONTROLER Arsitektur Mikrokontroler AT89S51

MICROCONTROLER AVR AT MEGA 8535

BAB II TINJAUAN PUSTAKA

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB IV PENGUKURAN DAN ANALISA DATA

BAB II LANDASAN TEORI

BAB II TINJAUAN PUSTAKA

BAB III METODE PENELITIAN. Metode penelitian yang digunakan adalah metode eksperimen. Eksperimen

BAB III PERANCANGAN SISTEM. untuk efisiensi energi listrik pada kehidupan sehari-hari. Perangkat input untuk

MIKROPENGENDALI C TEMU 2b AVR ARCHITECTURE. Oleh : Danny Kurnianto,S.T.,M.Eng Sekolah Tinggi Teknologi Telematika Telkom

BAB II LANDASAN TEORI. dikembangkan pada tahun 1996 oleh dua orang mahasiswa Norwegian Institute of

BAB IV PENGUKURAN DAN ANALISA DATA. dari sistem yang dibuat. Pengujian dan pengukuran pada rangkaian ini bertujuan

BAB II LANDASAN TEORI. terdapat CPU, ROM, RAM, I/O, clock dan perlatan internal lainnya yang sudah

BAB IV PENGUJIAN DAN PEMBAHASAN. Pengujian ini termasuk pengujian masing-masing bagian secara terpisah dan pengujian

BAB II KAJIAN PUSTAKA. Karya Tulis Ilmiah milik Siswi Tri Utami, mahasiswa Politeknik

Gambar 5.1 Modul LCD M1632. LCD ini memiliki 16 kaki, sebagaimana ditunjukkan dalam Tabel 6.1.

M1632 MODULE LCD 16 X 2 BARIS (M1632)

BAB IV HASIL DAN PEMBAHASAN. Setelah pembuatan modul maka perlu dilakukan pendataan melalui proses

BAB II DASAR TEORI. Current Transformer atau yang biasa disebut Trafo arus adalah tipe instrument

BAB II TINJAUAN PUSTAKA

BAB II DASAR TEORI. AVR(Alf and Vegard s Risc processor) ATMega32 merupakan 8 bit mikrokontroler berteknologi RISC (Reduce Instruction Set Computer).

BAB II LANDASAN TEORI

BAB III PERANCANGAN DAN PEMBUATAN PERANGKAT KERAS

BAB II. PENJELASAN MENGENAI System-on-a-Chip (SoC) C8051F Pengenalan Mikrokontroler

BAB II TINJAUAN PUSTAKA

BAB 3 PERANCANGAN SISTEM. Di bawah ini adalah blok diagram dari perancangan alat sensor keamanan menggunakan PIR (Passive Infrared).

BAB II TINJAUAN PUSTAKA

MIKROKONTROLER AT89S52

BAB II TEORI DASAR. Mikrokontroller AT89S51 adalah anggota dari keluarga MCS-51 yang. On-Chip 4 Kbyte Program Memori

BAB III PERANCANGAN SISTEM

BAB II DASAR TEORI. Gambar 2.1 Sensor MLX 90614[5]

TAKARIR. Akumulator Register yang digunakan untuk menyimpan semua proses aritmatika. Assembler Bahasa pemrograman mikrokontroler MCS-51

BAB III PERANCANGAN ALAT

BAB II DASAR TEORI. open-source, diturunkan dari Wiring platform, dirancang untuk. software arduino memiliki bahasa pemrograman C.

BAB II TEORI DASAR 2.1 Suara Ultrasonik 2.2 Mikrokontroler AT89C51

Nama : Zulham.Saptahadi Nim : Kelas : 08 Tk 04

DAFTAR ISI HALAMAN JUDUL... HALAMAN PENGESAHAN P EMBIMBING... HALAMAN PENGESAHAN P ENGUJI... HALAMAN PERSEMBAHAN... HALAMAN MOTTO... KATA PENGANTAR...

Transkripsi:

BAB 2 DASAR TEORI 2.1 Perangkat Keras 2.1.1 LDR (Light Dependent Resistor) LDR (Light Dependent Resistant) merupakan suatu jenis resistor yang nilai resistansinya berubah-ubah karena adanya intensitas cahaya yang diserap. LDR dibentuk dari Cadium Sulfide (CDS) yang mana Cadium Sulfide dihasilkan dari serbuk keramik. Prinsip kerja LDR ini pada saat mendapatkan cahaya maka tahanannya turun, sehingga pada saat LDR mendapatkan kuat cahaya terbesar maka tegangan yang dihasilkan adalah tertinggi. Pada saat gelap atau cahaya redup, bahan dari cakram pada LDR menghasilkan elektron bebas dengan jumlah yang relatif kecil. Sehingga hanya ada sedikit elektron untuk mengangkut muatan elektrik. Artinya pada saat cahaya redup LDR menjadi pengantar arus yang kurang baik, atau bisa disebut juga LDR memiliki resistansi yang besar pada saat gelap atau cahaya redup. Pada saat cahaya terang, ada lebih banyak elektron yang lepas dari bahan semikonduktor tersebut. Sehingga akan ada lebih

banyak elektron untuk mengangkut muatan elektrik. Artinya pada saat cahaya terang LDR menjadi konduktor atau bisa disebut juga LDR memilki resistansi yang kecil pada saat cahaya terang. Simbol LDR seperti ditunjukan pada Gambar 2.1, sedangkan Gambar 2.2 menunjukkan grafik hubungan antara resistansi dan intensitas cahaya. Gambar 2.1 Simbol LDR Gambar 2.2 Grafik hubungan antara resistansi dan intensitas cahaya

LDR digunakan untuk mengubah energi cahaya menjadi energi listrik. Saklar cahaya otomatis adalah salah satu contoh alat yang menggunakan LDR. Akan tetapi karena responsnya terhadap cahaya cukup lambat, LDR tidak digunakan pada situasi dimana intesitas cahaya berubah secara drastis. Gambar 2.3 LDR (Light Dependent Resistor) 2.1.2 Mikrokontroler ATmega8535 2.1.2.1 Gambaran Umum Mikrokontroler merupakan suatu trobosan teknologi mikrokontroler dan mikrokomputer menjadi kebutuhan pasar dan teknologi baru. Sebagai teknologi baru, yaitu teknologi semikondultor dengan kandungan transistor yang lebih banyak namun hanya membutuhkan ruang kecil serta dapat diproduksi secara massal (dalam jumlah yang banyak) sehingga harga menjadi murah (dibandingkan mikroprosesor). Sebagai kebutuhan pasar, mikrokontroler hadir untuk memenuhi selera industri dan para konsumen akan kebutuhan pada alat-alat bantu dan mainan yang lebih canggih.

Sebagai contoh yang mungkin dapat memberikan gambaran yang jelas dalam penggunaan mikrokontroler adalah pada aplikasi alat ukur tinggi badan otomatis. Umumnya alat ukur tinggi badan masih bersifat manual, dimana pengguna harus menaikkan dan menurunkan sendiri palang atas kepala, dan kemudian membaca penunjukan skalanya. Sementara itu, bagi anak kecil atau orang yang tubuhnya pendek tentu akan kesulitan atau bahkan tidak dapat melakukannya sendiri. Olehkarenanya dengan adanya alat ukur tinggi badan yang berbasis kendali elektronika, orang yang hendak mengetahui tinggi badannya cukup berdiri di depan alat, dan secara otomatis alat tersebut akan mengukur dan menapilkannya pada display, yang semua itu bisa diperoleh dari mikrokontroler yang digunakan. Mikrokontroler adalah suatu keping IC dimana terdapat mikroprosesor dan memori program (ROM) serta memori serbaguna (RAM), bahkan ada beberapa jenis mikrokontroler yang memiliki fasilitas ADC, PPL, EEPROM dalam suatau kemasan. Penggunaan mikrokontroler dalam bidang kontrol sangat luas dan popular. Ada beberapa vendor yang membuat mikrokontroler diantaranya Intel, Microchip, Winbond, Atmel, Philips, Xemics dan lain-lain buatan Atmel. Mikrokontroler Atmega8535 merupakan generasi AVR ( Alf and Vegard s Risk processor). Mikrokontroler AVR memiliki arsitektur RISC (Reduced Instruction Set Computing) 8 bit, dimana semua instruksi dalam kode 16-bit (16-bit word) dan sebagian besar instruksi dieksekusi dalam 1 (satu) siklus clock. AVR menjalankan sebuah instruksi komponen eksternal dapat dikurangi. Mikrokontroler AVR didesain menggunakan arsitektur Harvard, di mana ruang dan jalur bus bagi memori program dipisahkan dengan memori data. Memori program diakses dengan single-level

pipelining, di mana ketika sebuah instruksi dijalankan, instruksinya akan di-prefetch dari memori program. 2.1.2.2 Arsitektur ATMega8535 Gambar 2.4 Diagram Blok Fungsional ATmega8535

Gambar 2.4 memperlihatkan bahwa ATmega8535 memiliki bagian sebagai berikut: 1. Saluran I/O sebanyak 32 buah, yaitu PortA, Port B, Port C, dan Port D. 2. ADC 10 bit sebanyak 8 saluran. 3. Tiga buah Timer/Counter dengan kemampuan pembanding. 4. CPU yang terdiri atas 32 buah register. 5. Watchdog Timer dengan osilator internal. 6. SRAM sebesar 512 byte. 7. Memori Flash sebesar 8 Kb dengan kemampuan Read While Write. 8. Unit interupsi internal dan eksternal. 9. Port antarmuka SPI. 10. EEPROM (Electrically Ersable Programmable Read Only Memori) sebesar 512 byte yang diprogram saat operasi. 11. Antarmuka komparator analog. 12. Port USART untuk komunikasi serial dengan kecepatan maksimal 12,5 Mbps. 13. Sistem mikroprosesor 8 bit berbasis RISC dengan kecepatan maksimal 16 MHz.

2.1.2.3 Konfigurasi Pin ATmega8535 Gambar 2.5 Konfigurasi Pin ATmega8535 Konfigurasi pin ATmega8535 dapat dilihat pada gambar 2.5 Secara fungsional konfigurasi pin ATmega 8535 sebagai berikut: 1. VCC merupakan pin yang berfungsi sebagai pin masukan catu daya. 2. GND merupakan pin ground. 3. Port A (PA0..PA7) merupakan pin I/O dua arah dan pin masukan ADC. 4. Port B (PB0..PB7) meruapakn pin I/O dua arah dan pin fungsi khusus untuk Timer/Counter, Komparator analog, dan SPI.

5. Port C (PC0..PC7) meruapan pin I/O dua arah dan pin khusus untuk TWI, Komparator analog, dan Timer Oscilator. 6. Port D (PD0..PD7) merupakan pin I/O dua arah dan pin khusus untuk Komparator analog, Interupsi eksternal, dan Komunikasi serial. 7. RESET merupakan pin yang digunakan untuk me-reset mikrokontroller. 8. XTAL1 dan XTAL2 meruapakan pin masukan clock eksternal. 9. AVCC meruapakan pin masukan tegangan untuk ADC. 10. AREF meruapkan pin masukan tegangan referensi ADC. 2.1.2.4 Peta Memori ATmega8535 memiliki ruang pengalamatan memori data dan memori program yang terpisah. Memori data terbagi manjadi 3 bagian, yaitu 32 buah register umum, 64 buah register I/O, dan 512 byte SRAM Interbal. Register dengan fungsi umum menempati space data pada alamat terbawah, yaitu $00 sampai $1F, register khusus untuk menangani I/O dan kontrol mikrokontroller menpati 64 alamat $20 hingga $5F, sedangkan SRAM 512 byte. Pada alamat $60 sampai dengan $25F. Konfigurasi memori data ditunjukkan pada gambar 2.6 berikut:

Gambar 2.6 Konfigurasi Memori Data ATmega8535 Memori program yang terletak dalam Flash PEROM tersusun dalam word karena setuiap insruksi memilki lebar 16-bit atau 32-bit. AVR ATmega8535 memiliki 4 Kbyte x 16-bit Flash PEROM dengan alamat mulai dari $000 sampai $FFF. AVR memliki 12-bit Program Counter (PC) sehingga mampu mengalamati isi Flash.

Gambar 2.7 Memori Program ATmega8535 ATmega8535 juga memiliki memori data berupa EEPROM 8-bit sebanyak 512 byte. Alamat EEPROM dimulai dari $000 sampai $1EF. 2.1.2.5 Status Register (SREG) Status Register merupakan register berisi status yang dihasilkan pada setiap operasi yang dilakukan ketika suatu instruksi dieksekusi SREG merupakan bagian dari inti CPU mikrokontroler. Gambar 2.8 Status Register ATmega8535

1. Bit 7-I : Global Interrupt Enable Bit yang harus diset untuk meng-enable interupsi. 2. Bit 6-1 : Bit Copy Storage Instruksi BLD dan BST menggunakan bit-t sebagai sumber atau tujuan dalam operasi bit. Suatu bit dalam sebuah register GPR dapat disalin ke bit T menggunakan instruksi BST, dan sebaliknya bit-t dapat disalin kembali ke suatu bit dalam segister GPR menggunakan instruksi BLD. 3. Bit 5-H : Half Carry Flag. 4. Bit 4-S : Sign Bit Bit-S merupakan hasil operasi EOR antara flag N (negative) dan flag-v (two s complement overflow). 5. Bit 3-V : Two s Complement Overflow Flag Bit yang berguna untuk mendukung opersai aritmatika. 6. Bit 2-N : Negative Flag 7. Bit 2 N : Negative Flag Bit akan diset bila suatu operasi menghailkan bilangan negatif. 8. Bit 1-Z : Zero Flag Bit akan diset bila hasil operasi yang diperoleh adalah nol. 9. Bit 0-C : Carry Flag Bit akan diset bila suatu operasi menghasilkan carry.

2.1.3 LCD (Liquid Crystal Display) Kegunaan LCD banyak sekali dalam perancangan suatu sistem dengan menggunakan menggunakan mikrokontroler, LCD (Liquid Crysral Display) dapat berfungsi untuk menampilakan suatu nilai hasil sensor, menampilakan teks, atau menampilakan menu pada aplikasi mikrokontroler. M1632 merupakan modul LCD matrix dengan konfigurasi 16 karakter dan 2 baris dengan setiap karakternya dibentuk oleh baris pixel dan 5 kolom pixel (1 baris pixel terakhir adalah kursor). Didalam modul M1632 sudah tersedia HD44780 yang dikeluarkan oleh Hitachi, Hyundai dan modul-modul M1632 lainnya. HD44780 sebetulnya merupakan mikrokontroler dirancang khusus untuk mengenendalikan LCD dan mempunyai kemampuan untuk mengatur proses scanning pada layar LCD yang terbentuk oleh 16 COM dan 40 SEG sehingga mikrokontroler/perangkat yang mengakses modul LCD ini tidak perlu lagi mengatur scanning pada layar LCD. Mikrokontroler atau perangkat tersebut hanya mengirim data-data yang merupakan karakter yang akan ditampilkan pada LCD atau perintah yang mengatur proses tampilan pada LCD saja. Adapun konfigurasi dan deskripsi dari pin-pin LCD M1632 antara lain: 1. Pin 1 dihubungkan ke Gnd 2. Pin 2 dihubungkan ke Vcc +5V 3. Pin 3 dihubungkan ke bagian tengan potensiometer 10KOhm sebagai pengatur kontras. 4. Pin 4 untuk membritahukan LCD bahwa sinyal yang dikirim adalah data, jika Pin 4 ini diset ke logika 1 (high, +5V), atau memberitahukan bahwa sinyal yang dikirim adalah perintah jika pin ini di set ke logika 0 (low, 0V).

5. Pin 5 digunakan untuk mengatur fungsi LCD. Jika di set ke logika 1 (high, +5V) maka LCD berfungsi untuk menerima data (membaca data). Dan fungsi untuk mengeluarkan data, jika pin ini di set ke logika 0 (low, 0V). Namun kebanyakan aplikasi hanya digunakan untuk menerima data, sehingga pin 5 ini selalu dihubungkan ke Gnd. 6. Pin 6 adalah terminal enable. Berlogika 1 setiap kali pengiriman atau pembaca data. 7. Pin 7 Pin 14 adalah data 8 bit data bus (Aplikasi ini menggunakan 4 bit MSB saja, sehingga pin data yang digunkan hanya Pin 11 Pin 14). 8. Pin 15 dan Pin 16 adalah tegangan untuk menyalakan lampu LCD. Adapun gambar dari LCD 2x16 adalah sebagai berikut: Gambar 2.9 LCD (Liquid Crystal Display)

2.1.3.1 Struktur Memori LCD Modul LCD M1632 memilki beberapa jenis memori yang digunakan untuk menyimpan atau memproses data-data yang ditampilkan pada layar LCD. Setiap memori mempunyai fungsi-fungsi tersendiri: a. DDRAM DDRAM merupakan memori tempat karakter yang ditampilkan berada. Contohnya karakter A atau 41h yang ditulis pada alamat 00 akan tampil pada baris pertama dan kolom pertama dari LCD. Apabila karakter tersebut di alamat 40h, karakter tersebut akan tampil pada baris kedua kolom pertama darai LCD. b. CGRAM CGRAM merupakan memori untuk menggambarkan pola seluruh karakter dan bentuk karakter dapat diubah-ubah sesuai keinginan. Akan tetapi isi memori akan hilang saat power supplay tidak aktif sehingga pola karakter akan hilang. c. CGROM Adalah memori untuk menggambarkan pola sebuah karakter dan pola tersebut ditentukan secara permanen dari HD44780 sehingga pengguna tidak dapat menubah lagi. Oleh karena ROM bersifat permanen, pola karakter tersebut akan hilang walaupun power supplay tidak aktif.

2.2 Perangkat Lunak 2.2.1 Bahasa BASIC Menggunkan BASCOM-AVR BASCOM-AVR adalah program BASIC Compiler berbasis Windows untuk mikrokontroler keluarga AVR seperti ATmega, dan yang lainnya. BASCOM-AVR merupakan program dengan bahasa tingkat tinggi BASIC yang dikembangkan dan dikeluarkan oleh MCS Elektronika. 2.2.1.1 Karakteristik Dalam BASCOM Dalam progrm BASCOM, karakter dasarnya terdiri atas karakter alphabel (A-Z dan a- z), karakter numeric (0-9), dan karakter spesial (lihat tabel dibawah ini) karakter Nama Blank Apostrophe * Asterisk (symbol perkalian) + Plus sign, Comma - Minus sign. Period (decimal point) / Slash (division symbol) will be handled as\ : Colon Double quotation mark

; Semicolon < Less than = Equal sign (assignment symbol or relational operator) > Greater than \ Backspace (integer or word division symbol) Tabel 2.1 Karakter Spesial 2.2.1.2 Tipe Data Stiap variabel dalam BASCOM memiliki tipe data yang menunjukkan daya tampungannya. Hal ini berhubungan denga penggunaan memori mikrokontroler. Berikut ini adalah tipe data pada BASCOM berikut keterangannya. Tipe Data Ukuran (byte) Range Bit 1/8 - Byte 1 0 255 Integer 2-32,768 - +32,767 Word 2 0 65535 Long 4-214783648 - +2147483647

Single 4 - String hingga 254 byte - Tabel 2.2 Tipe data BASCOM 2.2.1.3 Variabel Variabel dalam sebuah pemrograman berfungsi sebagai tempat penyimpanan atau penampungan data sementara, misalnya menampung hasil perhitungan, menampung data hasil pembacaan register, dan lainnya. Variabel merupakan pointer yang menunjukkan pada alamat memori fisik dan mikrokontroler. Dalam BASCOM, ada beberapa aturan dalam penamaan sebuah variabl: a. Nana variabel maksimum terdiri atas 32 karakter. b. Karakter bisa berupa angka atau huruf. c. Nama variabel harus dimula dengan huruf. d. Variabel tidak boleh menggunkan katae. kata yang digunakan oleh BASCOM sebagai perintah, pernyataan, internal register, dan nama operator (AND, OR, DIM, dan lain-lain) Sebelum digunakan maka variabel harus dideklarasikan terlebih dahu. Dalam BASCOM, ada beberapa cara untuk mendeklarasikan sebuah variabel. Cara pertama adalah menggunakan pernyataan DIM diikuti nama tipe datanya. Contohnya pendeklarasian menggunkan DIM sebagai berikut: Dim nama as byte Dim tombol1 as integer

Dim tombol2 as word Dim tombol3 as word Dim tombol4 as word Dim Kas as string*10 2.2.1.4 Alias Dengan menggunkan alias, variabel yang sama dapat diberikan nama yang lain. Tujuannya adalah mempermudah proses pemrograman. Umumnya, alias digunakan untuk mengganti nama variabel yang baku, seperti port mikrokontroler. Dim LedBar as byte Led1 as LedBar.0 Led2 as LedBar.1 Led3 as LedBar.2 Dalam deklarasi diatas, variabel yang sama dapat diberikan nama yang lain. Tujuannya adalah mempermudah proses pemrograman. Umumnya, alias digunakan untuk mengganti nama variabel yang baku, seperti port mikrokontroler. Dim LedBar as byte Led1 as LedBar.0 Led2 as LedBar.1 Led3 as LedBar.2

2.2.1.5 Konatanta Dalam BASCOM, selain variabel kita mengenal pula konstanta. Konstansa merupakan variabel pula, perbedaannya dengan variabel adalah nilai yang terkandung tetap. Dengan konstanta, kode program yang kita buat akan lebih mudah dibaca dan dapat mencegah kesalahan penulisan pada program kita. Misalnya, kita akan lbih mudah menulis phi dari pada menulis 3,14159867. Sama seperti variabel, agar konstanta bisa dikenal oleh program, maka harus dideklarasikan terlebih dahulu. Berikut adalah pendeklarasikan sebuah konstanta. Dim A As Const 5 Dim B1 As Const &B1001 Cara lain yang paling mudah: Const Cbyte = &HF Const Cint = -1000 Const Csingle = 1.1 Const Cstring = test 2.2.1.6 Array Dengan array, kita bisa menggunakan sekumpulan variabel dengan nama dan tipe yang sama. Untuk mengakses variabel tertentu dalam array, kita harus menggunakan indeks. Indeks harus berupa angka dengan tipe data byte, integer, atau word. Artinya nilai maksimal sebuah indeks sebesar 65535.

Proses pendeklarasikan sebuah array hampir sama dengan variabel, namun perbedaannya kita mengikuti jumlah elemennya. Berikut adalah contoh pemakaian array: Dim kelas(10) as byte Dim c as Integer For C = 1 To 10 a(c) = c p1 = a(c) Next Program diatas membuat sebuah array dengan nama kelas yang berisi 10 elelmen (1-10) dan kemudian seluruh elemennya diisikan dengan nilai c yang berurutan. Untuk pembacanya kita menggunakan indeks dimana elemen disimpan. Pada program diatas, elemen-elemen arraynya dikeluarkan ke Port 1 dari mikrokontroler. 2.2.2 Operasi-Operasi Dalam BASCOM Pada bagian ini akan dibahas tentang cara menggabungkan, memodifikasi, membandingkan, atau mendapatkan informasi tentang sebuah pernyataan dengan menggunkan operator-operator yang tersedia di BASCOM dan bagaimana sebuah pernyataan terbentuk dan dihasilkan dari operator-operator berikut:

a. Operator Aritmatika Operator digunakan dalam perhitungan aritmatika meliuti + (tambah), - (kurang), / (bagi), dan * (kali). b. Operator Relasi Operator berfungsi membandingkan nilai sebuah angka. Hasilnya dapat digunakan untuk membuat keputusan sesuai dengan program yang kita buat. Operator relasi meliput i: 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 Tabel 2.3 Tabel Operator Relasi c. Operator Logika Operator logika 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 PPRINT A A = 10 or 9 PRTINT A Output 16 11 d. Operator Fungsi Operator fungsi digunakan untuk melengkapi operator yang sederhana. 2.2.3 Aplikasi BASCOM dengan LCD Salah satu kelebihan yang dimiliki oleh BASCOM adalah programnya yang menyediakan rutin-rutin khusus untuk menampilkan karakter menggunakan LCD. Bahkan kita pun dapat membuat karakter special dengan fasilitas LCD designer.

Antarmauka antara LCD dengan ATmega8535 menggunakan mode antarmuka 4 bit. Selain lebih hemat I/O, mode demikian mempermudah proses pembuatan PCBnya. Program berikut akan menjalankan beberapa perintah berkenan dengan LCD $regfile = m8535.dat $crystal = 4000000 dim x as byte config LCD = 16*2 Cursor off do X = 100 Cls Lcd namaku Elda Lowerline Lcd Nilaiku selalu ; x Wait 1 Cls Lcd <<<< Hebat >>>> For x=1 to 16

Shiftlcd left next For x=1 to 32 Shiftlcd right Waitms 200 Next x = 100 cls lcd hex x loop penjelasan programnya sebagai berikut: a. Dim x As Byte Pernyataan di atas merupakan pendeklarasian variabel c/x dengan ukuran byte. b. Config LCD = 16 * 2 Oleh karana itu konfigurasi pendeklarasikannya delisting program yang kita buat seperti dikontrolkan diatas.

c. CLS Perintah CLS berfungsi membersihkan atau mengosongkan tampilan LCD. d. Lowerline Perintah berfungsi memindahkan kursor ke baris bawah. Karena LCD yang digunakan adalah LCD 2x16, maka LCD memilih 2 baris dan kolom. e. X = 100 Lcd namaku Elda Lowerline Lcd Nilaiku selalu ; x Ketika kita menjalankan perintah di atas, maka keluarannya adalah: Nama Elda Nilaiku selalu 100 Contoh tersebut menunjukkan bahwa kita dapat menampilkan isi sebuah variabel menggunakan LCD hanya dengan menulis. f. Shift LCD left/right Perintah digunakan untuk menggeser tampilan LCD ke kiri atau ke kanan sebanyak 1 langkah. Perintah berguna untuk menampilkan kalimat yang panjang dan membuat animasi LCD.

g. Lcdhex x Perintah berfungsi mengirim isi sebuah variabel LCD dalam format hexadecimal. Jika ingin menjalankan program, maka hasilnya 64