Langsung ke konten utama

LCD

LCD KARAKTER

TUJUAN:
1. Mahasiswa memahami rangkaian interface mikrokontroller dengan LCD Karakter 2 x 16
2. Mahasiswa dapat memahami program bahasa C untuk menampilkan data ke LCD Karakter 2 x 16

Pada tugas yang kami buat ini adalah menggunakan mikrokontroller AT 89S51, Di sini LCD di hubungkan ke mikrokontroller dengan konfigurasi port seperti yang terlihat pada gambar di bawah ini.


Gambar 1. Rangkaian interface Mikrokontroller ke LCD Karakter 2 x16


Modul LCD Character dapat dengan mudah dihubungkan dengan mikrokontroller seperti AT89S51. LCD yang di gunakan mempunyai lebar display 2 baris 16 kolom atau biasa disebut sebagai LCD Character 2x16, dengan 16 pin konektor, yang didifinisikan sebagai berikut:

Gambar 2. Modul LCD Karakter 2x16

            Tabel 1.1 Pin dan Fungsi
          

PIN

Name

Function

1

VSS

Ground voltage

2

VCC

+5V

3

VEE

Contrast voltage

4

RS

Register Select
0 = Instruction Register
1 = Data Register

5

R/W

Read/ Write, to choose write or read mode
0 = write mode
1 = read mode

6

E

Enable
0 = start to lacht data to LCD character
1= disable

7

DB0

LSB

8

DB1

-

9

DB2

-

10

DB3

-

11

DB4

-

12

DB5

-

13

DB6

-

14

DB7

MSB

15

BPL

Back Plane Light

16

GND

Ground voltage

Display karakter pada LCD diatur oleh pin EN, RS dan RW:
Jalur EN dinamakan Enable. Jalur ini digunakan untuk memberitahu LCD bahwa anda sedang mengirimkan sebuah data. Untuk mengirimkan data ke LCD, maka melalui program EN harus dibuat logika low “0” dan set pada dua jalur kontrol yang lain RS dan RW. Ketika dua jalur yang lain telah siap, set EN dengan logika “1” dan tunggu untuk sejumlah waktu tertentu ( sesuai dengan datasheet dari LCD tersebut ) dan berikutnya set EN ke logika low “0” lagi.
Jalur RS adalah jalur Register Select. Ketika RS berlogika low “0”, data akan dianggap sebagi sebua perintah atau instruksi khusus ( seperti clear screen, posisi kursor dll ). Ketika RS berlogika high “1”, data yang dikirim adalah data text yang akan ditampilkan pada display LCD. Sebagai contoh, untuk menampilkan huruf “T” pada layar LCD maka RS harus diset logika high “1”.
Jalur RW adalah jalur kontrol Read/ Write. Ketika RW berlogika low (0), maka informasi pada bus data akan dituliskan pada layar LCD. Ketika RW berlogika high ”1”, maka program akan melakukan pembacaan memori dari LCD. Sedangkan pada aplikasi umum pin RW selalu diberi logika low ”0”.
Pada akhirnya, bus data terdiri dari 4 atau 8 jalur ( bergantung pada mode operasi yang dipilih oleh user ). Pada kasus bus data 8 bit, jalur diacukan sebagai DB0 s/d DB7
Beberapa perintah dasar yang harus dipahami adalah inisialisasi LCD Character,

Function Set
Mengatur interface lebar data, jumlah dari baris dan ukuran font karakter

RS

R/W

DB7

DB6

DB5

DB4

DB3

DB2

DB1

DB0

0

0

0

0

1

DL

N

F

X

X

CATATAN:
X : Don’t care
DL: Mengatur lebar data
DL=1, Lebar data interface 8 bit ( DB7 s/d DB0)
DL=0, Lebar data interface 4 bit ( DB7 s/d DB4)
Ketika menggunakan lebar data 4 bit, data harus dikirimkan dua kali
N: Pengaktivan baris
N=0, 1 baris
N=1, 2 baris
F: Penentuan ukuran font karakter
F=0, 5x7
F=1, 5x8

Entry Mode Set
Mengatur increment/ decrement dan mode geser

RS

R/W

DB7

DB6

DB5

DB4

DB3

DB2

DB1

DB0

0

0

0

0

0

0

0

1

I/D

S

Catatan:
I/D: Increment/ decrement dari alamat DDRAM dengan 1 ketika kode karakter dituliskan ke DDRAM.
I/D = “0”, decrement
I/D= “1”, increment
S: Geser keseluruhan display kekanan dan kekiri
S=1, geser kekiri atau kekanan bergantung pada I/D
S=0, display tidak bergeser

