Kontrol tampilan: Mikrokontroler STM8L dengan antarmuka LCD internal. Area penerapan indikator LCD hitam putih

Pengontrol waktu, juga dikenal sebagai T-con atau pengontrol matriks, adalah perangkat yang tidak bergantung pada perintah prosesor pusat untuk mengubah data video yang dikirimkan dari papan utama menjadi sinyal yang dapat dimengerti oleh matriks televisi LCD. Sebagai hasil kerjanya, kita melihat gambar yang kita butuhkan di layar TV. Pelanggaran penampakan warna, integritas, warna dan kealamian gambar, riak dan keburaman pada layar mungkin disebabkan oleh cacat pada blok ini.

Diagram blok T-con

Pengontrol waktu termasuk

  • Prosesor untuk memproses jalur pipa data masukan LVDS ke jalur pipa R, G, B independen, dan sinyal jam untuk driver matriks horizontal dan vertikal. Prosesor bertukar informasi dengan RAM dan ROM Eeprom. Tegangan suplai tetap sebesar 5 atau 12 volt yang disuplai dari motherboard diubah menjadi beberapa tegangan sekunder yang diperlukan untuk pengoperasian pengontrol menggunakan konverter DC/DC.
  • Generator tegangan referensi untuk driver DAC yang menyediakan kelengkungan histogram gambar yang diperlukan. Kalau tidak, proses ini disebut koreksi gamma.
  • Unit pembangkit tegangan untuk memberi daya pada driver, biasanya dibuat pada pengontrol PWM dan transistor efek medan utama.

Diagnostik dan perbaikan T-con

Mendiagnosis kerusakan pada pengontrol waktu terkadang bisa sangat sulit. Faktanya adalah koneksi blok ini dengan papan utama dan matriks LCD sangat bagus sehingga terkadang tidak mungkin untuk menentukan secara visual apa sumber cacatnya. Hanya pengukuran pada titik kendali T-con yang secara tidak langsung dapat menunjukkan ketidakmampuannya beroperasi. Saat memperbaiki sendiri pengontrol matriks, Anda perlu memiliki sejumlah besar informasi, yang dapat disediakan oleh Internet melalui pencarian yang cermat dan telaten. Pengontrol itu sendiri dianggap sebagai bagian integral dari panel LCD, dan pabrikan tidak menyediakan diagram kelistrikan untuk unit ini. Situasi ini memaksa pekerja jarak jauh, ketika memperbaiki unit ini, terutama dipandu oleh naluri profesionalnya dan pengalaman dalam perbaikan serupa.

Jika TV Anda mulai menampilkan gambar kontras rendah, negatif, keputihan dengan moire dengan berbagai warna di area terang atau gelap pada gambar, kemungkinan besar unit pengontrol matriks tidak berfungsi dengan benar. Untuk mengecualikan pengaruh motherboard dan melakukan diagnosa, banyak produsen matriks LCD menyediakan untuk menyalakan T-con dalam mode offline. Dalam hal ini, kabel yang menghubungkan papan ini dilepas, hanya tegangan suplai yang disuplai ke pengontrol, dan panel dimasukkan ke mode uji dengan menutup kontak servis. Jika panel LCD dan pengatur waktu berfungsi dengan baik, diagnosis mandiri panel diamati di layar dalam bentuk bidang dan garis berwarna bergantian, seperti dari generator sinyal uji televisi. Setiap jenis panel LCD memiliki metode tersendiri untuk memasuki mode uji.

Untuk menghilangkan pengaruh panel LCD pada pengontrol matriks saat mengukur tegangan suplai driver atau tegangan referensi untuk driver DAC, gunakan pemutusan jangka pendek kabel, satu atau dua, pada panel LCD. Berdasarkan sifat perubahan pembacaan instrumen dan persepsi visual gambar di layar, kesimpulan tertentu dapat ditarik tentang penyebab kegagalan fungsi. Untuk memantau kinerja suatu unit secara andal saat melakukan pengukuran, keberadaan, bentuk, amplitudo, frekuensi, dan siklus kerja pulsa perlu dikontrol, yang dapat dilakukan dengan menggunakan osiloskop. Kehadiran osiloskop memudahkan pencarian cacat dan selalu digunakan untuk diagnostik di pusat layanan stasioner.

