BAB II LANDASAN TEORI

dokumen-dokumen yang mirip
M1632 MODULE LCD 16 X 2 BARIS (M1632)

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

Antarmuka LCD pada DST-AVR

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

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

BAB II LANDASAN TEORI

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

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

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

MIKROKONTROLER Yoyo Somantri dan Egi Jul Kurnia

Gambar 1. Rangkaian interface ke LCD Karakter 2 x16

BAB II TINJAUAN PUSTAKA

BAB III PERANCANGAN DAN PEMBUATAN ALAT

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

BAB II LANDASAN TEORI

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

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

BAB III PERANCANGAN SISTEM

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

MICROCONTROLER AVR AT MEGA 8535

Sistem Minimum Mikrokontroler. TTH2D3 Mikroprosesor

BAB 2 LANDASAN TEORI

BAB II KONSEP DASAR SISTEM PENGONTROL PARTITUR OTOMATIS

MICROCONTROLER AVR AT MEGA 8535

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

Mikrokontroler AVR. Hendawan Soebhakti 2009

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

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

RANCANGAN SISTEM PARKIR TERPADU BERBASIS SENSOR INFRA MERAH DAN MIKROKONTROLER ATMega8535

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

BAB II DASAR TEORI 2.1. Mikrokontroler AVR ATmega32

BAB III DESKRIPSI MASALAH

BAB II TINJAUAN PUSTAKA

SST-01 LCD Sub System 01 LCD Interface

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

BAB III PERANCANGAN DAN PEMBUATAN PERANGKAT KERAS

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

Sistem Mikrokontroler FE UDINUS

BAB II TINJAUAN PUSTAKA

BAB II LANDASAN TEORI

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

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

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

BAB II LANDASAN TEORI

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

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

BAB II TINJAUAN TEORITIS

BAB II TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA

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

MIKROKONTROLER AT89S52

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

MIKROKONTROLER Arsitektur Mikrokontroler AT89S51

BAB III PERANCANGAN SISTEM

BAB II KONSEP DASAR SISTEM MONITORING TEKANAN BAN

BAB III DESKRIPSI DAN PERANCANGAN SISTEM

BAB III PERANCANGAN. Pada bab ini akan menjelaskan perancangan alat yang akan penulis buat.

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

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

BAB II DASAR TEORI. 2.1 Ethanol

BAB III MIKROKONTROLER

Oleh Ilmin Syarif Hidayatullah ( ) Pembimbing : Andi Rahmadiansah, ST, MT

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI

Blok sistem mikrokontroler MCS-51 adalah sebagai berikut.

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

BAB III PERANCANGAN SISTEM

TKC210 - Teknik Interface dan Peripheral. Eko Didik Widianto

BAB II LANDASAN TEORI. Model Markov Tersembunyi atau lebih dikenal sebagai Hidden Markov

BAB 2 LANDASAN TEORI

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

BAB 2 DASAR TEORI. Gambar 2.1 Sensor SHT-11

BAB II LANDASAN TEORI

APLIKASI SENSOR UGN3505 SEBAGAI PENDETEKSI MEDAN MAGNET

BAB II KONSEP DASAR PERANCANGAN

BAB II Tinjauan Pustaka

BAB II TINJAUAN PUSTAKA. finger sensor berbasis microcontroller AT89s51. Alat ini belum dilengkapi

BAB III PERENCANAAN PERANGKAT KERAS DAN LUNAK

BAB II METODE PERANCANGAN APLIKASI

BAB III PERANCANGAN SISTEM

APLIKASI HITACHI M1632 LCD PADA SC - AVR

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

TAKARIR. Akumulator Register yang digunakan untuk menyimpan semua proses aritmatika

BAB III PERANCANGAN SISTEM

BAB II LANDASAN TEORI

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

Contoh Bentuk LCD (Liquid Cristal Display)

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

BAB II LANDASAN TEORI

BAB III PERANCANGAN DAN REALISASI PERANGKAT KERAS DAN PERANGKAT LUNAK SISTEM. Dari diagram sistem dapat diuraikan metode kerja sistem secara global.

BAB III PERANCANGAN SISTEM

