mart P C Low Cost Serial LCD/OLED - Innovative...

12
Smart Peripheral Controller Low Cost Serial LCD/OLED Trademarks & Copyright AT, IBM, and PC are trademarks of International Business Machines Corp. Pentium is a registered trademark of Intel Corporation. Hyper Terminal is copyright by Hilgraeve Inc. CodeVisionAVR is copyright by Pavel Haiduc, HP InfoTech s.r.l.

Transcript of mart P C Low Cost Serial LCD/OLED - Innovative...

Smart Peripheral Controller

Low Cost Serial LCD/OLED

Trademarks & CopyrightAT, IBM, and PC are trademarks of International Business Machines Corp.Pentium is a registered trademark of Intel Corporation.Hyper Terminal is copyright by Hilgraeve Inc.CodeVisionAVR is copyright by Pavel Haiduc, HP InfoTech s.r.l.

Daftar Isi

1 Pendahuluan............................................................................................. 31.1. Spesifikasi.................................................................................................... 31.2. Alamat DDRAM Varian SPC LOW COST SERIAL LCD/OLED.......... 31.3. Sistem yang Dianjurkan............................................................................ 3

2 Perangkat Keras....................................................................................... 42.1. Tata Letak Komponen............................................................................... 42.2. Konektor dan Pengaturan Jumper.......................................................... 4

3 Antarmuka................................................................................................ 53.1 Antarmuka UART........................................................................................ 53.2 Command Set.............................................................................................. 63.2.1 Set LCD Control.......................................................................................... 63.2.2 Locate........................................................................................................... 73.2.3 Write Data.................................................................................................. 73.2.4 Read Address/Data.................................................................................. 83.2.5 Clear LCD.................................................................................................... 93.2.6 Change Line................................................................................................. 93.2.7 Text Slot....................................................................................................... 93.2.8 LCD/Buzzer Setting................................................................................... 10

4 Prosedur Pengujian.................................................................................. 11

5 Contoh Aplikasi dan Program.................................................................. 11

LampiranA. Skematik SPC LOW COST SERIAL LCD/OLED.................................... 12

2

1. PENDAHULUANSmart Peripheral Controller (SPC) LOW COST SERIAL LCD/OLED merupakan sebuah modul pengendali CHARACTER LCD/OLED yang mendukung jalur antarmuka UART level TTL dan RS-232 sehingga dapat lebih menghemat dan mempermudah pengkabelan. Contoh aplikasi dari SPC LOW COST SERIAL LCD/OLED adalah untuk character monitor, display, penampil counter, penampil waktu, dan lain-lain.

1.1 SPESIFIKASISpesifikasi SPC LOW COST SERIAL LCD/OLED sebagai berikut:• Sumber catu daya modul menggunakan tegangan 6,5 – 12 Volt.• Dilengkapi dengan regulator tegangan 3,3 Volt atau 5 Volt.• Dilengkapi UART TTL atau RS-232.• Dilengkapi dengan buzzer yang dapat dikendalikan melalui UART• Memiliki kemampuan menyalakan/mematikan backlight melalui UART.• Kompatibel sampai dengan LCD Module 40 x 2 yang menggunakan driver

yang kompatibel dengan HD44780.• Kompatibel dengan modul display OLED.• Varian LCD/OLED Module yang didukung SPC LOW COST SERIAL

LCD/OLED:- LCD 8 x 2 , tanpa backlight- LCD 16 x 2 , dengan backlight- LCD 20 x 2 , dengan backlight- LCD 20 x 2 Large , dengan backlight- LCD 20 x 4 , dengan backlight- LCD 24 x 2 , dengan backlight- LCD 40 x 2 , dengan backlight

1.2 ALAMAT DDRAM VARIAN SPC LOW COST SERIAL LCD/OLED

1.3. SISTEM YANG DIANJURKANSistem yang dianjurkan untuk penggunaan SPC LOW COST SERIAL LCD/OLED adalah:Perangkat keras : • PC™ AT™ Pentium® IBM™ Compatible.• DVD-ROM Drive dan Hard disk.

Perangkat lunak : • File-file yang ada pada pada CD/DVD program:

Datasheet, contoh_uart.c, dan Manual SPC LOW COST SERIAL LCD/OLED.

3

8 x 200H………….07H40H………….47H

