- Komponen yang Diperlukan:
- LCD grafik:
- Menunjukkan Gambar pada LCD Grafik menggunakan 8051:
- Penjelasan Litar:
- Penjelasan Pengaturcaraan:
Dalam kehidupan seharian kita, kita melihat banyak jenis peranti untuk memaparkan Teks, Imej dan Grafik. LCD adalah salah satu Peranti Paparan yang paling popular dalam Elektronik dan digunakan dalam kebanyakan projek yang memaparkan beberapa jenis maklumat. Terdapat banyak jenis LCD yang digunakan dalam Projek Elektronik. Kami telah menggunakan LCD 16X2 dalam banyak projek kami dan juga menggunakan TFT LCD dengan Arduino. Anda boleh mendapatkan semua projek berkaitan LCD 16X2 kami dengan mengikuti pautan ini, termasuk menghubungkan dengan 8051, AVR, Arduino dan banyak lagi.
Dalam tutorial ini kita akan melakukan antara muka LCD Grafik dengan mikrokontroler 8051. Dalam projek ini, kami akan menunjukkan cara Menampilkan Imej pada LCD Grafik (GLCD).
Komponen yang Diperlukan:
- LCD grafik
- Mikrokontroler AT89c52 8051
- Pengatur voltan 7805
- Kapasitor 1000uf
- Kapasitor 10 uF
- Perintang 10K
- 10K POT
- Pengayun Kristal 12 MH
- Menyambung wayar
- Papan Roti
- Burg menanggalkan lelaki
- Bekalan kuasa
- LED
- 220 Ohm perintang
- Perintang 1K
LCD grafik:
LCD 16x2 ringkas mempunyai 16 pin tetapi LCD Grafik mempunyai 20 pin. Huraian pin diberikan di bawah seperti di lembar datanya:
Pin No. | Nama Pin | Penerangan | Fungsi |
1 | VSS | Tanah | 0 Volt |
2 | VDD | Bekalan Kuasa | 5 Volt |
3 | V0 | Pelarasan Kontras LCD | |
4 | RS | Pemilihan Daftar arahan / data | RS = 0: Pemilihan Perintah dan RS = 1: Pemilihan Data |
5 | R / W | Baca / Tulis Daftar | R / W = 0: Tulis Pilihan dan R / W = 1: Baca Pilihan |
6 | E | Dayakan Isyarat | |
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 Cip | CS1 = 1, Isyarat Pilih Cip untuk IC1 |
16 | CS2 | Pilih Cip | CS2 = 1, Chip Select Signal untuk IC2 |
17 | RST | Tetapkan semula | Tetapkan semula GLCD |
18 | VEE | Voltan Negatif untuk Pemacu LCD | |
19 | A | LED lampu belakang | 5 Volt |
20 | K | LED lampu belakang | Tanah |
Menunjukkan Gambar pada LCD Grafik menggunakan 8051:
Untuk menunjukkan Imej pada LCD Grafik, pertama kita perlu menukar gambar itu menjadi Kod Perhimpunan, sehingga 8051 Mikrokontroler dapat memahami dan membacanya. Oleh itu, kita perlu mengikuti Langkah di bawah untuk Menukar Imej menjadi kod HEX:
Langkah 1: Mula-mula kita perlu memuat turun aplikasi yang menukar Imej (format BMP) menjadi Kod Perhimpunan. Oleh itu, muat turun Aplikasi Penukaran Imej BMP2ASM dari pautan ini, cukup Klik Kanan pada pautan dan kemudian klik Simpan pautan sebagai…
Langkah 2: Kemudian, pilih gambar yang ingin anda paparkan pada Grafik LCD dan ubah menjadi BMP, (jika belum dalam format BMP) menggunakan aplikasi seperti MS Paint, Photoshop dll. Atau anda boleh menemui banyak laman web dalam talian untuk penukaran format Imej. Kami mempunyai gambar di bawah BMP, dengan ukuran 128x64:
Langkah 3: Sekarang ekstrak fail BMP2ASM.zip, yang telah kami muat turun di Langkah 1 dan buka Bmp2asm.exe di dalamnya, dan pilih gambar BMP.
Langkah 4: Sekarang tekan "Convert" di tetingkap aplikasi BMP2ASM.
Langkah 5: Kemudian Salin kod yang dihasilkan dan tampal dalam program 8051 di Keil uVision. Lakukan beberapa perubahan dan susun kodnya.
Kini kod anda siap dimuat naik dalam Mikrokontroler 8051.
Penjelasan Litar:
Sambungan litar, untuk Interfacing LCD Grafik ke Mikrokontroler 8051, mudah dan hampir sama seperti menyambungkan LCD 16x2 ke 8051. Tetapi LCD 16x2 mempunyai 16 pin dan GLCD mempunyai 20 pin.
Pot 10K digunakan untuk set kontras untuk GLCD. Kawalan Pins daripada GLCD RS, R / W dan E adalah bersambung terus ke 89C52 nombor pin P1.0, P1.1 dan P1.2. Pin pilih cip CS1 dan CS2 LCD disambungkan ke pin P1.3 dan P1.4 masing-masing. Pin data DB0-DB7 disambungkan secara langsung di PORT P2. Pengatur voltan 7805 digunakan untuk bekalan 5 volt biasa. Dalam Video demonstrasi, saya telah menggunakan bekalan kuasa Arduino.
Penjelasan Pengaturcaraan:
Pertama sekali, kami memasukkan fail tajuk yang diperlukan dalam program dan menentukan bit untuk Kawalan dan Pin Data GLCD.
#sertakan
Selepas itu, kami telah membuat fungsi kelewatan.
kelewatan tidak sah (int itime) {int i, j; untuk (i = 0; i
Fungsi void lcd_disp_on () digunakan untuk Menghidupkan paparan.
Function void setCursorY (int y) dibuat untuk menetapkan lajur di GLCD dan Function void setCursorX (int x) dibuat untuk menetapkan halaman di GLCD. Fail Kod lengkap diberikan di bawah Bahagian Kod.
Setelah menetapkan Kolom dan Halaman, kami telah menulis fungsi untuk mengirim perintah dan data ke GLCD.
batal lcdprint (char dat, int size) {unsigned int i; untuk (i = 0; i
Dalam fungsi utama () kosong , kami telah membersihkan GLCD dan kemudian menetapkan Lajur dan Halaman. Selepas itu, hantar data ke LCD dengan menggunakan fungsi cetakan lcdprint (char dat, int size) .
kekosongan utama () {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 Kod:
- Mula-mula ketika kita menghidupkan sistem, program membersihkan GLCD dan menghidupkan paparan.
- Kemudian tetapkan kursor ke Lajur, dari mana kita mahu menulis Data.
- Kemudian tetapkan kursor ke Halaman, dari mana kita mahu menulis Data.
- Sekarang program mengirim Data ke lokasi yang dipilih satu persatu hingga 128X8 Kali. Kerana GLCD mempunyai 8 halaman dan 128 Lajur.