Display On/ Off Cursor
Mengatur status display ON atau OFF, cursor ON/ OFF dan fungsi Cursor Blink

RS

R/W

DB7

DB6

DB5

DB4

DB3

DB2

DB1

DB0

0

0

0

0

0

0

1

D

C

B

D : Mengatur display
D = 1, Display is ON
D = 0, Display is OFF

Pada kasus ini data display masih tetap berada di DDRAM, dan dapat ditampilkan kembali secara langsung dengan mengatur D=1.

C : Menampilkan kursor
C = 1, kursor ditampilkan
C = 0, kursor tidak ditampilkan
B : Karakter ditunjukkan dengan kursor yang berkedip
B=1, kursor blink

Clear Display
Perintah ini hapus layar

RS

R/W

DB7

DB6

DB5

DB4

DB3

DB2

DB1

DB0

0

0

0

0

0

0

0

0

0

1


GESER KANAN KURSOR ATAU DISPLAY

Geser posisi kursor atau display ke kanan atau kekiri tanpa menulis atau baca data display. Fungsi ini digunakan untuk koreksi atau pencarian display

RS

R/W

DB7

DB6

DB5

DB4

DB3

DB2

DB1

DB0

0

0

0

0

0

1

S/C

R/L

X

X

Catatan : x = Dont care

S/C

R/L

Note

0

0

Shift cursor position to the left

0

1

Shift cursor position to the right

1

0

Shift the entire display to the left

1

1

Shift the entire display to the right


POSISI KURSOR

Modul LCD terdiri dari sejumlah memory yang digunakan untuk display. Semua teks yang kita tuliskan ke modul LCD adalah disimpan didalam memory ini, dan modul LCD secara berturutan membaca memory ini untuk menampilkan teks ke modul LCD itu sendiri.

Pada peta memori tersebut, daerah yang berwarna biru ( 00 s/d 0F dan 40 s/d 4F ) adalah display yang tampak. Sebagaimanan yang anda lihat, jumlahnya sebanyak 16 karakter per baris dengan dua baris. Angka pada setiap kotak adalah alamat memori yang bersesuaian dengan posisi dari layar. Demikianlah karakter pertama di sudut kiri atas adalah menempati alamah 00h. Posisi karakter berikutnya adalah alamat 01h dan seterusnya.
Akan tetapi, karakter pertama dari baris 2 sebagaimana yang ditunjukkan pada peta memori adalah pada alamat 40h. Dimikianlah kita perlu untuk mengirim sebuah perintah ke LCD untuk mangatur letak posisi kursor pada baris dan kolom tertentu. Instruksi Set Posisi Kursor adalah 80h. Untuk ini kita perlu menambahkan alamat lokasi dimana kita berharap untuk menempatkan kursor.Sebagai contoh, kita ingin menampilkan kata ”World” pada baris ke dua pada posisi kolom ke sepuluh. Sesuai peta memori, posisi karakter pada kolom 11 dari baris ke dua, mempunyai alamat 4Ah, sehingga sebelum kita tulis kata ”World” pada LCD, kita harus mengirim instruksi set posisi kursor, dan perintah untuk instruksi ini adalah 80h ditambah dengan alamat 80h+4Ah =0Cah. Sehingga dengan mengirim perintah Cah ke LCD, akan menempatkan kursor pada baris kedua dan kolom ke 11 dari DDRAM.

Set Alamat Memori DDRAM

RS

R/W

DB7

DB6

DB5

DB4

DB3

DB2

DB1

DB0

0

0

1

A

A

A

A

A

A

A

Catatan:
A : Alamat RAM yang akan dipilih
Sehingga alamat RAM LCD adalah 000 0000 S/D 111 1111 b atau 00 s/d 7Fh

INISIALISASI
Sebelum kita dapat menggunakan modul LCD, kita harus melakukan inisialisasi dan mengkonfigurasikannya. Hal ini dijalankan dengan mengirimkan sejumlah instruksi ke LCD. Antara lain: pengaturan lebar data interface 8 bit atau 4 bit data bus.

Setelah proses interface antara mikrokontroller dengan LCD selsesai, selanjutnya mulai membuat program, sebelum itu kita tentukan dulu program seperti apa yang ingin kita buat, misalnya dalam program yang kami buat, akan menampilkan tulisan geser kiri pada LCD, untuk instruksi pada pin LCD sudah di jelaskan di atas. Dalam program ini menggunakan bahasa pemrograman C, untuk menulis program dan mengkompile program menjadi file Hexa (.Hex) digunakan software MIDE. Sebetulnya dapat juga menggunakan software yang lainnya, seperti SDCC. Untuk mendownloadkan program .Hex ke IC menggunakan SPI-flash programmer 3.7.