16 x 2………0FH………4FH

20 x 2………13H………53H

24 x 2………17H………57H

40 x 2………27H………67H

20 x 400H………….………………………………13H40H………….………………………………53H14H………….………………………………27H54H………….………………………………67H

2. PERANGKAT KERAS

2.1. TATA LETAK KOMPONEN

2.2. KONEKTOR DAN PENGATURAN JUMPERKonektor VIN (J1) berfungsi sebagai konektor untuk catu daya modul. Catu daya yang masuk akan terhubung ke regulator tegangan.

Konektor Pin Nama Fungsi

J1 1 GND Titik referensi ground untuk catu daya input2 6.5-12VDC Terhubung ke catu daya (6,5 – 12 VDC)

Jumper REG SLCT (J2) berfungsi untuk memilih nilai tegangan yang keluar dari regulator tegangan yang ada pada SPC LOW COST SERIAL LCD/OLED.

Jumper REG SLCT (J2) Nilai Tegangan Output

(jumper terpasang)3,3 VDC

(jumper dilepas)5 VDC

LED PWR (D4) adalah LED indikator adanya catu daya masuk.

Variable Resistor R16 dapat diputar untuk mengatur kontras LCD.

Konektor RJ11 UART RS232 (J4) berfungsi sebagai konektor untuk antarmuka UART RS-232.

Pin Nama Fungsi2 NC Tidak terhubung kemana-mana3 COM Titik referensi ground4 TX Jalur data keluar dari modul5 RX Jalur data masuk ke modul

4

TX

5 4 3 2

J4 tampak depan

GNDRX

Konektor UART TTL (J8) berfungsi sebagai konektor untuk antarmuka UART TTL.

Pin Nama Fungsi1 GND Titik referensi ground2 TX-TTL Jalur data keluar dari modul3 RX-TTL Jalur data masuk ke modul

Jumper RX-JMP (J6) dan TX-JMP (J7) berfungsi untuk memilih level tegangan antarmuka UART yang digunakan oleh SPC LOW COST SERIAL LCD/OLED.

Jumper RX-JMP dan TX-JMP Level Tegangan UART

UART TTL

UART RS-232

Konektor LCD PORT (J5) berfungsi sebagai konektor untuk menghubungkan modul SPC dengan modul LCD/OLED.

Pin Nama Fungsi1 DGND Titik referensi ground2 VCC Tegangan output (3,3V atau 5V) untuk modul LCD/OLED3 VR Pengatur kontras LCD4 RS Register Select5 R/W Read/Write Selector6 E Start data read/write7 D0 Data pin 08 D1 Data pin 19 D2 Data pin 2

10 D3 Data pin 311 D4 Data pin 412 D5 Data pin 513 D6 Data pin 614 D7 Data pin 715 VCC Tegangan output (3,3V atau 5V) untuk backlight LCD16 BLK Titik referensi ground untuk backlight LCD

3. ANTARMUKASPC LOW COST SERIAL LCD/OLED memiliki antarmuka UART TTL dan UART RS232 yang dapat digunakan untuk menerima perintah atau mengirim data.

3.1. ANTARMUKA UARTParameter komunikasi UART adalah sebagai berikut:

• 38400 bps • Tanpa bit parity• 8 bit data • Tanpa flow control• 1 bit stop

5

3 2 1J7J6

3 2 1J7J6

Setiap data yang masuk melalui UART akan ditampilkan pada layar LCD/OLED sesuai dengan tabel Character Generator ROM pattern pada manual LCD/OLED, kecuali character perintah dan parameternya.

Semua perintah yang dikirim melalui antarmuka UART dimulai dengan mengirim 1 byte data yang berisi <perintah> dan (jika diperlukan) n-byte data parameter perintah.

Jika perintah yang telah dikirimkan merupakan perintah yang meminta data dari modul SPC LOW COST SERIAL LCD/OLED, maka SPC LOW COST SERIAL LCD/OLED akan mengirimkan data melalui jalur TX.

Pengiriman/pembacaan sebuah data parameter/respon yang lebih besar dari 255 dikirim secara dua tahap. Satu byte data MSB dikirim/dibaca lebih dahulu kemudian diikuti dengan data LSB.

Perintah dan parameternya yang bisa digunakan dapat dilihat pada Bagian 3.2.

