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.
Daftar Isi 1
Pendahuluan............................................................................................. 1.1. Spesifikasi.................................................................................................... 1.2. Alamat DDRAM Varian SPC LOW COST SERIAL LCD/OLED.......... 1.3. Sistem yang Dianjurkan............................................................................
3 3 3 3
2
Perangkat Keras....................................................................................... 2.1. Tata Letak Komponen............................................................................... 2.2. Konektor dan Pengaturan Jumper..........................................................
4 4 4
3
Antarmuka................................................................................................ 3.1 Antarmuka UART........................................................................................ 3.2 Command Set.............................................................................................. 3.2.1 Set LCD Control.......................................................................................... 3.2.2 Locate........................................................................................................... 3.2.3 Write Data.................................................................................................. 3.2.4 Read Address/Data.................................................................................. 3.2.5 Clear LCD.................................................................................................... 3.2.6 Change Line................................................................................................. 3.2.7 Text Slot....................................................................................................... 3.2.8 LCD/Buzzer Setting...................................................................................
5 5 6 6 7 7 8 9 9 9 10
4
Prosedur Pengujian..................................................................................
11
5
Contoh Aplikasi dan Program..................................................................
11
Lampiran A.
Skematik SPC LOW COST SERIAL LCD/OLED....................................
2
12
1.
PENDAHULUAN Smart 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
SPESIFIKASI Spesifikasi 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 8x2 00H………….07H 40H………….47H
16 x 2 ………0FH ………4FH
20 x 2 ………13H ………53H
24 x 2 ………17H ………57H
40 x 2 ………27H ………67H
20 x 4 00H………….………………………………13H 40H………….………………………………53H 14H………….………………………………27H 54H………….………………………………67H 1.3.
SISTEM YANG DIANJURKAN Sistem 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
2.
PERANGKAT KERAS
2.1.
TATA LETAK KOMPONEN
2.2.
KONEKTOR DAN PENGATURAN JUMPER Konektor VIN (J1) berfungsi sebagai konektor untuk catu daya modul. Catu daya yang masuk akan terhubung ke regulator tegangan. Konektor J1
Pin 1 2
Nama Fungsi GND Titik referensi ground untuk catu daya input 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 3,3 VDC
(jumper terpasang)
5 VDC (jumper dilepas) 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. J4 tampak depan Pin 2 3 4 5
Nama NC COM TX RX
Fungsi Tidak terhubung kemana-mana Titik referensi ground Jalur data keluar dari modul Jalur data masuk ke modul
5 4 3 2
RX GND TX
4
Konektor UART TTL (J8) berfungsi sebagai konektor untuk antarmuka UART TTL. Pin 1 2 3
Nama GND TX-TTL RX-TTL
Fungsi Titik referensi ground Jalur data keluar dari modul 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
3 2 1 J7 J6
UART TTL 3 2 1
J7 J6
UART RS-232
Konektor LCD PORT (J5) berfungsi sebagai konektor untuk menghubungkan modul SPC dengan modul LCD/OLED. Pin 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Nama DGND VCC VR RS R/W E D0 D1 D2 D3 D4 D5 D6 D7 VCC BLK
Fungsi Titik referensi ground Tegangan output (3,3V atau 5V) untuk modul LCD/OLED Pengatur kontras LCD Register Select Read/Write Selector Start data read/write Data pin 0 Data pin 1 Data pin 2 Data pin 3 Data pin 4 Data pin 5 Data pin 6 Data pin 7 Tegangan output (3,3V atau 5V) untuk backlight LCD Titik referensi ground untuk backlight LCD
3.
ANTARMUKA SPC LOW COST SERIAL LCD/OLED memiliki antarmuka UART TTL dan UART RS232 yang dapat digunakan untuk menerima perintah atau mengirim data.
3.1.
ANTARMUKA UART Parameter komunikasi UART adalah sebagai berikut: • 38400 bps • Tanpa bit parity • 8 bit data • Tanpa flow control • 1 bit stop 5
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
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 SET Berikut ini daftar lengkap perintah-perintah dalam antarmuka UART.
3.2.1. SET LCD CONTROL Fungsi Mengatur fungsi LCD/OLED Perintah 0x08 Parameter < control > berisi 1 byte data control untuk mengatur tampilan LCD/OLED, dengan susunan bit: MSB BL
LSB 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 Shift D/C = 0 : Cursor Shift (default) L R = 00 : No Display Shift (default) L R = 01 : Display Shift to Right L R = 10 : Display Shift to Left L 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
Respon Keterangan
Blk = 1 : Blink On (default) Blk = 0 : Blink Off ● 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
:
3.2.2. LOCATE Fungsi Perintah Parameter
0x08 0x8F Mengatur posisi kursor di layar, DDRAM, atau CGRAM 0x09 < 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 ● Untuk mengetahui alamat DDRAM dan CGRAM yang diperbolehkan, dapat dilihat di datasheet HD44780 atau datasheet LCD/OLED yang digunakan.
Respon Keterangan
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 3.2.3. WRITE DATA Fungsi Perintah Parameter
:
0x09 0x01 0x05 0x00 Menulis data ke DDRAM atau CGRAM 0x0A < 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 ● Setelah perintah ini selesai dilakukan, maka posisi kursor DDRAM/CGRAM secara otomatis akan di-increment.
Respon Keterangan
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 00001111 00001001 00001001 00001111 00000000 00000000 00000000
User
:
= = = = = = = =
0x00 0x0F 0x09 0x09 0x0F 0x00 0x00 0x00
0x09 0x03 0x00 0x00 //perintah Locate CGRAM 0x0A 0x02 0x00 0x0A 0x02 0x0F 0x0A 0x02 0x09 0x0A 0x02 0x09 0x0A 0x02 0x0F 0x0A 0x02 0x00 0x0A 0x02 0x00 0x0A 0x02 0x00
3.2.4. READ ADDRESS/DATA Fungsi Membaca data/alamat pada DDRAM/CGRAM, membaca tipe LCD/OLED Perintah 0x0B Parameter < 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)
Respon Keterangan
5 = Read LCD type (untuk membaca tipe LCD/OLED yang tersimpan di EEPROM) < result > berisi data atau alamat yang diminta -
Contoh bila ingin mengetahui alamat DDRAM tempat kursor berada sekarang. 8
User SPC
: :
3.2.5. CLEAR LCD Fungsi Perintah Parameter Respon Keterangan
0x0B 0x01 < result > Menghapus tampilan layar LCD/OLED 0x0C ● 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
:
3.2.6. CHANGE LINE Fungsi Perintah Parameter Respon Keterangan
0x0C Memindah baris kursor 0x0D ● 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 3.2.7. TEXT SLOT Fungsi Perintah Parameter
:
0x0D Menyimpan/menampilkan serangkaian teks 0x0E < tipe > parameter tipe dapat diisi dengan: 1 = Write data to slot (untuk menyimpan teks di slot) 2 = Read data from slot (untuk menampilkan teks LCD/OLED)
yang
tersimpan
slot
ke
< slotNum > parameter slotNum dapat diisi dengan data byte dengan nilai 0 sampai dengan 7 sesuai dengan nomor text slot yang diinginkan
Respon
< textData > parameter textData berisi teks yang akan disimpan -
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 0x20 0x33 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 SETTING Fungsi Menentukan tipe LCD/OLED dan mengendalikan buzzer Perintah 0x0F Parameter < command > parameter command dapat diisi dengan: 0 = tipe LCD 8 x 2 1 = tipe LCD 16 x 2 (default) 2 = tipe LCD 20 x 2 3 = tipe LCD 20 x 2 Large 4 = tipe LCD 20 x 4 5 = tipe LCD 24 x 2 6 = tipe LCD 40 x 2 7 = mematikan buzzer 8 = 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 PENGUJIAN 1. 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 PROGRAM Sebagai 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: VIN (6,5V – 12V)
SPC LOW COST SERIAL LCD/OLED
TXTTL
RX (PORTD.0)
RXTTL
TX (PORTD.1)
DT-AVR LCMS
COM (Ground) GND (Ground)
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
LAMPIRAN A. Skematik SPC LOW COST SERIAL LCD/OLED
12