Baiklah kali ini postingan saya membahas cara memprogram LCD menggunakan mikroC compiler yang berbasis bahasa C. Dimana dalam memprogram LCD atau untuk menampilkan tulisan pada LCD sama seperti program-program lainnya seperti bascom avr, codevisionavr dan lain-lain hanya saja aturan bahasanya yang berbeda dimana pada mikroC compiler tidak perlu lagi inisialisasi mikrokontroler apa yang kita pakai dan berapa crystal yang kita gunakan karena disini kita tingal mensettingnya pada project setting.
sbit LCD_RS at RB4_bit;
sbit LCD_EN at RB5_bit;
sbit LCD_D4 at RB0_bit;
sbit LCD_D5 at RB1_bit;
sbit LCD_D6 at RB2_bit;
sbit LCD_D7 at RB3_bit;
sbit LCD_RS_Direction at TRISB4_bit;
sbit LCD_EN_Direction at TRISB5_bit;
sbit LCD_D4_Direction at TRISB0_bit;
sbit LCD_D5_Direction at TRISB1_bit;
sbit LCD_D6_Direction at TRISB2_bit;
sbit LCD_D7_Direction at TRISB3_bit;
Kode perintah diatas adalah untuk menginisialisasikan pin-pin pada LCD, jadi ketika kita ingin menginterfacekan LCD dengan mikrokontroler ataupun kita ingin mevisualisasikan pada PIC simulator maka kita tinggal menghubungkan kaki-kaki pada LCD dengan Pin-pin pada mikrokontroler tersebut.
Lcd_Cmd(_LCD_CLEAR); artinya lcd dibersihkan atau diclear, kemudian kode perintah yang kita gunakan untuk menampilkan tulisan pada lcd adalah Lcd_Out(1,1,"NAMA"); dimana disini NAMA yang akan kita tampilkan pada lcd, dan 1,1 artinya tulisan tersebut akan tampil pada baris 1 kolom 1
Lcd_Cmd(_LCD_SHIFT_LEFT); artinya menggeser tulisan yang akan kita tampilkan pada lcd kekiri dan untuk menggeser ke kana maka perintah yang kita gunakan adalah Lcd_Cmd(_LCD_SHIFT_RIGHT); .
Berikut program Tulisan berjalan dengan MicroC Compiler pada PIC16F877A :
sbit LCD_RS at RB4_bit;
sbit LCD_EN at RB5_bit;
sbit LCD_D4 at RB0_bit;
sbit LCD_D5 at RB1_bit;
sbit LCD_D6 at RB2_bit;
sbit LCD_D7 at RB3_bit;
sbit LCD_RS_Direction at TRISB4_bit;
sbit LCD_EN_Direction at TRISB5_bit;
sbit LCD_D4_Direction at TRISB0_bit;
sbit LCD_D5_Direction at TRISB1_bit;
sbit LCD_D6_Direction at TRISB2_bit;
sbit LCD_D7_Direction at TRISB3_bit;
char i;
void main(){
Lcd_Init();
Lcd_Cmd(_LCD_CLEAR);
Lcd_Cmd(_LCD_CURSOR_OFF);
Lcd_Out(1,1,"NAMA");
Delay_ms(1000);
Lcd_Out(2,1,"MERI WARDANA");
Delay_ms(1000);
Lcd_Out(3,1,"NIM");
Delay_ms(1000);
Lcd_Out(4,1,"03071004006");
Delay_ms(1000);
while(1) {
for(i=0; i<4; i++) {
Lcd_Cmd(_LCD_SHIFT_LEFT);
delay_ms(500);
}
for(i=0; i<4; i++) {
Lcd_Cmd(_LCD_SHIFT_RIGHT);
delay_ms(500);
}
}
}
Berikut hasilnya visualisasi pada pic simulator :