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

dokumen-dokumen yang mirip
MIKROKONTROLER AT89S52

BAB II TEORI DASAR 2.1 Suara Ultrasonik 2.2 Mikrokontroler AT89C51

BAB 2 LANDASAN TEORI

MIKROKONTROLER Arsitektur Mikrokontroler AT89S51

ARSITEKTUR MIKROKONTROLER AT89C51/52/55

Blok sistem mikrokontroler MCS-51 adalah sebagai berikut.

Gambar 1.1. Diagram blok mikrokontroller 8051

BAB II TEORI DASAR 2.1 Pendahuluan 2.2 Sensor Clamp Putaran Mesin

I/O dan Struktur Memori

BAB II TINJAUAN PUSTAKA

Pendahuluan Mikrokontroler 8051

Tabel Perbandingan ROM dan RAM pada beberapa seri ATMEL

4. Port Input/Output Mikrokontroler MCS-51

Mikrokontroler 89C51 Bagian II :

BAB II LANDASAN TEORI. Dalam merancang sebuah peralatan yang cerdas, diperlukan suatu

PERTEMUAN MEMORY DAN REGISTER MIKROKONTROLER

TKC210 - Teknik Interface dan Peripheral. Eko Didik Widianto

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

BAB I PENDAHULUAN 1.1 Latar Belakang 1.2 Rumusan Masalah

RANCANG BANGUN PENGAMAN MOBIL BERBASIS MIKROKONTROLER AT89S51 DENGAN APLIKASI TELEPON SELULER SEBAGAI INDIKATOR ALARM

BAB III PERANCANGAN DAN PEMBUATAN PERANGKAT KERAS

BAB II TEORI DASAR. peralatan input / output ( I / O ) pendukung di dalamnya. Suatu sistem mikroprosesor

PERTEMUAN PERANGKAT KERAS MIKROKONTROLER

Atmel Corporation, 2009, AT89S52 Datasheet,

BAB 2 TINJAUAN TEORITIS

BAB 2 LANDASAN TEORI

AKSES MEMORI Menggunakan DT-51 MinSys

BAB III PERANCANGAN SISTEM

BAB 2 TINJAUAN TEORITIS. Sensor TGS 2610 merupakan sensor yang umum digunakan untuk mendeteksi adanya

BAB 2 TINJAUAN TEORITIS. Mikrokontroller, sebagai suatu terobosan teknologi mikrokontroler dan microkomputer,

Mikroprosesor Z80 Suryanto Sutikno

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

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

BAB I TUGAS MATA KULIAH SISTEM MIKROPROSESOR DOSEN PEMBERI TUGAS : FATAH YASIN, ST, MT.

Percobaan 5 PENGENALAN MIKROKONTROLER 8051

BAB III RANCANG BANGUN SISTEM KARAKTERISASI LED. Rancangan sistem karakterisasi LED diperlihatkan pada blok diagram Gambar

BAB III MIKROKONTROLER

BAB III PERANCANGAN DAN PEMBUATAN ALAT

How2Use DT-51 AT89C51XXX BMS. Oleh: Tim IE. Gambar 1 Tata Letak DT-51 AT89C51XXX BMS

BAB II TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA. Jantung dalam terminologi sederhana, merupakan sebuah pompa yang terbuat

BAB 2 LANDASAN TEORI. Mikrokontroler, sebagai suatu terobosan teknologi mikrokontroler dan

BAB 2 TINJAUAN TEORITIS

BAB III PERANCANGAN SISTEM

BAB II TINJAUAN PUSTAKA

BAB II LANDASAN TEORI

BAB 2 LANDASAN TEORI

Interfacing i8088 dengan Memori

BAB II LANDASAN TEORI. pertanian atau perkebunan, industri makanan, industri elektronika dan lain-lain.

BAB II LANDASAN TEORI

MIKROKONTROLER Yoyo Somantri dan Egi Jul Kurnia

BAB III DESKRIPSI DAN PERANCANGAN SISTEM

Sumber Clock, Reset dan Antarmuka RAM

