Saturday, July 5, 2014

MENAMPILKAN KARAKTER PADA LCD 16 X 2 DENGAN CODE VISION AVR

Assalamualaikum
Salam Microver's

Kali ini saya akan sharing tentang memprogram/menampilkan karakter pada LCD (Liquid Crystal Disc).nah apa toh sebenar nya fungsi dari LCD :
Fungsi LCD dalam suatu aplikasi microcontroller sangat penting sekali . diantaranya untuk :

  • Memastikan data yang kita input valid/benar
  • Mengetahui hasil suatu proses
  • Memonitoring  suatu proses
  • Mendebug program
  • Menampilkan pesan
  • dll
Display yang kita akan bahas pada kali ini adalah display LCD 2×16 , artinya LCD terdiri  dari 2 baris dan 16 karakter.
Sebelum kita membuat programnya alangkah baiknya kita untuk membuat rancangan hardware atau bisa lewat software proteus tentunya kita juga harus bisa dan tau akan instalasi hardware nantinya.disini saya menggunakan PORTD dari ATmega8.


Konfigurasi detail nya berdasarkan program yang saya buat adalah sbb :
  • VSS   = GND
  • VDD  = +5V
  • VO     = pengatur kontrast di hub dgn resistor 1k ke GND
  • RS      = PORTD.0
  • RW     = GND
  • E         = PORTD.1
  • D4       = PORTD.2
  • D5       = PORTD.3
  • D6       = PORTD.4
  • D7       = PORTD.5
  • D8       = PORTD.6
  • A         = +5V (power untuk lampu backlight LCD)
  • K         = GND (gnd untuk lampu backlight LCD)



Memprogram  LCD 2×16 dengan bahasa C   Codevision. 

Langsung saja, kita buat programnya dengan CVAVR. Jalankan aplikasi CVAVR - File - New - Project - OK, dan pilih OK lagi untuk menggunakan fasilitas wizard. Setelah itu pilih chip yang digunakan. Di sini saya menggunakan ATmega8 dengan clock 12.000 MHz.
Jangan lupa mengatur Port nya yah,,karena ini juga penting he he he





Karena saya menggunakan portd maka port tsb saya setting sebagai output dengan pullup "0".


Sementara untuk setingan LCD saya guanakan konfigurasi diatas,Perlu di pastikan agar settingan harus sesuai dengan pin yang nanti kita pakai.setelah itu Generate file,save and exit.

Nah disini kita akan menuliskan programnya :

#include <mega8.h> //deklarasi IC yang kita pakai
#include <delay.h> //memakai library tunda waktu
#include <alcd.h> //memakai library alfanumerik lcd

void main(void)
{

PORTD=0x00; //inisialisai output portd dengan pullup "0"
DDRD=0xFF; //inisialisai portd sebagai output

lcd_init(16); //memakai lcd 16x2

while (1)
{
 // Program menampilkan karakter di LCD 16x2 dengan CAVR
      lcd_gotoxy(0,0); //meletakkan kursor pada x=0 dan y=0
      lcd_putsf("Belajar LCD 16x2"); //menampilkan data (Belajar LCD 16x2 ke LCD)
      lcd_gotoxy(0,1); //meletakkan kursor pada x=0 dan y=1
      lcd_putsf("Menampilkan Data"); //menampilkan data (Menampilkan Data ke LCD)
      delay_ms(1000); //tunda waktu
      lcd_clear(); //membersihkan layar
      delay_ms(1000); //tunda waktu
 }
}

Setelah program diketik lalu di check syntac,di compile lalu di build all agar menjadi file *.hex yang siap dimasukkan ke dalam IC,langkah terakhir adalah memasukkan program tersebut menggunakan extreme burner.

Ini penampakan hardwarenya.
Dan ini videonya


untuk yang kurang jelas silakan berkomentar :D
Ok sekian Terima kasih





2 comments:

Unknown said...

Kenapa ya "lcd_init(16);" nya selalu error

Sapto Triwibowo said...

Terimakasih pak,informasi yang sangat bermanfaat

Post a Comment

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Powered by KAMPUS UMT TANGERANG | Supported by Bebit Deartha - Ristu Sadewa | Kota Tangerang