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.
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:
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 | 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