Sebagai pembekal modul paparan ILI9341 TFT 2.4 inci, saya mempunyai keistimewaan untuk bekerja rapat dengan paparan prestasi tinggi ini dan mengintegrasikannya dengan mikrokontroler PIC. Dalam catatan blog ini, saya akan berkongsi panduan terperinci mengenai cara menggunakan TFT 2.4 - ILI9341 inci dengan mikrokontroler PIC, yang meliputi segala -galanya dari sambungan perkakasan ke pengaturcaraan perisian.
1. Memahami TFT 2.4 - ILI9341 inci
TFT 2.4 - ILI9341 inci adalah modul paparan popular yang dikenali dengan resolusi tinggi (320x240 piksel) dan paparan warna yang bersemangat. Ia menggunakan cip pemandu ILI9341, yang menyokong pelbagai kedalaman warna dan mod paparan. Ini menjadikannya sesuai untuk pelbagai aplikasi, seperti panel kawalan industri, peranti rumah pintar, dan konsol permainan genggam.
2. PIC pemilihan mikrokontroler
Apabila memilih mikrokontroler PIC untuk digunakan dengan TFT 2.4 - inci ILI9341, beberapa faktor perlu dipertimbangkan. Pertama, mikrokontroler sepatutnya mempunyai pin I/O yang cukup untuk mengendalikan komunikasi dengan paparan. ILI9341 boleh berkomunikasi melalui SPI (antara muka periferal bersiri) atau 8 - bit/16 - antara muka selari bit. Kebanyakan mikrokontrol PIC moden menyokong SPI, yang merupakan pilihan yang popular kerana kesederhanaannya dan kelajuan yang agak tinggi.
Sesetengah mikrokontrol PIC yang disyorkan untuk projek ini termasuk siri PIC18F dan siri PIC32. Siri PIC18F menawarkan keseimbangan yang baik antara prestasi dan kos, manakala siri PIC32 menyediakan lebih banyak kuasa pemprosesan untuk aplikasi yang kompleks.
3. Sambungan Perkakasan
3.1 Sambungan SPI
Jika anda memilih untuk menggunakan antara muka SPI, sambungan berikut biasanya dibuat:
- SCLK (jam siri): Sambungkan pin ini ke output jam SPI dari mikrokontroler PIC.
- MOSI (menguasai hamba di): Sambungkan pin ini ke output data SPI dari mikrokontroler PIC.
- Miso (tuan dalam hamba keluar): Sambungkan pin ini ke input data SPI mikrokontroler PIC.
- CS (cip pilih): Sambungkan pin ini ke pin output umum - mikrokontroler PIC. Pin ini digunakan untuk memilih peranti ILI9341 pada bas SPI.
- DC (data/perintah): Sambungkan pin ini ke pin output umum - mikrokontroler PIC. Ia digunakan untuk menunjukkan sama ada data yang dihantar adalah arahan atau data.
- RST (Reset): Sambungkan pin ini ke pin output umum - mikrokontroler PIC. Pin ini digunakan untuk menetapkan semula paparan ILI9341.
- Vcc: Sambungkan pin ini ke bekalan kuasa (biasanya 3.3V).
- Gnd: Sambungkan pin ini ke tanah.
3.2 Pertimbangan Kuasa
TFT 2.4 - inci ILI9341 biasanya memerlukan bekalan kuasa 3.3V. Pastikan anda menggunakan sumber kuasa yang stabil untuk mengelakkan artifak paparan atau kerosakan. Anda juga mungkin perlu menambah kapasitor decoupling berhampiran pin kuasa untuk menyaring sebarang bunyi.