BAB V PENGUJIAN DAN ANALISIS. dapat berjalan sesuai perancangan pada bab sebelumnya, selanjutnya akan dilakukan

ARSITEKTUR MIKROKONTROLER AT89C51/52/55

BAB III PERENCANAAN DAN REALISASI

I/O dan Struktur Memori

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

BAB IV HASIL PENGUKURAN DAN PENGUJIAN ALAT SISTEM PENGONTROL BEBAN DAYA LISTRIK

BAB III PERANCANGAN PERANGKAT KERAS DAN LUNAK. Perangkat keras dari alat ini secara umum terdiri dari rangkaian dibagi

Transkripsi:

BAB II LANDASAN TEORI 2.1 Mikrokontroler ATMega8535 Mikrokontroler adalah pusat kerja dari suatu sistem elektronika seperti halnya mikroprosesor sebagai otak komputer. Adapun nilai plus bagi mikrokontroler adalah terdapatnya memori dan port input/output dalam suatu kemasan IC yang kompak. Kemampuannya yang programmable, fitur yang lengkap seperti ADC internal, EEPROM internal, port I/O, komunikasi serial. Juga harga yang terjangkau memungkinkan mikrokontroler digunakan pada berbagai sistem elektronik, seperti pada robot, automasi industri, sistem alarm, peralatan telekomunikasi, hingga sistem keamanan. Mikrokontroler AVR memiliki arsitektur RISC 8 bit, dimana semua instruksi dikemas dalam kode 16 bit dan sebagian besar instruksi dalam 1 (satu) siklus clock, berbeda dengan instruksi MCS51 yang membutuhkan 12 siklus clock. Hal ini terjadi karena kedua jenis mikrokontroler tersebut memiliki arsitektur yang berbeda. AVR berteknologi RISC (Reduced Instruction Set Computing), sedangkan seri MCS51 berteknologi CISC (Complex Instruction Set Computing). Secara umum, AVR dapat dikelompokkan menjadi 4 kelas, yaitu keluarga ATtiny, keluarga AT90Sxx, keluarga ATMega, dan AT86RFxx. Pada dasarnya, yang membeda-bedakan masing-masing kelas adalah memori, peripheral, dan fungsinya. Dari segi arsitektur dan instruksi yang digunakan, mereka bisa dikatakan hamper sama. Piranti dapat diprogram secara in-system programming (ISP) dan dapat diprogram berulang-ulang selama 10.000 kali baca/tulis didalam sistem.

2.1.1 Arsitektur ATMega8535 Gambar 2.1 Blok Diagram Fungsional ATMega853

Dari gambar tersebut dapat dilihat bahwa ATMega8535 memiliki bagian sebagai berikut: 1. Saluran I/O sebanyak 32 buah, yaitu Port A, Port B, Port C, dan Port D 2. ADC 10 bit sebanyak 10 saluran. 3. Tiga buah Timer/Counter dengan kemampuan pembandingan. 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 sebesar 512 byte yang dapat deprogram saat operasi. 11. Antarmuka komparator analog. 12. Port USART untuk komunikasi serial. 2.1.2 Fitur ATMega8535 Kapabilitas detail dari ATMega8535 adalah sebagai berikut: 1. Sistem processor 8 bit berbasis RISC dengan kecepatan maksimal 16 MHz. 2. kapabilitas memori flash 8 KB, SRAM sebesar 512 byte, dan EEPROM (Electrically Erasable Programmable Read Only Memory) sebesar 512 byte. 3. ADC internal dengan resolusi 10 bit sebanyak 8 channel. 4. Port komunikasi serial (USART) dengan kecepatan maksimal 2,5 Mbps. 5. Mode Sleep untuk penghematan penggunaan daya listrik.