L isting Program :

#include

void tunda1ms();

void tulis_inst();

void tulis_data();

void inisialisasi();

void tunda(int n);

void kirim_baris_1();

void kirim_baris_2();

void main()

{

while(1)

{

inisialisasi;

tunda(1000);

A=0x01;// bersihkan layar

tulis_inst();

tunda(500);

A=0x80;// baris 1

tulis_inst();

tunda(500);

kirim_baris_1();

A=0xC0;// pindah baris 2

tunda(500);

tulis_inst();

kirim_baris_2();

}

}

void kirim_baris_1()

{

int j=0;

char *teks={"I GEDE MADE SURYA ->0612211"};

while(teks[j]!=0)

{

A=teks[j];

tulis_data();

tunda(500);

j++;

}

}

void kirim_baris_2()

{

int j=0;

char *teks={"WIBI WICAKSONO I ->0612208"};

while(teks[j]!=0)

{

A=teks[j];

tulis_data();

tunda(500);

j++;

}

}

void tunda1ms()

{

int i;

for(i=0;i<100;i++);

}

void tunda(int n)

{

int i;

for (i=0; i

tunda1ms();

}

void tulis_inst()

{

P2_6=0;//rs

P2_7=1;//enable

P0=A;

P2_7=0;

P2_7=1;

tunda(500);

}

void tulis_data()

{

P2_6=1;//rs

P2_7=1;//enable

P0=A;

P2_7=0;

P2_7=1;

tunda(500);

}

void inisialisasi()

{

A=0x3F;// data 8 bit

tulis_inst();

A=0x0C;// display hidup, kursor mati, dan kedip mati

tulis_inst();

A=0x07;// display geser kiri

tulis_inst();

A=0x01;// bersihkan layar

tulis_inst();

}

Komentar

Postingan populer dari blog ini

"BELAJAR DARI AWAN" Hari itu satu pekan panjang yang penuh dengan kesibukan mengajar keliling negeri telah kulewati sekali lagi. Seperti biasa aku ingin menikmati situasi santai dalam penerbangan pulang, membaca yang ringan-ringan, bahkan memejamkan mata beberapa menit bilamana sempat. Kendatipun demikian, aku mencoba menerima apa pun yang akan terjadi. Maka biasanya aku mengucapkan doa pendek berikut: Siapa pun yang Kautakdirkan duduk di sebelahku, biarlah ia seperti apa adanya, dan bantulah aku agar dapat menerima apa pun yang tersedia bagiku. Pada hari yang khusus ini, ketika aku masuk ke dalam pesawat, ternyata seorang anak kecil, sekitar delapan tahun, duduk pada kursi dekat jendela di sebelahku. Aku menyukai anak-anak. Namun, aku sedang merasa lelah. Naluri pertamaku adalah, 'Apa boleh buat, aku tak tahu nasibku kali ini.' Dengan berusaha bersikap ramah, aku menyapanya dan mengajaknya berkenalan. Ia menyebutkan namanya, Br

PANDUAN SETTING MODEM TPLINK untuk SPEEDY

PANDUAN SETTING MODEM TPLINK untuk SPEEDY Penting sebelum pandu setting modem : pastikan customer mengetahui username / password Speedy nya. 1. Pastikan modem dalam kondisi ter bypass 1 PC. 2. Masuk ke browser (Firefox, IE, Chrome) dan ketik alamat default modem : 192.168.1.1 3. Selanjutnya akan di minta username dan password modem. Secara default username : admin / password : admin . 4. Selanjutnya akan masuk ke menu modem. Pilih Quick Start >> Run Wizard 5. Klik NEXT . 6. Atur Waktu ke (GMT+07:00) bangkok, jakarta, hanoi. klik NEXT. 7. pilih PPPoE/PPPoA . klik NEXT. 8. Kemudian masukan parameter-parameter berikut : Username : nomor speedy @telkom.net (contoh : 122703205757@telkom.net) Password : password Speedy. (untuk memastikan, samakan dengan 3 digit terakhir password di minitools) VPI : 0 VCI : 35 Connection Type : PPPoE LLC . klik NEXT. 9. Kemudian klik NEXT . 10. Klik FINISH . -->> Selesai SETTING WIRELESS