Dalam beberapa kasus, keraguan mengenai kemudahan servis pengontrol matriks terjadi karena tidak adanya gambar saat layar monitor gelap atau sangat terang (putih). Hal ini diperlukan untuk mengontrol aliran tegangan suplai dari papan utama dan pembentukan tegangan sekunder oleh konverter DC/DC di unit itu sendiri. Terkadang masalah pada pengatur waktu, bahkan pada matriks itu sendiri, dapat muncul karena pemiliknya terlalu berhati-hati, menyeka layar TV dengan kain yang terlalu lembab, atau sebaliknya, ceroboh, menumpahkan cairan pada panel LCD atau di dalam. perangkat. Jika kelembapan masuk ke dalam matriks, konsekuensi yang tidak dapat diperbaiki dapat terjadi dalam bentuk rusaknya kabel pembawa arus, korosinya, korsleting driver dan kegagalan pengontrol matriks karena pelanggaran kritis terhadap mode operasinya.

Perbaikan pengontrol waktu tidak disediakan oleh produsen matriks LCD, hanya penggantiannya. Oleh karena itu, informasi teknis tentang pemulihan blok tidak disediakan dan tidak ada diagram untuk itu. Namun, di bengkel kami, kami menggunakan Peringkat 4.33 /5 (20 Suara)

Dan analognya misalnya seperti S6A0069, KS0066, dll. Indikator LCD ini berbasis teks dan dapat menampilkan teks dan simbol pseudo-grafis. Ukuran keakrabannya adalah 5x8 piksel, indikator LCD tersedia dalam berbagai ukuran dan resolusi berbeda, misalnya: 8 karakter dalam 2 baris - 8x2, 16x2, 20x2, 40x2, 16x4, 20x4, dll.

Dalam pelajaran ini kita akan melihat koneksi 4-bit indikator LCD ke mikrokontroler AVR, dan menulis program dalam format .

Indikator LCD ini memiliki kesimpulan sebagai berikut:
VSS – Gnd (Daya Minus)
VDD – Vcc (catu daya 5v)
VO – Mengatur kontras matriks LCD
RS – Garis kendali RS
RW (Baca/Tulis) – Garis kendali RW
E (Aktifkan) – Garis kontrol E
D0 – Jalur Data D0 (Tidak digunakan dalam mode 4-bit)
D1 – Jalur Data D1 (Tidak digunakan dalam mode 4-bit)
D2 – Jalur Data D2 (Tidak digunakan dalam mode 4-bit)
D3 – Jalur Data D3 (Tidak digunakan dalam mode 4-bit)
D4 – Jalur data D4
D5 – Jalur data D5
D6 – Jalur data D6
D7 – jalur data D7
A – Menampilkan anoda LED lampu latar
K – Menampilkan katoda LED lampu latar

Perhatian! Indikator LCD yang berbeda memiliki lokasi pinnya sendiri; Anda dapat mengetahui lokasi pin yang tepat di dokumentasi teknis (Lembar Data) untuk indikator LCD Anda.

Pin indikator LCD VO mengontrol kontras matriks LCD tergantung pada tegangan suplai yang disuplai ke pin ini. Jika tidak perlu membaca informasi dari tampilan, pin RW dihubungkan ke catu daya minus.

Contoh koneksi 4-bit indikator LCD ke mikrokontroler Attiny2313:

Resistor substring RV1 menyesuaikan kecerahan indikator LCD.
Pada BASCOM-AVR sebelum mengoperasikan indikator LCD harus menunjukkan pin display mana yang terhubung ke port mikrokontroler mana, untuk itu ada perintah Config Lcdpin, contoh penggunaan perintah ini: Config Lcdpin = Pin, Db4 = Portb .4, Db5 = Portb.5, Db6 = Portb.6, Db7 = Portb.7, E = Portb.3, Rs = Portb.2 dan tentukan juga resolusi indikator LCD dengan perintah Config Lcd, contoh : Config Lcd = 16*2 dan inisialisasi indikator LCD dengan perintah Initlcd, setelah itu indikator LCD siap digunakan.

Berikut daftar perintah untuk bekerja dengan indikator LCD di BASCOM-AVR:
KonfigurasiPin LCD– Mengatur konfigurasi pin indikator LCD dan mikrokontroler
Konfigurasi Lcd– Mengatur resolusi indikator LCD
Initlcd– Inisialisasi indikator LCD
LCD– Menampilkan teks pada indikator LCD, contoh: Lcd “Halo”
Kl– Membersihkan indikator LCD
Menemukankamu,X– Tempatkan kursor pada posisi x, y
Garis bawah– Pindahkan kursor ke baris terbawah
Garis atas– Pindahkan kursor ke baris paling atas
Shiftlcd Kanan– Pindahkan gambar indikator LCD ke satu tempat yang tepat
Shiftlcd Kiri– Pindahkan gambar indikator LCD ke satu tempat kiri
Kursor Mati– Nonaktifkan kursor
Kursor Aktif– Aktifkan kursor
Kursor Saat Berkedip– Aktifkan kursor yang berkedip-kedip
Kursor Di Noblink– Nonaktifkan kursor yang berkedip

