Skip to main content

LCD 16x2

 LCD 16x2

LCD (Liquid Crystal Display) adalah suatu jenis media tampilan yang menggunakan kristal cair sebagai penampil utama. LCD sudah digunakan di berbagai bidang, misalnya alat-alat elektronik seperti televisi, kalkulator, ataupun monitor komputer. Sumber cahaya (backlight) di dalam sebuah modul LCD adalah lampu LED super bright yang diletakkan di bagian belakang panel kristal cair tersebut dengan pilihan warna kebanyakan di pasaran adalah hijau, kuning, biru, dan putih.

Kutub kristal cair yang dilewati arus listrik akan berubah karena polaritas medan magnetik yang timbul dan oleh karenanya hanya akan memberikan beberapa titik cahaya yang diteruskan, sedangkan titik cahaya lainnya akan diblok. Titik cahaya inilah yang membentuk tampilan citra pada layar LCD.

LCD yang digunakan adalah LCD dot matrik dengan jumlah karakter 2 x 16 seperti pada Gambar 2.20. LCD ini nantinya akan dipergunakan untuk menampilkan kadar monoksida dari sensor. Adapun fitur yang disajikan dalam LCD ini adalah :

a.         Terdiri dari 16 karakter dan 2 baris.

b.        Mempunyai 192 karakter tersimpan.

c.         Terdapat karakter generator terprogram.

d.        Dapat dialamati dengan mode 8-bit dan 4-bit.

Dilengkapi dengan back light.


Gambar 2.20 Modul LCD 16x2

Tabel 2.13 Konfigurasi Pin LCD 16x2

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

  

   EN

Enable

0 = Start to latch data to LCD character

1 = Disable

7

DB0

LSB

8

DB1

-

9

DB2

-

Pin

Name

Function

10

DB3

-

11

DB4

-

12

DB5

-

13

DB6

-

14

DB7

MSB

15

BPL

Back Plane Light

16

GND

Ground Voltage


Tabel 2.13 merupakan konfigurasi pin dari LCD 16x2. Pada aplikasi umumnya RW diberi logika rendah 0. Bus data terdiri dari 4 atau 8-bit. Pada kasus ini bus data 4-bit, jalur digunakan sebagian dari DB 4 sampai dengan DB 7.

Sebagaimana  terlihat  pada  table  diskripsi,  interface  LCD  merupakan sebuah parallel bus, dimana hal ini sangat memudahkan dan sangat cepat dalam

pembacaan dan penulisan data dari atau ke LCD. Kode ASCII yang ditampilkan sepanjang 8 bit dikirim ke LCD secara 4 atau 8 bit pada satu waktu. Jika mode 4 bit yang digunakan, maka 2 nibble data dikirim untuk membuat sepenuhnya 8 bit (pertama  dikirim  4  bit  MSB  lalu  4  bit  LSB  dengan  pulsa  clock  EN  setiap nibblenya) Jalur   kontrol  E digunakan  untuk   memberitah LC bahwa mikrokontroler  mengirimkan  data  ke  LCD.  Untuk  mengirim  dat ke  LCD program harus menset EN ke kondisi high (1) dan kemudian menset dua jalur kontrol lainnya (RS dan R/W) atau juga mengirimkan data ke jalur data bus.

Saat jalur lainnya sudah siap, EN harus diset ke 0 dan tunggu beberapa saat  (tergantung  pada datasheet LCD), dan set EN kembali ke high (1). Ketika jalur RS berada  dalam kondisi low (0), data yang dikirimkan ke LCD dianggap sebagasebuah  perintaatau  instruksi khusus  (sepertbersihkan  layar,  posisi kursor dll). Ketika RS dalam kondisi high  atau  1, data yang dikirimkan adalah data ASCII yang akan ditampilkan dilayar.

Misal, untuk menampilkan hurufA” pada layar maka RS harus diset ke 1. Jalur kontrol R/W harus berada dalam kondisi low (0) saat informasi pada data bus akan dituliskan ke LCD. Apabila R/W berada dalam kondisi high (1), maka program akan melakukan query (pembacaan) data dari LCD. Instruksi pembacaan hanya satu, yaitu Get LCD status (membaca status LCD),  lainnya merupakan instruksi penulisan. Jadi hampir setiap aplikasi yang menggunakan LCD,  R/W selalu diset ke 0.

Jalur  data  dapat  terdiri  4  atau  8  jalur  (tergantung  mode  yang  dipilih pengguna), mereka dinamakan DB0, DB1, DB2, DB3, DB4, DB5, DB6 dan DB7.