BAB 2 TINJAUAN PUSTAKA

BAB II LANDASAN TEORI. Definisi PLC menurut National Electrical Manufacturing Association (NEMA)

DT-51 Application Note

APLIKASI MIKROKONTROLER

BAB 2 TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI. Mikrokontroler AT89S52 termasuk kedalam keluarga MCS-51 merupakan suatu. dua macam memori yang sifatnya berbeda yaitu:

BAB 2 LANDASAN TEORI. Agar kendaraan lebih teratur dan tidak terlalu padat, biasanya tempat perparkiran ini dibagi

PENGANTAR MIKROKOMPUTER PAPAN TUNGGAL (SINGLE CHIP) Oleh : Sumarna, Jurdik Fisika, FMIPA UNY

DT-51 Application Note

BAB 3 PERANCANGAN SISTEM

Hanif Fakhrurroja, MT

SOAL UAS SISTEM KOMPUTER Kelas XI RPL & TKJ

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

BAB II LANDASAN TEORI

Mikrokontroler AVR. Hendawan Soebhakti 2009

PPI Skema konektor dari IC PPI 8255 adalah sebagai berikut :

PORT PARALEL MIKROKONTROLER ATMEL AT89C51

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

AT89 USB ISP Trademarks & Copyright

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI

BAB III PERANCANGAN SISTEM

Memprogram Port sebagai Output dan Input Sederhana

Pertemuan 2 Organisasi Komputer II. Struktur & Fungsi CPU (I)

III. METODE PENELITIAN

CENTRAL PROCESSING UNIT (CPU) Sebuah mesin tipe von neumann

Sistem Mikroprosessor

BAB 2 LANDASAN TEORI

DAFTAR PUSTAKA. Paulus Andi Nalwan. Teknik Antarmuka Dan Pemrograman Mikrokontroler AT89C51, Jakarta:

Arsitektur Komputer, Mikroprosesor dan Mikrokontroller. TTH2D3 Mikroprosesor

Gambar 3.1 Blok Diagram Port Serial RXD (P3.0) D SHIFT REGISTER. Clk. SBUF Receive Buffer Register (read only)

TUGAS AKHIR. Oleh RESI PERMANA FIDIANTO NPM JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNOLOGI INDUSTRI

Programmer. Petunjuk Penggunaan

Arsitektur Mikrokontroler

DT-51 Application Note

BAB II TINJAUAN PUSTAKA. Mikrokontroler, sebagai suatu terobosan teknologi mikrokontroler dan

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

TUGAS MATA KULIAH PENGANTAR MIKROKONTROLER

BAB III PERANCANGANALAT

RANCANG BANGUN SISTEM KONTROL LAMPU OTOMATIS BERBASIS WEB

TAKARIR. Akumulator Register yang digunakan untuk menyimpan semua proses aritmatika

USER MANUAL FLIP-FLOP MATA DIKLAT : RANCANGAN ELEKTRONIKA

RINGKASAN PEMROGRAMAN QUICK BASIC

1 Tinjau Ulang Sistem Komputer

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

Tabel 1. Karakteristik IC TTL dan CMOS

BAB 3 PERANCANGAN SISTEM

Transkripsi:

BAB II TEORI DASAR 2.1 Gambaran Umum AT89S51 Mikrokontroller AT89S51 adalah anggota dari keluarga MCS-51 yang memiliki fasilitas antara lain: CPU dengan kapasitas 8-bit Boolean processing (operasi Boolean) dalam bit (single bit logic) On-Chip 4 Kbyte Program Memori Program memori dapat diperbesar hingga 64 Kbyte On-Chip 128 byte Data Memori Data Memori dapat diperbesar hingga 64 Kbyte 4 buah port masing-masing 8 bit Dua buah Timer / Counter 16 bit UART full duplex 5 interupsi vektor dengan 2 tingkatan prioritas 5

