ANTARMUKA MIKROKONTROLER DENGAN SEVEN
SEGMEN
- Mengetahui
dan memahami cara mengantarmukakan mikrokontroler dengan rangkaian seven
segment.
- Mengetahui
dan memahami bagaimana memrogram mikrokontroler untuk menampilkan karakter
ke seven segment.
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 3.1
memperlihatkan bentuk fisik dan layout dasar penampil seven segment. Penampil
seven segment terdiri atas 8 LED yang disusun seperti dalam Gambar 3.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)
Gambar 3.1 Seven segment
Untuk
menampilkan sebuah karakter, minimal 2 LED harus dinyalakan. Tabel 3.1
memperlihatkan kode heksadesimal untuk menampilkan angka 0 sampai 9.
Dalam
modul 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 3.2.
Tabel 3.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 3.2
Rangkaian penampil seven segment
Dalam Gambar 3.2, kaki a, b, c, d, e,
f, g, dp dihubungkan ke soket jumper DATA 7S, sedangkan kaki kontrol (DO1 dan
DO2 dihubungkan dengan soket jumper I/P S KEY.
- 1
set PC/Laptop yang sudah berisi program Code Vision dan Khazama
- 1
buah catu daya DC +5V
- 1
buah multimeter
- 1
buah ISP Downloader AVR
- 1
buah sistem minimum AVR
- 1
buah I/O
- 1
buah kabel printer USB
- 2
buah kabel pita hitam
1.
Hubungkan soket jumper PORTB pada minimum system
dengan soket jumper DATA7S pada I/O dan soket jumper PORTC pada minimum system
dengan soket jumper I/P S KEY pada I/O.
2.
Buka program Code Vision AVR
3.
Buatlah project baru dengan inisialisasi PORTB
sebagai output (DDRB = FFH) dan output value = 0 (PORTB=00H), dan PORTC.0-PORTC.3 sebagai input,
PORTC.4-PORTC.7 sebagai output (DDRC = F0H) dan (PORTC=F0H) sehingga pada
program bagian inisialisasi PORTB dan PORTC terlihat sebagai berikut:
PORTB=0x00;
DDRB=0xff; //portb sebagai output,
0b11111111
//untuk data 7s
PORTC=0xf0;
DDRC=0xf0; //portc sebagai input dan
output, 0b11110000
//untuk kontrol DO1,
DO2
4.
Tuliskan dalam program utama sebagai berikut:
PROGRAM SEGMEN1
//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);
}
5.
Amati nyala seven segment.
6.
Ulangi langkah 3-5 untuk program berikut:
PROGRAM SEGMEN2
//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);
}
7.
Gabungkan kedua program di atas dan lihat nyala
seven segmen.
8.
Ubah nilai delay untuk masing-masing seven segment
menjadi 100 ms dan amati tampilan seven segmen.
9.
Ulangi langkah 3-5 untuk program berikut:
PROGRAM SEGMEN3
//Membuat counter 0-9 di segmen sebelah kanan
// Declare your global variables here
unsigned char bil[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
// Declare your local variables here
int kanan;
while (1)
{
// Place your code here
kanan=0;
for
(kanan=0;kanan<10;kanan++)
{
PORTC.7=1;
PORTC.6=0;
PORTB=bil[kanan];
delay_ms(1000);
}
}
10. Ubah
nilai delay untuk program SEGMEN3 menjadi 100 ms dan amati tampilan seven
segmen.
11. Buat
program SEGMEN4 untuk menampilkan 00-99 di kedua seven segmen sehingga kedua
angka tampil bersamaan.
12. Buat
program SEGMEN5 untuk menampilkan 00 hingga dua digit terakhir NIM anda
(counter up) lalu menghitung mundur dari dua digit NIM terakhir anda ke 00
(counter down). (kedua seven segment menyala bersamaan).
0 komentar:
Posting Komentar