PENGENDALIAN LCD GRAFIK 128*64 TITIK BERBASIS MIKROKONTROLER

dokumen-dokumen yang mirip
PENGENDALIAN LCD GRAFIK 128*64 TITIK BERBASIS MIKROKONTROLER. Abstrak

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

MIKROKONTROLER Arsitektur Mikrokontroler AT89S51

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

BAB II TEORI DASAR 2.1 Pendahuluan 2.2 Sensor Clamp Putaran Mesin

BAB III PERENCANAAN DAN REALISASI

BAB III PERENCANAAN DAN REALISASI

BAB III PERANCANGAN SISTEM

TKC210 - Teknik Interface dan Peripheral. Eko Didik Widianto

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

BAB III PERANCANGAN SISTEM

BAB III PERANCANGAN DAN REALISASI ALAT

BAB III PERANCANGAN ALAT SIMULASI PEGENDALI LAMPU JARAK JAUH DAN DEKAT PADA KENDARAAN SECARA OTOMATIS

Blok sistem mikrokontroler MCS-51 adalah sebagai berikut.

BAB III PERANCANGAN STAND ALONE RFID READER. Dalam penelitian ini, perancangan sistem meliputi :

BAB III PERANCANGAN SISTEM

BAB III KEGIATAN PENELITIAN TERAPAN

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

BAB IV PENGUJIAN DAN ANALISA DATA

Memprogram Port sebagai Output dan Input Sederhana

BAB III METODE PENELITIAN

ARSITEKTUR MIKROKONTROLER AT89C51/52/55

BAB III PERANCANGAN. Perancangan tersebut mulai dari: spesifikasi alat, blok diagram sampai dengan

BAB III PERANCANGAN DAN PEMBUATAN ALAT

DT-51 Application Note

BAB III PERANCANGAN DAN PEMBUATAN PERANGKAT KERAS

BAB III DESKRIPSI MASALAH

M1632 MODULE LCD 16 X 2 BARIS (M1632)

BAB III ANALISIS DAN PERANCANGAN

BAB III RANCANGAN DAN CARA KERJA ALAT

BAB IV PENGUJIAN DAN ANALISA DATA

AKSES MEMORI Menggunakan DT-51 MinSys

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

BAB 3 PERANCANGAN SISTEM

PENGATUR KADAR ALKOHOL DALAM LARUTAN

BAB III PERANCANGAN SISTEM

PC-Link Application Note

BAB III PERANCANGAN SISTEM

BAB III DESAIN DAN PENGEMBANGAN SISTEM

BAB III PERANCANGAN ALAT

BAB II DASAR TEORI 2.1. Mikrokontroler AVR ATmega32

MIKROKONTROLER AT89S52

BAB 2 LANDASAN TEORI

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

BAB 3 PERANCANGAN SISTEM

BAB III PERANCANGAN SISTEM

TERMOMETER 8 KANAL. Kata-kata kunci: LM35, ADC0808, mikrokontroler AT89S51.

BAB III METODE PENELITIAN DAN PERANCANGAN SISTEM. secara otomatis. Sistem ini dibuat untuk mempermudah user dalam memilih

BAB II LANDASAN TEORI

PENGENDALIAN KECEPATAN MOTOR DC MENGGUNAKAN SENSOR ENCODER DENGAN KENDALI PI

BAB III PERANCANGAN SISTEM

BAB III PERANCANGAN DAN PEMBUATAN ALAT

BAB IV PERANCANGAN ALAT. Alat Warning System Dan Monitoring Gas SO 2 merupakan detektor gas

BAB III PERANCANGAN ALAT

BAB II TINJAUAN PUSTAKA

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN

Mikrokontroler AVR. Hendawan Soebhakti 2009

BAB II LANDASAN TEORI

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

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

PERANCANGAN SISTEM KONTROL PENERANGAN, PENDINGIN RUANGAN, DAN TELEPON OTOMATIS TERJADWAL BERBASIS MIKROKONTROLER

BAB I PENDAHULUAN. 1.2 Rumusan Masalah Berdasarkan uraian di atas, dapat dikemukakan permasalahan sebagai berikut:

ANALISA ADC 0804 dan DAC 0808 MENGGUNAKAN MODUL SISTEM AKUISISI DATA PADA PRAKTIKUM INSTRUMENTASI ELEKTRONIKA