Mengirim data secara parallel baik 4 atau 8 bit merupakan 2 mode operasi primer. Untuk   membua sebuah  aplikasi  interface  LCD,  menentukan  mode  operasi merupakan hal yang paling penting.

Mode 8-bit sangat baik digunakan ketika kecepatan menjadi keutamaan dalam sebuah aplikasi dan setidaknya minimal tersedia 11 pin I/O (3 pin untuk kontrol, 8 pin untuk data). Sedangkan mode 4-bit minimal hanya membutuhkan 7 pin (3 pin untuk kontrol, 4 untuk data). Bit RS digunakan untuk memilih apakah data atau instruksi yang akan ditransfer antara  mikrokontroler dan LCD. Jika bit ini di set (RS = 1), maka byte pada posisi kursor LCD saat itu dapat dibaca atau ditulis. Jika bit ini di reset (RS = 0), bisa merupakan instruksi yang dikirim ke LCD atau status eksekusi dari instruksi terakhir yang dibaca

Comments

Popular posts from this blog

program bahasa c membantu kasir memisahkan kembalian

SOAL BAHASA C USING DEV++ Buatlah program untuk membantu kasir swalayan untuk memisahkan pecahan uang kembalian menjadi 50.000. 20.000, 10.000,5.000, 2.000, 500 dan   100 Dengan menginputkan jumlah kembalian!   #include <stdio.h> #include <stdlib.h> #include <conio.h> void main() {     int a,b,c,d,e,f,g;     int kembalian;     printf ("jumlah uang kembalian = ");     scanf ("%i",&kembalian);        a=kembalian / 50000;     b=(kembalian - (a * 50000)) / 20000;     c=(kembalian - ((a * 50000) + ( b * 20000))) / 10000;     d=(kembalian - ((a * 50000) + ( b * 20000) + (c * 10000))) / 5000;     e=(kembalian - ((a * 50000) + ( b * 20000) + (c * 10000) + ( d * 5000)))/1000;     f=(kembalian - ((a * 50000) + ( b * 20000) + (c * 10000) + ( d * 5000) + ( e*1000)))/500;     g=(kembalian - ((a * 50000) + ( b * 20000) + (c * 10000) + ( d * 5000) + ( e*1000) + ( f*500)))/100;        printf ("\n %i %s",a,"le

Program Bahasa C mencari bilangan terbesar dan terkecil dari 5 data.

SOAL BAHASA C using DEV++ Buatlah program mencari bilangan terbesar dan terkecil dan menjumlahkan dan merata rata, 5 nilai yang di inputkan dengan range 0-100 !!     #include <stdio.h> #include <stdlib.h> void main() {     int a,b,c,d,e,max,min,jumlah;     float rata2;        printf("masukan nilai ujian ke-1 ="); scanf("%i",&a);     printf("masukan nilai ujian ke-2 ="); scanf("%i",&b);     printf("masukan nilai ujian ke-3 ="); scanf("%i",&c);     printf("masukan nilai ujian ke-4 ="); scanf("%i",&d);     printf("masukan nilai ujian ke-5 ="); scanf("%i",&e);     if ( a>b && a>c && a>d && a>e)     {         max=a;     }     if ( b>a && b>c && b>d && b>e)     {         max=b;     }     if ( c>a && c>b && c>d && c>e)   

menginputkan, menghitung dan mencetak perkalian matrik 3 X 3 menggunakan bahasa c

SOAL BAHASA C USING DEV++ Buatlah program untuk menginputkan, menghitung dan mencetak perkalian matrik 3 X 3 ! #include <stdio.h> #include <stdlib.h> void main () {     int A[3][4], B[3][3],X[3][3],i,j;         /*********** MASUKAN MATRIK A ***********/     for (i=0;i<3;i++)     {         for (j=0;j<3;j++)         {             printf ("input data matrik A[%i][%i]:",i+1,j+1);             fflush(stdin);             scanf("%i",&A[i][j]);         }     }             /*********** MASUKAN MATRIK B ***********/     for (i=0;i<3;i++)     {         for (j=0;j<3;j++)         {             printf ("input data matrik B[%i][%i]:",i+1,j+1);             fflush(stdin);             scanf("%i",&B[i][j]);         }     }         /*********** PROSES PERKALIAN MATRIK A dan B ***********/     for (i=0;i<3;i++)     {         for (j=0;j<3;j++)         {             X[i][j]=((A[0][