Interface LCD Menggunakan PIC16F877A








1. Tujuan [Kembali]

Mempelajari bagaimana cara merangkai suatu rangkaian yang menggunakan mikrokontroler dan dihubungkan dengan LCD dengan programnya.


2. Alat [Kembali]


2.1 Mikrokontroler PIC16F877A.



2.2 LCD




3. Teori [Kembali]

3.1. Pengertian Mikrokontroler PIC 16F877A

PIC yang merupakan produk dari Microchip Technology, merupakan kepanjangan dari Peripheral Interface Controller memiliki arsitektur Harvard dan merupakan jenis RISC (Reduced Instruction Set Computing). Salah satu jenis mikrokontroler ini adalah PIC16F877A.

3.1.1 Fitur-Fitur PIC16F877A.

a. Memiliki Instruksi sebanyak 35 buah.
b. Masing-masing instruksi dieksekusi dalam satu siklus mesin kecuali untuk instruksi percabangan yaitu dua siklus.
c. Kecepatan operasi masukan clock dari DC hingga 20MHz.
d. Kapasitas memori program berukuran 8k x 14 words.
e. Kapasitas RAM 268 byte.
f. Kapasitas memory EEPROM berukuran 256 byte.

3.1.2 Pin Out PIC16F877A.

-Memiliki 5 PORT I/O (PORTA 6 pin, PORTB 8 pin, PORTC 8 pin, PORTD 8 pin, PORTE 3 pin).
-Memiliki 3 buat timer
-Memiliki 2 buah keluaran PWM.
-Komunikasi serial singkron menggunakan SPI dan I2C.
-Komunikasi USART.


3.1.3 Pemograman PIC16F877A.

Pemograman PIC ini diprogram menggunakan bahasa C dan dapat menggunakan kompiler MikroC for PIC yang dapat didownload di situs resminya.

3.1.4 Rangkaian Dasar Sistem Mikrokontroler PIC16F877A.


Di gambar dapat dilihat bahwa rangkaian dasar dari sistim mikrokontroler biasanya menggunakan rangkaian crystal sebagai clock atau oscilator eksternal sebagai jantung untuk memberikan kecepatan eksekusi dari mikrokontroler tersebut. Pada gambar juga terdapat rangkaian reset yang digunakan untuk memulai dari awal kembali program yang kita jalankan pada mikrokontroler ini.

3.2. Pengertian LCD

LCD (Liquid Cristal Display) adalah salah satu jenis display elektronik yang dibuat dengan teknologi CMOS logic yang bekerja dengan tidak menghasilkan cahaya tetapi memantulkan cahaya yang ada di sekelilingnya terhadap front-lit atau mentransmisikan cahaya dari back-lit. LCD (Liquid Cristal Display) berfungsi sebagai penampil data baik dalam bentuk karakter, huruf, angka ataupun grafik.

Pin, kaki atau jalur input dan kontrol dalam suatu LCD (Liquid Cristal Display) diantaranya adalah :
Pin data adalah jalur untuk memberikan data karakter yang ingin ditampilkan menggunakan LCD (Liquid Cristal Display) dapat dihubungkan dengan bus data dari rangkaian lain seperti mikrokontroler dengan lebar data 8 bit. Pin RS (Register Select) berfungsi sebagai indikator atau yang menentukan jenis data yang masuk, apakah data atau perintah. Logika low menunjukan yang masuk adalah perintah, sedangkan logika high menunjukan data. Pin R/W (Read Write) berfungsi sebagai instruksi pada modul jika low tulis data, sedangkan high baca data. Pin E (Enable) digunakan untuk memegang data baik masuk atau keluar. Pin VLCD berfungsi mengatur kecerahan tampilan (kontras) dimana pin ini dihubungkan dengan trimpot 5 Kohm, jika tidak digunakan dihubungkan ke ground, sedangkan tegangan catu daya ke LCD sebesar 5 Volt.

4. Rangkaian [Kembali]



Rangkaian ini Cuma menghubungkan LCD dengan Mikrokontroler PIC. Pindata pada LCD hanya kami gunakan 4 buah pin akhir. artinya datanya terdiri dari 4-bit. Kemudian pin data dihubungkan dengan PORTC pada Mikrokontroler. Pin R/W dan Pin data lainnya dihubungkan ke Ground sehingga LCD hanya akan Menulis data. Tidak membaca. Tulisan hasil keluaran pada LCD langsung dibuat di dalam program intu sendiri.


5. Program [Kembali]



// LCD module connections
sbit LCD_RS at RC2_bit;
sbit LCD_EN at RC3_bit;
sbit LCD_D4 at RC4_bit;
sbit LCD_D5 at RC5_bit;
sbit LCD_D6 at RC6_bit;
sbit LCD_D7 at RC7_bit;

sbit LCD_RS_Direction at TRISC2_bit;
sbit LCD_EN_Direction at TRISC3_bit;
sbit LCD_D4_Direction at TRISC4_bit;
sbit LCD_D5_Direction at TRISC5_bit;
sbit LCD_D6_Direction at TRISC6_bit;
sbit LCD_D7_Direction at TRISC7_bit;
// End LCD module connections
char i;                                                //membuat variabel i

void main()
{
while(1){
  Lcd_Init();                                          // Inisialisasi LCD
  Lcd_Cmd(_LCD_CLEAR);                                 // bersihkan layar LCD
  Lcd_Cmd(_LCD_CURSOR_OFF);                            // Cursor off
  delay_ms(500);                                       // delay 500 ms
  Lcd_Out(1,1,"Program LCD Kami");                     //1 baris 1 kolom dicetak tulisan
  delay_ms(1000);                                      // delay 1000 ms
  Lcd_Cmd(_LCD_CLEAR);                                 // Bersihkan layar LCD
  delay_ms(500);                                       // delay 500 ms
  Lcd_Out(1,1,"Nama");                                 // cetak pada kolom 1 baris 1 "nama"
  Lcd_Out(2,1,"M. Fadly dan Rifki Firdaus");           // Cetak pada baris 2 kolom 1 Nama
  delay_ms(500);                                       // delay 500 ms


      for(i=0; i<10; i++) {                            // tulisan di lcd bergeser ke kiri sebanyak 10 kali.
      Lcd_Cmd(_LCD_SHIFT_LEFT);
      delay_ms(300);                                   // delay 300 ms
      }
}
}

6. Flowchart [Kembali]

7. Video Simulasi [Kembali]





           


          







Share
Tweet
Pin
Share