[KEMBALI KE MENU SEBELUMNYA]
DAFTAR ISI
1.Pendahuluan
2. Dasar Teori
3. Rangkaian
4. Listing Program
5. Flowchart
6. Video Simulasi
7. Link Download
4. Listing Program
5. Flowchart
6. Video Simulasi
7. Link Download
LCD
1. Pendahuluan
Assalamuallaikum wr.wb. pengunjung sekalian...
Materi yang saya posting kali ini merupakan materi mata kuliah Mikroprosesor dan Mikrokontroller jurusan Teknik Elektro , Universitas Andalas. TP 2017/2018. Dengan dosen pembimbingnya adalah bapak Darwison M.T.2. Dasar Teori
1.LCD
Display elektronik adalah salah satu komponen elektronika yang berfungsi sebagai tampilan suatu data, baik karakter, huruf ataupun grafik. LCD (Liquid Cristal Display)
adalah salah satu jenis display elektronik yang dibuat dengan teknologi
CMOS logic yang bekerja dengan tidak menghasilkan cahaya tetapi
memantulkan cahaya yang ada di sekelilingnya terhadap front-lit atau
mentransmisikan cahaya dari back-lit. LCD (Liquid Cristal Display) berfungsi sebagai penampil data baik dalam bentuk karakter, huruf, angka ataupun grafik.
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 sebagai sebuah perintah atau instruksi khusus (seperti bersihkan layar, posisi kursor dll). Ketika RS dalam kondisi high atau “1”, data yang dikirimkan adalah data ASCII yang akan ditampilkan dilayar. Misal, untuk menampilkan huruf “A” 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), DB0, DB1, DB2, DB3, DB4, DB5, DB6 dan DB7. Mengirim data secara parallel baik 4-bit atau 8-bit merupakan 2 mode operasi primer. Untuk membuat 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-bit (3 pin untuk kontrol, 4 pin untuk data). Bit RS digunakan untuk memilih apakah data atau instruksi yang akan ditransfer antara mikrokontroller 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), merupakan instruksi yang dikirim ke LCD atau status eksekusi dari instruksi terakhir yang dibaca.
Pengendali / Kontroler LCD (Liquid Cristal Display
Dalam modul LCD (Liquid Cristal Display) terdapat microcontroller yang berfungsi sebagai pengendali tampilan karakter LCD (Liquid Cristal Display). Microntroller pada suatu LCD (Liquid Cristal Display) dilengkapi dengan memori dan register. Memori yang digunakan microcontroler internal LCD adalah
DDRAM (Display Data Random Access Memory) merupakan memori tempat karakter yang akan ditampilkan berada.
CGRAM (Character Generator Random Access Memory) merupakan
memori untuk menggambarkan pola sebuah karakter dimana bentuk dari
karakter dapat diubah-ubah sesuai dengan keinginan.
CGROM (Character Generator Read Only Memory) merupakan
memori untuk menggambarkan pola sebuah karakter dimana pola tersebut
merupakan karakter dasar yang sudah ditentukan secara permanen oleh
pabrikan pembuat LCD (Liquid Cristal Display)
tersebut sehingga pengguna tinggal mangambilnya sesuai alamat memorinya
dan tidak dapat merubah karakter dasar yang ada dalam CGROM.
Register control yang terdapat dalam suatu LCD diantaranya adalah.
Register perintah yaitu register yang berisi perintah-perintah dari mikrokontroler ke panel LCD (Liquid Cristal Display) pada saat proses penulisan data atau tempat status dari panel LCD (Liquid Cristal Display) dapat dibaca pada saat pembacaan data.
Register data yaitu
register untuk menuliskan atau membaca data dari atau keDDRAM.
Penulisan data pada register akan menempatkan data tersebut keDDRAM
sesuai dengan alamat yang telah diatur sebelumnya.
Pin, kaki atau jalur input dan kontrol dalam suatu LCD (Liquid Cristal Display) diantaranya adalah :
Pin data adalah jalur untuk memberikan data karakter yang ingin ditampilkan menggunakan LCD (Liquid Cristal Display) dapat dihubungkan dengan bus data dari rangkaian lain seperti mikrokontroler dengan lebar data 8 bit.
Pin RS (Register Select) berfungsi
sebagai indikator atau yang menentukan jenis data yang masuk, apakah
data atau perintah. Logika low menunjukan yang masuk adalah perintah,
sedangkan logika high menunjukan data.
Pin R/W (Read Write) berfungsi sebagai instruksi pada modul jika low tulis data, sedangkan high baca data.
Pin E (Enable) digunakan untuk memegang data baik masuk atau keluar.
Pin VLCD berfungsi
mengatur kecerahan tampilan (kontras) dimana pin ini dihubungkan dengan
trimpot 5 Kohm, jika tidak digunakan dihubungkan ke ground, sedangkan
tegangan catu daya ke LCD sebesar 5 Volt.
1.2 Fitur LCD 16x2
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 4-bit dan 8-bit.
e. Dilengkapi dengan back light.
Spesifikasi Kaki LCD 16 x 2
Pin Deskripsi
1 Ground
2 Vcc
3 Pengatur kontras
4 “RS” Instruction/Register Select
5 “R/W” Read/Write LCD Registers
6 “EN” Enable
7-14 Data I/O Pins
15 Vcc
16 Ground
Prinsip Kerja LCD
Pada
aplikasi umumnya RW diberi logika rendah “0”. Bus data terdiri dari
4-bit atau 8-bit. Jika jalur data 4-bit maka yang digunakan ialah DB4
sampai dengan DB7. 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-bit 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 EN
digunakan untuk memberitahu LCD bahwa mikrokontroller mengirimkan data
ke LCD. Untuk mengirim data 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 sebagai sebuah perintah atau instruksi khusus (seperti bersihkan layar, posisi kursor dll). Ketika RS dalam kondisi high atau “1”, data yang dikirimkan adalah data ASCII yang akan ditampilkan dilayar. Misal, untuk menampilkan huruf “A” 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), DB0, DB1, DB2, DB3, DB4, DB5, DB6 dan DB7. Mengirim data secara parallel baik 4-bit atau 8-bit merupakan 2 mode operasi primer. Untuk membuat 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-bit (3 pin untuk kontrol, 4 pin untuk data). Bit RS digunakan untuk memilih apakah data atau instruksi yang akan ditransfer antara mikrokontroller 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), merupakan instruksi yang dikirim ke LCD atau status eksekusi dari instruksi terakhir yang dibaca.
2. MCS51
Mikrokontroler tipe AT89S51 merupakan mikrokontroler keluarga
MCS-51 dengan konfigurasi yang sama persis dengan AT89C51 yang cukup
terkenal, hanya saja AT89S51 mempunyai fitur ISP (In-System Programmable
Flash Memory). Fitur ini memungkinkan mikrokontroler dapat diprogram
langsung dalam suatu sistem elektronik tanpa melalui Programmer Board
atau Downloader Board.Personal Computer. Mikrokontroler dapat diprogram
langsung melalui kabel ISP yang dihubungkan dengan paralel port pada
suatu pada suatu Personal Computer. Mikrokontroler tipe AT89S51
merupakan mikrokontroler keluarga MCS-51 dengan konfigurasi yang sama
persis dengan AT89C51 yang cukup terkenal, hanya saja AT89S51 mempunyai
fitur ISP (In-System Programmable Flash Memory)
3. Rangkaian
Pada rangkaian telah diprogram untuk menampilkan tulisan Hello World pada LCD
4. Flowchart
5. Listing Program
1 #include <REGX51.H>
2 #include <string.h>
3 #include <stdio.h>
4
5 sfr LCD=0xa0; //alamat LCD
6 sbit EN= P3^6; //inisiasi port p3.6 sbg en
7 sbit RS= P3^0; //inisiasi port p3.7 sbg rs
8
9 void nop(void); //delay 450ns
10 void delay_1s(unsigned char t); //delay 1 s
11 void initial_lcd(void);
12 void delay(void); //delay
13 void string_to_lcd(unsigned char *s);
14
15 void write_lcd(unsigned char dat,unsigned int com);
16 void delay_50ms(unsigned char x); //delay
17
18 void main()
19 {
20 1
21 1 P0=0xff;
22 1 P1=0xff;
23 1 P3=0xff;
24 1 delay_50ms(4);
25 1 initial_lcd();
26 1 write_lcd(0x80,0);
27 1 string_to_lcd(" WELCOME TO ");
28 1 write_lcd(0xc0,0);
29 1 string_to_lcd("INNOVATE ENG SOL");
30 1
31 1 }
32
33 void nop(void)
34 {
35 1
36 1 unsigned char n;
37 1 for(n=0;n<20;n++);
38 1
39 1 }
Tidak ada komentar:
Posting Komentar