Tutorial Interfacing LCD – Bagian 2

BF – Busy Flag

Busy Flag merupakan indikator status untuk LCD. Ketika kita mengirim perintah atau data ke LCD untuk diproses, flag ini akan diset (yaitu BF = 1) dan segera setelah instruksi berhasil dieksekusi flag ini akan dihapus (BF = 0). Hal ini membantu dalam menghitung delay untuk LCD.
Untuk membaca Busy Flag, kondisi RS = 0 dan R / W = 1 dan MSB dari data bus LCD (D7) bertindak sebagai busy flag. Ketika BF=1 berarti LCD sibuk dan tidak akan menerima perintah atau data berikutnya dan ketika BF=0 berarti LCD siap untuk perintah atau data selanjutnya untuk diproses.

Register
HD44780, mempunyai dua buah Register yang aksesnya diatur dengan menggunakan pin RS.

  • Pada saat RS berlogika 1, maka register yang diakses adalah Data Register
  • Pada saat RS berlogika 0, maka register yang diakses adalah Instruction Register

Data Register (DR)

Data register digunakan untuk menyimpan data yang akan ditampilkan pada LCD. Data Register tidak hanya digunakan untuk mengirim data ke DDRAM tetapi juga untuk CGRAM. Alamat di mana kita ingin mengirim data ditentukan oleh instruksi yang dikirimkan ke LCD.

Instruction Register (IR)
Instruction Register berfungsi untuk mengirimkan perintah ke LCD misalnya perintah shift LCD, clear LCD, dan address LCD.

Proses penulisan data ke Instruction Register dapat dilakukan dengan 2 mode, yaitu mode 4 bit interface atau 8 bit interface.

 

image

Gambar 5 : Timing diagram Penulisan Data ke Instruction Register Interface Mode 4 bit

Gambar diatas menunjukkan proses penulisan data ke Instruction Register dengan menggunakan mode 4 bit interface. Kondisi RS berlogika 0 menunjukkan akses data ke Instruction Register. RW berlogika 0 yang menunjukkan proses penulisan data akan dilakukan. Nibble tinggi (bit 7 sampai bit 4) terlebih dahulu dikirimkan dengan diawali pulsa logika 1 pada E Clock. Kemudian Nibble rendah (bit 3 sampai bit 0) dikirimkan dengan diawali pulsa logika 1 pada E Clock lagi.
Untuk mode 8 bit interface, proses penulisan dapat langsung dilakukan secara 8 bit (bit 7 … bit 0) dan diawali sebuah pulsa logika 1 pada EN Clock.

Proses pembacaan data pada Instruction Register biasa digunakan untuk melihat status busy dari LCD atau membaca Address Counter. RS diatur pada logika 0 untuk akses ke Instruction Register, R/W diatur pada logika 1 yang menunjukkan proses pembacaan data. 4 bit nibble tinggi dibaca dengan diawali pulsa logika 1 pada EN Clock dan kemudian 4 bit nibble rendah dibaca dengan diawali pulsa logika 1 pada EN Clock. Untuk Mode 8 bit interface, pembacaan 8 bit (nibble tinggi dan rendah) dilakukan sekaligus dengan diawali sebuah pulsa logika 1 pada EN Clock.

Instruction Set

Perintah selengkapnya untuk proses dan pengaturan LCD bisa dililat pada tabel berikut:

LCD-commands Tabel 2: Perintah dan Instruction set untuk LCD tipe HD44780

Di bawah ini adalah daftar singkat dari Instruksi yang sering digunakan pada saat  pemograman LCD.

No.

Instruction

Hex

Decimal

1

Function Set: 8-bit, 1 Line, 5x7 Dots

0x30

48

2

Function Set: 8-bit, 2 Line, 5x7 Dots

0x38

56

3

Function Set: 4-bit, 1 Line, 5x7 Dots

0x20

32

4

Function Set: 4-bit, 2 Line, 5x7 Dots

0x28

40

5

Entry Mode

0x06

6

6

Display off Cursor off
(clearing display without clearing DDRAM content)

0x08

8

7

Display on Cursor on

0x0E

14

8

Display on Cursor off

0x0C

12

9

Display on Cursor blinking

0x0F

15

10

Shift entire display left

0x18

24

12

Shift entire display right

0x1C

30

13

Move cursor left by one character

0x10

16

14

Move cursor right by one character

0x14

20

15

Clear Display (also clear DDRAM content)

0x01

1

16

Set DDRAM address or coursor position on display

0x80+add*

128+add*

17

Set CGRAM address or set pointer to CGRAM location

0x40+add**

64+add**

Table 3 : Kumpulan Instruksi untuk LCD

* Alamat DDRAM, lihat gambar 2a, 2b dan 2c pada postingan sebelumnya 
** Alamat CGRAM dari 0x00 sampai 0x3F, 0x00 sampai 0x07 untuk karakter-1 danselanjutnya...

Pada bagian berikutnya dari tutorial ini, kita akan membahas mengenai proses Inisialisasi dengan beberapa contoh program.

Tidak ada komentar:

Posting Komentar

author
Embedtronix
Build Your Embedded System. Belajar bareng ngoprek Microcontroller, Arduino, TPLink, GLiNet dan ilmu Microelectronic lainnya.