Labsheet Praktikum Mikrokontroller 5 Segmen Seven Ok
Labsheet Praktikum Mikrokontroller 5 Segmen Seven Ok
Penyalaan seven segment sama halnya dengan lampu LED yaitu dengan
mengeluarkan data pada port. Untuk menyalakan seven segment, port pada mikrokontroler
diprogram sebagai keluaran. Susunan LED pada seven segment dapat dilihat pada gambar
dibawah ini:
Susunan LED tersebut, jika dinyalakan pada segment tertentu akan membentuk
sebuah karakter angka ataupun huruf. Ada dua macam penyambungan seven segment yaitu:
commond anode dan common cathode. Penyambungan common anode ditandai oleh
disambungnya pin LED positip menjadi satu dengan VCC. Seven segment common anode
akan menyala jika pada pin a, b, c, d, e, f, g dan p dihubungkan ground atau logika rendah.
Dalam membentuk tampilan karakter atau angka yang diinginkan dapat dilihat pada tabel
dibawah ini:
FAKULTAS TEKNIK
UNIVERSITAS NEGERI YOGYAKARTA
LABSHEET PRAKTIKUM MIKROKONTROLLER
No. : ST/EKA/ EKA263/05 Revisi : 00 Senin 010211 Hal. 2 dari 5 hal.
Sem.:Genap Seven Segmen 4 x 50 menit
Tabel 1. Data pembentuk karakter pada seven segment
Tampilan a b c d e f g
0 0 0 0 0 0 0 1
1 1 0 0 1 1 1 1
2 0 0 1 0 0 1 0
3 0 0 0 0 1 1 0
4 1 0 0 1 1 0 0
5 0 1 0 0 1 0 0
6 0 1 0 0 0 0 0
7 0 0 0 1 1 1 1
8 0 0 0 0 0 0 0
9 0 0 0 1 1 0 0
A 0 0 0 1 0 0 0
b 1 1 0 0 0 0 0
C 0 1 1 0 0 0 1
d 1 0 0 0 0 1 0
E 0 1 1 0 0 0 0
F 0 1 1 1 0 0 0
Penyalaan seven segment dapat dilakukan dengan dua cara yaitu: penyalaan statik dan
dinamik. Penyalaan statik adalah penyalaan yang terus menerus dan biasanya digunakan
untuk menyalaan penampil seven segment tunggal, artinya bahwa tiap pin seven segment
akan dihubungkan dengan pin pada mikrokontroler. Cara ini tidak effektif karena
menggunakan jumlah pin mikrokontroler yang banyak. Apalagi jika seven segment yang
dipasang lebih dari satu.
Penyalaan dimanik adalah penyalaan yang bergantian dengan waktu yang sangat
cepat. Pergantian ini dilakukan dalam waktu milidetik, sehingga mata manusia tidak bisa
mengikutinya. Karena pergantian yang cepat, sehingga seolah-olah penyalaannya bersifat
statik. Metode penyalaan seperti ini sering disebut penyalaan scanning. Penyalaan seperti ini
sangat effektif karena tidak menggunakan jumlah pin mikrokontroler yang banyak. Gambar
rangkaian seven segment dapat dilihat pada gambar dibawah ini:
Data tersebut dikeluarkan melalui PD, dan selanjutnya adalah menentukan data PB. Data
pemilih seven segment dapat dilihat pada tabel dibawah:
B. Rangkaian
Rangkaian 1
FAKULTAS TEKNIK
UNIVERSITAS NEGERI YOGYAKARTA
LABSHEET PRAKTIKUM MIKROKONTROLLER
No. : ST/EKA/ EKA263/05 Revisi : 00 Senin 010211 Hal. 4 dari 5 hal.
Sem.:Genap Seven Segmen 4 x 50 menit
Rangkaian 2
C. Program
Program 1
#include <mega16.h>
#include <delay.h>
char digit[16]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
unsigned char i;
void main(void)
{
DDRC = 0xFF;
PORTC = 0x00;
DDRD = 0xFF;
PORTD = digit[0];
while(1)
{
if(i==10)
{
i=0;
}
else
i++;
delay_ms(500);
PORTD = digit[i];
};
}
FAKULTAS TEKNIK
UNIVERSITAS NEGERI YOGYAKARTA
LABSHEET PRAKTIKUM MIKROKONTROLLER
No. : ST/EKA/ EKA263/05 Revisi : 00 Senin 010211 Hal. 5 dari 5 hal.
Sem.:Genap Seven Segmen 4 x 50 menit
Program 2
#include <mega16.h>
char digit[16]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,
0x77,0x7C,0x39,0x5E,0x79,0x71};
unsigned char;
unsigned char kondisi_p;
unsigned char key;
unsigned char i;
void main(void)
{
DDRD = 0xFF;
PORTD = digit[0];
DDRC = 0x00;
PORTC = 0xFF;
while(1)
{
if(!PINC.0)
{
if(key!=kondisi_p)
{
if(i==15)
{
i=0;
PORTC=digit[0];
}
else
i++;
PORTD = digit[i];
kondisi_p=key;
};
}
else
kondisi_p=0xFF;
}
}
D. Tugas
1. Gambarkan rangkaian mikrokontroller seperti pada gambar rangkaian 1 dan 2, beri nama
file untuk rangkaian 1 menjadi NIM_ANDA_51 dan rangkaian 2 menjadi
NIM_ANDA_52
2. Tulislah program pada Program1 s.d program2 untuk gambar rangkaian mikrokontroller
ATMEGA16 dengan CVAVR
3. Lakukan konversi menjadi file dengan berextensi .c menjadi berextensi .COF dan .HEX
yang siap dimasukan ke dalam mikrokontroller
4. Gambarkan rangkaian diatas pada simulasi Proteus
5. Masukan file yang berextensi COF atau HEX ke dalam mikrokontroller ATMEGA16
rangkaian 1
6. Lakukan penekanan Tombol PLAY pada proteus amati apa yang terjadi
7. Buatlah program untuk rangkaian 2 supaya seven segmen dapat menampilkan angka
0000 s.d. 9999