11 pin IO 3 pin untuk kontrol, 8 pin untuk data. Sedangkan mode 4 bit minimal hanya membutuhkan 7 bit 3 pin untuk kontrol, 4 untuk data. Aplikasi dengan LCD
dapat dibuat dengan mudah dan waktu yang singkat, mengingat koneksi parallel yang cukup mudah antara kontroller dan LCD.
2.6 Keypad
2.6.1 Keypad untuk ATMega8535
Dasarnya keypad adalah sejumlah tombol yang disusun sedemikian rupa sehingga pembentukan bentuk tombol angka dan beberapa menu yang lain. Berikut ini adalah
contoh konfigurasi keypad 4 × 4. Keypad diperlukan untuk interaksi dengan sistem, misalnya kita membuat pengaturan dengan titik setel akan kontrol umpan balik pada
saat program masih berjalan. Sebenarnya setiap programmer mempunyai cara interaksi yang berbeda dengan sistem. Bahkan untuk keypad di hardware setiap
programmer bisa berbeda. Hal ini lebih karena kebutuhan yang berbeda.
Gambar 2.15 Keypad 4x4
Keypad 4×4 sangat sering digunakan oleh programmer. Selain kemudahannya dengan perangkat keras dan perangkat lunak. Dasarnya keypad 4×4 adalah 16 tombol
push-button dalam matriks. Interfacing keypad 4×4 dengan pemindaian pola tidak
Universitas Sumatera Utara
mudah dilakukan. Selain harus memiliki keypad 4×4, kita hanya membutuhkan sebuah dioda sebagai komponen pendukung. Dioda 1N4001 yang diterapkan terikat
oleh seri dengan K1, K2, K3 dan K4 dengan bagian dari Anoda.
2.7 Perangkat Lunak
2.7.1 Pemrograman C
Pada perancangan program pada alat, program yang digunakan adalah pemrograman bahasa C. Berikut penjelasan dasar-dasar pemrograman bahasa C :
1. Tipe Data
Berikut ini adalah tipe-tipe data yang ada dalam bahasa C dan yang dikenali oleh CodeVisionAVR :
Tabel 2.4 Tipe Data Tipe Data
Ukuran Jangkauan Nilai
Bit 1 bit
0 atau 1 Char
1 byte -128 sd 225
Unsigned Char 1 byte
0 sd 225 Signed Char
1 byte -128 sd 127
Int 2 byte
-32.768 sd 32.767 Short Int
2 byte -32.768 sd 32.767
Unsigned Int 2 byte
0 sd 65.535 Signed Int
2 byte -32.768 sd 32.767
Long Int 4 byte
-2.147.483.648 sd 2.147.483.647 Unsigned Long Int
4 byte 0 sd 4.294.967.295
Signed Long Int 4 byte
-2.147.483.648 sd 2.147.483.647 Float
4 byte 1.210
-38
sd 3.410
+38
Double 4 byte
1.210
-38
sd 3.410
+38
2. Konstanta dan Variabel
Konstanta dan variabel merupakan sebuah tempat untuk menyimpan data yang berada di dalam memori. Konstanta berisi data yang nilainya tetap dan
Universitas Sumatera Utara
tidak dapat diubah selama program dijalankan, sedangkan variabel berisi data yang bisa berubah nilainya saat program dijalankan. Untuk membuat sebuah
konstanta atau variabel maka kita harus mendeklarasikannya lebih dahulu, yaitu dengan sintaks berikut :
Deklarasi konstanta :
Const [tipe_data][nama_konstanta]=[nilai]
Contoh :
Const char konstantaku=0x10;
Deklarasi variabel : [tipe_data][nama_variabel]=[nilai_awal]
Contoh :
Char variabelku; Char variabelku=0x20;
Bit variabel_bit; Bit variabel_bit=1;
Pada deklarasi variabel, [nilai_awal] bersifat operasional sehingga boleh diisi dan boleh tidak diisi. Nilai_awal merupakan nilai default variabel tersebut
dan jika tidak diisi maka nilai defaultnya adalah 0 nol. Beberapa variabel dengan tipe yang sama dapat dideklarasikan dalam satu baris seperti contoh
berikut :
Char data_a, data_b, data_c;
3. Komentar
Komentar adalah tulisan yang tidak dianggap sebagau bagian dari tubuh program. Komentar digunakan untuk memberikan penjelasan, informasi
ataupun keterangan-keterangan yang dapat membantu mempermudah dalam memahami kode program baik bagi si pembuat program maupun bagi orang
lain yang membacanya. Komentar yang hanya satu baris ditulis dengan diawali ’’ sedangkan komentar yang lebih dari satu baris diawali dengan ’’
dan diakhiri dengan ’’. Contoh :
Ini adalah komentar satu baris Sedangkan yang ini adalah komentar
yang lebih dari satu baris
Universitas Sumatera Utara
Selain dihunakan untuk memberikan keterangan program, komentar juga dapat digunakan untuk membantu dalam pengujian program yaitu dengan
menon-aktifkan dan mengaktifkan kembali bagian program tertentu selama proses pengujian.
4. Pengarah Preprosessor
Pengarah preprosessor digunakan untuk mendefenisikan prosessor yang digunakan, dalam hal ini adalah untuk mendefenisikan jenis mikrokontroller
yang digunakan. Dengan pengarah preprosesor ini maka pendeklarasian register-register dan penamaannya dilakukan pada file yang lain yang
disisipkan dalam program utama dengan sintaks sebagai berikut :
include nama_preprosessor
Contoh :
include mega8535.h
5. Pernyataan
Pernyataan adalah satu buah instruksi lengkap berdiri sendiri. PORTC = 0x0F;
Pernyataan diatas merupakan sebuah instruksi untuk mengeluarkan data 0x0F ke Port C.
Contoh sebuah blok pernyataan : {
PORTA=0x00; pernyataan_1 PORTB=0x0F; pernyataan_2
PORTC=0xFF; pernyataan_3 }
6. Operator Aritmatika
Operator aritmatika adalah beberapa operator yang digunakan untuk melakukan perhitungan aritmatika.
Tabel 2.5 Operator Aritmatika Operator
Keterangan +
Operator untuk operasi penjumlahan
-
Operator untuk operasi pengurangan Operator untuk operasi perkalian
Universitas Sumatera Utara
Operator untuk operasi pembagian Operator untuk operasi sisa pembagian
7. Operator Logika
Operator logika digunakan untuk membentuk suatu logika atas dua buah kondisi atau lebih. Berikut ini adalah tabel operator logika :
Tabel 2.6 Operator Logika Operator
Keterangan
Operator untuk logika AND Ι Ι
Operator untuk logika OR Operator untuk logika NOT
Contoh :
if a==b c=d = 0xFF;
Pernyataan diatas terdiri dari 2 buah kondisi yaitu a==b dan c=d yang keduanya dihubungkan dengan logika AND. Jika logika yang dihasilkan
benar maka perintah PORTC = 0xFF akan dikerjakan dan jika salah tidak akan dikerjakan.
8. Operator Penambahan dan Pengurangan
Operator penambahan dan pengurangan adalah operator yang digunakan untuk menaikkan atau menurunkan nilai sebuah variabel dengan selisih 1.
Tabel 2.7 Operator Penambahan dan Pengurangan Operator
Keterangan
++ Operator untuk penambahan nilai
variabel dengan 1
--
Operator pengurangan nilai variabel dengan 1
Contoh : a = 1;
b = 5;
Universitas Sumatera Utara
a++; b--;
Maka operator a++ akan mengubah variable a dari 1 menjadi 2 dan operator b—akan mengubah variable b dari 5 menjadi 4.
9. Pernyataan If
Pernyataan If digunakan untuk melakukan pengambilan keputusan terhadap dua buah kemungkinan yaitu mengerjakan suatu blok pernyataan atau tidak.
Bentuk pernyataan If adalah :
if kondisi
{ blok pernyataan yang akan dikerjakan
jika kondisi if terpenuhi }
Contoh :
if PINA0x80
{ Dataku=PINA;
PORTC=0xFF; }
Perntataan if diatas akan mengecek apakah data yang terbaca pada Port A PINA nilainya lebih dari 0x80 atau tidak, jika ya maka variable dataku diisi
dengan nilai PINA dan data 0xFF dikeluarkan ke PORT C. Apabila dalam blok pernyataan hanya terdapat satu pernyataan saja maka tanda { dan } dapat
dihilangkan seperti :
if PINA0x80 PORTC=0xFF;
2.7.2 CodeVisionAVR
CodeVisionAVR merupakan salah satu software compiler yang khusus digunakan untuk mikrokontroller keluarga AVR. Meskipun CodeVisionAVR termasuk software
komersial, namun kita tetap dapat menggunakannya dengan mudah karena terdapat
Universitas Sumatera Utara
versi evaluasi yang disediakan secara gratis walaupun dengan kemampuan yang dibatasi.
Dari bebarapa software kompiler C yang pernah digunakan, CodeVisionAVR merupakan yang terbaik jika dibandingkan dengan kompiler-kompiler yang lain
karena memiliki beberapa kelebihan yang dimiliki oleh CodeVisionAVR antara lain : 1.
Menggunakan IDE Integrated Devvelopment Environment 2.
Fasilitas yang disediakan lengkap mengedit program, mengkompile program, mendownload program serta tampilannya terlihat menarik dan mudah
dimengerti 3.
Mampu membangkitkan kode program secara otomatis dengan menggunakan fasilitas CodeWizardAVR
4. Memiliki
fasilitas untuk
mendownload program
langsung dari
CodeVisionAVR dengan menggunakan hardware khusus seperti Atmel STK500, Kanda System STK200+300 dan bebarapa hardware lain yang telah
didefenisikan oleh CodeVisionaAVR 5.
Memiliki fasilitas debugger sehingga dapat menggunakan software compiler lain untuk mengecek kode assemblernya, contoh AVRStudio
6. Memiliki terminal komunikasi serial yang terintegrasi dalam CodeVisionAVR
sehingga dapat digunakan untuk membantu pengecekan program yang telah dibuat khususnya yang menggunakan fasilitas komunikasi serial USART.
Gambar 2.16 Tampilan CodeVisionAVR
Universitas Sumatera Utara
BAB III
PERANCANGAN SISTEM
3.1 Perancangan Alat