2.1.3 Konfigurasi Pin ATMega8535 Konfigurasi pin ATMega8535 dapat dilihat pada gambar di bawah ini: Gambar 2.2 Pin ATMega8535 Dari gambar diatas dapat dijelaskan secara fungsional konfigurasi pin ATMega8535, 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 dan pin masukan ADC. Setiap pinnya menyediakan internal pull up resistor yang dapat diatur per bit. Outputnya dapat menyalakan LED secara langsung. 4. Port B (PB0...PB7) merupakan pin I/O dan pin yang mempunyai fungsi khusus yaitu Timer/Counter, komparator Analog dan SPI 5. Port C (PC0...PC7) merupakan port I/O dan pin yang mempunyai fungsi khusus, yaitu komparator analog dan Timer Oscillator 6. Port D (PD0...PD1) merupakan port I/O dan pin fungsi khusus yaitu komparator analog dan interrupt eksternal serta komunikasi serial 7. RESET merupakan pin yang digunakan untuk mereset mikrokontroler 8. XTAL1 dan XTAL2 merupakan pin masukan clock eksternal 9. AVCC merupakan pin masukan untuk tegangan ADC 10. AREF merupakan pin masukan tegangan referensi untuk ADC

2.2 LDR (Light Dependent Resistor) LDR (Light Dependent Resistor) merupakan suatu sensor yang apabila terkena cahaya maka tahanannya akan berubah. Tampilan fisik LDR dapat dilihat pada gambar 2.4.1 dibawah ini : Gambar 2.4.1. LDR (Light Dependent Resistor) Biasanya LDR (atau lebih dikenal dengan fotoresistor) dibuat berdasarkan kenyataan bahwa film kadmium sulfida mempunyai tahanan yang besar kalau tidak terkena cahaya dan tahanannya akan menurun kalau permukaan film itu terkena sinar. Resistor peka cahaya atau fotoresistor adalah komponen elektronik yang resistansinya akan menurun jika ada penambahan intensitas cahaya yang mengenainya. Fotoresistor dapat merujuk pula pada light dependent resistor (LDR), atau fotokonduktor. Fotoresistor dibuat dari semikonduktor beresistansi tinggi. Jika cahaya yang mengenainya memiliki frekuensi yang cukup tinggi, foton yang diserap oleh semikonduktor akan menyebabkan elektron memiliki energi yang cukup untuk meloncat ke pita konduksi. Elektron bebas yang dihasilkan (dan pasangan lubangnya) akan mengalirkan listrik, sehingga menurunkan resistansinya. Besarnya tahanan LDR/fotoresistor dalam kegelapan mencapai jutaan ohm dan turun sampai beberapa ratus ohm dalam keadaan terang. LDR dapat digunakan dalam suatu jaringan kerja (network) pembagi potensial yang menyebabkan terjadinya perubahan tegangan kalau sinar yang datang berubah. 2.3 Modul LCD (Liquid Crystal Display) LCD yang digunakan adalah jenis LCD M1632, yang merupakan modul LCD dengan tampilan 16 x 2 baris dengan konsumsi daya rendah. Modul tersebut dilengkapi dengan desain mikrokontroler yang didesain khusus untuk mengendalikan LCD. Mikrokontroler HD44780

buatan Hitachi yang berfungsi sebagai pengendali LCD memiliki CGROM, CGRAM, dan DDRAM. Berikut bagian-bagian dari LCD M1632. 1. DDRAM (Display data Random Accsee Memory) merupakan memori tempat karakter yang ditampilkan berada. Contoh untuk karakter L atau 4CH yang ditulis pada alamat 00, karakter tersebut akan tampil pada baris pertama dan kolom pertama dari LCD. Apabila karakter tersebut ditulis pada alamat 40, maka karakter tersebut akan tampil pada baris kedua kolom pertama dari LCD. 2. CDRAM (Character Generator Random Acces Memory) merupakan memori untuk mengga,barkan pola sebuah karakter dimana bentuk dari karakter dapat diubah-ubah sesuai keinginan. Namun, memori akan hilang saat power supply tidak aktif sehingga pola karakter akan hilang. 3. CGROM (Character Generator Read Only Memory) merupakan memori untuk menggambarkan pola sebuah karakter dimana pola tersebut sudah ditentukan secara permanent dari HD44780 sehingga pengguna tidak dapat mengubahnya lagi. Namun, oleh karena ROM bersifat permanent, pola karakter tersebut tidak akan hilang walaupun power supply tidak aktif. 2.3.1 Konfigurasi LCD Untuk keperluan antarmuka suatu komponen elektronik dengan mikrokontroler, perlu diketahui fungsi dari setiap kaki pada LCD. Gambar 2.18 Modul LCD karakter 2x16

