- Komponen yang Dibutuhkan:
- LCD grafis:
- Menampilkan Gambar pada LCD Grafis menggunakan 8051:
- Penjelasan Sirkuit:
- Penjelasan Pemrograman:
Dalam kehidupan sehari-hari, kita melihat banyak jenis perangkat untuk menampilkan Teks, Gambar dan Grafik. LCD adalah salah satu Perangkat Tampilan paling populer di Elektronik dan digunakan di hampir semua proyek yang menampilkan beberapa jenis informasi. Ada banyak jenis LCD yang digunakan dalam Proyek Elektronik. Kami telah menggunakan LCD 16X2 di banyak proyek kami dan juga menggunakan LCD TFT dengan Arduino. Anda dapat menemukan semua proyek terkait LCD 16X2 kami dengan mengikuti tautan ini, termasuk antarmuka dengan 8051, AVR, Arduino dan banyak lagi.
Dalam tutorial ini kita akan melakukan antarmuka LCD Grafis dengan mikrokontroler 8051. Dalam proyek ini, kami akan menunjukkan cara Menampilkan Gambar pada LCD Grafis (GLCD).
Komponen yang Dibutuhkan:
- LCD grafis
- Mikrokontroler AT89c52 8051
- 7805 pengatur tegangan
- Kapasitor 1000uf
- Kapasitor 10 uF
- Resistor 10K
- 10K POT
- Osilator Kristal 12 MH
- Menghubungkan kabel
- Papan Roti
- Burg strips pria
- Sumber Daya listrik
- LED
- Resistor 220 Ohm
- Resistor 1K
LCD grafis:
LCD 16x2 sederhana memiliki 16 pin tetapi LCD Grafis memiliki 20 pin. Deskripsi pin diberikan di bawah ini sesuai dengan lembar datanya:
Nomor Pin | Nama Pin | Deskripsi | Fungsi |
1 | VSS | Tanah | 0 Volt |
2 | VDD | Sumber Daya listrik | 5 Volt |
3 | V0 | Penyesuaian Kontras LCD | |
4 | RS | Pilihan Command / Data Register | RS = 0: Pemilihan Perintah dan RS = 1: Pemilihan Data |
5 | R / W | Baca / Tulis Daftar | R / W = 0: Tulis Pilihan dan R / W = 1: Pilihan Baca |
6 | E | Aktifkan Signal | |
7 | DB0 | Pin input / output data (DB0-DB7) | 8 Bit (DB0-DB7) |
8 | DB1 | ||
9 | DB2 | ||
10 | DB3 | ||
11 | DB4 | ||
12 | DB5 | ||
13 | DB6 | ||
14 | DB7 | ||
15 | CS1 | Pilih Chip | CS1 = 1, Sinyal Pilih Chip untuk IC1 |
16 | CS2 | Pilih Chip | CS2 = 1, Sinyal Pilih Chip untuk IC2 |
17 | RST | Setel ulang | Setel ulang GLCD |
18 | VEE | Tegangan Negatif untuk Driver LCD | |
19 | SEBUAH | Lampu belakang LED | 5 Volt |
20 | K | Lampu belakang LED | Tanah |
Menampilkan Gambar pada LCD Grafis menggunakan 8051:
Untuk menampilkan suatu Gambar pada LCD Grafis, pertama-tama kita perlu mengubah gambar tersebut menjadi Kode Rakitan, agar Mikrokontroler 8051 dapat memahami dan membacanya. Jadi kita perlu mengikuti langkah-langkah di bawah ini untuk Mengubah Gambar menjadi kode HEX:
Langkah 1: Pertama kita perlu mengunduh aplikasi yang mengubah Gambar (format BMP) menjadi Kode Majelis. Jadi download Aplikasi Konversi Gambar BMP2ASM dari link ini, klik kanan link tersebut lalu klik Save link as…
Langkah 2: Kemudian, pilih gambar yang ingin Anda tampilkan pada LCD Grafik dan ubah menjadi BMP, (jika belum dalam format BMP) menggunakan aplikasi seperti MS Paint, Photoshop dll. Atau Anda dapat menemukan banyak situs online untuk konversi format gambar. Kami memiliki gambar BMP di bawah ini, dengan ukuran 128x64:
Langkah 3: Sekarang ekstrak file BMP2ASM.zip, yang telah kita unduh pada Langkah 1 dan buka Bmp2asm.exe di dalamnya, dan pilih gambar BMP.
Langkah 4: Sekarang tekan "Convert" di jendela aplikasi BMP2ASM.
Langkah 5: Kemudian Salin kode yang dihasilkan dan tempelkan dalam program 8051 di Keil uVision. Lakukan beberapa perubahan dan kompilasi kodenya.
Sekarang kode Anda siap diunggah di Mikrokontroler 8051.
Penjelasan Sirkuit:
Sambungan rangkaian, untuk Interfacing Graphical LCD ke Mikrokontroler 8051, mudah dan hampir sama seperti menghubungkan LCD 16x2 ke 8051. Tetapi LCD 16x2 memiliki 16 pin dan GLCD 20 pin.
Panci 10K digunakan untuk mengatur kontras untuk GLCD. Pin Kontrol GLCD RS, R / W dan E terhubung langsung ke pin 89C52 nomor P1.0, P1.1 dan P1.2. Pin chip pilih CS1 dan CS2 LCD terhubung ke pin P1.3 dan P1.4 masing-masing. Pin data DB0-DB7 terhubung langsung di PORT P2. Regulator tegangan 7805 digunakan untuk suplai 5 volt biasa. Dalam video demonstrasi, saya telah menggunakan catu daya Arduino.
Penjelasan Pemrograman:
Pertama-tama, kami menyertakan file header yang diperlukan dalam program dan menentukan bit untuk Pin Kontrol dan Data GLCD.
#include
Setelah itu, kami telah membuat fungsi penundaan.
batal penundaan (saat ini) {int i, j; untuk (i = 0; i
Fungsi void lcd_disp_on () digunakan untuk Menghidupkan layar.
Fungsi void setCursorY (int y) dibuat untuk mengatur kolom di GLCD dan Fungsi void setCursorX (int x) dibuat untuk mengatur halaman di GLCD. File Kode Lengkap diberikan di Bagian Kode di bawah ini.
Setelah mengatur Kolom dan Halaman, kita telah menulis fungsi untuk mengirim perintah dan data ke GLCD.
void lcdprint (char dat, int size) {unsigned int i; untuk (i = 0; i
Dalam fungsi void main () , kami telah membersihkan GLCD dan kemudian mengatur Kolom dan Halaman. Setelah itu, kirim data ke LCD dengan menggunakan fungsi void lcdprint (char dat, int size) .
void main () {int x, y; P3 = 0xff; sementara (1) {lcdclear (); untuk (y = 0; y <8; y ++) {untuk (x = 0; x <128; x ++) {lcd_disp_on (); setCursorX (y); setCursorY (x); lcdprint (gambar, x); }}…………………..
Aliran Kode:
- Pertama saat kita Power up sistem, program membersihkan GLCD dan Menghidupkan layar.
- Kemudian atur kursor ke Kolom, dari mana kita ingin menulis Data.
- Kemudian atur kursor ke Halaman, dari mana kita ingin menulis Data.
- Sekarang program mengirimkan Data ke lokasi yang dipilih satu per satu hingga 128X8 Kali. Karena GLCD memiliki 8 halaman dan 128 Kolom.