4. Pengaturcaraan Perisian
4.1 Memulakan antara muka SPI
Langkah pertama dalam pengaturcaraan mikrokontroler PIC untuk berkomunikasi dengan ILI9341 adalah untuk memulakan antara muka SPI. Berikut adalah contoh mudah untuk memulakan antara muka SPI di C untuk mikrokontroler PIC18F:
#include <xc.h> // bit konfigurasi #pragma config fosc = hs // bit pemilihan oscillator (hs oscillator) #pragma config wdte = off // watchdog timer enable (wdt disabled) Reset Enable Bit (BOR dilumpuhkan) #pragma config lvp = off // rendah - voltan (tunggal - bekalan) dalam - pengaturcaraan siri litar mengaktifkan bit (rb3 adalah digital I/O, hv pada mclr mesti digunakan untuk pengaturcaraan) #pragma cpd = Dayakan bit (tulis perlindungan; semua memori program boleh ditulis oleh EECON CONTROL) #PRAGMA CONFIG CP = OFF // Program FLASH Program Memori Perlindungan Kod (Perlindungan Kod OFF) tidak sah SPI_INIT (tidak sah) {TRISC5 = 0; // sdo sebagai output trisc4 = 1; // sdi sebagai input trisc3 = 0; // sck sebagai output sspstat = 0x40; // smp = 0, cke = 1 sspcon = 0x21; // sspen = 1, ckp = 0, sspm3: 0 = 0001 (fosc/64)}
4.2 Memulakan paparan ILI9341
Selepas memulakan antara muka SPI, langkah seterusnya adalah untuk memulakan paparan ILI9341. Ini melibatkan menghantar satu siri arahan ke paparan untuk menubuhkan daftarnya. Berikut adalah contoh mudah untuk memulakan ILI9341:
void lcd_init (void) {// Reset paparan lcd_rst = 0; __delay_ms (10); Lcd_rst = 1; __delay_ms (10); // hantar perintah inisialisasi lcd_cs = 0; Lcd_dc = 0; SPI_WRITE (0x01); // Reset Perisian __Delay_ms (10); // lebih banyak arahan ... lcd_cs = 1; }
4.3 Melukis pada paparan
Sebaik sahaja paparan dimulakan, anda boleh mula melukis di atasnya. Sebagai contoh, untuk melukis segi empat tepat warna pepejal, anda boleh menggunakan kod berikut:
void DrawRectangle (int x1, int y1, int x2, int y2, warna int unsigned) {int i, j; untuk (i = y1; i <y2; i ++) {untuk (j = x1; j <x2; j ++) {setPixel (j, i, warna); }}}
5. Pertimbangan tambahan
5.1 Sokongan Skrin Sentuh
Beberapa modul TFT 2.4 - inci ILI9341 dilengkapi dengan fungsi skrin sentuh. Jika anda ingin menggunakan skrin sentuh, anda perlu menambah sokongan perkakasan dan perisian tambahan. Skrin sentuh biasanya menggunakan sensor sentuhan rintangan atau kapasitif, yang berkomunikasi dengan mikrokontroler melalui antara muka I2C atau SPI. Anda boleh mendapatkan lebih banyak maklumat mengenai sokongan skrin sentuh pada kamiSkrin sentuh TFThalaman.
5.2 Modul Paparan Lain
Sebagai tambahan kepada TFT 2.4 - inci ILI9341, kami juga menawarkan modul paparan lain, sepertiTFT 1.14 inci ST7789Vdan yang3.5 - Inci TFT Round LCD 800 * 800 Resolusi IPS LCD Modul Paparan. Modul -modul ini mempunyai ciri dan spesifikasi yang berbeza, dan anda boleh memilih yang paling sesuai dengan aplikasi anda.
6. Hubungi pembelian dan perundingan
Jika anda berminat untuk membeli TFT 2.4 - ILI9341 inci atau mempunyai sebarang soalan mengenai mengintegrasikannya dengan mikrokontroler PIC, sila hubungi kami. Kami mempunyai pasukan jurutera yang berpengalaman yang dapat memberikan sokongan teknikal dan bantuan dalam projek anda. Kami komited untuk menyediakan produk berkualiti tinggi dan perkhidmatan pelanggan yang sangat baik.
Rujukan
- Microchip Technology Inc. PIC18F Lembaran Data Keluarga.
- Ilitek Co., Ltd. ILI9341 Lembaran Data.