Tampilan adalah bagian yang sangat penting dari setiap Aplikasi Sistem Tertanam karena membantu pengguna untuk mengetahui status sistem dan juga menunjukkan output atau pesan peringatan yang dihasilkan oleh sistem. Ada banyak jenis tampilan yang digunakan dalam elektronik seperti tampilan 7-segmen, layar LCD, tampilan layar sentuh TFT, tampilan LED, dll.
Kami sudah menghubungkan LCD 16x2 dengan ARM7-LPC2148 di tutorial kami sebelumnya. Hari ini di tutorial ini kita akan menampilkan Tampilan 7-segmen dengan ARM7-LPC2148. Sebelum membahas lebih detail, kita akan melihat bagaimana mengontrol modul 7-segmen untuk menampilkan sejumlah karakter.
Tampilan 7-Segmen
Tampilan 7 segmen adalah salah satu unit tampilan paling sederhana untuk menampilkan angka dan karakter. Biasanya digunakan untuk menampilkan angka dan memiliki iluminasi yang lebih terang serta konstruksi yang lebih sederhana daripada tampilan dot matrix. Dan karena iluminasi yang lebih terang, output dapat dilihat dari jarak yang lebih jauh dari LCD. Seperti yang ditunjukkan pada gambar tampilan 7-segmen di atas, terdiri dari 8 LED, masing-masing LED digunakan untuk menerangi satu segmen unit dan LED ke-8 digunakan untuk menerangi DOT dalam tampilan 7 segmen. 8thLED digunakan ketika dua atau lebih modul 7-segmen digunakan, misalnya untuk menampilkan (0,1). Modul tunggal digunakan untuk menampilkan satu digit atau karakter. Untuk menampilkan lebih dari satu digit atau karakter, beberapa 7-segmen digunakan.
Pin Tampilan 7-Segmen
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
Bergantung pada koneksi, kami mengklasifikasikan 7-Segmen dalam dua jenis:
Katoda Umum
Dalam hal ini semua terminal Negatif (katoda) dari semua 8 LED dihubungkan bersama (lihat diagram di bawah), dinamai COM. Dan semua terminal positif dibiarkan sendiri atau dihubungkan ke pin mikrokontroler. Jika kita menggunakan mikrokontroler kita mengatur logika HIGH untuk menerangi tertentu dan mengatur LOW untuk mematikan LED.
Anoda Umum
Dalam hal ini semua terminal positif (Anoda) dari semua 8 LED dihubungkan bersama, dinamakan COM. Dan semua panas negatif dibiarkan sendiri atau dihubungkan ke pin mikrokontroler. Jika kita menggunakan mikrokontroler kita mengatur logika LOW untuk menerangi tertentu dan mengatur logika High untuk mematikan LED.
Jadi tergantung pada nilai pin, segmen atau garis tertentu dari 7 segmen dapat dihidupkan atau dimatikan untuk menampilkan angka atau alfabet yang diinginkan. Misalnya untuk menampilkan 0 digit kita harus mengatur pin ABCDEF sebagai HIGH dan hanya G sebagai LOW. Karena ABCDEF LED menyala dan G OFF, ini membentuk 0 digit dalam modul 7-segmen. (Ini untuk katoda umum, untuk anoda umum sebaliknya).
Tabel di bawah ini menunjukkan nilai HEX dan digit terkait sesuai dengan pin LPC2148 untuk konfigurasi katoda umum.
Angka |
Nilai HEX untuk LPC2148 |
SEBUAH |
B |
C |
D |
E |
F |
G |
0 |
0xF3 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
0x12 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
2 |
0x163 |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
3 |
0x133 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
4 |
0x192 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
5 |
0x1B1 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
6 |
0x1F1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
7 |
0x13 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
8 |
0x1F3 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
9 |
0x1B3 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
PENTING: Pada tabel di atas saya telah memberikan nilai HEX sesuai dengan pin yang saya gunakan di LPC2148, periksa diagram rangkaian di bawah ini. Anda dapat menggunakan pin apa pun yang Anda inginkan tetapi mengubah nilai hex sesuai dengan itu.
Untuk mempelajari lebih lanjut tentang tampilan 7-segmen, buka link. Periksa juga antarmuka tampilan 7-segmen dengan mikrokontroler lain:
- 7 Antarmuka Tampilan Segmen dengan Raspberry Pi
- 7 Segmen Tampilan Antarmuka dengan Mikrokontroler PIC
- 7 Segmen Tampilan Antarmuka dengan Arduino
- 7 Segmen Tampilan Antarmuka dengan Mikrokontroler 8051
- 0-99 Penghitung menggunakan Mikrokontroler AVR
Bahan yang Dibutuhkan
Perangkat keras
- ARM7-LPC2148
- Modul Tampilan Tujuh Segmen (Satu Digit)
- Papan tempat memotong roti
- Menghubungkan Kabel
Perangkat lunak
- Keil uVision5
- Flash Magic
Diagram Sirkuit
Untuk menghubungkan 7-segmen dengan LPC2148, tidak diperlukan komponen eksternal seperti yang ditunjukkan pada diagram rangkaian di bawah ini:
Tabel di bawah ini menunjukkan koneksi sirkuit antara modul 7-Segment & LPC2148
Pin Modul Tujuh Segmen |
Pin LPC2148 |
SEBUAH |
P0.0 |
B |
P0.1 |
C |
P0.4 |
D |
P0.5 |
E |
P0.6 |
F |
P0.7 |
G |
P0.8 |
Umum |
GND |
Pemrograman ARM7 LPC2148
Kami telah mempelajari cara memprogram ARM7-LPC2148 menggunakan Keil di tutorial sebelumnya. Kami menggunakan Keil uVision 5 yang sama di sini untuk menulis kode dan membuat file hex, dan kemudian mengunggah file hex ke LPC2148 menggunakan flash magic tool. Kami menggunakan kabel USB untuk memberi daya dan mengunggah kode ke LPC2148
Kode lengkap dengan penjelasan Video diberikan di akhir tutorial ini. Di sini kami menjelaskan beberapa bagian penting dari kode.
Pertama kita perlu menyertakan file header untuk mikrokontroler seri LPC214x
#include
Selanjutnya atur pin sebagai keluaran
IO0DIR = IO0DIR-0xffffffff
Ini mengatur pin P0.0 ke P0.31 sebagai output tetapi kami hanya akan menggunakan pin (P0.0, P0.1, P0.4, P0.5, P0.6, P0.7, dan P0.8).
Kemudian atur pin tertentu pada LOGIC HIGH atau LOW sesuai dengan digit angka yang akan ditampilkan. Di sini kami akan menampilkan nilai dari (0 hingga 9). Kami akan menggunakan array yang terdiri dari nilai HEX untuk nilai 0 hingga 9.
unsigned int a = {0xf3,0x12,0x163,0x133,0x192,0x1b1,0x1f1,0x13,0x1f3,0x1b3};
Nilai akan ditampilkan terus menerus karena kode telah dimasukkan ke dalam while loop
sementara (1) { untuk (i = 0; i <= 9; i ++) { IO0SET = IO0SET-a; // set pin yang sesuai penundaan TINGGI (9000); // Panggilan fungsi penundaan IO0CLR = IO0CLR-a; // Setel pin yang sesuai LOW } }
Di sini IOSET dan IOCLR digunakan untuk mengatur pin TINGGI dan RENDAH. Karena kami telah menggunakan pin PORT0 jadi kami memiliki IO0SET & IO0CLR .
For loop digunakan untuk menaikkan i di setiap iterasi dan setiap kali i bertambah, 7 segmen juga menambah digit yang ditampilkan di atasnya.
Fungsi penundaan digunakan untuk menghasilkan waktu tunda antara SET & CLR
void delay (int k) // Fungsi untuk membuat delay { int i, j; untuk (i = 0; i
Kode lengkap dan deskripsi video kerja diberikan di bawah ini. Periksa juga semua proyek terkait Tampilan 7-Segmen di sini.