com
Lisensi Dokumen: Copyright 2013 ngOOprek.Com Seluruh dokumen di ngOOprek.Com dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen.Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ngOOprek.Com
TUTORIAL II SERI AVR DEVELOPMENT BOARD ATMEGA 8535 INTERFACING LCD ALPHANUMERIC 16X2
Liquid Crystal Display (LCD) merupakan salah satu alat untuk penampil yang memiliki berbagai macam ukuran dari 1 hingga 4 baris, 16 hingga 40 karakter per baris dan 5 x 7 atau 5 x 8 dot display fonts. Meskipun LCD memiliki berbagai macam ukuran tetapi penggunaanya standar. LCD terdiri 16 pin yang berisikan jalur data, jalur control, power dan back light.
(sumber : www.engineergarage.com)
Tabel 1.0 Pin Symbol and Function LCD 16x2
PIN 1 2 3 4 5 6 7 14 15 16
Function Ground +3V or +5V Contras Adjustment Register Select Read/Write Signal Enable Signal Data Bus Line Backlight V+ Anode Backlight V- Cathode
Copyright2013 ngooprek.com
Creative Community
lcd_gotoxy (posisi_x,posisi_y)
X
0
Y
9 10 11 12 13 14 15
0 1
Gambar 1.2 Ilustrasi posisi
lcd_gotoxy(13,0)
Pada gambar 1.2 menunjukan posisi x (kolom) ke 13 dan y(baris) ke 0. Untuk menampilkan huruf, angka, karakter pada lcd ada beberapa syntax diantaranya ; lcd_putchar() = untuk menampilkan karakter. lcd_puts() lcd_putsf() = untuk menampilkan string dari SRAM. = untuk menampilkan string dari Flash.
Copyright2013 ngooprek.com
Creative Community
Dengan menggunakan Code Vision AVR kita lebih mudah untuk melakukan interfacing LCD, pada Code Wizard AVR terdapat menu pengaturan alphanumeric LCD dengan pengaturan pada Character/Line serta koneksi port yang akan digunakan. Pada tutorial kali ini kita menggunakan LCD 16x2 dan port yang digunakan adalah PORT C.
Setelah di generate maka secara otomatis pengaturan untuk penggunaan modul LCD telah tersedia, kita hanya menambahkan program pada bagian program utama saja;
#include <mega8535.h> #include <alcd.h> void main(void) { /* Alphanumeric LCD initialization Connections specified in the Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu: RS - PORTC Bit 0 RD - PORTC Bit 1 EN - PORTC Bit 2 D4 - PORTC Bit 4 D5 - PORTC Bit 5 D6 - PORTC Bit 6 D7 - PORTC Bit 7 Characters/line: 16 */ lcd_init(16); lcd_gotoxy(0,0); lcd_putsf("TES"); lcd_gotoxy(0,1); lcd_putsf("TESS"); while (1) {} }
Copyright2013 ngooprek.com
Creative Community
COSTUM CHARACTER DISPLAY Alphanumeric LCD dapat menampilkan beberapa karakter unik dan karakter yang bisa kita buat sendiri, tentunya kita harus mengetahui konsep peta memori pada LCD. Berikut penjelasan singkatnya;
Peta Memori LCD Peta memori LCD terbagi ke dalam tiga bagian diantaranya; 1. DDRAM 2. CGROM 3. CGRAM DDRAM Singkatan dari (Data Display Random Access Memory) merupakan buffer data tampilan dimana setiap karakter pada layar memiliki lokasi sesuai DDRAM dan byte dimuat dalam kontrol DDRAM untuk mengatur karakter yang ditampilkan. Berikut alamat karakter tampilan pada DDRAM pada LCD 16x2. 00 01 02 03 04 05 06 07 08 09 01 0B 0C 0D 0F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4F Fungsi DDRAM 1. Menyimpan kode karakter untuk setiap karakter LCD yang ditampilkan 2. Lokasi tambahan yang digunakan selama operasi pergeseran (shifting) CGROM Singkatan dari (Character Graphics Read only Memory). ROM ini adalah bagian dari tampilan mikrokontroler pada LCD dan memegang semua pola standar untuk 5 x 8 dot matrix karakter. Misalnya, jika ingin menampilkan karakter "A", maka mengirimkan kode ASCII 65 (desimal) ke DDRAM tersebut. Isi CGROM tergantung pada set karakter tertentu dan tidak dapat diubah. Fungsi CGROM 1. Berisi bitmap font untuk karakter LCD standar yang dapat menampilkan CGRAM 2. Berisi karakter ASCII Inggris dan karakter Jepang. CGRAM Singkatan dari (Character Graphics Random Access Memory) memungkinkan pengguna untuk menentukan tambahan jenis karakter non-standar khusus yang tidak ada pada CGROM. Kita dapat memuat dot sendiri pola bentuk misalnya gambar panah ke dalam CGRAM dan menggunakan kode cadangan tertentu pada DDRAM, kemudian menampilkannya. Fungsi CGRAM 1. Menyediakan ruang untuk 8 karakter kostum
Copyright2013 ngooprek.com
Creative Community
(sumber : http://www.circuitvalley.com/2012/02/lcd-custom-character-hd44780-16x2.html) Pada LCD 16x2 setiap 1 blok memiliki 5x8 dot dimana dot dot tersebut dapat kita buat menjadi sebuah karakter yang unik dan yang tidak terdapat pada CGROM, untuk membuat karakter unik tersebut kita harus mengetahui konsep 5x8 dot pada 1 blok karakter pada LCD terlebih dahulu, berikut penjelasan singkatnya ;
Copyright2013 ngooprek.com
Creative Community
Pada CG RAM terdapat 8-bit data namun kita hanya bisa menggunakan 5-bit data. Misalkan pada gambar 1.5 dibentuk karakter dengan gambar panah kebawah menghasilkan data sebagai berikut;
Tabel 1.1 data karakter panah ke-bawah dalam format biner dan hex Biner 00100 00100 00100 00100 10101 01110 00100 00000 Hex 0x04 0x04 0x04 0x04 0x15 0x0E 0x04 0x00
Dengan menggunakan data hex/biner pada tabel 1.1 kita dapat menampilkan karakter panah kebawah tersebut. Berikut penjelasan beberapa baris program untuk menampilkan karakter unik yang tersimpan pada CGRAM kemudian di tampilkan pada DDRAM. /*Mendefinisikan variabel dan tipe data*/
typedef unsigned char byte;
/*Tabel untuk mendefinisikan kostum karakter dalam format biner/hex */ flash byte char0[8]={ masukan nilai bit-bit karakter unik dalam format biner/hex }; /* Fungsi untuk mendefinisikan kostum karakter */
void define_char(byte flash *pc,byte char_code) { byte i,a; a=(char_code<<3) | 0x40; for (i=0; i<8; i++) lcd_write_byte(a++,*pc++); }
/*Mendefinisikan char0*/
define_char(char0,0);
Untuk mempermudah membuat karakter kostum sesuai keinginan, kita dapat menggunakan software LCD Custom Char Builder, yang dapat didownload di (www.extremeelectronics.com.in)
Copyright2013 ngooprek.com
Creative Community
Copyright2013 ngooprek.com
Creative Community