III. METODE PENELITIAN. Penelitian tugas akhir ini dilaksanakan di Laboratorium Elektronika Dasar

PORT PARALEL MIKROKONTROLER ATMEL AT89C51

BAB III ANALISIS MASALAH DAN RANCANGAN ALAT

BAB 3 PERANCANGAN ALAT DAN PROGRAM

BAB III PERANCANGAN ALAT PENDETEKSI KERUSAKAN KABEL

BAB 3 PERANCANGAN SISTEM. pada sistem pengendali lampu telah dijelaskan pada bab 2. Pada bab ini akan dijelaskan

APLIKASI SENSOR UGN3505 SEBAGAI PENDETEKSI MEDAN MAGNET

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

BAB III PERANCANGAN DAN PEMBUATAN ALAT

BAB II DASAR TEORI. mikrokontroler yang berbasis chip ATmega328P. Arduino Uno. memiliki 14 digital pin input / output (atau biasa ditulis I/O,

Pengendalian 8 buah Motor oleh DST-51

Kata kunci: Amplitude Shift Keying, nir kabel, elektromagnetik

BAB III PERANCANGAN ALAT DAN PEMBUATAN SISTEM. kadar karbon monoksida yang di deteksi oleh sensor MQ-7 kemudian arduino

ANTAR MUKA DST-51 DENGAN MODUL AD-0809

BAB III PERANCANGAN SISTEM

BAB III PERANCANGAN DAN IMPLEMENTASI. Pada tugas akhir ini akan dibuat sebuah perangkat keras PLC dengan fasilitas

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

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

BAB III ANALISA DAN CARA KERJA RANGKAIAN

BAB 2 TINJAUAN TEORITIS

BAB III PERANCANGAN SISTEM

SISTEM KENDALI SUHU RUANG BERBASIS MIKROKONTROLER AT89S51

BAB III PERANCANGAN PERANGKAT KERAS MOBILE-ROBOT

BAB IV HASIL DAN PEMBAHASAN. ketepatan masing-masing bagian komponen dari rangkaian modul tugas akhir

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

BAB II TINJAUAN PUSTAKA

BAB I PENDAHULUAN 1.1 Latar Belakang 1.2 Rumusan Masalah

METODE PENELITIAN. Penelitian ini dilaksanakan pada bulan Februari 2015 sampai dengan bulan Juli

III. METODE PENELITIAN. Penelitian ini dilaksanakan pada bulan Februari 2015 hingga November 2015.

Gambar 1. Rangkaian interface ke LCD Karakter 2 x16

BAB III PERANCANGAN ALAT

BAB III METODE PENELITIAN. baik pada perangkat keras maupun pada komputer. Buffer. Latch

RANCANG BANGUN KONTROL PERALATAN LISTRIK OTOMATIS BERBASIS AT89S51

BAB III METODE PENELITIAN. Penelitian ini dilakukan pada bulan Maret 2015 sampai dengan Agustus

BAB 3 PERANCANGAN ALAT DAN PEMBUATAN SISTEM

DT-AVR Application Note. AN186 Digital Compass

Transkripsi:

1 PENGENDALIAN LCD GRAFIK 128*64 TITIK BERBASIS MIKROKONTROLER Deddy Susilo Fakultas Teknik Program Studi Teknik Elektronika dan Komputer Universitas Kristen Satya Wacana Salatiga Email : deddy.susilo@ymail.com Abstrak Liquid Crystal Display atau LCD adalah salah satu revolusi dibidang elektronika optik yang berfungsi sebagai alat penampil. Makalah ini akan membahas contoh-contoh pengendalian dan pemrograman LCD grafik 128*64 titik. Penjelasan akan dimulai dengan sisi rancang bangun pada perangkat keras (hardware) dan algoritma perangkat lunaknya (software). Kata kunci : Graphics LCD 128*64 pixel, Crystalfonts Graphics LCD. I. Pendahuluan Berkreasi dengan LCD grafik dengan ukuran 128 * 64 titik diberi contoh aplikasi sebagai penampil dari hasil pengukuran level tegangan DC dikendalikan dengan mikrokontroler. Prinsip dasar dari menampilkan di layar LCD adalah dengan mengakses titik-titik pada layar sesuai alamat memorinya. Bagan pengendalian mikrokontroler ke LCD ditunjukkan pada gambar 1. Gambar 1. Hubungan Antara Mikrokontroler Dengan Modul LCD Grafik LCD Grafik yang mempunyai lebar 128 titik akan digunakan untuk menunjukkan level tegangan masukan ADC dengan tegangan acuan pada ADC sebesar 2,55 voltdc. ADC yang digunakan mempunyai lebar data 8 bit sehingga keluaran maksimum adalah FF heksadesimal atau 255 desimal. Dengan demikian, tiap perubahan 10 milivoltdc pada masukan akan mengakibatkan kenaikan 1 bit pada keluaran ADC. Mikrokontroler yang dipakai memiliki 8 Kbyte Flash ROM dimana program sistem pengendali modul LCD Grafik, pengambilan data hasil konversi analog ke digital oleh ADC 8 bit dan pengolahannya untuk dapat ditampilkan pada layar. Untai mikrokontroler ditunjukkan pada gambar 2.

2 100 RESET 10u 10k 30p 12MHz 30p P1.0 (T2) P1.1 (T2 EX) P1.2 P1.3 P1.4 (SS) P1.5 (MISO) P1.6 (MOSI) P1.7 (SCK) RESET P3.0 (RXD) P3.1 (TXD) P3.2 (INT0) P3.3 (INT1) P3.4 T0 P3.5 T1 P3.6 WR P3.7 RD XTAL1 XTAL2 GND AT89S8252 VCC P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 EA/VPP ALE/PROG PSEN P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 100u 0.1u 5V Gambar 2. Untai Sistem Minimum Mikrokontroler AT89S8252 Mikrokontroler akhir ini menggunakan pembangkit sinyal berupa osilator kristal sebesar 12 MHz sehingga memiliki kecepatan 1 µsekon per siklus mesin. Jika instruksinya membutuhkan waktu 1 siklus mesin maka dalam 1 detik akan dapat mengeksekusi 1 juta instruksi. Instruksi-instruksi dalam MCS-51 membutuhkan waktu yang bervariasi dari 1 µs hingga 3 µs. II. Untai Flash ADC 8 Bit Untai ini berfungsi mengubah data analog dari masukan tegangan DC ke data digital untuk kemudian diolah di mikrokontroler. Untai ADC 0820 ini difungsikan dalam operasi stand alone yaitu dapat mengkonversi secara otomatis tanpa pengendalian dari luar. Mikrokontroler hanya mengendalikan 1 buah pin yaitu /WR atau write untuk memerintahkan ADC mengeluarkan data terbaru pada jalur data DB0 hingga DB7. Untai ADC ditunjukkan pada gambar 3. 1 Vin 2 DB0 ADC 0820 VCC 20 NC 19 3 DB1 4 DB2 5 DB3 /OFL 18 DB7 17 DB6 16 5 V P1.5 uc 6 /WR/RDY 7 MODE 8 /RD DB5 15 DB4 14 /CS 13 9 /INT 10 GND Vref+ 12 Vref- 11 VREF Gambar 3.Untai Flash ADC 0820 gambar 4. Algoritma pengendalian ADC dijelaskan pada penjelasan diagram waktu ADC seperti pada Gambar 4.Diagram Waktu ADC Pada Operasi Stand Alone Untai ADC dikendalikan sesuai dengan diagram waktu pada gambar 4. Pin /CS atau chip select adalah pin pengendalian untuk mengaktifkan IC ini, jadi jika pin /CS diberi rendah (low) IC ADC

3 tak akan bisa diakses untuk diambil datanya. Jalur data akan bernilai ambang (high impedance). Pin /RD diberi rendah (low) supaya ADC siap dalam kondisi dibaca datanya. Pin /WR adalah pin kendali dari mikrokontroler untuk memerintahkan ADC menulis atau mengeluarkan data. Data yang terambil saat pin /WR dibuat rendah pertama kali adalah data sebelumnya, sehingga untuk mendapatkan data baru pin /WR harus di buat rendah kembali setelah menunggu pin /INT bernilai tinggi (high) sebagai tanda selesai konversi. Kemudian data siap diambil dan disimpan dalam RAM mikrokontroler. Algoritma perangkat lunak pengambilan data digital dari ADC adalah sebagai berikut dan diagram alirnya ditunjukkan pada gambar 5. 1. Pin P1.5 mikrokontroler dihubungkan pada pin /WR ADC. 2. Beri nilai low port P1.5 untuk mengendalikan pin /WR. 3. Ambil nilai pada jalur data 8 bit DB0-DB7 dengan port 3 mikrokontroler. 4. Simpan data dalam RAM mikrokontroler. 5. Kembali ke program utama. START PROSEDUR AMBIL DATA ADC Beri logika rendah pada pin /WR ADC Ambil data hasil konversi di Port3 mikrokontroler Simpan data pada RAM URN Gambar 5. Diagram Alir Pengendalian dan Pengambilan Data ADC III. LCD Grafik 128x64 titik Salah satu bagian yang penting pada perancangan sistem ini adalah bagian yang berguna untuk menampilkan isyarat yang diukur. Untuk itu dipakai sebuah penampil modul LCD grafik 128 * 64 pixel. Penampil modul LCD grafik ini memiliki 20 pin yang 14 diantaranya dihubungkan pada mikrokontroler, sedangkan 6 kaki lainnya dipakai sebagai tegangan catu positif, ground, mengatur contrast dari modul LCD dan mengatur lampu latar belakang (backlight). Pembahasan modul LCD ini dibatasi pada bagaimana menampilkan isyarat yang diukur pada modul LCD grafik ini. Proses menampilkan meliputi proses mapping dan proses penulisan data pada modul LCD. Modul LCD yang dipakai terbagi menjadi dua bagian utama dengan ukuran 64 * 64 titik dan terbagi lagi menjadi baris (dalam byte) dan kolom sesuai yang terlihat pada gambar 2.21. Jadi saat akan melakukan penulisan pada modul LCD harus ditentukan dahulu posisinya (mapping), baru kemudian dikirimkan data-data yang bisa menggambarkan bentuk isyarat yang diukur.

4 15 CS1 L Pemilih kolom 1 64 16 CS2 L Pemilih kolom 65 128 17 RES L Sinyal reset 18 Vout Tegangan negatif untuk kontras layar LCD 19 A Tegangan catu positif untuk lampu latar belakang 20 K Tegangan catu negatif untuk lampu latar belakang Berikut ini dibahas instruksi yang dipakai untuk menulis pada modul LCD grafik. Secara garis besar ada dua macam instruksi, yaitu menuliskan perintah atau data. Menulis perintah atau data. 1. Penampil on atau off. 0 0 0 0 1 1 1 1 1 D Nilai data yang akan ditampilkan bisa tertampil pada layar penampil modul LCD grafik jika nilai D sama dengan satu (high) dan jika D bernilai 0 (low) maka tak ada data yang bisa tertampil pada layar modul LCD. 2. Menentukan awal baris. 0 0 1 1 A A A A A A Berfungsi untuk menentukan awal dari baris yang bisa menampilkan data. 3. Menentukan baris (X address). 0 0 1 0 1 1 1 A A A Pengalamatan X AAA (biner) dari data RAM untuk layar penampil ditentukan melalui register pengalamatan X. Setelah itu, menulis atau membaca data dilakukan pada baris yang telah ditentukan ini sampai baris yang baru ditentukan. 4. Menentukan kolom (Y address) 0 0 0 1 A A A A A A Pengalamatan Y AAAAAA (biner) dari RAM data untuk layar penampil ditentukan melalui register pengalamatan Y. Setelah itu nilai register ini akan dinaikkan satu setiap dilakukan pembacaan nilai data atau menuliskan data. Proses menentukan pengalamatan X dan Y sering disebut juga dengan proses mapping. 5. Menuliskan data penampil 0 1 D D D D D D D D Menuliskan 8 bit data DDDDDDDD pada RAM data untuk penampil. Setelah itu nilai Y akan naik satu secara otomatis. Menulis data atau membaca status 1. Membaca data penampil 1 1 D D D D D D D D Membaca data 8 bit DDDDDDDD (biner) dari RAM data untuk penampil. Lalu nilai alamat Y akan dinaikkan 1 secara otomatis. 2. Membaca status 1 0 Busy 0 On / Off RESET 0 0 0 0 Busy Saat bit busy bernilai satu maka LSI sedang mengeksekusi instruksi terakhir yang diberikan dan belum bisa menerima atau menjalankan instruksi yang baru. Jadi sebelum memberikan instruksi selanjutnya kita harus yakin bahwa bit busy bernilai nol. ON / OFF Bit ini menunjukkan kondisi LCD dalam keadaan on atau off. Saat bit ini bernilai satu maka layar dalam keadaan on, dan jika bit ini bernilai nol maka menunjukkan bahwa layar dalam keadaan off. Reset Jika bit ini bernilai satu, hal ini menunjukkan sistem sedang diinisialisasi. Pada saat keadaan ini, tidak ada instruksi yang bisa diterima kecuali instruksi untuk membaca status. Jika bit ini bernilai nol

5 maka menunjukkan bahwa proses inisialisasi telah selesai dilakukan dan siap menerima instruksi selanjutnya. Gambar 6. Pemetaan Layar LCD Grafik 128*64 titik Secara garis besar layar LCD yang berukuran 128x64 titik ini dibagi menjadi 2 layar seperti yang ditunjukkan pada gambar 6, untuk mengakses layar sebelah kiri atau layar1 pin CS1 harus diberi nilai rendah dan CS2 diberi nilai tinggi, demikian sebaliknya jika ingin mengakses layar2. Untuk masingmasing layar dibagi lagi menjadi 8 buah halaman yaitu PAGE0 hingga PAGE7 yang diberi simbol X=0 hingga X=7. Untuk kolom sebanyak 64 per layar diberi nama Y=0 hingga Y=64. Mengakses LCD ini harus dilakukan per halaman X dan per kolom Y, jadi sekali mengakses harus mengakses 8 titik pada X tertentu dan Y tertentu. Untuk mengakses 2 layar sekaligus tidak bisa dilakukan dalam satu waktu melainkan bergantian tiap layar. Berikut subrutin-subrutin dasar dalam LCD grafik. Subrutin deklarasi global variable: DATA_LCD EQU P2 ; DB7-DB0 pada modul LCD dihubungkan Port 2 ENABLE BIT P0.7 ; Pin ENABLE pada modul LCD dengan Port 0.7 DI BIT P0.5 ; Pin DI dengan Port 0.5 CS1 BIT P0.6 ; Pin Chip Select Layar 1 untuk kolom 0-63 CS2 BIT P0.4 ; Pin Chip Select Layar 2 untuk kolom 64-127 RES BIT P0.3 ; Pin RESET dengan Port 0.3 RW BIT P0.2 ; Pin Read/Write dengan Port 0.2 Subrutin memilih layar: //memilih layar 1 LCD1: CLR CS2 SETB CS1 ; CS2 = 0 dan CS1 = 1 ; DI = 0 instruksi ; RW = 0 tulis MOV DATA_LCD,#3FH ; perintah menghidupkan layar //memilih layar 2 LCD2: CLR CS1 SETB CS2 ; CS2 = 1 dan CS1 = 0

6 ; DI = 0 instruksi ; RW = 0 tulis MOV DATA_LCD,#3FH ; perintah menghidupkan layar CLR ENABLE ; ENABLE = 1 Subrutin memilih kolom pertama dari layar: SET_COLUMN0: ; cara menempatkan posisi ke kolom 0 ; DI = 0 instruksi MOV DATA_LCD,#01000000B Subrutin memilih halaman pertama dari layar: SET_PAGE0: ; cara menempatkan posisi ke halaman 0 ; DI = 0 instruksi MOV DATA_LCD,#10111000B ; DB7 = 1,DB6= 0,DB5-DB3= 1,DB2-DB0= 0 Subrutin menulis 1 byte atau 8 piksel pada layar LCD: TULIS: SETB DI ; DI= 1 data, RW = 0 tulis Subrutin pengecekan status kesibukan modul LCD: CEK_LCD: ; cek apakah LCD dapat menerima instruksi berikutnya ; DI = 0 instruksi SETB RW ; RW = 1 baca JB P2.7,CEK_LCD ; jika Port 2.7 masih 1 looping ke CEK_LCD CLR ENABLE ; setelah Port 2.7 0 ENABLE = 0 Subrutin reset modul LCD: RESET: CLR RES ; RES = 0 SETB RES ; RES = 1 Penjelasan berikutnya adalah algoritma perangkat lunak untuk mengakses LCD, menghapus layar LCD, mengkonversi dan menggambar data hasil pengukuran. Rutin hapus layar diperlukan karena tiap titik pada layar LCD adalah alamat memori penyangga internal modul LCD yang bersifat tetap jika catu daya tidak dimatikan, sehingga pada waktu menampilkan data hasil pengukuran yang lebih baru, data lama perlu dihapus dari layar dan tidak dapat secara otomatis dilakukan oleh modul tetapi hanya dapat diprogram dari mikrokontroler. Pada gambar 7 ditunjukkan jika pada layar pertama dari modul, pada salah satu halaman di salah satu kolom ditulis data AB heksadesimal atau 10101011 biner.

7 Gambar 7. Contoh Pemberian Data 10101011biner Pada gambar 8 diberikan contoh dari gambar 7 jika data pertama akan di OR kan dengan data yang lebih baru yaitu 04 heksadesimal. Gambar 8. Proses meng OR kan data Untuk membersihkan layar LCD maka dapat dibuat Algoritma menghapus layar LCD adalah sebagai berikut. 1. Tentukan nilai alamat awal X dan Y. Penulis mulai dari X=0 dan Y=0. 2. Siapkan data 8 bit berisi 0 desimal. 3. Panggil prosedur menulis LCD dengan data tulis 8 bit yang telah disiapkan. 4. Alamat X=0 dany=0 telah berisi 0 desimal atau kosong. 5. Selanjutnya menuliskan 0 desimal pada X=0 dan Y=1 dengan data yang sama, cara menuliskan hanya dengan memanggil prosedur menulis LCD tidak perlu mengirimkan data alamat yang diinginkan karena setiap LCD melakukan instruksi penulisan atau pembacaan, alamat Y akan dinaikkan satu secara otomatis oleh perangkat keras modul LCD. 6. Langkah 5 dilakukan terus menerus sebanyak 64 kali sehingga dalam 1 halaman X=0 datanya telah berisi 0 semua. 7. Untuk selanjutnya diulangi langkah 4 dengan alamat awal X=1 dan Y=0.

8 8. Kemudian mengulangi langkah 5 dan 6 sampai 1 layar penuh X=0 hingga X=7 dan kolom Y=0 hingga Y=63 berisi 0 desimal. 9. Untuk layar 2 dilakukan sama seperti pada langkah 1-8 dengan mengatur nilai CS1= 1 dan CS2= 0. Kemudian kembali ke program utama. Diagram alir untuk menghapus layar LCD ditunjukkan pada gambar 9 berikut ini. START TENTUKAN NILAI ALAMAT AWAL X DAN Y MENULISKAN NILAI 00H PADA LAYAR NAIKKAN ALAMAT Y Y=41H ATAU 65D? NAIKKAN ALAMAT X X=C0H ATAU 192D? URN Gambar 9. Diagram Alir Rutin Menghapus Layar LCD Subrutin menghapus layar LCD: CLRSCR: ; DI = 0 instruksi MOV R0,#10111000B MOV DATA_LCD,R0 ; set ke halaman 0 SETB ENABLE ; ENABLE = 1 POSISIY: ; DI = 0 instruksi MOV R1,#01000000B ; set ke kolom 0 MOV DATA_LCD,R1 SETB ENABLE ; ENABLE = 1 MOV R1,#0 CLR1: MOV DATA_LCD,#00000000B SETB DI SETB ENABLE CLR ENABLE INC R1 ; siapkan data 00H ; DI = 1 data ; R1 = R1+1 naikkan posisi kolom CJNE R1,#01000001B,CLR1 ; bandingkan jika R1 = 41H kolom = 64 INC R0 ; R0 = R0+1 naikkan posisi halaman MOV DATA_LCD,R0

9 SETB ENABLE CLR ENABLE CJNE R0,#0C0H,POSISIY ; DI = 0 instruksi ; bandingkan jika X = halaman 7,jika tidak ke POSISIY Perangkat lunak untuk pengujian yang dibuat mempunyai algoritma sebagai berikut. 1. LCD Grafik secara horisontal dibagi menjadi 8 halaman. Masing masing halaman terdiri dari 64 kolom. Tiap kolom dari tiap halaman memiliki 8 titik yang hanya bisa diakses dalam 8 titik sekaligus. 2. Port 3 disiapkan untuk mengambil data digital dari ADC. 3. Pengambilan data dari ADC dilakukan sebanyak 8 kali untuk 8 halaman pada layar LCD disimpan dalam RAM mikrokontroler. 4. Karena satu layar penuh LCD dibagi menjadi dua dan hanya bisa diakses satu persatu maka maksimum titik pada layar hanya 64. 5. Jika data dari ADC bernilai 64 atau lebih maka layar pertama akan menunjukkan nilai maksimum dan sisanya tak dapat ditampilkan. Untuk menampilkan sisa dipakai layar kedua. Perangkat lunak akan mengkonversi 8 buah data masing-masing sebesar 8 byte. Tiap data kan dibandingkan dengan 64 desimal, jika data lebih kecil atau sama dengan 64, nilai variabel data akan dipertahankan dan nilai variabel untuk layar kedua diisi nol. Jika data lebih besar dari 64 maka data untuk layar pertama diisi 64 desimal dan data untuk layar kedua diisi hasil pengurangan data awal dengan 64 desimal. 6. Setelah proses konversi selesai maka data untuk layar pertama dan kedua di RAM mikrokontroler menjadi 16 byte. 7. Perangkat lunak akan mulai menampilkan pada layar pertama dan kemudian layar kedua. Tiap kenaikan 1 titik pada layar LCD menunjukkan kenaikan tegangan masukan sebesar 10 milivoltdc. Diagram alir dari pengujian mikrokontroler, LCD Grafik dan ADC ditunjukkan pada gambar 10. Prosedur Pengujian Mikrokontroler, LCD dan ADC Ambil DATA hasil konversi ADC di RAM mikrokontroler DATA dicetak ke akumulator mikrokontroler Kurangi DATA di akumulator dengan konstanta 64 desimal Periksa bit carry pada register CY mikrokontroler CY = 0? TIDAK DATA dipertahankan DATA baru di RAM untuk layar2 diisi 0 desimal YA Beri nilai DATA =64 desimal DATA baru di RAM untuk layar2 diisi hasil pengurangan DATA1 dengan 64 desimal Konversi DATA selanjutnya hingga semua data telah terkonversi Panggil Prosedur Penampil LCD URN Gambar 10. Diagram Alir Pengujian Modul Mikrokontroler, LCD dan ADC Pengujian modul mikrokontroler, modul LCD Grafik dan ADC 8 bit dilaksanakan dengan memberi masukan ke pin masukan analog dari ADC, maka diharapkan pada layar LCD Grafik akan ditampilkan nilai tegangan masukan yang diwakili 1 titik untuk tiap 10 milivoltdc. Sebagai contoh

10 ditunjukkan pada gambar 11 yaitu tampilan LCD saat ADC diberi masukan tegangan 298,5 milivoltdc, jumlah titik vertikal yang tertampil di LCD adalah 29 titik. Sedangkan saat diberi tegangan 978 milivoltdc dibagi 10 milivoltdc yaitu 97,8 titik oleh ADC dikonversi menjadi 97 titik vertikal atau 64 titik pada layar pertama dan sisanya 33 titik pada layar kedua 29 titik 97 titik Gambar 11. Tampilan LCD Grafik Ketika Tegangan Masukan ADC 298,5 dan 978 milivoltdc Gambar 12. Aplikasi LCD Grafik untuk Penganalisa Spektrum Audio dan Akustik 1/3 oktaf Daftar Pustaka 1. Mackenzie, I. Scott, The 8051 Microcontroler, 2nd Edition. Prentice Hall. 1995. 2. Leung, John, Chapter 8. Interfacing a JHD12864J Graphic Module to AT89S52, www.techtoys.com.hk. 2006 3. Design of a Graphical LCD Driver and Educational LCD Primer, A Design Project Report Presented to the Engineering Division of the Graduate School of Cornell University in Partial Fullfilment of the Requirement for the Degree of Master of Engineering (Electrical), by Lucas L. Delaney, Project Advisor Dr. Bruce R. Land, Degree Date May 2004. 4. Datasheet ADC0820, 8-Bit Half Flash ADC, National Semiconductor.