commit to user 2. Bit6 -- T 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 kesuatu bit dalam register GPR dengan menggunakan instruksi BLD.
3. Bi5 -- H half cary flag. 4. Bit4 -- S sign bit merupakan hasil operasi EOR antara flag -N negatif dan
flag V komplemen dua overflow. 5. Bit3 -- V twos component overflow flag bit ini berfungsi untuk mendukung
operasi matematis. 6. Bit2 -- N negative flag flag N akan menjadi set, jika suatu operasi
matematis menghasilkan bilangan negatif. 7. Bit1 -- Z zero flag bit ini akan menjadi set apabila hasil operasi matematis
menghasilkan bilangan 0. 8. Bit0 -- C cary flag bit ini akan menjadi set apabila suatu operasi
menghasilkan carry.
2.4 RANGKAIAN SISTEM
Pengendali yang dirancang adalah menggunakan mikrokontroler dan bekerja dalam ragam single chip operation mode operasi keping tunggal yang
tidak memerlukan memori luar karena ROM untuk menyimpan sandi sumber masih mampu untuk menampung program PWM serta penggunaan RAM yang
masih bias ditampung oleh RAM dalam dan tidak memerlukan komponen tambahan seperti PPI, karena penggunaan port mikrokontroler hanya 4 port yaitu
keluaran sinyal penggerak, masukan keypad, keluaran penampil, pin RS dan pin enable dari LCD penampil.
Kristal yang digunakan untuk pengoperasikan mikrokontroler adalah 8 MHz. Port yang digunakan pada sistem, yaitu Port C PC0..PC3, Port D
PD0..PD6, Port B PB0..PB7 dan Port A PA0..PA1.
II-7
commit to user
II-8
commit to user
2.5 PEMOGRAMAN BASCOM
Sebelum dapat digunakan dalam berbagai aplikasi, pengembangan sebuah mikrokontroler harus melewati 3 tahapan yaitu pembuatan hardware untuk
aplikasi, perancangan software aplikasi menggunakan bahasa pemrograman dan pengisian software aplikasi yang sudah dibuat ke dalam mikrokontroler.
Bahasa pemrograman yang digunakan berupa bahasa pemrograman tingkat rendah Assembly Language, menengah bahasa C maupun bahasa
tingkat tinggi seperti Pascal dan BASIC. Software pemrograman compiler yang digunakan adalah BASCOM AVR yang merupakan sebuah compiler BASIC.
BASCOM basic compiler sendiri memiliki beberapa jenis berdasarkan seri mikrokontroler yang digunakan. BASCOM dikembangkan oleh MCS Electronics,
dan merupakan BASIC compiler. Program yang dibuat dalam bahasa BASIC, akan dikompilasi menjadi machine code, untuk kemudian dimasukkan ke dalam
mikrokontroler melalui sebuah programmer. Saat ini sesuai dengan referensi dari situs web MCS electronics, BASCOM baru mendukung mikrokontroler keluarga
MCS51 BASCOM-8051 dan keluarga AVR BASCOM-AVR, keduanya produk dari Atmel Corp. Chip kelas AT89S5152 dengan harga sangat terjangkau
dan diprogram secara ISP in-system programming. BASIC adalah bahasa interpreter artinya diterjemahkan ke dalam machine code saat program
dieksekusi. Positifnya memberikan perintah pada command line dan langsung melihat hasilnya. Negatif-nya lambat. Namun cepat atau lambat tergantung pada
keperluan. Bila jeda yang terjadi masih dalam batas yang dapat diterima, berarti kelambatan yang terjadi dapat diabaikan Iswanto, 2008.
2.5.1
Pengenalan BASCOM AVR
Bascom memiliki tampilan yang sama dengan bahasa program lainya, hanya saja yang membedakan tampilan pada Bascom lebih sederhana. Dapat
dilihat pada gambar 2.6 yang merupakan tampilan dari Bascom.
II-9
commit to user
Gambar 2.6 Interface BASCOM AVR
Sumber: Iswanto, 2008
Pada setiap icon yang ada pada interface diatas memiliki fungsi masing- masing. Adapun fungsi dari tiap-tiap icon dapat dilihat pada tabel 2.1.
Tabel 2.1 Fungsi icon pada interface BASCOM AVR Icon
Nama Fungsi
Shortcut
File New Membuat file baru
Ctrl+N Open File
Untuk membuka file Ctrl+O
File Save Untuk menyimpan file
Ctrl+S Save as
Menyimpan file dengan nama lain. -
Print Untuk mencetak dokumen
Ctrl+P Print preview
melihat tampilan sebelum dicetak. -
Syntax check Untuk memeriksa kesalahan bahasa.
Ctrl+F7 Program compile
mengkompile program yang dibuat. F7
Show result menampilkan hasil kompilasi program.
Ctrl+W Simulate
mencimulasikan program yang dibuat. F2
Sumber: Iswanto, 2008
2.5.2 Karakter Dalam BASCOM
II-10
commit to user Program BASCOM karakter dasarnya terdiri atas karakter alphabet A-Z
dan a-z, karakter numeric 0-9 dan karakter spesial seperti yang ditunjukkan pada tabel 2.2.
Tabel 2.2 Karakter-karakter spesial pada BASCOM Karakter
Nama
Blank atau spasi ‘
Apostrophe Asteriks atau simbol perkalian
+ Simbol Pertambahan Plus Sign
, Comma
- Simbol Pengurangan Minus Sign
. Period decimal point
Slash division symbol will be handled as \ :
Colon “
Double Quotation mark ;
Semicolon Less than
= Equal sign assignment symbol or relation operator
Greater than \
Backslash integerword division symbol
Sumber: Iswanto, 2008
2.5.3 Tipe Data
Setiap variabel dalam BASCOM memiliki tipe data yang menunjukkan daya tampungnya. Hal ini berhubungan dengan penggunaan memori
mikrokontroler. Dapat dilihat pada tabel 2.3 yang menjelaskan ukuran dan range dari tiap tipe data BASCOM.
Tabel 2. 3 Tipe data BASCOM Tipe Data
Ukuran byte Range
Bit 18
0-1 Byte
1 0 sampai 255
Interger 2
-32,768 sampai 32,767 Word
2 0 sampai 65535
Long 4
-2147483648 sampai 2147483647
II-11
commit to user Single
4 -
String Hingga 254 byte
-
Sumber: Iswanto, 2008
Variabel dalam sebuah program berfungsi sebagai tempat penyimpanan data atau penampung data sementara, misalnya menampung hasil perhitungan,
menampung data hasil pembacaan register. Variabel merupakan pointer yang menunjuk pada alamat memori fisik di mikrokontroler. BASCOM ada beberapa
aturan dalam penamaan sebuah variabel, yaitu: 1. Nama variabel maksimum terdiri atas 32 karakter.
2. Karakter bisa 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.
2.5.4
Program Simulasi
BASCOM AVR menyediakan pilihan yang dapat mensimulasikan program. Sehingga setelah membuat suatu program, dapat diperiksa terlebih
dahulu apakah program yang dibuat sudah benar atau masih salah sebelum didownload ke mikrokontroler. Adapun bentuk tampilan simulasinya dapat dilihat
pada gambar 2.7.
II-12
commit to user
Gambar 2.7 Tampilan listing BASCOM AVR
Sumber: Iswanto, 2008
Tekan tombol untuk memulai simulasi dan memberhentikan simulasi
maka tekan tombol . Selain itu untuk dapat melihat perubahan data pada setiap
port atau ketika memberikan input pin-pin tertentu dari mikrokontroler, maka gunakan tombol
maka muncul tampilan simulasi hardware. Adapun bentuk tampilannya dapat dilihat pada gambar 2.8.
Gambar 2.8 Tampilan simulasi hardware
Sumber: Iswanto, 2008
II-13
commit to user 2.5.5
Kontrol Program
Keunggulan sebuah program terletak pada kontrol program tersebut. Kontrol program merupakan kunci dari keandalan program yang dibuat termasuk
pada rule evaluation pada logika samar. Kontrol program dapat mengendalikan alur dari sebuah program dan menentukan apa yang harus dilakukan oleh sebuah
program ketika menemukan suatu kondisi tertentu. Kontrol program ini meliputi kontrol pertimbangan kondisi dan keputusan, kontrol pengulangan serta kontrol
alternatif. BASCOM menyediakan beberapa kontrol program yang digunakan untuk menguji sebuah kondisi, perulangan dan pertimbangan sebuah keputusan.
Beberapa kontrol program yang sering digunakan dalam pemograman dengan menggunakan bahasa BASCOM, yaitu:
1.IF… THEN
Dengan pernyataan ini kita dapat menguji sebuah kondisi tertentu dan kemudian menentukan tindakan yang sesuai dengan kondisi yang diinginkan.
Sintak penulisannya adalah:
IF Syarat Kondisi THEN Pernyataan
Sintak di atas digunakan jika hanya ada satu kondisi yang diuji dan hanya melakukan satu tindakan. Jika melakukan lebih dari satu tindakan maka
sintaknya harus ditulis, sebagai berikut:
IF Syarat kondisi THEN
Pernyataan ke-1 Pernyataan ke-2
Pernyataan ke-n
END IF
2.SELECT… CASE
Perintah ini akan mengeksekusi beberapa blok pernyataan tergantung dari nilai
variabelnya. Perintah ini mirip dengan perintah IF... THEN, namun perintah
ini memiliki kelebihan yaitu kemudahan pada penulisannya. Sintak, sebagai berikut:
SELECT CASE Variabel
II-14
commit to user
CASE test1 : statement CASE test2 : statement
CASE ELSE : statement END SELECT
3.WHILE… WEND
Perintah ini mengeksekusi sebuah pernyataan secara berulang ketika masih menemukan kondisi yang sama. Perintah ini akan berhenti jika ada perubahan
kondisi dan melakukan perintah selanjutnya. Sintak, sebagai berikut:
WHILE Syarat kondisi
Pernyataan
WEND
4.DO… LOOP Perintah Do... Loop digunakan mengulangi sebuah blok pernyataan terus
menerus. Membatasi pengulangannya dapat ditambahkan sebuah syarat kondisi
agar perulangan berhenti dan perintahnya menjadi Do... loop Until. Sintak
penggunaan perintah ini, sebagai berikut:
DO
Blok pernyataan
LOOP
Yang menggunakan perintah Do Loop Until
DO
Blok pernyataan
LOOP UNTIL syarat kondisi
5.FOR… NEXT
Perintah ini digunakan mengeksekusi sebuah blok pernyataan secara berulang.
Perintah ini hampir sama dengan perintah Do... Loop, namun pada perintah For... Next ini nilai awal dan akhir perulangan serta tingkat kenaikan atau
turunnya dapat ditentukan. Penggunaannya, sebagai berikut:
For var = start ToDownto end [Step value]
Blok pernyataan II-15
commit to user
Next Menaikan nilai perulangan gunakan To dan menurunkan gunakan Downto.
Tingkat kenaikan merupakan pilihan, jadi dapat digunakan ataupun tidak. Jika nilai kenaikan tidak ditentukan maka secara otomatis BASCOM akan
menentukan nilainya yaitu 1.
6.EXIT Perintah ini digunakan untuk keluar secara langsung dari blok program For...
Next, Do... Loop, Sub... Endsub, While... Wend. Sintak penulisannya,
sebagai berikut:
Exit [Do] [For] [While] [Sub] Sintak selanjutnya setelah EXIT
bisa bermacam-macam tergantung perintah exit itu berada dalam perintah apa.
Jika dalam perintah Do... Loop maka sintaknya menjadi Exit Do.
7.GOSUB Dengan perintah GOSUB program melompat ke sebuah label dan menjalankan
program yang ada dalam rutin tersebut sampai menemui perintah return.
Perintah return akan mengembalikan program ke titik setelah perintah Gosub.
8.GOTO Perintah GOTO digunakan melakukan percabangan, perbedaannya dengan
GOSUB ialah Perintah GOTO tidak memerlukan perintah return sehingga programnya tidak akan kembali lagi ke titik dimana perintah GOTO itu
berada. Berikut ini adalah sintak perintah GOTO: GOTO label
Label: Panjang label optimum ialah 32 karakter.
2.5.6
ISP Flash Programer 3.7
ISP Programmer merupakan program yang digunakan menuliskan program ke dalam mikrokontroler ATMega8535. Pertama mikrokontroler
dihubungkan dengan kabel downloader dengan port paralel pada komputer,
II-16
commit to user kemudian nyalakan catu daya mikrokontroler. Lalu tekan tombol OpenFile untuk
membuka file yang akan didownload pada mikrokontroler. Setelah itu tekan tombol program tunggu sampai 100, setelah 100 maka program sudah ditulis
pada mikrokontroler, dan mikrokontroler siap untuk digunakan. Adapun tampilannya dapat dilihat pada gambar 2.9.
Gambar 2.9 Software SPI
Sumber: Iswanto, 2008
2.6 LCD LIQUID CRYSTAL DISPLAY
LCD adalah suatu display dari bahan cairan kristal yang pengoperasiannya menganut sistem dotmatrix. LCD banyak diaplikasikan untuk alat-alat elektronika
seperti kalkulator, laptop, handphone. Komunikasi data yang dipakai menggunakan mode teks, artinya semua informasi yang dikomunikasikan
memakai kode ASCII American Standard Code for Information Interchange. Huruf dan angka yang akan ditampilkan dalam bentuk kode ASCII, kode ini
diterima dan diolah oleh mikroprosesor LCD menjadi titik-titik pada dot matrix yang terbaca sebagai huruf dan angka. Tugas mikrokontroler hanyalah mengirim
kode-kode ASCII untuk ditampilkan. LCD yang paling sering digunakan untuk operasi standar mempunyai ukuran lebar display 2 baris 16 kolom atau disebut
II-17
commit to user sebagai LCD Character 16x2. LCD ini mempunyai 16 buah pin konektor, yang
secara umum tiap pinnya didefinisikan seperti pada tabel 2.4.
Gambar 2.10 Susunan alamat pada LCD
Sumber: Delta-Elektronik.com
Pin-pin yang terdapat pada LCD 2x16 memiliki fungsi masing-masing, dapat dilihat pada tabel 2.4 susunan dari kaki-kaki LCD.
Tabel 2.4 Susunan kaki LCD No
Nama Pin Deskripsi
Port
1 VCC
+5 V VCC
2 GND
0 V GND
3 VEE
Tegangan Kotras LCD 4
RS Registe Slect, 0 = input instruksi, 1 = input data
PD7 5
RW 1 = Read, 0 = Write
PD5 6
E Enable Clock
PD6 7
D4 Data Bus 4
PD4 8
D5 Data Bus 5
PD5 9
D6 Data Bus 6
PD6 10
D7 Data Bus 7
PD7 11
Anode Teganan Positif backlight
12 Katode
Tegangan Negatif backlight
Sumber: Iswanto.com
LCD 2x16 tersusun oleh 2 baris dan 6 kolom alamat yang nantinya akan membentuk karakter. Dapat dilihat pada gambar 2.11 yang memperlihatkan
susunan alamat pada LCD 2x16.
II-18
commit to user
Gambar 2.11 Susunan alamat pada LCD
Sumber: Iswanto.com
Alamat awal karakter 00H dan alamat akhir 39H. Jadi, alamat awal di baris kedua dimulai dari 40H. Jika Anda ingin meletakkan suatu karakter pada
baris ke-2 kolom pertama, maka harus di set pada alamat 40H. Jadi, meskipun LCD yang digunakan 2x16 atau 2x24, atau bahkan 2x40, maka penulisan
programnya sama saja. Display karakter pada LCD diatur oleh pin EN, RS dan RW: Jalur EN
dinamakan enable. Jalur ini digunakan untuk memberitahu LCD bahwa sedang mengirimkan sebuah data. 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 dianggap sebagai sebuah perintah atau instruksi khusus seperti clear screen, posisi kursor. Ketika RS berlogika high “1”, data
yang dikirim adalah data text yang akan ditampilkan pada display LCD. Selain menampilkan karakter atau angka sesuai keyboard, LCD juga mampu
menampilkan karakter khusus lainnya Iswanto, 2008. DDRAM merupakan memori tempat karakter yang ditampilkan berada.
Contoh, untuk karakter ‘A’ atau 41H yang ditulis pada alamat 00, maka karakter tersebut akan tampil pada baris pertama dan kolom pertama dari LCD. Apabila
karakter tersebut ditulis di alamat 40, maka karakter tersebut tampil pada baris kedua kolom pertama dari LCD www.Delta-Elektronik.com.
II-19
commit to user
Gambar 2.12 DDRAM M1632
Sumber: Delta-Elektronik.com, 2010
CGRAM merupakan memori untuk menggambarkan pola sebuah karakter di mana bentuk dari karakter dapat diubah-ubah sesuai keinginan. Namun memori
ini akan hilang saat powersupply tidak aktif, sehingga pola karakter akan hilang. CGROM merupakan memori untuk menggambarkan pola sebuah karakter
di mana pola tersebut sudah ditentukan secara permanen dari HD44780, sehingga pengguna tidak dapat mengubah lagi. Namun ROM bersifat permanen, maka pola
karakter tersebut tidak akan hilang walaupun powersupply tidak aktif. Pada saat HD44780 menampilkan data 41H yang tersimpan pada DDRAM, maka HD44780
mengambil data di alamat 41H 0100 0001 yang ada pada CGROM yaitu pola karakter A.
II-20
commit to user
Gambar 2.13 Karakter
Sumber: Newtec.com, 2010
2.7 KEYPAD 4x4