Tampilan tujuh segmen adalah unit tampilan penting dalam Elektronika dan banyak digunakan untuk menampilkan angka dari 0 hingga 9. Ia juga dapat menampilkan beberapa huruf karakter seperti A, B, C, H, F, E dll. Dalam tutorial ini, kita akan belajar cara membuat antarmuka tampilan 7 segmen dengan mikrokontroler 8.051. Kami menggunakan mikrokontroler AT89S52 dari seri 8051.
Sebelum melakukan interfacing, kita harus mempelajari tentang tampilan 7 segmen. Ini adalah unit paling sederhana untuk menampilkan angka dan karakter. Hanya terdiri dari 8 LED, masing-masing LED digunakan untuk menerangi satu segmen unit dan LED ke- 8 digunakan untuk menerangi DOT pada tampilan 7 segmen. Kita dapat merujuk setiap segmen sebagai GARIS, seperti yang kita lihat ada 7 baris pada unit yang digunakan untuk menampilkan angka / karakter. Kita dapat merujuk setiap baris / segmen "a, b, c, d, e, f, g" dan untuk karakter titik kita akan menggunakan "h". Ada 10 pin, di mana 8 pin digunakan untuk merujuk a, b, c, d, e, f, g dan h / dp, dua pin tengah adalah anoda / katoda umum dari semua LED. Anoda / katoda umum ini disingkat secara internal sehingga kita hanya perlu menghubungkan satu pin COM.
Ada dua jenis tampilan 7 segmen: Common Anode dan Common Cathode:
Common Anode: Di sini semua terminal Negatif (katoda) dari semua 8 LED dihubungkan bersama (lihat diagram di bawah), dinamai COM. Dan semua terminal positif dibiarkan sendiri.
Katoda Umum: Dalam hal ini semua terminal positif (Anoda) dari semua 8 LED dihubungkan bersama, dinamai COM. Dan semua panas negatif dibiarkan begitu saja.
Diagram Sirkuit dan Ekspedisi Kerja
Di sini kami menggunakan tipe anoda umum 7 segmen karena kami perlu menghubungkan LED secara terbalik. Seperti yang kita ketahui bahwa mikrokontroler tidak memberikan daya yang cukup untuk menyalakan LED sehingga kita perlu menghubungkan katoda LED ke pin mikrokontroler dan anoda LED ke catu daya. Konsep logika negatif ini dapat Anda pahami pada artikel “Antarmuka LED dengan Mikrokontroler 8051”. Anda juga harus membaca artikel ini untuk memahami koneksi dasar mikrokontroler seperti kristal dan rangkaian reset.
Seperti yang ditunjukkan di atas diagram rangkaian untuk antarmuka tampilan 7 segmen dengan mikrokontroler 8051, kita telah menghubungkan a, b, c, d, e, f, g, h ke pin 2.0 hingga 2.7 artinya kita menghubungkan 7 segmen ke port 2 mikrokontroler. Sekarang misalkan kita ingin menampilkan 0, maka kita perlu menyalakan semua LED kecuali LED yang termasuk baris "g" (lihat diagram di atas), jadi pin 2.0 hingga 2.6 harus berada di 0 (harus 0 untuk MENYALAKAN LED sebagai per logika negatif) dan pin 2.7 dan 2.8 harus berada di 1 (harus 1 untuk MEMATIKAN LED sesuai logika negatif). Jadi LED yang terhubung ke pin 2.0 hingga 2.6 (a, b, c, d, e, f) akan ON dan LED yang terhubung ke 2.7 dan 2.8 (g dan h) akan OFF, yang akan membuat "0" di 7 segmen. Jadi kita membutuhkan pola bit 11000000 (Pin 8 adalah bit tertinggi jadi mulai dari P2.7 hingga P2.0), dan kode HEX untuk biner 11000000 adalah “C0”. Demikian pula kita dapat menghitung semua digit. Di sini kita harus mencatat bahwa kita menjaga "titik / h" selalu MATI,jadi kita perlu memberikan LOGIC “1” padanya setiap saat. Sebuah tabel telah diberikan di bawah ini untuk semua angka saat menggunakan segmen Common Anode 7.
Digit untuk Ditampilkan |
hgfedcba.dll |
Kode hex |
0 |
11000000 |
C0 |
1 |
11111001 |
F9 |
2 |
10100100 |
A4 |
3 |
10110000 |
B0 |
4 |
10011001 |
99 |
5 |
10010010 |
92 |
6 |
10000010 |
82 |
7 |
11111000 |
F8 |
8 |
10.000.000 |
80 |
9 |
10010000 |
90 |
Penjelasan Kode
Kami telah membuat fungsi ms_delay untuk memberikan penundaan dalam milidetik, penundaan ini biasanya disediakan di program mikrokontroler apa pun sehingga mikrokontroler dapat menyelesaikan operasi internalnya.
Kemudian kami telah membuat array kode hex untuk 0 sampai 9 (lihat tabel di atas), dan akhirnya kami telah mengirim kode hex ke port 2, yang terhubung ke segmen anoda 7 umum. Jadi dengan cara ini angka-angka tersebut ditampilkan pada tampilan 7 segmen.
Sekarang kita hanya memiliki 4 port di mikrokontroler dan bagaimana jika kita ingin menampilkan data di lebih dari empat 7 segmen ?? Untuk mengatasi masalah ini, teknik Multiplexing muncul. Kita perlu membuat multipleks beberapa unit 7 segmen. Baca juga interfacing tampilan 7 segmen dengan mikrokontroler AVR.