Karakteristik Seven Segmen
Penampil seven segment adalah sebuah
piranti penampil untuk menampilkan angka desimal. Penampil seven segment banyak
digunakan dalam jam digital, meter elektronik, dan piranti elektronik yang
lain. Gambar 4.1 memperlihatkan bentuk fisik dan layout dasar penampil seven
segment. Penampil seven segment terdiri atas 8 LED yang disusun seperti dalam
Gambar 4.1(b). Setiap LED diidentifikasi sebagai huruf a, b, c, d, e, f, g,
yang dimulai dari huruf a di sebelah atas. Di sebelah kanan terdapat satu LED
tambahan yang digunakan sebagai koma (dp). Untuk menampilkan data angka,
misalnya angka 5, maka segmen a, c, d, f dan g harus menyala. Display seven
segmen ada dua macam, yaitu dalam konfigurasi common cathode (CC) and common
anode (CA).
(a) Penampil seven segment
(b) Layout LED
Gambar 4.1 Seven segment
B. Rangkaian Antarmuka dengan Seven Segmen
Dengan
konfigurasi CC, maka ketujuh katoda setiap segmen dihubungkan menjadi satu.
Oleh karena mikrokontroler tidak mampu mengendalikan segmen LED secara
langsung, maka diperlukan rangkaian antarmuka seperti yang terlihat dalam
Gambar 4.2 (a). IC buffer/driver 74LS244 digunakan untuk memenuhi kebutuhan
arus LED. 74LS244 mampu memberikan arus 15 mA per segmen (IOH) pada
VOH 2,0 V. Resistor pembatas arus diperlukan untuk setiap segmen
untuk membatasi arus yang masuk ke setiap LED, Resistor tersebut sudah tersedia
dalam bentuk 8 DIP. Jika display seven segmen yang dibutuhkan lebih dari satu,
maka satu port mikrokontroler digunakan untuk data, dan sebagian port yang lain
digunakan untuk mengontrol nyala masing-masing seven segmen seperti yang
ditunjukkan dalam Gambar 4.2 (b). Sebuah transistor NPN (untuk seven segmen CC)
dihubungkan dengan kaki common setiap seven segmen. Kaki common ini diaktifkan
secara berurutan, sehingga jika mikrokontroler mengaktifkan kaki common ini
dalam kecepatan lebih dari 30 Hz, maka nyala seven segmen akan terlihat stabil
(tidak berkedip).
Dalam trainer I/O yang dipakai dalam praktikum, seven segment yang
digunakan ada 2 buah, semuanya bertipe common anoda. Kedua seven segment
tersebut dimultipleks sehingga data diperoleh dari satu kaki (D0-D7), sedangkan
untuk menyalakannya digunakan kaki kontrol yang berbeda (DO1 dan DO2).
Rangkaian lengkap seven segment dapat dilihat dalam Gambar 4.3. Untuk
menampilkan sebuah karakter, minimal 2 LED harus dinyalakan.
Tabel 4.1 memperlihatkan kode heksadesimal untuk
menampilkan angka 0 sampai 9.
(a) Antarmuka dengan Seven Segmen
(b) Antarmuka dengan 4 Seven Segmen
Gambar 4.2 Rangkaian Antarmuka Seven
Segmen
Tabel 4.1 Kode heksadesimal untuk angka 0-9
Digit
|
Gfedcba
|
g
|
F
|
e
|
d
|
C
|
b
|
A
|
0
|
0x3F
|
off
|
on
|
on
|
on
|
on
|
on
|
on
|
1
|
0x06
|
off
|
off
|
off
|
off
|
on
|
on
|
off
|
2
|
0x5B
|
on
|
off
|
on
|
on
|
off
|
on
|
on
|
3
|
0x4F
|
on
|
off
|
off
|
on
|
on
|
on
|
on
|
4
|
0x66
|
on
|
on
|
off
|
off
|
on
|
on
|
off
|
5
|
0x6D
|
on
|
on
|
off
|
on
|
on
|
off
|
on
|
6
|
0x7D
|
on
|
on
|
on
|
on
|
on
|
off
|
on
|
7
|
0x07
|
off
|
off
|
off
|
off
|
on
|
on
|
on
|
8
|
0x7F
|
on
|
on
|
on
|
on
|
on
|
on
|
on
|
9
|
0x6F
|
on
|
on
|
off
|
on
|
on
|
on
|
on
|
Gambar 4.3 Rangkaian penampil seven
segment
C. Program Untuk Menampilkan Angka ke Seven Segmen
Bagian program untuk
inisialisasi seven segmen yang datanya dihubungkan dengan PORTB serta PORTC
digunakan untuk mengontrol nyala seven segmen.
//untuk data 7s
PORTB=0x00;
DDRB=0xff; //portb sebagai output,
0b11111111
//untuk kontrol DO1, DO2
PORTC=0xf0;
DDRC=0xf0; //portc sebagai input dan
output, 0b11110000
Program berikut
digunakan untuk menampilkan angka 8 pada
seven segmen sebelah kanan.
while (1) {
PORTC.7=1;
|
//nonaktifkan seven segment kiri
|
PORTC.6=0;
|
//aktifkan
seven segmen kanan
|
PORTB=0x7f;
|
//tampilkan
data angka 8
|
delay_ms(10);
}
Program berikut
digunakan untuk menampilkan angka 4 pada
seven segmen sebelah kiri.
while (1) {
PORTC.7=0;
|
//aktifkan
seven segment kiri
|
PORTC.6=1;
|
//nonaktifkan seven segmen kanan
|
PORTB=0x66;
|
//tampilkan
data angka 4
|
delay_ms(10);
}
0 komentar:
Posting Komentar