|
LCD INTERFACE
Susunan Pena Standar LCD 14
Pin
-
Pena 1(Ground) fungsi :
Tegangan Power nol volt dansinyal ground
-
Pena 2 (VSS) Fungsi: +5 Volt
Power
-
Pena 3 ( Contrat Voltage)
Fungsi: dihubungkan dengn level ground melalui trimpot
untk mengatur contrast karakter.
-
Pena 4 (RS) Fungsi:
RS High : Data dikirim ke
LCD gbv
RS LOW :
Perintah (instruksi)dijalankan oleh LCD kontroller
RW High : Write to LCD
RW Low : read from LCD
Pemrograman
LCD
Hubungan
antara Pena-pena LCD dengan microcontroller seperti pada
gambar 1.
Penulisan
Asembler
RS bit INT1
RW bit T0
CE bit T1
Busy bit P1.7
Penulisan Data
Untuk menulis karakter (data)
, diperlukan sinyal RS High, R/W low, byte karakter pada
pena 7-14, dan sinyal CE tinggi sejenak.
DataWrite:
Mov P1,A ; Pindahkan accumulator pada LCD data
input
Setb RS ; Set RS High (Data)
Clr RW ; Set RW Low (Write)
Nop
Setb CE ; Menerima byte Data
Nop ; tunggu sejenak
Nop
Clr
CE ;
Ret
Instruksi Write
Untuk menulis perintah atau
alamat ke LCD, set RS low, R/W low,perintah atau alamat pada
pena 7-14, dan sinyal CE tinggi sejenak. Karena instruksi
ada di Accumulator, untuk mengirim ke LCD menggunakan
asembly:
CmdWrite:
Mov
P1,A ; Pindahkan isi Accumulator ke LCD data
input
Clr
RS ; Set RS low (instruksi)
Nop ; tunggu sejenak
Setb
CE ; Memerintahkan LCD untuk menerima
Instruksi byte
Nop ; tunggu sejenak
Nop
Clr CE ;
Ret ; Kembali ke pemanggil.
Inisialisasi LCD
Routine asembler Inisialisasi
LCD
LCDInittialize:
Mov A,#038H ; Panjang Data 8 bit, 2 baris
character
Call CmdWrite
Call Delay10ms ; Routine delay 10 ms
Call CmdWrite
Call Delay10ms
Call CmdWrite
Call Delay10ms
Mov A,#006h
Call CmdWrite
Call Delay10ms
Mov A,#00Eh ; Display dancursor On, tidak
berkedip
Call CmdWrite
Mov A,#001h ; LCD clear
Jmp CmdWrite ; Kembali ke program pemanggil
Routine Delay10ms diperlukan
karena LCD butuh waktu untuk menjalakan instruksi .
Sekarang LCD siap untuk
menerima data pertama, instruksi berikut adalah menuliskan
"HELLO" pada display :
Hello: Mov A,#'H'
Call
DataWrite
Mov a,#'E'
Call
DataWrite
mov A,#'L'
Call
DataWrite
Mov A,#'L'
Call
DataWrite
Mov A,#'O'
Call
DataWrite
Jmp
DataWrite ; Kembali ke program pemanggil
Jika kita ingin menulis tex
"HELLO" pada baris kedua, kita harus mengirimkan alamat
(Instruksi) 0C0h ke LCD sebelum kita mengirim DataByte
Mov
A,#0c0h ; Posisi Cursor di baris kedua kiri
Call
CmdWrite ; Perintahkan LCD
jmp Hello
Kita dapat membuat Routine
Pesan ke display . untuk memanggil routine ini , pertama
kali load DPTR dengan alamat text string. Masing-masing text
string diakhiri dengan "nol"
Contoh String
MSG001: DB "HELLO"
DB
000H
Contoh routine LCD_MSG untuk
menampilkan string text
LCD_MSG: Clr A
Movc
A,@A+DPTR
Inc DPTR
Jz
LCD_MSG9 ; Kembali jika nilai nol
call
DataWrite
Jmp
Lcd_msg
Lcd_Msg9: Ret
Kode berikut akan menampilkan MSG001
Mov Dptr,#MSG001
Call Lcd_Msg
|
 |