6 Arsitektural MCS-51 adalah sebagai berikut: Gambar 2.1 Blok Diagram Inti 8051 2.1.1 Pin-pin Mikrokontroller AT89S51 Susunan pin-pin mikrokontrollerr AT89S51 diperlihatkan pada Gambar 2.2 berikut: Gambar 2.2 Pin pin Mikrokontroller AT89S51

7 Penjelasan dari masing-masing pin adalah sebagai berikut: Pin 1-8 (Port 1) merupakan port paralel 8 bit dua arah (bidirectional) yang dapat digunakan untuk berbagai keperluan (general purpose). Pin 9 ( reset ) adalah masukan reset (active high). Pulsa transisi dari rendah ke tinggi akan mereset AT89S51. Pin ini dihubungkan dengan rangkaian power on reset. Pin 10-17 (Port 3) adalah port paralel 8 bit dua arah yang memiliki fungsi pengganti. Fungsi pengganti meliputi TxD (Transmit Data), RxD (Receive Data), Int 0 (Interupt 0), Int 1 (Inteerup 1), T0 (Timer 0), T1 (Timer 1),WR (Write), dan RD (read). Bila fungsi pengganti tidak dipakai, pin-pin ini dapat digunakan sebagai port parallel 8 bit serba guna. Pin 18 (XTAL 1) adalah pin masukan ke rangkaian osilator internal. Sebuah isolator kristal atau sumber osilator luar dapat digunakan. Pin 19 (XTAL 2) adalah pin keluaran ke rangkaian osilator internal. Pin ini dipakai bila menggunakan osilator kristal. Pin 20 (Ground) dihubungkan ke Vcc atau ground. Pin 21 sampai 28 (Port 2) adalah port paralel 2 (P2) selebar 8 bit dua arah (bidirectional). Port 2 ini mengirimkan byte alamat bila dilakukan pengaksesan memori external. Pin 29 adalah pin PSEN (Program Store Enable) yang merupakan sinyal pengontrol yang membolehkan program

8 memori eksternal masuk ke dalam bus selama proses pemberian / pengambilan instruksi ( fetching ). Pin 30 adalah pin ALE (address latch Enable) yang digunakan untuk menahan alamat memori eksternal selama pelaksanaan instruksi. Pin 31(EA). Bila pin ini diberi logika tinggi (H), mikrokontroller akan melaksanakan instruksi dari ROM / EPROM ketika isi program counter kurang dari 4096. Bila diberi logika low (L), mikrokontroller akan melaksanakan seluruh instruksi dari memori luar program. Pin 32-39 (Port 0) merupakan port parallel 8 bit open drain dua arah. Bila digunakan untuk mengakses memori luar, port ini akan memultipleks alamat memori dengan data. Pin 40 (Vcc) dihubungkan ke Vcc (+5 Volt). 2.1.2 Organisasi Memori AT89S51 Gambar 2. 3 Struktur Memori AT89S51