Perhatian! Saat menggunakan indikator LCD dengan resolusi 8x2 di BASCOM-AVR, konfigurasikan sebagai 16x2, karena BASCOM-AVR tidak memiliki konfigurasi untuk indikator LCD dengan resolusi 8x2.

Contoh program di BASCOM-AVR untuk skema di atas:

$regfile = "attiny2313.dat" $crystal = 8000000 Konfigurasi Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.3 , Rs = Portb .2 Config Lcd = 16 * 2 Initlcd Cls Cari 1 , 1 Lcd "Halo," Garis Bawah Lcd "dunia!" Akhir

Begini cara kerjanya dengan indikator LCD 8x2:

Bit sekering untuk firmware:

Anda dapat mengunduh file pelajaran (proyek dalam, sumber, firmware) di bawah

Suatu hari saya mendapat ide untuk menghubungkan layar LCD eksternal dari ponsel. Motorola V-180 ke mikrokontroler. Saya tidak dapat menemukan perpustakaan siap pakai untuk mengerjakannya di Internet. Namun sangat bagus untuk memiliki tampilan seperti itu di gudang senjata Anda untuk pengembangan sirkuit. Diputuskan untuk menulisnya sendiri, karena saya sudah memiliki pengalaman dalam bidang ini. Pengalaman seperti itu adalah. Seluruh perpustakaan dirancang untuk berfungsi AVR Studio6- Saya baru saja beralih ke sana.

Secara umum kesannya berbeda-beda. Menulis di sana sedikit lebih sulit daripada KodeVision, namun kodenya ternyata lebih ringkas dalam hal jejak memori. Hal utama di sini adalah memahami apa yang perlu Anda dapatkan dari mana, dan Anda harus bekerja lebih dekat dengan lembar data. Untuk siapa butuh perpustakaan KodeVision, dia dapat menghubungi forum. Saat ini belum selesai - kita perlu menambahkan fungsi untuk mengeluarkan string.

Mari kita kembali ke tampilan. Anda dapat membelinya, atau mengambilnya dari ponsel Anda dalam bentuk kabel dengan dua layar. Kami mengesampingkan yang berwarna untuk saat ini. Mungkin kita akan kembali lagi nanti. Kami tertarik dengan layar monokrom eksternal dengan distribusi 32 x 96 piksel. Sayangnya, tidak ada lampu latar bawaan. Pinout dari pin tampilan dapat dilihat pada diagram.

Terdapat kapasitor pada kabel, kapasitasnya 1 mikrofarad.

Pin CS terhubung ke 0. Pin ini bertanggung jawab untuk menghidupkan pengontrol tampilan. Secara teori, Anda dapat mengontrol beberapa layar secara paralel, cukup sambungkan pin CS ke kaki MK yang terpisah. Tergantung pada status output CS tampilan, Anda dapat beralih di antara keduanya.

Mari kita mulai menganalisis perpustakaan itu sendiri. Dalam berkas MOTOV180.h Anda dapat menetapkan port untuk pengoperasian, dan nomor keluaran port untuk tampilan. Tidak perlu mengkonfigurasi pin output secara terpisah. Perpustakaan menyediakan semua ini.

  • batal MOTOV180_send_byte(mode int8_t, uint8_t d); Anda dapat mengirim byte data, atau perintah, ke layar.
  • batal MOTOV180_init(batal); - berfungsi untuk menginisialisasi tampilan.
  • batal MOTOV180_clear(batal); - fungsi untuk membersihkan layar.
  • batal MOTOV180_gotoxy(int8_t x,int8_t y); - dengan fungsi ini Anda dapat menuju ke titik koordinat yang ditentukan.
  • batal MOTOV180_Putc(uint8_t c); berfungsi untuk menampilkan satu variabel dari memori program.
  • batal MOTOV180_Print(karakter* pesan); - digunakan untuk mengeluarkan string.
  • Sergei Savenkov

    semacam ulasan "pendek"... seolah-olah mereka sedang terburu-buru di suatu tempat