Dari gambar diatas dapat dijelasakan fungsi dari setiap kaki pada LCD, sebagai berikut: 1. Kaki 1 (GND) Kaki ini dihubungkan dengan tegangan +5 Volt yang merupakan tegangan untuk sumber daya dari HD44780 (khusus untuk modul M1632 keluaran hitachi, kaki ini adalah VCC) 2. Kaki 2 (VCC) Kaki ini dihubungkan dengan tegangan 0 volt (ground) dan modul LCD (khusus untuk modul M1632 keluaran hitachi, 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 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 ini mengaktifkan clock LCD. Logika 1 pada kaki ini diberikan pada saat penulisan atau pembacaan data. 7. Kaki 7-14 (D0-D7) Data bus, kedelapan kaki modul LCD ini adalah bagian dimana aliran data sebanyak 4 bit atau 8 bit mengalir saat proses penulisan maupun pembacaan data. 8. Kaki 15 (Anoda) Berfungsi untuk tegangan positif dari backlight modul LCD sekitar 4,5 volt (hanya terdapat untuk M1632 yang memiliki backlight). 9. Kaki 16 (Katoda)

Tegangan negatif backlight modul LCD sebesar 0 volt (hanya untuk M1632 yang memiliki backlight). Display karakter pada LCD diatur oleh pin EN, RS dan R/W, dimana: Jalur EN dinamakan Enable. Jalur ini digunakan untuk memberitahu LCD bahwa data sedang dikirimkan. Untuk mengirimkan data ke LCD, maka melalui program EN harus dibuat logika low 0 dan set pada dua jalur kontrol yang lain RS dan RW. Ketika dua jalur yang lain telah siap, set EN dengan logika 1 dan tunggu untuk sejumlah waktu tertentu (sesuai dengan datasheet dari LCD tersebut) dan berikutnya set EN ke logika low 0 lagi. Jalur RS adalah jalur Register Select. Ketika RS berlogika low 0, data akan dianggap sebagai sebuah perintah atau instruksi khusus (seperti clear screen, posisikursor, dll). Ketika RS berlogika high 1, data yang dikirim adalah data text yang akan ditampilkan pada display LCD. Sebagai contoh, untuk menampilkan huruf 1 pada layer LCD maka RS harus diset logika high 1, jalur R/W adalah jalur control Read/Write. Ketika RW berlogika low (0), maka informasi pada bus data akan dituliskan pada layar LCD. Ketika RW berlogika high 1, maka program akan melakukan pembacaan memori dari LCD. Sedangkan pada aplikasi umum pin R/W selalu diberi logika low 0. Pada akhirnya, bus data terdiri dari 4 atau 8 jalur (bergantung pada mode operasi yang dipilih oleh user). Pada kasus bus data 8 bit, jalur diacukan sebagai DB0 s/d DB7. Beberapa perintah dasar yang harus dipahami adalah inisialisasi LCD Character: 1. Function Set berfungsi untuk mengatur interface lebar data, jumlah dari baris dan ukuran font karakter RS /W B7 B6 B5 DB4 DB3 B2 DB1 DB0 0 0 0 0 1 DL N F X X

Dimana: X : Don t care DL : Mengatur lebar data DL=1, Lebar data interface 8 bit ( DB7 s/d DB0) DL=0, Lebar data interface 4 bit ( DB7 s/d DB4) Ketika menggunakan lebar data 4 bit, data harus dikirimkan dua kali N: Pengaktivan baris N=0, 1 baris N=1, 2 baris F: Penentuan ukuran font karakter F=0, 5x7 F=1, 5x8 2. Entry Mode Set berfungsi untuk mengatur increment/ decrement dan mode geser RS R/W DB7 DB6 B5 DB4 B3 DB2 DB1 DB0 0 0 0 0 0 0 0 1 /D S Dimana: I/D: Increment/ decrement dari alamat DDRAM dengan 1 ketika kode karakter dituliskan ke DDRAM. I/D = 0, decrement I/D= 1, increment S: Geser keseluruhan display kekanan dan kekiri S=1, geser kekiri atau kekanan bergantung pada I/D S=0, display tidak bergeser

3. Display On/ Off Cursor berfungsi untuk mengatur status display ON atau OFF, cursor ON/OFF dan fungsi Cursor Blink RS W B7 DB6 DB5 B4 B3 DB2 B1 DB0 0 0 0 0 0 1 D C B Dimana: D : Mengatur display D = 1, Display is ON D = 0, Display is OFF Pada kasus ini data display masih tetap berada di DDRAM, dan dapat ditampilkan kembali secara langsung dengan mengatur D=1. C : Menampilkan kursor C = 1, kursor ditampilkan C = 0, kursor tidak ditampilkan B : Karakter ditunjukkan dengan kursor yang berkedip B=1, kursor blink 4. Clear Display berfungsi sebagi perintah untuk menghapus layar RS /W DB7 DB6 B5 DB4 B3 DB2 DB1 DB0 0 0 0 0 0 0 0 0 0 1

5. Geser Kursor dan Display berfungsi untuk menggeser posisi kursor atau display ke kanan atau kekiri tanpa menulis atau baca data display. Fungsi ini digunakan untuk koreksi atau pencarian display. RS /W B7 DB6 DB5 B4 DB3 DB2 DB1 DB0 0 0 0 0 0 1 S/C R/L X X Catatan : x = Dont care S/C R/L Note 0 0 Shift cursor position to the left 0 1 Shift cursor position to the right 1 0 Shift the entire display to the left 1 1 Shift the entire display to the right 2.3.2 Posisi Kursor Modul LCD terdiri dari sejumlah memori yang digunakan untuk display. Semua text yang kita tuliskan ke modul LCd adalah disimpan didalam memori ini, dan modul LCD secara berurutan membaca memori ini untuk menampilkan text ke modul LCD itu sendiri. Gambar 2.19 Peta Memori LCD

Pada peta memori tersebut, daerah yang berwarna biru (00 s/d 0F dan 40 s/d 4F) adalah display yang tampak. Sebagaimana yang dilihat, jumlahnya sebanyak 16 karakter per baris dengan dua baris. Angka pada setiap kotak adalah alamat memori yang bersesuaian dengan posisi dari layar. Demikianlah karakter pertama di sudut kiri atas adalah menempati alamah 00h. Posisi karakter berikutnya adalah alamat 01h dan seterusnya. Akan tetapi, karakter pertama dari baris 2 sebagaimana yang ditunjukkan pada peta memori adalah pada alamat 40h. Demikianlah kita perlu untuk mengirim sebuah perintah ke LCD untuk mangatur letak posisi kursor pada baris dan kolom tertentu. Instruksi Set Posisi Kursor adalah 80h. Untuk ini kita perlu menambahkan alamat lokasi dimana kita berharap untuk menempatkan kursor. Sebagai contoh, kita ingin menampilkan kata World pada baris ke dua pada posisi kolom ke sepuluh. Sesuai peta memori, posisi karakter pada kolom 11 dari baris ke dua, mempunyai alamat 4Ah, sehingga sebelum kita tulis kata World pada LCD, kita harus mengirim instruksi set posisi kursor, dan perintah untuk instruksi ini adalah 80h ditambah dengan alamat 80h+4Ah =0Cah. Sehingga dengan mengirim perintah Cah ke LCD, akan menempatkan kursor pada baris kedua dan kolom ke 11 dari DDRAM. Set alamat memori DDRAM : RS /W DB7 B6 B5 DB4 B3 B2 DB1 DB0 0 0 1 A A A A A A A Dimana: A : Alamat RAM yang akan dipilih, sehingga alamat RAM LCD adalah 000 0000 s/d 111 1111b atau oo s/d 7Fh. 2.4 Instruksi Instruksi ATmega8535 Beberapa instruksi yang sering digunakan dalam pemrograman IC mikrokontroler ATMega8535 antara lain adalah:

2.4.1 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 2.9). Tabel 2.9 Karakter Spesial 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)