9 Pemisahan Program dan Data Memori ini memungkinkan pengaksesan data memori dengan pengalamatan 8 bit, sehingga dapat langsung disimpan dan dimanipulasi oleh mikrokontroller dengan kecepatan 8 bit. Namun demikian, untuk pengaksesan Data Memori dengan alamat 16 bit harus dilakukan dengan menggunakan register DPTR (Data Pointer). Program Memori hanya dapat dibaca saja (diletakkan pada ROM / EPROM). Untuk membacaa Program Memori eksternal, mikrokontrollerr akan mengirim sinyal PSEN (Program Store Enable). Sebagai Data Memori eksternal dapat digunakan RAM eksternal (maksimumm 64 Kbyte). 2.1.3 Program Memori Gambar 2..4 menunjukkan peta dari bagian bawah Program Memori. Setelah reset, CPU memulai eksekusi program dari lokasi alamat 0000H. Gambar 2.4 Program Memori AT89S51 Seperti yang terlihat pada gambar 2.4, setiap interupsi diberi lokasi tersendiri pada Program Memori (ketentuan tersebut dikenal sebagai vektor

10 interupsi). Interupsi yang dilakukan menyebabkan CPU melompat ke alamat interupsi yang berisi sebuah rutin khusus dan kemudian mengeksekusinya. Jika program interupsi cukup pendek, maka program tersebut dapat dimulai pada alamat vektor interupsi yang ditentukan. Bila program interupsi cukup panjang, maka instruksi Jump dapat digunakan pada alamat vektor interupsi tersebut, untuk melompat menuju lokasi awal dimana program interupsi dibuat. Kapasitas 4K (atau 8K, atau 16K) dari Program Memori dapat difungsikan sebagai on-chip ROM (internal) atau sebagai ROM eksternal. Pemilihan ROM internal atau eksternal pada saat pembacaan oleh mikrokontroller, dilakukan dengan mengkondisikan pin EA (External Access) pada kondisi high / low (EA = high, untuk ROM internal ; EA = low, untuk ROM eksternal). 2.1.4 Data Memori Data Memori Internal dan Eksternal (lihat gambar 2.3) dapat langsung digunakan oleh user. Jika dibutuhkan ukuran memori lebih besar dari 2 KB dapat menggunakan eksternal RAM. CPU mengeksekusi program dari ROM internal. Port 0 berfungsi sebagai bus alamat / data (bersifat multiplexer) terhadap RAM dan 3 buah jalur dari Port 2 digunakan untuk pemilihan halaman dari RAM (RAM page). CPU mengaktifkan sinyal RD dan WR berdasarkan kebutuhannya selama pengaksesan RAM eksternal. Data Memori Eksternal dapat mencapai 64 KB. Pengalamatan Data Memori Eksternal ini ada yang memerlukan lebar alamat cukup 1 byte saja atau dengan 2 byte. Pengalamatan dengan 1 byte sering digunakan asalkan satu

11 atau lebih dari jalur I/O digunakan untuk memilih RAM page. Sedangkan pengalamatan 2 byte digunakan dengan catatan Port 2 digunakan untuk mengirim high address byte (byte alamat atas). Gambar 2.5 Data Memori Internal Data Memori Internal dipetakan seperti pada Gambar 2.5. Memori ini dibagi menjadi 3 blok, dimana secara umum dibedakan menjadi Lower 128, Upper 128 dan ruang Special Function Register (SFR). Lebar alamat dari Data Memori Internal selalu sebesar 1 byte, oleh karena itu kapasitas maksimum dari sebuah alamat data adalah 256 byte. Bagaimanapun, mode pengalamatan untuk internal RAM dapat diakomodasikan menjadi 384 byte dengan sedikit trik. Pengalamatan langsung yang lebih tinggi dari 7FH akan mengakses blok memori yang berbeda. Gambar 2.5 menunjukkan bagaimana Upper 128 dan ruang SFR menggunak kan blok yang sama pada pengalamatan 80H sampai FFH, walaupun secara fisik keduanyaa adalah terpisah.

12 Gambar 2.6 Lower 128 dari RAM Internal Blok Lower 128 selalu tersedia pada semua piranti MCS-51 seperti terlihat pada Gambar 2. 6. Lokasi di bawah 32 byte dikelompokkan menjadi 4 buah bank dari 8 register. Program instruksi mengenalnya sebagai R0 sampai R7. Dua bit dalam PSW (Program Status Word) dipakai untuk memilih bank-bank mana yang akan digunakan. Hal ini akan menyebabkan penggunaan yang lebih efisien dari pengkodean, sebab dengan menggunakan cara ini akan didapatkan instruksi yang lebih pendek dari pada dengan menggunakan direct addressing (pengalamatann langsung), 16 byte berikutnya di atas bank registerr adalah ruang memori yang bersifat bit-addressable ( dapat dialamati per bit) ). Ada Instruction Set dari AT89S51 terdapat instruksi-instruksi yang dapat mengolah bit tunggal dan sebanyak 128 bit pada area ini dapat diakses secaraa langsung dengan menggunakan Intruktion Set. Bit yang dapat diakses