3.2. COMMAND SETBerikut ini daftar lengkap perintah-perintah dalam antarmuka UART.

3.2.1. SET LCD CONTROLFungsi Mengatur fungsi LCD/OLEDPerintah 0x08Parameter < control >

berisi 1 byte data control untuk mengatur tampilan LCD/OLED, dengan susunan bit:

MSB LSBBL D/C L R Dir Dis Cur Blk

Fungsi masing-masing bit:

BL = 1 : Backlight On (default)BL = 0 : Backlight Off

D/C = 1 : Display ShiftD/C = 0 : Cursor Shift (default)

L R = 00 : No Display Shift (default)L R = 01 : Display Shift to RightL R = 10 : Display Shift to LeftL R = 11 : No Display Shift

Dir = 1 : Cursor Increment (default)Dir = 0 : Cursor Decrement

Dis = 1 : Display On (default)Dis = 0 : Display Off

Cur = 1 : Cursor On (default)Cur = 0 : Cursor Off

Blk = 1 : Blink On (default)Blk = 0 : Blink Off

Respon -Keterangan ● Pada saat modul SPC baru dinyalakan, mengalami reset,

atau setelah perintah LCD Setting, maka control akan berada pada posisi default.

6

Contoh bila ingin menyalakan backlight, display, cursor, dan blinking serta arah cursor increment (ke kanan) dan no display/cursor shift, maka control bernilai 0x8F.

User : 0x08 0x8F

3.2.2. LOCATEFungsi Mengatur posisi kursor di layar, DDRAM, atau CGRAMPerintah 0x09Parameter < tipe >

parameter tipe dapat diisi dengan:

1 = Locate LCD (untuk mengatur posisi kursor pada layar LCD/OLED)

2 = Locate DDRAM (untuk mengatur posisi kursor pada DDRAM)

3 = Locate CGRAM (untuk mengatur posisi kursor pada CGRAM)

< kolom >parameter kolom dapat diisi dengan posisi kolom yang diinginkan (posisi paling kiri adalah kolom ke-0) untuk Locate LCD atau dapat diisi dengan alamat DDRAM/CGRAM yang diinginkan untuk Locate DDRAM/Locate CGRAM

< baris >parameter baris dapat diisi dengan posisi baris yang diinginkan (posisi paling atas adalah baris ke-0) untuk Locate LCD atau harus diisi dengan 0 untuk Locate DDRAM/Locate CGRAM

Respon -Keterangan ● Untuk mengetahui alamat DDRAM dan CGRAM yang

diperbolehkan, dapat dilihat di datasheet HD44780 atau datasheet LCD/OLED yang digunakan.

Contoh bila ingin mengatur posisi kursor agar berada pada kolom ke-5 baris ke-0, maka setelah mengirimkan perintah Locate LCD, diikuti dengan data kolom bernilai “0x05” kemudian data baris bernilai “0x00”.

User : 0x09 0x01 0x05 0x00

3.2.3. WRITE DATAFungsi Menulis data ke DDRAM atau CGRAMPerintah 0x0AParameter < tipe >

parameter tipe dapat diisi dengan:

1 = Write Data to DDRAM (untuk menulis data ke DDRAM sesuai dengan alamat yang ditunjuk oleh kursor DDRAM)

2 = Write Data to CGRAM (untuk menulis data ke CGRAM sesuai dengan alamat yang ditunjuk oleh kursor CGRAM)

7

< data >parameter data dapat diisi dengan 1 byte data yang ingin dituliskan

Respon -Keterangan ● Setelah perintah ini selesai dilakukan, maka posisi kursor

DDRAM/CGRAM secara otomatis akan di-increment.

Contoh bila ingin membuat karakter baru berupa simbol derajat (°) dan akan diakses melalui alamat DDRAM 0x00, maka yang harus dilakukan pertama kali adalah melakukan perintah LOCATE CGRAM ke alamat 0x00. Setelah itu menyimpan bentuk simbol derajat (°) pada memori CGRAM tersebut.

Misalkan simbol derajat (°) dibuat dengan bentuk data berikut:00000000 = 0x0000001111 = 0x0F00001001 = 0x0900001001 = 0x0900001111 = 0x0F00000000 = 0x0000000000 = 0x0000000000 = 0x00