2.4.2 Tipe Data Setiap variabel dalam BASCOM memiliki tipe data yang menunjukkan daya tampungnya. Hal ini berhubungan dengan penggunaan memori mikrokontroler. Tabel 2.10 berikut adalah tipe data pada BASCOM berikut keterangannya. Tabel 2.10 Tipe data BASCOM 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.4.3 Variabel Variabel dalam sebuah pemrograman berfungsi sebagai tempat penyimpanan data 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 variable: 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 digunkan oleh BASCOM seagai perintah, pernyataan, internal register, dan nama operator (AND, OR, DIM, dan lainlain).

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 Dim tombol3 as word Dim tombol4 as word Dim Kas as string*10 2.4.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 mikrokontroler. LEDBAR alias PortA.1 Tombol1 alias PinB.1 Tombol2 alias PinB.2 Dengan deklarasi seperti diatas, perubahan pada tombol akan mengubah kondisi PortA.1. Selain mengganti nama port, kita dapat pula menggunakan alias untuk mengakses bit tertentu dari sebuah variable yang telah dideklarasikan. Dim LedBar as byte Led1 as LedBar.0 Led2 as LedBar.1 Led3 as LedBar.

2.4.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. 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 2.4.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

Next Program diatas 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 diatas, elemen-elemen arraynya dikeluarkan ke PortA.1 dari mikrokontroler. 2.4.7 Operasi Operasi dalam BASCOM Pada bagian ini akan dibahas tentang cara menggabungkan, memodifikasi, membandingkan, atau mendapatkan informasi tentang sebuah pernyataan dengan menggunakan operator-operator yang tersedia di BASCOM dan bagaimana sebuah pernyataan terbentuk dan dihasilkan dari operator-operator berikut: a. Operator Aritmatika Operator digunakan dalam perhitungan. Operator aritmatika meliputi + (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 meliputi: Tabel 2.11 Operator Relasi 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

c. 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 d. Opresai Fungsi Operasi fungsi digunakan untuk melengkapi operator yang sederhana. 2.5 Pengaksesan Port Serial Pada Visual Basic Untuk pengaksesan port serial kita dapat mengaksesnya secara langsung melalui register USART atau menggunakan control MSComm yang telah disediakan Visual Basic. 2.5.1 Pengaksesan Secara Langsung Melalui Register USART Saluran yang digunakan USART untuk komunikasi baik untuk pengiriman maupun penerimaan data adalah saluran RxD dan saluran TxD serta saluran saluran untuk control, yaitu saluran DCD, DSR, RTS, CTS, DTR, CTS, DTR, dan RI. Saluran-saluran ini ada yang sebagai output dan ada yang sebagai input. Kecuali saluran RxD, saluran saluran ini dapat

diakses secara langsung melalui register USART. Berikut adalah table alamat dan lokasi bit saluran tersebut pada register USART. Tabel 2.12 Alamat dan lokasi bit pada register USART ama Pin Nomor pin OM1 COM2 Bit Arah pada DB-9 TxD 3 FBh 2FBh 6 Output DTR 4 FCh 2FCh 0 Output RTS 7 FEh 2FCh 1 Output CTS 8 FEh 2FEh 4 Input DSR 6 FEh 2FEh 5 Input RI 9 FEh 2FEh 6 Input DCD 1 FEh 2FEh 7 Input Untuk dapat mengaksesnya, kita dapat menggunakan fungsi Port_Out dan fungsi Port_In yang terdapat pada Port_IO.DLL dan untuk menset atau mengclearkan bit-bit tertentu kita dapat menggunakan prosedur Set_Bit atau prosedur Clear_Bit. Berikut adalah contoh penggunaannya, dengan menset bit DTR, yaitu membuat saluran DTR berlogika low yang dalam port serial IBM PC kompatibel bertegangan +12V. Alamat register pengontrol DTR adalah 3FCh untuk COM1 pada bit 0. Perintahnya adalah sebagai berikut. Set_Bit (&H3FC, 0) Untuk mengclearkannya, yaitu membuat saluran DTR berlogika high yang dalam port serial IBM PC kompatibel bertegangan -12V, dan menggunakan perintah: Clear_Bit (&H3FC, 0) Besarnya tahanan LDR/fotoresistor dalam kegelapan mencapai jutaan ohm dan turun sampai beberapa ratus ohm dalam keadaan terang. LDR dapat digunakan dalam suatu jaringan kerja (network) pembagi potensial yang menyebabkan terjadinya perubahan tegangan kalau sinar yang datang berubah.