13 langsung ini adalah daerah dari 00H sampai 7FH. Semua daerah dalam Lower 128 dapat diakses secara direct maupun indirect addressing (pengalamatan langsung maupun tidak langsung). Sedangkan Upper 128 hanyaa dapat diakses menggunakan indirect addressing. Upper 128 dari RAM tidak digunakan pada 89C51 tapi menggunakan RAM lain dengan kapasitas 256 byte. Gambar 2.6 menunjukkan ruang SFR (Special Function Register). Dalam ruang SFR terdapat Port latch, timer,kontrol peripheral dan lain-lain. Register-registerr ini hanya dapat diakses dengan menggunakan direct addressing. Secara umum, seluruh keluarga MCS-51 memiliki ruang SFR yang sama dengan 8051 dan SFR tersebut diletakkan pada alamat yang sama. Gambar 2.7 Ruang Special Functionn Register Sebanyak 16 alamat pada ruang SFR dapat dilakukan pengalamatan baik pengalamatan bit maupun byte. SFR yang bersifat bit addressable adalah alamat-alamat yang berakhir dengan 000BH. Bit yang dialamatkan padaa area ini adalah mulai 80H sampai FFH.

14 2.2 Servo Motor Servo motor banyak digunakan sebagai aktuator pada mobil robot atau lengan robot. Servo motor umumnya terdiri dari servo continuous dan servo standar. Servo motor continuous dapat berputar sebesar 360 derajat. Sedangkan servo motor tipe standar hanya mampu berputar 180 derajat. Servo motor yang digunakann dalam robot ini ialah servo GWS S35/STD/F 360 Deg Continuous. Untuk menggerakkan motor servo ke kanan atau ke kiri, tergantung dari nilai pulsa yang kita berikan. Untuk memutar servo ke kanan, berikan pulsa low sebesar <= 1 ms, dan pulsa high sebesar >= 3 ms untuk berputar ke kiri, seperti ilustrasi berikut: Gambar 2. 8 Ilustrasi Pergerakan Servo

15 Spesifikasi dari Servo GWS S35/STD/F 360 Deg Continuous, adalah : - Supply voltage 4.8-6.0V - 360 Degree Continuous Rotation - Speed 0.13 sec/60 degrees @6V - Torque 2.8 kg/cm (39.2 oz/in) @6V - 0.3 Amp at Full Speed & No Load - Weight 42 g (1.48 oz) - Size 39.5x20.0x39.5 mm/1.56x0.79x1.56 inch Gambar 2.9 Susunan Kabel Servo Motor

16 2.3 Set Instruksi dan Pemrograman BASCOM MCS-51 BASCOM-8051 adalah program BASIC compiler berbasis windows untuk mikrokontroller keluarga 8051 seperti AT89S51, AT89C2051 dan yang lainnya. BASCOM-8051 merupakan pemrograman dengan bahasa tingkat tinggi BASIC yang dikembangkan dan dikeluarkan oleh MCS Electronic. Bagian-bagian BASCOM-8051: Tabel 2.1 Daftar Fungsi Menu Bascom-8051 Ikon Nama Fungsi Shortcut File New Membuat file baru Ctrl+N Open File Membuka file Ctri+O File Save Menyimpan file Ctri+S Save As Menyimpan dengann nama lain - Print Preview Melihat tampilan sebelum - dicetak Print Mencetak dokumen Ctri+P Exit Keluar dari program - Program Compile Mengkompile program yang dibuat. Outputnya bisa berupa *.hex, *.bin, dan lain-lain. F7

17 Syntax Check Memeriksa kesalahan bahasa Ctri+W Show Result Menampilkan hasil program kompilasi Menu Show Result menampilkann informasi berupa: Tabel 2.2 Info Show Result Info Keterangan Compiler Versi kompiler yang digunakan. Processor Menampilkan target processor yang dipilih. Date and time Tanggal dan waktu kompilasi. Baud timer Tanggal dan waktu kompilasi Timer yang digunakan untuk menghasilkan baud rate; 0 ketika tidak ada timer yang digunakan. Baud rate dan Baud rate yang dipilih dan kristal yang digunakan µp. frekuensi ROM startt Lokasi awal ROM. RAM startt Lokasi awal eksternal RAM.