User : 0x09 0x03 0x00 0x00 //perintah Locate CGRAM0x0A 0x02 0x000x0A 0x02 0x0F0x0A 0x02 0x090x0A 0x02 0x090x0A 0x02 0x0F0x0A 0x02 0x000x0A 0x02 0x000x0A 0x02 0x00

3.2.4. READ ADDRESS/DATAFungsi Membaca data/alamat pada DDRAM/CGRAM, membaca

tipe LCD/OLEDPerintah 0x0BParameter < tipe >

parameter tipe dapat diisi dengan:

1 = Read data from DDRAM(untuk membaca data yang ditunjuk oleh kursor DDRAM)

2 = Read data from CGRAM(untuk membaca data yang ditunjuk oleh kursor CGRAM)

3 = Read DDRAM address(untuk membaca alamat kursor DDRAM)

4 = Read CGRAM address(untuk membaca alamat kursor CGRAM)

5 = Read LCD type(untuk membaca tipe LCD/OLED yang tersimpan di EEPROM)

Respon < result >berisi data atau alamat yang diminta

Keterangan -

Contoh bila ingin mengetahui alamat DDRAM tempat kursor berada sekarang.8

User : 0x0B 0x01SPC : < result >

3.2.5. CLEAR LCDFungsi Menghapus tampilan layar LCD/OLEDPerintah 0x0CParameter -Respon -Keterangan ● Bila perintah ini dikirimkan, maka tampilan LCD/OLED

akan kembali bersih dan kursor DDRAM akan kembali ke posisi 0x00.

Contoh bila ingin membersihkan tampilan LCD/OLED.

User : 0x0C

3.2.6. CHANGE LINEFungsi Memindah baris kursorPerintah 0x0DParameter -Respon -Keterangan ● Bila perintah ini dikirimkan, maka kursor LCD/OLED akan

berpindah ke baris berikutnya dan posisi kolom akan berada di kolom ke-0.

● Jika kursor sudah berada pada baris paling bawah, maka kursor akan kembali ke baris ke-0.

● Pastikan bahwa tipe LCD/OLED sudah ditentukan sesuai dengan jenis LCD/OLED yang digunakan agar perintah ini dapat berfungsi dengan semestinya.

Contoh bila ingin agar posisi kursor LCD/OLED berpindah ke baris berikutnya.

User : 0x0D

3.2.7. TEXT SLOTFungsi Menyimpan/menampilkan serangkaian teksPerintah 0x0EParameter < tipe >

parameter tipe dapat diisi dengan:

1 = Write data to slot(untuk menyimpan teks di slot)

2 = Read data from slot (untuk menampilkan teks yang tersimpan slot ke LCD/OLED)

< slotNum >parameter slotNum dapat diisi dengan data byte dengan nilai 0 sampai dengan 7 sesuai dengan nomor text slot yang diinginkan

< textData >parameter textData berisi teks yang akan disimpan

Respon -

9

Keterangan ● Parameter textData diperlukan untuk perintah “Write data to slot”. Sedangkan untuk perintah “Read data from slot” tidak diperlukan/tidak boleh dikirimkan.

● Maksimal ada 8 text slot yang masing-masing mampu menyimpan maksimal 16 karakter, kecuali text slot ke-7 yang memiliki panjang teks maksimal 15 karakter.

● Untuk text slot ke-7, karakter ke-16 selalu berisi karakter spasi.

● Perintah “Read data from slot” akan menampilkan teks dimulai pada posisi kursor sekarang.

● Jika panjang teks yang ingin disimpan pada sebuah slot kurang dari 16 karakter, maka parameter textData dapat ditambah dengan data “0x0E” (bilangan desimal 14) sebagai penanda akhir teks.

● Teks yang tersimpan di text slot akan disimpan di EEPROM sehingga tidak akan hilang jika catu daya modul SPC dimatikan.

Contoh bila ingin menyimpan text “0 1 2 3456 7 8 9“ pada text slot ke-0.

User : 0x0E 0x01 0x00 0x30 0x20 0x31 0x20 0x32 0x200x33 0x34 0x35 0x36 0x20 0x37 0x38 0x39

Contoh bila ingin menyimpan text “ABCDE“ pada text slot ke-1.

User : 0x0E 0x01 0x01 0x41 0x42 0x43 0x44 0x45 0x0E

