BAB 2
LANDASAN TEORI
2.1 Sensor Infra Merah
Infra merah (infra red) adalah sinar elektromagnetik yang panjang gelombangnya
lebih panjang dari pada cahaya tampak, tetapi lebih pendek dari radiasi gelombang
radio. Radiasi infra merah memiliki panjang gelombang antara 700 nm sampai 1 mm
dan berada pada spektrum berwarna merah. Sinar infra merah merupakan cahaya yang
tidak tampak. Jika dilihat dengan spektroskop cahaya maka radiasi cahaya infra merah
akan nampak pada spektrum elektromagnet dengan panjang gelombang diatas panjang
gelombang cahaya merah. Dengan panjang gelombang ini maka cahaya infra merah
tidak akan tampak oleh mata namun radisi panas yang ditimbulkannya masih terasa/
dideteksi.
Pada dasarnya komponen yang menghasilkan panas juga menghasilkan radiasi
infra merah termasuk tubuh manusia maupun tubuh binatang. Cahaya infra merah,
walaupun mempunyai panjang gelombang yang sangat panjang tetap tidak dapat
menembus bahan-bahan yang tidak dapat melewatkan cahaya yang nampak sehingga
cahaya infra merah tetap mempunyai karakteristik seperti halnya cahaya yang nampak
Gambar 2.1 Infra Merah
Penggunaan infra merah sebagai media transmisi data mulai diaplikasikan
pada berbagai peralatan elektronik seperti pada televisi, handphone sampai pada
transfer data pada PC. Media infra merah ini dapat digunakan baik untuk kontrol
aplikasi lain maupun transmisi data (temperatur).
Sifat-sifat cahaya infra merah :
1. Tidak tampak manusia
2. Tidak dapat menembus materi yang tidak tembus pandang
3. Dapat ditimbulkan oleh komponen yang menghasilkan panas.
Komunikasi Infra merah dilakukan dengan menggunakan dioda infra merah
sebagai pemancar dan modul penerima infra merah sebagai penerimanya. Untuk jarak
yang cukup jauh, kurang lebih tiga sampai lima meter, pancaran data infra merah
Gambar 2.2 Objek Deteksi Menggunakan Cahaya Infra Merah
Sinar infra merah yang dipancarkan oleh pemancar infra merah tentunya
mempunyai aturan tertentu agar data yang dipancarkan dapat diterima dengan baik
pada penerima. Oleh karena itu baik di pengirim infra merah maupun penerima infra
merah harus mempunyai aturan yang sama dalam mentransmisikan (bagian pengirim)
dan menerima sinyal tersebut kemudian mendekodekannya kembali menjadi data
biner (bagian penerima). Komponen yang dapat menerima infra merah ini merupakan
komponen yang peka cahaya yang dapat berupa dioda (photodioda) atau transistor
(phototransistor). Komponen ini akan merubah energi cahaya, dalam hal ini energi
cahaya infra merah, menjadi pulsa-pulsa sinyal listrik. Komponen ini harus mampu
mengumpulkan sinyal infra merah sebanyak mungkin sehingga pulsa-pulsa sinyal
listrik yang dihasilkan kualitasnya cukup baik.
Prinsip utama dari rangkaian sensor infra merah seperti layaknya sebuah saklar
yang memberikan perubahan tegangan apabila terdapat penghalang diantara tranceiver
dan receiver. Sensor ini memiliki dua buah piranti yaitu rangkaian
Rangkaian pembangkit/pengirim memancarkan sinar infra merah, kemudian
pancarannya diterima oleh penerima (fotodioda) sehingga bersifat menghantar
akibatnya tegangan akan jatuh sampai sama dengan tegangan ground (0). Dan
sebaliknya apabila tidak mendapat pancaran sinar infra merah maka akan
menghasilkan tegangan.
2.2 Fotodioda
Fotodioda berbeda dengan dioda biasa. Fotodioda adalah suatu jenis dioda yang
resistansinya berubah-ubah kalau cahaya yang jatuh pada dioda berubah-ubah
intensitasnya. Dalam keadaan gelap nilai tahananya sangat besar hingga praktis tidak
ada arus yang mengalir. Semakin kuat cahaya yang jatuh pada dioda maka makin kecil
nilai tahanannya, sehingga arus yang mengalir semakin besar. Fotodioda ini
digunakan terutama sebagai saklar elektronik yang bereaksi akibat perubahan
intensitas cahaya.
Fotodioda adalah jenis dioda yang berfungsi mendeteksi cahaya. Fotodioda
merupakan sensor cahaya semikonduktor yang dapat mengubah besaran cahaya
menjadi besaran listrik. Fotodioda termasuk dioda dengan sambungan p-n yang
dipengaruhi cahaya dalam kerjanya. Cahaya yang dapat dideteksi oleh fotodioda ini
mulai dari cahaya infra merah, cahaya tampak, ultra ungu sampai dengan sinar-X.
Aplikasi fotodioda mulai dari penghitung kendaraan di jalan umum secara otomatis,
pengukur cahaya pada kamera serta beberapa peralatan di bidang medis.
Gambar 2.4 Simbol Fotodioda
Prinsip kerja dari fotodioda jika sebuah sambungan p-n dibias maju dan
diberikan cahaya padanya maka pertambahan arus sangat kecil sedangkan jika
sambungan p-n dibias mundur arus akan bertambah cukup besar. Cahaya yang
dikenakan pada fotodioda akan mengakibatkan terjadinya pergeseran foton yang akan
menghasilkan pasangan hole dikedua sisi dari sambungan. Ketika
elektron-elektron yang dihasilkan itu masuk ke pita konduksi maka elektron-elektron-elektron-elektron itu akan
mengalir ke arah positif sumber tegangan sedangkan hole yang dihasilkan mengalir ke
arah negatif sumber tegangan sehingga arus akan mengalir di dalam rangkaian.
Besarnya pasangan elektron ataupun hole yang dihasilkan tergantung dari besarnya
Alat yang mirip dengan fotodioda adalah fototransistor (Phototransistor).
Fototransistor ini pada dasarnya adalah jenis transistor bipolar yang menggunakan
kontak (junction) base-collector untuk menerima cahaya. Komponen ini mempunyai
sensitivitas yang lebih baik jika dibandingkan dengan Fotodioda. Hal ini disebabkan
karena elektron yang ditimbulkan oleh foton cahaya pada junction
2.3. Mikrokontroler ATMega8535
ini diinjeksikan di
bagian Base dan diperkuat di bagian Kolektornya. Namun demikian, waktu respon
dari fototransistor secara umum akan lebih lambat dari pada fotodioda.
Mikrokontroler, sebagai suatu terobosan teknologi mikrokontroler dan mikrokomputer
hadir memenuhi kebutuhan pasar (market need) dan teknologi baru. Sebagai teknologi
baru, yaitu teknologi semi konduktor dengan kandungan transistor yang lebih banyak
namun hanya membutuhkan ruang kecil serta dapat diproduksi secara massal (dalam
jumlah banyak) sehingga harga menjadi lebih murah (dibandingkan mikroprosessor).
Sebagai kebutuhan pasar, mikrokontroler hadir untuk memenuhi selera industri dan
para konsumen akan kebutuhan dan keinginan alat-alat bantu dan mainan yang lebih
canggih serta dalam bidang pendidikan.
Tidak seperti sistem komput er yang mampu menangani berbagai macam
program aplikasi (misalnya pengolah kata, pengolah angka, dan lain sebagainya),
mikrokontroler hanya bisa digunakan untuk satu aplikasi tertentu saja. Perbedaan
lainnya terletak pada perbandingan RAM dan ROM-nya. Pada sistem komputer
disimpan dalam ruang RAM yang relatif besar, sedangkan rutin-rutin antar muka
perangkat keras disimpan dalam ruang ROM yang kecil. Sedangkan pada
mikrokontroler, perbandingan ROM dan RAM-nya yang besar artinya program
kontrol disimpan dalam ROM yang ukurannya relatif lebih besar, sedangkan RAM
digunakan sebagai tempat penyimpanan sederhana sementara termasuk
register-register yang digunakan pada mikrokontroler yang bersangkutan.
Mikrokontroler saat ini sudah dikenal dan digunakan secara luas pada dunia
industri. Banyak sekali penelitian atau proyek mahasiswa yang menggunakan berbagai
versi mikrokontroler yang dapat dibeli dengan harga yang relatif murah. Hal ini
dikarenakan produksi massal yang dilakukan oleh para produsen chip seperti Atmel,
Maxim, dan Microchip. Mikrokontroler saat ini merupakan chip utama pada hampir
setiap peralatan elektronika canggih. Alat-alat canggih sekarang ini sangat bergantung
pada kemampuan mikrokontroler tersebut. Mikrokontroler AVR memiliki arsitektur
RISC 8 bit, dimana semua instruksi dikemas dalam kode 16-bit (16-bit word) dan
sebagian besar instruksi dieksekusi dalam 1 (satu) siklus clock, berbeda dengan
instruksi MCS51 yang membutuhkan 12 siklus clock. Tentu saja itu 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 membedakan masing-masing kelas
adalah memori, peripheral, dan fungsinya. Dari segi arsitektur dan instruksi yang
Kapabilitas detail dari ATMega8535 adalah sebagai berikut :
1. Sistem mikroprosesor 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 fidelitas 10 bit sebanyak 8 channel
4. Portal komunikasi serial (USART) dengan kecepatan maksimal 2,5 Mbps
5. Enam pilihan mode sleep menghemat penggunaan daya listrik
AVR ATMega8535 memiliki ruang pengalamatan memori data dan memori
program yang terpisah. Memori data terbagi menjadi 3 bagian, yaitu 32 buah register
umum, 64 buah register I/O, dan 512 byte SRAM Internal.
Register keperluan umum menempati space data pada alamat terbawah, yaitu
$00 sampai $1F. Sementara itu, register khusus untuk menangani I/O dan control
terhadap mikrokontroller menempati 64 alamat berikutnya, yaitu mulai dari $20
hingga $5F. Register tersebut merupakan register yang khusus digunakan untuk
mengatur fungsi terhadap berbagai peripheral mikrokontroller, seperti control register,
timer/conter, fungsi-fungsi I/O, dan sebagainya. Register khusus alamat memori
secara lengkap Alamat memori berikutnya digunakan untuk SRAM 512 byte, yaitu
2.3.1 Konfigurasi Pin ATMega8535
Konfigurasi pin ATMega8535 bisa dilihat pada gambar 2.5 dibawah ini.
Gambar 2.5 Pin ATMega8535
Keterangan:
a. VCC merupakan pin yang berfungsi sebagai pin masukan catu daya
b. GND merupakan pin Ground
c. Port A (PA0 – PA7) merupakan pin I/O dan pin masukan ADC
d. Port B (PB0 – PB7) merupakan pin I/O yang mempunyai fungsi khusus yaitu
Timer/Counter, komparator analog dan SPI
e. Port C (PC0 – PC7) merupakan port I/O dan pin yang mempunyai fungsi
f. Port D (PD0 – PD1) merupakan port I/O dan pin fungsi khusus yaitu
komparator analog dan interrupt eksternal serta komunikasi serial
g. RESET merupakan pin yang digunakan untuk mereset mikrokontroler
h. XTAL1 dan XTAL merupakan pin masukan clock eksternal
i. AVCC merupakan pin masukan untuk tegangan ADC
j. AREF merupakan pin masukan tegangan referensi untuk ADC
Data yang dipakai dalam mikrokontroler ATMega8535 dipresentasikan dalam
sistem bilangan biner, desimal dan bilangan heksadesimal. Data yang terdapat di
mikrokontroler dapat diolah dengan berbagai operasi aritmatik (penjumlahan,
pengurangan, dan perkalian) maupun operasi nalar (AND, OR, dan EOR /eksklusif
OR). AVR ATmega8535 memiliki tiga buah timer, yaitu:
1. Timer/counter 0 (8 bit)
2. Timer/ counter 1 (16 bit)
3. Timer/counter 2 (8 bit)
Karena ATMega8535 memiliki 8 saluran ADC maka untuk keperluan
konversi sinyal analog menjadi data digital yang berasal dari sensor dapat langsung
dilakukan prosesor utama. Beberapa karakteristik ADC internal ATMega8535 adalah:
1. Mudah dalam pengoperasian
2. Resolusi 10 bit
3. Memiliki 8 masukan analog
4. Konversi pada saat CPU sleep
2.4. Perangkat Lunak
2.4.1. Bahasa BASIC Menggunakan BASCOM-AVR
BASCOM-AVR adalah program BASIC compiler berbasis Windows untuk
mikrokontroler keluarga AVR seperti ATMega8535. BASCOM-AVR merupakan
pemrograman dengan bahasa tingkat tinggi BASIC yang dikembangkan dan
dikeluarkan oleh MCS Elektronik.
2.4.1.1. Karakter dalam BASCOM
Dalam program BASCOM, karakter dasarnya terdiri atas karakter alphabet (A-Z dan
a-z), karakter numeric (0-9), dan karakter spesial (lihat tabel 2.1).
Tabel 2.1 Karakter Spesial
karakter Nama
Blank
‘ Apostrophe
* Asterisk (symbol perkalian)
+ Plus sign
, Comma
- Minus sign
. Period (decimal point)
: Colon
“ Double quotation mark
; Semicolon
< Less than
= Equal sign (assignment symbol or relational operator)
> Greater than
\ Backspace (integer or word division symbol)
2.4.1.2. Tipe Data
Setiap variabel dalam BASCOM memiliki tipe data yang menunjukkan daya
tampungnya. Hal ini berhubungan dengan penggunaan memori mikrokontroler.
Tabel 2.2 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 -
2.4.1.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 variabel:
a. Nama variabel maksimum terdiri atas 32 karakter
b. Karakter biasa berupa angka atau huruf
c. Nama variabel harus dimulai dengan huruf
d. 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 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.1.4 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 mikrokontroler.
LEDBAR alias P1 Tombol1 alias P0.1 Tombol2 alias P0.2
Dengan deklarasi seperti diatas, perubahan pada tombol akan mengubah
kondisi P0.1. Selain mengganti nama port, kita dapat pula menggunakan alias untuk
mengakses bit tertentu dari sebuah variabel yang telah dideklarasikan.
Dim LedBar as byte
Led1 as LedBar.0 Led2 as LedBar.1 Led3 as LedBar.2
2.4.1.5 Konstanta
Dalam BASCOM, selain variabel kita mengenal pula konstanta. Konstanta merupakan
variabel pula. Perbedaannya dengan variabel biasa adalah nilai yang dikandung tetap.
Dengan konstanta, kode program yang kita buat akan lebih mudah dibaca dan dapat
menulis phi daripada menulis 3,14159867. Sama seperti variabel, 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.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 maksimum sebuah indeks sebesar 65535.
Proses pendeklarasian sebuah array hampir sama dengan variabel, namun
perbedaannya kita pun mengikutkan jumlah elemennya. Berikut adalah contoh
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 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 Port 1 dari
mikrokontroler.
2.5. 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 +
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:
Tabel 2.3 Tabel 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 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 bias 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
Operasi fungsi digunakan untuk melengkapi operator yang sederhana.
2.6. Bahasa Pemograman Visual Basic
Visual Basic merupakan bahasa pemograman yang cukup populer dan mudah untuk
dipelajari. Visual Basic juga menyediakan fasilitas yang memungkinkan pemakai
menyusun sebuah program dengan memasang objek-objek grafis dalam sebuah form.
Visual Basic berawal dari bahasa pemograman BASIC (Beginners All Purpose
Symbolic Instruction Code). Karena bahasa basic mudah dipelajari dan populer maka
hampir setiap programmer menguasai bahasa ini.
2.6.1. Memulai Visual Basic
Pada bagian ini akan dijelaskan bagaimana cara menjalankan Visual Basic pada
sistem operasi windows. Cara pertama yang dapat dilakukan untuk memulai Microsoft
1. Klik tombol start pada Taskbar, kemudian pilih program dari tampilan
menu utama.
2. Dari tampilan menu yang ada, pilih Visual Basic.
2.6.2 Tampilan Awal Visual Basic
Secara otomatis, pada saat pertama kali menjalankan Visual Basic, akan tampil kotak
dialog New Project seperti yang terlihat pada ilustrasi gambar 2.6
Pada kotak dialog tersebut terdapat tiga pilihan tabulasi yaitu New, Exiting dan
Recent yang ditunjukkan pada tabel .
Tabel 2.4. Keterangan Tabulasi
Tabulasi Keterangan
New Pilihan ini digunakan untuk membuat project baru dengan
berbagai macam pilihan
Existing Pilihan ini digunakan untuk membuka project yang pernah
dibuat sebelumnya dengan menetukan folder sekaligus nama
file
Recent Pilihan ini digunakan untuk membuka project yang telah
dibuat dan terakhir kali dibuka
2.7. Komponen Visual Basic 2.7.1. Title Bar
Title bar merupakan batang judul dari program Visual Basic yang terletak pada bagian
paling atas dari jendela program yang berfungsi untuk menampilkan judul atau nama
jendela. Selain itu title bar juga berfungsi:
1. Memindahkan posisi jendela dengan menggunakan proses drag and drop
pada posisi title bar tersebut.
2. Mengatur ukuran jendela dari ukuran maximize keukuran restore ataupun
2.7.2. Menu Bar
Menu bar merupakan batang menu yang terletak dibawah titel bar yang berfungsi
untuk menampilkan pilihan menu atau perintah dan untuk mengoperasikan program
Visual Basic. Saat pertama kali program Visual Basic terbuka, kita dapat melihat tiga
belas menu utama, yaitu: File, Edit, View, Project, Format, Debug, Run, Query,
Diagram, Tools, Add-Ins, Windows dan Help. Menu bar memiliki sederatan pilihan
menu yang masing-masing mempunyai arti dan fungsi berbeda.
2.7.3. Tool Bar
Toolbar batang yang berisi kumpulan tombol yang terletak di bagian bawah menu bar
yang dapat digunakan untuk menjalankan suatu perintah. Pada kondisi default
program Visual Basic hanya menampilkan toolbar standard.
Dengan menggunakan prosedur :
1. Klik tombol toolbox dibagian toolbar standard
2. Pilih perintah view-toolbox
2.7.4. Properties Windows
Properties windows merupakan sebuah jendela yang digunakan untuk menampung
merupakan hal yang sangat penting untuk membedakan objek yang satu dengan yang
lainnya.
Pada jendela properti ditampilkan jenis dan nama objek yang dipilih urut
berdasarkan abjad pada tab alphabetic atau berdasarkan kategori pada tab categorized.
Untuk menampilkan jendela properties dapat menggunakan prosedur sebagai berikut :
1. Klik tombol properties window pada toolbar standard
2. Pilih perintah view-properties window
3. Shortcut key F4
2.7.5. Form Window
Form window merupakan jendela desain dari sebuah program aplikasi. Dari form
window dapat mendesain sebuah program aplikasi dengan menempatkan
kontrol-kontrol yang ada di bagian toolbox pada area form. Pada jendela form juga terdapat
beberapa elemen yang dapat digunakan untuk mengatur tampilan.
2.7.6. Code Window
Code window merupakan sebuah jendela yang digunakan untuk menuliskan kode
program dari kontrol yang dipasang pada jendela form dengan cara memilih terlebih
dahulu kontrol tersebut pada kotak objek.
2.9.7. Project
Project merupakan suatu kumpulan module atau program aplikasi itu sendiri. Dalam
Visual Basic, file project disimpan dengan nama file berakhiran VBP, dimana file ini
berfungsi untuk menyimpan seluruh komponen program.
Apabila membuat program aplikasi baru, maka secara otomatis project tersebut
akan diisi dengan object form 1, dalam jendela project explorer ditampilkan suatu
struktur hirarki dari sebuah project itu sendiri yang berisi semua item yang terkandung
Ganbar 2.8 Jendela Project
Dengan project explorer kita dapat memilih objek yang kita buat dengan
mudah. Untuk menampilkan jendela project explorer digunakan prosedur berikut:
1. Klik tombol project explorer pada bagian toolbar standard
2. Pilih perintah view-project explorer
3. Shortcut key Ctrl + key
2.8. Aplikasi BASCOM dengan LCD
Salah satu kelebihan yang dimiliki oleh compiler BASCOM adalah program yang
menyediakan rutin-rutin khusus untuk menampilkan karakter menggunakan LCD.
Antar muka antara LCD dengan ATMega8535 menggunakan mode
antarmuka 4 bit. Selain lebih menghemat I/O, mode demikian mempermudah proses
pembuatan PCB-nya. Program berikut akan menjalankan beberapa perintah yang
berkenaan dengan LCD. $regfile = “m8535.dat” $crystal = 4000000 dim x as byte config LCD = 16*2 Cursor off do X = 100 Cls Lcd “namaku Awallina” Lowerline Lcd “Nilaiku”; 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 variable x dengan ukuran byte.
b. Config LCD = 16 x 2
Oleh karena itu, konfigurasi yang dapat kita lakukan adalah mendeklarasikannya
dilisting program yang kita buat seperti dikontrolkan di atas.
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 2 x 16, maka LCD memiliki 2 baris dan kolom.
e. X = 100
Lcd “namaku Awallina” Lowerline
Lcd “Nilaiku”; x
Ketika kita menjalankan perintah di atas, maka keluarannya adalah:
namaku Awallina
Contoh di atas menunjukkan bahwa kita dapat menampilkan isi sebuah variabel
menggunakan LCD hanya dengan menulis.
f. ShiftLCD left/right
Perintah ini digunakan untuk menggeser tampilan LCD ke kiri atau ke kanan
sebanyak 1 langkah. Perintah ini berguna untuk menampilkan kalimat yang
panjang dan mebuat animasi di LCD.
g. Lcdhex x
Perintah ini berfungsi mengirim isi sebuah variabel ke LCD dalam format
hexadesimal.
2.9. LCD (Liquid Crystal Display)
Kegunaan LCD banyak sekali dalam perancangan suatu sistem dengan
menggunakan mikrokontroler. LCD (Liquid Crystal Display) dapat berfungsi untuk
menampilkan suatu nilai hasil sensor, menampilkan teks, atau menampilkan menu
pada aplikasi mikrokontroler. Pada praktek proyek ini, LCD yang digunakan
adalah LCD 16 x 2 yang artinya lebar display 2 baris 16 kolom dengan 16 Pin
konektor.
Adapun konfigurasi dan deskripsi dari pin-pin LCD antara lain:
VCC ( pin 1)
Merupakan sambungan ground
GND 0V ( pin 2)
VEE (pin 3)
Merupakan input tegangan Kontras LCD
RS Register Select (pin 4)
Merupakan register pilihan 0 = Register Perintah, 1 = Register Data
R/W (pin 5)
Merupakan read select , 1 = Read, 0 = Write
Enable Clock LCD (pin 6)
Merupakan masukan logika 1 setiap kali pengiriman atau pembacaan data
D0 – D7 ( pin 7 – pin 14)
Merupakan Data Bus 1 – 7 ke port
Anoda (pin 15)
Merupakan masukan Tegangan positif backlight
Katoda (pin 16)
Merupakan masukanTegangan negatif backlight
Gambar LCD dapat di tunjukkan pada gambar 2.9 berikut
Display karakter pada LCD diatur oleh pin EN, RS dan RW. Jalur EN
dinamakan Enable. Jalur ini digunakan untuk memberitahu LCD bahwa sebuah 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 dan
berikutnya di set.
2.10. Modul LCD (Liquid Crystal Display) M1632
M1632 merupakan modul LCD matrix dengan konfigurasi 16 karakter dan 2 baris
dengan setiap karakternya dibentuk oleh 8 baris pixel dan 5 kolom pixel (1 baris pixel
terakhir adalah kursor). HD44780 ini sudah tersedia dalam Modul M1632 yang
dikeluarkan oleh Hitachi, Hyundai dan modul-modul M1632 lainnya.
HD44780 sebetulnya merupakan mikrokontroler yang dirancang khusus untuk
mengendalikan 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 proses scanning
pada layar LCD. Mikrokontroler atau perangkat tersebut hanya mengirimkan data-data
yang merupakan karakter yang akan ditampilkan pada LCD atau perintah yang
2.10.1. Struktur Memori LCD
Modul LCD M1632 memiliki beberapa jenis memori yang digunakan untuk
menyimpan atau memproses data-data yang akan ditampilkan pada layar LCD. Setiap
jenis 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
ditulis di alamat 40h, karakter tersebut akan tampil pada baris kedua kolom
pertama dari LCD.
b. CGRAM
CGRAM adalah memori untuk menggambarkan pola sebuah 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
CGROM adalah memori untuk menggambarkan pola sebuah karakter dan pola
tersebut sudah ditentukan secara permanen dari HD44780 sehingga pengguna
tidak dapat mengubah lagi. Oleh karena ROM bersifat permanen, pola karakter