AN0010
Teknik Interfacing Modul LCD M1632 dengan driver HD44780 ke AT89C51 Minimum System
Hitachi M1632 LCD Module adalah LCD dengan display 16×2 baris dan driver HD44780 di mana LCD ini secara ekonomis dapat digunakan sebagai alternatif dari Epson SED1200 LCD Module yang sudah tidak beredar di pasaran. Walaupun harga Modul LCD ini berkisar dua kali dari harga SED1200, namun modul ini mempunyai tampilan yang lebih besar dan backlight (cahaya dari belakang panel) sehingga tampilan tetap dapat terlihat dengan jelas walau di tempat gelap
Hitachi M1632 LCD Module dapat diakses secara 4 bit maupun 8 bit interface, namun rutin-rutin built in program yang ada pada DST-51 sudah dirancang untuk meng-akses LCD Module ini secara 4 bit interface.
Dengan adanya sistem 4 bit interface maka selain mereduksi jumlah port yang digunakan juga mempermudah sistem wiring pada PCB.
Pada dasarnya akses dari microcontroller ke Modul LCD ini terdiri dari 4 jenis sebagai berikut:
- Pengiriman Instruksi Register
- Pembacaan Address Counter dan Busy Flag
- Pengiriman Data Register
- Pembacaan Data Register
Pengiriman Instruksi Register R/W = 0, RS = 0
Proses ini dilakukan untuk mengirimkan perintah-perintah ke Modul LCD seperti geser kiri, geser kanan, home posistion dll.

Timing Diagram LCD
Built In Routine
Kirim_Perintah EQU 433H
……………………….
Lcall Kirim_Perintah
Pembacaan Address Counter dan Busy Flag R/W = 1, RS = 0
Proses ini dilakukan untuk membaca alamat dari DDRAM atau posisi dari karakter yang akan ditampilkan ke modul LCD atau membaca Busy Flag sehingga microcontroller dapat mengetahui bahwa LCD siap untuk menerima data atau instruksi lebih lanjut

Timing Diagram LCD
Pengiriman Data Register R/W = 0, RS = 1
Proses ini dilakukan untuk mengirim karakter yang akan ditampilkan di layar LCD dalam bentuk ASCII

Timing Diagram LCD
Built In Routine
Kirim_Karakter EQU 452H
……………………………..
Lcall Kirim_Karakter
Pembacaan Data Register R/W = 1, RS = 1
Proses ini dilakukan untuk membaca karakter yang tersimpan pada DDRAM atau yang sudah tampil pada LCD

Timing Diagram LCD
Built In Routine dapat anda download dari hd44780. Rutin ini hanya dapat bekerja pada DST-51 bila diletakkan pada Flash PEROM AT89C51 dan tidak dapat didownload ke memori eksternal sehingga untuk mengaksesnya anda hanya cukup memanggil alamat dari Built In Routine yang sudah berada pada Flash PEROM AT89C51 dalam DST-51.
Hal ini disebabkan karena akses LCD menggunakan jalur data bus (D0..D3) dan Modul M1632 ini mempunyai sistem bus Model Motorola yang tidak kompatibel dengan sistem bus MCS51 (Intel) sehingga untuk akses ke LCD, pin D0..D3 maupun A9 harus difungsikan sebagai General I/O yaitu sebagai P0.0…P0.3 maupun P2.1. Fungsi seperti ini hanya dapat dikerjakan oleh program yang sudah berada pada Flash PEROM AT89C51. Eksekusi program di external memory juga membutuhkan jalur data bus D0..D7 untuk pembacaan program oleh AT89C51, hal ini tentu saja akan menimbulkan tabrakan antara data General I/O dan pembacaan program.
Proses pembacaan LCD dalam aplikasinya sangat jarang digunakan, proses deteksi Busy Flag dapat digantikan dengan sebuah rutin delay yang sudah tersedia dalam Built In Routine dari DST-51. Oleh karena itu pada skematik berikut ini pin R/W dipaten pada posisi Write atau terhubung ke ground untuk mereduksi jumlah port yang digunakan.
Untuk aplikasi pembacaan data-data LCD dapat digunakan Port C dari PPI 8255 dengan teknik interfacing sebagai berikut:
Pada teknik ini, digunakan Port C Upper sebagai data bus LCD dan Port C Lower sebagai sinyal control LCD
Pada saat pengiriman data Port C Upper diinisialisasi sebagai output dan pada saat pengambilan data Port C Upper diinisialisasi sebagai input. Sedangkan Port C Lower selalu sebagai output.
Untuk mengakses LCD dengan teknik ini maka rutin program HD447802.asm dapat anda gunakan di mana rutin ini dapat anda masukkan sebagai salah satu subroutine dari program anda. Tidak seperti yang sebelumnya, rutin ini dapat diletakkan baik pada Flash PEROM ataupun didownload di External Memory.
Koneksi LCD HD44780 ke DST-51 dapat dilihat lcd-ke-dst51
Komponen pendukung
Rutin Software pendukung
- hd44783-alds311 (Software Assembly ALDS 3.11 ke atas)
- hd44783-asm51 (Software Assembly ASM51)
Tags: 16x2, antar muka, antarmuka, at89s51, dst51, HD44780, hitachi m1632, Interface, lcd