18 LCD mode Mode LCD yang digunakan, 4 bit atau 8 bit. Stack startt Lokasi awal stack ruangan di bawah stack digunakan untuk variabel. Used ROM Menampilkan panjang file biner yang dihasilkan. 2.3.1. Compiler BASCOM-8 8051 Menyediakan pilihan untuk memodifikasi pilihan- pilihan pada kompilasi. Dengan memilih menu Compiler, jendela berikut akan tampil: Gambar 2.10 Jendela Options

19 Tabel 2.3 Keterangan Menu Pilihan TAB Menu Option Keterangan Output Binary File Menghasilkan file biner HEX File Menghasilkan file hexadecimal DEBUG File Menghasilkan file debug dan map yang diperlukan program simulator Report File Menghasilkan file report Error File Menghasilkan file error Old HEX Intel Menghasilkan file old intel Hex yang digunakan beberapa monitor Communication Baud rate Baud rate yang digunakan untuk komunikasi RS232 dengan computer Frekuensi Frekuensi Kristal yang digunakan mikrokontroller I2C SCL port Pin untuk jalur SCL yang digunakan rutin I2C SDA port Pin untuk jalur SDA yang digunakan rutin I2C RC5 port Pin yang digunakan untuk statemen GETRC5 LCD DB4-DB7 Enable, RS Port yang dihubungkan dengan peraga LCD

20 MISC Register File Nama file mikrokontroller Byte End Posisi terakhir RAM yang bias digunakan oleh RAM internal. Stack akan mulai pada byte End+1. Ketika kekurangan ruangan stack, maka nilai harus diturunkan. Artinya, ruang untuk variabel menjadi berkurang. Untuk mikrokontroller dengan RAM 128 byte, nilai byte End yang bias diisikan adalah 70h, sedangkan untuk yang memiliki RAM 256 byte, maka bisa diisi dengan nilai F0h. Size Warning Ukuran ROM yang diperbolehkan Compiler Memilih jenis compiler yang digunakan BASCOM- 8051 atau BASCOM LT. 2.3.2 Karakter dalam BASCOM Dalam program BASCOM, karakter dasarnya terdiri atas karakter alphabet (A-Z dan a-z), karakter numeric (0-9), dan karakter special (lihat tabel dibawah ini).

21 Tabel 2.4 Karakter yang di gunakan dalam BASCOM Karakter Nama Blank atau spasi Apostrophe * Asterisk (symbol perkalian) + Plus sign, Comma - Minus sign. Period / Slash : Colon Double quotation mark ; Semicolon < Less than = Equal sign > Greater than \ Backslash

22 2.3.3 Tipe Data Setiap variabel dalam BASCOM memiliki tipe data yang menunjukkan daya tampungnya. Hal ini berhubungan dengan penggunaan memori mikrokontroler. Berikut adalah tipe data pada BASCOM berikut keterangannya. Tabel 2.5 Tipe Data pada BACSOM 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 - 2.3.4 Variabel Variabel dalam sebuah pemrograman berfungsi sebagai tempat penyimpanan data atau penampung data sementara. Misalnya menampung hasil perhitungan, menampung data hasil pembacaan register, dan lain

23 sebagainya. Variabel merupakan pointer yang menunjuk pada alamat memori fisik di mikrokontroler. Dalam BASCOM, ada beberapa aturan dalam penamaan sebuah variabel: 1. Nama variabel maksimum terdiri atas 32 karakter. 2. Karakter biasa berupa angka atau huruf. 3. Nama variabel harus dimulai dengan huruf. 4. Variabel tidak boleh menggunakan kata-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 dahulu. Dalam BASCOM, ada beberapa cara untuk mendeklarasikan sebuah variabel. Cara pertama adalah menggunakan pernyataan DIM diikuti nama dan tipe datanya. Contoh pendeklarasian menggunakan 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 Cara mempercepat pendeklarasian sebuah variabel yang banyak adalah:

