Sumber:http://www.nubielab.com
A. NGOBROL DIKIT DULU GAN..
Pada perancangan alat elektronika berbasis mikrokontroler kadang dibutuhkan HMI (Human to Machine Interface) berupa display dan yang sangat lazim digunakan salah satunya adalah dengan menggunakan LCD.
Pada alat elektronika portable atau peralatan elektronika dengan sistem kecil LCD yang digunakan kebanyakan adalah jenis LCD yang berbasis HD44780 Controller. Jenis LCD ini banyak digunakan karena harganya murah dan dimensi yang cukup kecil sehingga sangat pas digunakan untuk aplikasi elektronika portable (battery powered) atau sistem dengan lingkup kecil. LCD jenis ini hanya bisa menampilkan text / character dalam koridor ASCII (American Standard Code for Information Interchange) yang terdiri dari angka simbol dan huruf Alphabetic.
Pada perancangan alat elektronika berbasis mikrokontroler kadang dibutuhkan HMI (Human to Machine Interface) berupa display dan yang sangat lazim digunakan salah satunya adalah dengan menggunakan LCD.
Pada alat elektronika portable atau peralatan elektronika dengan sistem kecil LCD yang digunakan kebanyakan adalah jenis LCD yang berbasis HD44780 Controller. Jenis LCD ini banyak digunakan karena harganya murah dan dimensi yang cukup kecil sehingga sangat pas digunakan untuk aplikasi elektronika portable (battery powered) atau sistem dengan lingkup kecil. LCD jenis ini hanya bisa menampilkan text / character dalam koridor ASCII (American Standard Code for Information Interchange) yang terdiri dari angka simbol dan huruf Alphabetic.
Tetapi LCD dengan basis HD44780 controller juga bisa menampilkan custom character dengan memanfaatkan CG RAM internal pada controller tersebut. CG RAM bisa ditulisi dengan perintah khusus yang dikontrol oleh mikrokontroler host (mikrokontroler aplikasi).
Untuk memudahkan pemrograman dan mempersingkat development time, designer bisa menggunakan library untuk LCD HD44780 yang sangat banyak tersedia di Internet dan juga kadang dalam beberapa jenis compiler default menyediakan library tersebut. Dengan menggunakan Library LCD HD44780, designer hanya perlu memanggil fungsi2 yang tersedia pada library tersebut misal fungsi untuk menulis karakter ke LCD, fungsi untuk menghapus karakter yang tertampil pada LCD, fungsi untuk meletakkan kursor pada posisi baris dan kolom tertentu pada LCD dll tanpa harus menulis program sampai pada komunikasi IO antara mikrokontroler host dan controller LCD.
B. INTI TOPIK 
Nubielab (www.nubielab.com) mencoba untuk menawarkan library LCD HD44780 dengan konsep yang sedikit berbeda dan dengan fasilitas fungsi tambahan seperti fungsi running text, progress bar, custom character dll. Kelebihan library ini adalah dikembangkan oleh anak Indonesia dan disebarluaskan secara gratis dengan lisensi GNU GPL. Karena ditulis oleh anak bangsa, dokumentasi juga sebagian besar berbahasa Indonesia dan sangat mudah dipelajari dan dimodifikasi. Bila ada kesulitan, pertanyaan, kritik, perbaikan, saran atau informasi bugs silahkan kirim lewat email ke herlambang @nubielab.com atau buka www.nubielab.com dan cari post artikel yang terkait.
Nubielab (www.nubielab.com) mencoba untuk menawarkan library LCD HD44780 dengan konsep yang sedikit berbeda dan dengan fasilitas fungsi tambahan seperti fungsi running text, progress bar, custom character dll. Kelebihan library ini adalah dikembangkan oleh anak Indonesia dan disebarluaskan secara gratis dengan lisensi GNU GPL. Karena ditulis oleh anak bangsa, dokumentasi juga sebagian besar berbahasa Indonesia dan sangat mudah dipelajari dan dimodifikasi. Bila ada kesulitan, pertanyaan, kritik, perbaikan, saran atau informasi bugs silahkan kirim lewat email ke herlambang @nubielab.com atau buka www.nubielab.com dan cari post artikel yang terkait.
Berikut adalah screenshot simulasi library LCD ini pada ISIS Proteus:
C. PEMBAHASAN SINGKAT
Pada Nubielab HD44780 LCD Library terdapat 2 file utama yaitu nubielab_lcdlib.c dan nubielab_lcdlib.h; nubielab_lcdlib.c berisi fungsi- fungsi pendukung untuk operasi IO dan komunikasi antara mikrokontroler host dengan kontroler LCD (HDD44780). Berikut adalah fungsi- yang terdapat pada nubielab_lcdlib.c beserta keterangan fungsi dan cara penggunaanya.
Pada file “nubielab_lcdlib.c” terdapat syntax berikut:
Syntax
berfungi untuk memilih jenis mikrokontroler AVR yang akan digunakan. Mega8535.h berisi pendefinisian alamat IO dan SFR yang terdapat pada mikrokontroler AVR jenis ATmega8535. Bila anda menngunakan jenis mikrokontroler yang lain, silahkan ganti sesuai dengan mikrokontroler yang digunakan.
berfungsi untuk memasukkan fungsi delay default CodeVisionAVR kedalam program sedangkan
berfungsi untuk memasukkan fungsi string default CodeVisionAVR kedalam program, misal fungsi
yang berfungsi untuk mengetahui panjang data dalam suatu array.
Syntax diatas berfungsi untuk mengganti port LCD bila diperlukan. Nilai default LCD menggunakan PORTC. Ganti sesuai dengan kebutuhan misal ingin memindah port LCD ke PORTD maka __PORTLCD_ PORTD, DDR_CONTROL DDRD.
Silahkan ganti nilai lcd_number sesuai dengan jumlah karakter maksimal pada LCD, nilai default adalah 16 yang bisa digunakan untuk LCD 16x… misalkan anda menggunakan LCD dengan jumlah baris karakter 20x… anda bisa ganti nilai 16 menjadi 20. PROGRESSBPIXELS_PER_CHAR berfungsi untuk menentukan jumlah step pixel (progress bar) dalam satu blok karakter. Konstanta buffer_lcd_length berfungsi untuk buffer runnning text, nilai yang sesungguhnya adalah buffer_lcd_length – 17 misal definisi buffer_lcd_length adalah 97, maka jumlah karakter maksimal untuk dimasukkan ke buffer running text adalah 80 character.
Nilai lebih berjumlah 17 berfungsi untuk marquee fading yaitu karakter kosong (dalam aplikasi menggunakan karakter spasi 0×20) setelah program melakukan marquee (running text) dan selesai pada karakter terakhir, program akan menampilkan karakter kosong pada LCD sehingga akan terlihat efek fading atau karakter hilang kekiri disertai dengan tampilan kosong pada sebelah kanan. Program akan menambah karakter spasi setelah karakter terakhir secara otomatis.
Konfigurasi koneksi pin LCD ke mikrokontroler sama dengan library default CodeVisionAVR .. tinggal pilih aja portnya dan ganti definisi DDR_CONTROL dan __PORTLCD_. Berikut adalah konfigurasi koneksi antara port mikrokontroler dengan port LCD, PORTX…. X mengindikasikan port yang dipilih A/B/C/D.
Table koneksi mikrokontroler ke LCD.
Konfigurasi koneksi pin LCD ke mikrokontroler sama dengan library default CodeVisionAVR .. tinggal pilih aja portnya dan ganti definisi DDR_CONTROL dan __PORTLCD_. Berikut adalah konfigurasi koneksi antara port mikrokontroler dengan port LCD, PORTX…. X mengindikasikan port yang dipilih A/B/C/D.
Table koneksi mikrokontroler ke LCD.
D. PREVIEW CODE DOLOOO….
Berikut adalah Code contoh penggunaan dalam demo:
Berikut adalah Code contoh penggunaan dalam demo:
1.Contoh penggunaan (LCD_RUNNING_TEXT.c)
Spoiler for LCD_RUNNING_TEXT.c:
0 komentar:
Post a Comment