Contoh bila ingin menampilkan text pada text slot ke-1 ke LCD/OLED.

User : 0x0E 0x02 0x01

3.2.8. LCD/BUZZER SETTINGFungsi Menentukan tipe LCD/OLED dan mengendalikan buzzerPerintah 0x0FParameter < command >

parameter command dapat diisi dengan:

0 = tipe LCD 8 x 21 = tipe LCD 16 x 2 (default)2 = tipe LCD 20 x 23 = tipe LCD 20 x 2 Large4 = tipe LCD 20 x 45 = tipe LCD 24 x 26 = tipe LCD 40 x 2

7 = mematikan buzzer8 = menyalakan buzzer

Respon -Keterangan ● Pilihan tipe LCD/OLED akan disimpan di EEPROM

sehingga tidak akan hilang jika catu daya modul SPC dimatikan.

● Pilihan buzzer tidak disimpan di EEPROM, sehingga buzzer akan mati saat modul SPC baru dinyalakan, mengalami reset, atau setelah perintah LCD Setting.

Contoh bila ingin mengatur agar modul SPC menggunakan LCD/OLED tipe 16 x 2.

User : 0x3F 0x01

10

4. PROSEDUR PENGUJIAN1. Hubungkan LCD/OLED ke modul SPC LOW COST SERIAL LCD/OLED

melalui konektor LCD (J5).2. Atur jumper REG SLCT (J2) agar sesuai dengan tegangan LCD/OLED (3,3 /

5 V).3. Hubungkan sumber catu daya 9 Volt ke modul SPC LOW COST SERIAL

LCD/OLED.4. LED indikator power akan menyala.5. Buzzer akan berbunyi selama kurang lebih 200 ms.6. Bila LCD dilengkapi backlight, maka backlight akan menyala.7. Kursor LCD/OLED akan tampil dan berkedip pada baris ke-0 kolom ke-0

(pojok kiri atas) yang menandakan bahwa inisialisasi LCD/OLED telah berhasil.

8. Jika diperlukan, atur VR pengatur kontras LCD agar tampilan kursor jelas.9. Hubungkan modul SPC LOW COST SERIAL LCD/OLED ke port serial PC

melalui konektor RJ11 (J4).10. Atur jumper RX-JMP dan TX-JMP (J6 dan J7) agar level UART yang

digunakan adalah RS-232.11. Jalankan software komunikasi serial pada PC (misalkan Hyper Terminal©)

dan atur baudrate dan parameter komunikasi lainnya agar sesuai dengan modul SPC LOW COST SERIAL LCD/OLED.

12. Ketikkan karakter yang ingin ditampilkan di LCD/OLED melalui software tersebut.

5. CONTOH APLIKASI DAN PROGRAMSebagai contoh aplikasi, misalkan modul DT-AVR Low Cost Micro System (LCMS) digunakan sebagai master untuk menampilkan pesan pada modul SPC LOW COST SERIAL LCD/OLED dengan antarmuka UART-TTL. Berikut koneksi antara modul-modul yang digunakan:

Sebagai contoh program untuk aplikasi di atas, pada CD/DVD yang disertakan, terdapat program contoh_uart.c yang ditulis dengan menggunakan CodeVisionAVR© 2.03.9 versi evaluasi.

Pada program tersebut, DT-AVR LCMS akan mengirimkan perintah Clear LCD, menampilkan tulisan “SELAMAT DATANG”, dan membunyikan buzzer. Setelah 2 detik, layar akan kembali dibersihkan. Perintah Locate LCD dikirimkan sebelum DT-AVR LCMS menuliskan pesan “Innovative” dan “Electronics” secara bertahap sambil membunyikan buzzer. Setelah seluruh pesan dikirimkan, maka backlight akan dikedipkan 2 kali.

♦ Terima Kasih atas kepercayaan Anda menggunakan produk kami, bila ada kesulitan, pertanyaan, atau saran mengenai produk ini silahkan menghubungi technical support kami :

[email protected]

11

DT-AVRLCMS

TXTTL RX (PORTD.0)

RXTTL TX (PORTD.1)

VIN (6,5V – 12V)

GND (Ground)

COM (Ground)

SPC LOW COST SERIAL LCD/OLED

LAMPIRAN A.Skematik SPC LOW COST SERIAL LCD/OLED

12