24 Dim nama as byte, tombol1 as integer Dim tombol2 as bit, tombol4 as word Dim kas as string *10 Cara lain untuk mendeklarasikan sebuah variabel adalah menggunakan DEFINT, DEFBIT, DEFBYTE, dan DEFWORD. Contohnya: DEFBYTE nama DEFINT tombol1 DEFWORD tombol2 ; tombol3 ; tombol4 Deklarasi di atas berarti nama tipe datanya adalah Byte; tombol1 tipe datanya adalah integer; lalu tombol2, tombol3, dan tombol4 tipe datanya adalah word. 2.3.5 Alias Dengan menggunakan alias, variabel yang sama dapat diberikan nama yang lain. Tujuannya adalah mempermudah proses pemrograman. Umumnya, alias digunakan untuk mengganti nama variabel yang telah baku, seperti port mikrokontroller. LEDBAR alias P1 Tombol alias P0.1 Tombol2 alias P0.2 Dengan deklarasi seperti diatas, perubahan pada tombol1 akan mengubah kondisi P0.1. Selain mengganti nama port, kita dapat pula menggunakan alias untuk mengakses bit tertentu dari sebuah variabel yang telah dideklarasikan.

25 Dim Ledbar as byte Led1 as Ledbar. 0 Led2 as Ledbar. 1 Led3 as Ledbar. 2 2.3.6. Konstanta Dalam BASCOM, selain variabel kita mengenal pula konstanta. Konstanta merupakan variabel pula. Perbedaannya dengan variabel biasa adalah nilai yang kandungannyatetap. 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 variabel, agar konstanta bias dikenali oleh program, maka harus dideklarasikan terlebih dahulu. Berikut adalah cara pendeklarasian 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

26 2.3.7 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 maksimum sebuah indeks sebesar 65535. Proses pendeklarasian sebuah array hampir 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) = c p1 = a (c) Next Program di atas membuat sebuah array dengan nama kelas yang berisi 10 elemen (1-10) dan kemudian seluruh elemennya diisikan dengan nilai c yang berurutan. Untuk membacanya, kita menggunakan indeks dimana elemen disimpan. Pada program di atas, elemen-elemen array-nya dikeluarkan ke port 1 dari mikrokontroller.

27 2.3.8 Operasi-operasi dalam BASCOM Kita akan membahas tentang cara menggabungkan, memodifikasi, membandingkan, atau mendapatkan informasi tentang sebuah pernyataan dengan menggunakan operator-operator yang tersedia di BASCOM. Berikut operator-operator dalam BASCOM. Operator Aritmatika Operator digunakan dalam perhitungan. Operator aritmatika meliputi + (tambah), - (kurang), / (bagi), dan * (kali). Operator Relasi Operator berfungsi membandingkan nilai sebuah angka. Hasilnya dapat digunakan untuk membuat keputusan sesuai dengan program yang kita buat. Operator relasi meliputi : 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

28 Operator Logika Operator digunakan untuk menguji sebuah kondisi atau memanipulasi bit dan operasi Boolean. Dalam BASCOM, ada empat buah operator logika, yaitu AND, OR, NOT, dan XOR. Operator logika bias 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 Operator Fungsi Operator digunakan untuk melengkapi operator yang sederhana. 2.4 Kontrol Program Keunggulan sebuah pemrograman terletak pada kontrol program. Dengan kontrol program, kita akan mengendalikan alur sebuah program dan menentukan apa yang harus dilakukan oleh sebuah program ketika menemukan kondisi tertentu. Kontrol program meliputi kontrol pertimbangan kondisi dan keputusan, kontrol pengulangan, serta kontrol alternatif. BASCOM menyediakan beberapa

29 kontrol program yang sering digunakan untuk menguji sebuah kondisi, perulangan, dan pertimbangan sebuah keputusan. Berikut adalah beberapa kontrol program yang sering digunakan dalam pemrograman BASCOM : a. IF THEN b. SELECT CASE c. WHILE WEND d. DO LOOP e. FOR NEXT f. EXIT g. GOSUB h. GOTO