- Bahan yang Diperlukan:
- Pengenalan Ringkas kepada paparan LCD matriks Dot 16 × 2:
- Diagram dan Sambungan Litar:
- Pengaturcaraan MSP430 untuk LCD menggunakan Energia:
- LCD 16x2 dengan MSP430G2:
Ini adalah tutorial ketiga dalam urutan tutorial di mana kita belajar memprogram LaunchPad MSP430G2 menggunakan Energia IDE. Dalam tutorial sebelumnya, kami belajar bagaimana mengawal pin Input dan Output Digital di papan MSP kami. Dalam tutorial ini, kita akan belajar bagaimana menghubungkan LCD dengan papan sehingga kita dapat memaparkan maklumat yang berguna.
LCD yang kita gunakan dalam projek ini adalah paparan LCD matriks 16 × 2 Dot yang paling biasa digunakan akan Paparan Alphanumerik. Sebilangan besar daripada kita akan menemui ini sama ada melalui PCO awam atau projek elektronik lain. Paparan seperti ini akan sangat berguna untuk tutorial masa depan kami untuk memaparkan data dan maklumat penyahpepijatan lain. Memadankan LCD ini dengan MSP430 sangat mudah, berkat perpustakaan yang ada. Oleh itu mari kita selami !!
Bahan yang Diperlukan:
- MSP430G2 LaunchPad dari Texas Instruments
- Paparan LCD matriks 16 × 2
- Menyambung wayar
- Energia IDE
Pengenalan Ringkas kepada paparan LCD matriks Dot 16 × 2:
Seperti yang diberitahu sebelumnya, Energia IDE menyediakan perpustakaan yang indah yang menjadikan sepotong kek antara muka dan oleh itu tidak wajib mengetahui apa-apa mengenai modul paparan. Tetapi, bukankah menarik untuk menunjukkan apa yang kita gunakan !!
Nama 16 × 2 menunjukkan bahawa paparan mempunyai 16 Lajur dan 2 Baris, yang bersama-sama (16 * 2) membentuk 32 kotak. Satu kotak akan kelihatan seperti ini dalam gambar di bawah
Kotak tunggal mempunyai 40 piksel (titik) dengan susunan matriks 5 Baris dan 8 lajur, 40 piksel ini membentuk satu watak. Begitu juga, 32 watak boleh dipaparkan menggunakan semua kotak. Sekarang mari kita lihat pinout.
LCD mempunyai jumlah 16 Pin, seperti yang ditunjukkan di atas, mereka boleh dikategorikan kepada empat kumpulan seperti berikut
Pin Sumber (1, 2 dan 3): Pin ini menghasilkan tahap daya dan kontras untuk paparan
Pin kawalan (4, 5 dan 6): Pin ini menetapkan / mengawal register dalam IC antara muka LCD (lebih banyak ini boleh didapati di pautan di bawah)
Data / Pin Perintah (7 hingga 14): Pin ini memberikan data maklumat apa yang harus dipaparkan pada LCD.
Pin LED (15 dan 16): Pin ini digunakan untuk menyinari lampu latar LCD jika diperlukan (pilihan).
Daripada semua 16 pin ini, hanya 10 pin yang wajib digunakan untuk kerja LCD yang betul sekiranya anda ingin mengetahui lebih lanjut mengenai paparan LCD ini ke artikel LCD ini.
Diagram dan Sambungan Litar:
Gambarajah litar lengkap untuk menghubungkan paparan LCD matriks 16 × 2 Dot dengan MSP430G2 ditunjukkan di bawah.
Satu kekangan utama semasa menghubungkan kedua adalah voltan operasi mereka. Paparan LCD mempunyai voltan operasi + 5V sementara MSP hanya beroperasi dengan 3.6V. Beruntung bagi kami pin data IC antara muka LCD (HD44780U) mempunyai voltan operasi yang luas dari 2.7V hingga 5.5V. Oleh itu, kita hanya perlu bimbang tentang Vdd (pin 2) LCD sementara pin data dapat berfungsi walaupun dengan 3.6V.
Papan MSP430G2 secara lalai tidak memberi anda pin + 5V, tetapi dengan kita dapat melakukan hack kecil untuk mendapatkan + 5V dari MSP430 menggunakan port USB. Sekiranya anda melihat dekat port USB, anda boleh menemui terminal bernama TP1, terminal ini akan memberi kita + 5v. Yang harus kita lakukan adalah menyolder pin header lelaki kecil seperti gambar di bawah supaya kita dapat menghubungkannya ke paparan LCD kita.
Catatan: Jangan sambungkan beban yang mungkin memakan lebih dari 50mA ke pin 5V ini, mungkin akan menggoreng port USB anda.
Sekiranya anda tidak berminat untuk memateri, gunakan bekalan +5V yang diatur dan hidupkan LCD, sekiranya demikian, pastikan anda menyambungkan tanah bekalan kuasa anda ke permukaan papan MSP.
Setelah anda selesai dengan pin + 5V yang menghubungkan pin yang lain cukup mudah. Sekarang perkakasan kami sudah siap, mari beralih ke bahagian perisian.
Pengaturcaraan MSP430 untuk LCD menggunakan Energia:
Program lengkap untuk menghubungkan MSP430G2553 dengan paparan LCD diberikan di akhir halaman ini. Kod boleh disusun, dimuat naik dan digunakan seperti itu. Dalam perenggan berikut, saya akan menerangkan bagaimana program ini berfungsi.
Sebelum meneruskan penjelasan, kita harus membuat catatan mengenai pin yang kita gunakan. Sekiranya anda melihat rajah litar di atas dan rajah pin-out MSP430 di bawah
Anda boleh membuat kesimpulan bahawa kami telah menghubungkan LCD seperti jadual berikut
Nama pin LCD |
Berhubung dengan |
Vss |
Tanah |
Vdd |
+ Pin USB 5V |
Rs |
Pin 2 MSP |
R / W |
Tanah |
Aktifkan |
Pin 3 MSP |
D4 |
Pin 4 MSP |
D5 |
Pin 5 MSP |
D6 |
Pin 6 MSP |
D7 |
Pin 7 MSP |
Dengan ini, mari kita mula menentukan pin LCD yang digunakan dalam program kita. Kami akan menamakan setiap pin dengan nama yang lebih bermakna supaya kami dapat menggunakannya dengan mudah kemudian.
#tentukan RS 2 #tentukan EN 3 #tentukan D4 4 #tentukan D5 5 #tentukan D6 6 #tentukan D7 7
Ini hanya bermaksud bahawa daripada memanggil pin 2, saya boleh menyebutnya sebagai RS selepas ini, sama untuk semua 6 pin.
Langkah seterusnya adalah memasukkan perpustakaan LCD. Perpustakaan ini akan dipasang secara automatik semasa anda memasang Energia IDE. Oleh itu, tambahnya dengan menggunakan baris berikut
#sertakan
Langkah seterusnya adalah menyebut pin yang disambungkan ke LCD, kerana kita telah menamakannya menggunakan #define yang sekarang kita hanya dapat menyebutkan nama-nama pin LCD. Pastikan pesanan yang sama diikuti.
LiquidCrystal lcd (RS, EN, D4, D5, D6, D7);
Sekarang mari kita bergerak ke dalam setup tidak sah () fungsi. Terdapat begitu banyak jenis paparan LCD yang berbeza-beza dari segi ukuran dan sifatnya, yang kami gunakan adalah 16 * 2 jadi mari kita tentukan bahawa dalam program kami
lcd.begin (16, 2);
Untuk mencetak sesuatu di LCD kita harus menyebut dua perkara dalam program ini. Salah satunya adalah kedudukan teks yang dapat disebutkan menggunakan garis lcd.setCursor () dan yang lain adalah kandungan untuk dicetak yang dapat disebut oleh lcd.print (). Selaras ini kita menetapkan kursor ke 1 st baris dan 1 st lajur.
lcd.setCursor (0,0);
Begitu juga, kita juga boleh
lcd.setCursor (0, 1); // tetapkan kursor ke lajur pertama baris ke-2
Sama seperti menghapus papan putih setelah menulis di atasnya, LCD juga harus dipadamkan sebaik sahaja sesuatu ditulis di atasnya. Ini dapat dilakukan dengan menggunakan baris di bawah
lcd.clear ();
Oleh itu, fungsi setup void yang lengkap akan kelihatan seperti ini.
persediaan tidak sah () {lcd.begin (16, 2); // Kami menggunakan lcd.setCursor paparan LCD 16 * 2 (0,0); // Letakkan kursor pada baris pertama lajur lcd.print ("MSP430G2553"); // Paparkan mesej intro lcd.setCursor (0, 1); // tetapkan kursor ke lajur pertama baris ke-2 lcd.print ("- CircuitDigest"); // Paparkan kelewatan mesej intro (2000); // Tunggu paparan untuk menunjukkan maklumat lcd.clear (); // Kemudian bersihkan}
Seterusnya, di dalam fungsi gelung void kami () , mari teruskan kenaikan nombor untuk setiap 500ms dan paparkan nombor di LCD. Nombor ini diuji dan diinisialisasi menjadi 1 seperti di bawah
ujian int = 1;
Untuk membuat penundaan, kita boleh menggunakan penundaan fungsi inbuilt (). Kita harus menyebutkan berapa banyak masa yang kita perlukan untuk berlengah. Dalam kes kami, saya telah menggunakan 500ms seperti gambar di bawah
kelewatan (500);
Penambahan pemboleh ubah dapat dilakukan dengan ujian ++, selebihnya semuanya sudah dijelaskan. The kod lengkap di dalam gelung tidak sah adalah seperti berikut
gelung kosong () {lcd.print ("LCD with MSP"); // Paparkan mesej intro lcd.setCursor (0, 1); // tetapkan kursor ke lajur 0, baris 1 lcd.print (ujian); // Paparkan kelewatan mesej intro (500); lcd.clear (); // Kemudian bersihkan ujian ++; }
LCD 16x2 dengan MSP430G2:
Setelah perkakasan dan kod anda siap, cukup sambungkan papan komputer anda dan muat naik kod seperti yang kami lakukan dalam tutorial pertama. Setelah kod dimuat, anda akan melihat paparan yang menunjukkan yang berikut.
Setelah dua detik, layar tampilan akan berubah dari pengaturan ke lingkaran dan mulai meningkatkan pemboleh ubah dan tampilan di layar seperti gambar di bawah.
Kerja yang lengkap boleh didapati dalam video di bawah. Teruskan dan cuba ubah apa yang dipaparkan di LCD dan bermain dengannya. Harap anda memahami tutorial dan mengetahui sesuatu yang berguna daripadanya. Sekiranya anda mempunyai keraguan tinggalkan mereka di bahagian komen di bawah atau gunakan forum. Mari berjumpa di tutorial lain.