Upload
lalu-dhulkhaq
View
124
Download
2
Embed Size (px)
DESCRIPTION
Seven segment display adalah sebuah rangkaian yang dapat menampilkan angka-angka desimal maupun heksadesimal. Seven segment display biasa tersusun atas 7 bagian yang setiap bagiannya merupakan LED (Light Emitting Diode) yang dapat menyala. Jika 7 bagian diode ini dinyalakan dengan aturan yang sedemikian rupa, maka ketujuh bagian tersebut dapat menampilkan sebuah angka heksadesimal atau desimal
Citation preview
PRAKTIKUM PEMROGRAMAN MIKROKONTROLER
AKADEMI KOMUNITAS NEGERI
KAJENJOBSHEET 05 TEKNIK MESIN
SEMESTER 3
Display 7 Segment
A. Tujuan Pembelajaran
Dengan melaksanakan kegiatan praktikum Jobsheet 05 ini diharapkan Mahasiswa
dapat mengenal komponen Display 7 Segment, memahami prinsip kerjanya, jenis-jenisnya
dan rangkaiannya serta mampu mengaplikasikannya.
B. Materi
Seven segment display adalah sebuah rangkaian yang dapat menampilkan angka-angka
desimal maupun heksadesimal. Seven segment display biasa tersusun atas 7 bagian yang setiap
bagiannya merupakan LED (Light Emitting Diode) yang dapat menyala. Jika 7 bagian diode ini
dinyalakan dengan aturan yang sedemikian rupa, maka ketujuh bagian tersebut dapat menampilkan
sebuah angka heksadesimal atau desimal.
Seven-segment display membutuhkan 7 sinyal input untuk mengendalikan setiap diode di
dalamnya. Setiap dioda dapat membutuhkan input HIGH atau LOW untuk mengaktifkannya,
tergantung dari jenis seven-segmen display tersebut. Jika Seven-segment bertipe common-cathode ,
maka dibutuhkan sinyal HIGH untuk mengaktifkan setiap diodanya. Sebaliknya, untuk yang bertipe
common-annode, dibutuhkan input LOW untuk mengaktifkan setiap diodanya.
Seven segment dapat menampilkan angka-angka decimal dan beberapa karakter tertentu
melalui kombinasi aktif atau tidaknya LED penyusun dalam seven segment . Untuk mempermudah
penggunaan seven segment, umumnya digunakan sebuah decoder atau sebuah seven segment drive
yang berfungsi untuk mengatur aktif atau tidaknya LED-LED dalam seven segment sesuai dengan
LALU DHULKHAQ 141250016
PRAKTIKUM PEMROGRAMAN MIKROKONTROLER
AKADEMI KOMUNITAS NEGERI
KAJENJOBSHEET 05 TEKNIK MESIN
SEMESTER 3
input an biner yang diberikan. Piranti tampilan modern disusun sebagai pola seven segment atau
dot matriks jenis seven segment sesuai dengan namanya, menggunakan pola tujuh batang LED yang
disusun membentuk angka 8 seperti yang ditunjukkan pada gambar di atas. Huruf-huruf yang
diperlihatkan dalam gambar tersebut ditetapkan untuk menandai segment-segment tersebut.
Dengan menyalakan bebrapa segment yang sesuai, akan dapat diperagakan digit-digit dari 0 hingga
9 dan juga bentuk huruf A hingga F dengan menggunakan sedikit modifikasi. Sinyal input dari
switches tidak dapat langsung dikirimkan ke display segment, sehingga harus menggunakan decoder
BCD (Binary Code Decimal) ke seven segment sebagai antar muka. Decoder ini terdiri dari gerbang-
gerbang logika yang masukannya berupa digit BCD dan keluarannya berupa saluran-saluran untuk
mengendalikan tampilan seven segment.
Prinsip Kerja Seven Segment Prinsip kerja dari seven segment ini adalah input an bilang biner
pada switch dikonversi masukan ke dalam decoder, baru kemudian decoder
mengkonversikan bilang biner tersebut ke dalam bilangan desimal, yang mana bilangan desimal ini
akan ditampilakan pada layar seven segment. Fungsi dari decoder sendiri adalah sebagai
converter dari bilangan biner menjadi bilangan decimal.
Seven segment ada 2 jenis, yaitu common anoda dan common katoda.
Commonanoda
Common anoda merupakan pin yang terhubung dalam semua kakai anoda LED
dalam seven segmen. Common anoda diberi tegangan VCC dan seven segment. Common
LALU DHULKHAQ 141250016
PRAKTIKUM PEMROGRAMAN MIKROKONTROLER
AKADEMI KOMUNITAS NEGERI
KAJENJOBSHEET 05 TEKNIK MESIN
SEMESTER 3
anoda diberi tegangan VCC dan seven segmen dengan common anoda akan aktif pada saat
diberi logiksa rendah (0) atau sering disebut aktif low. Kaki katoda dengan label a sampai h
sebagai pin aktifasi yang menentukan nyala LED.
Common Katoda
Common Katoda merupakan pin yang terhubung dengan semua kaki katoda LED
dalam seven segment dengan common katoda akan aktif apabila diberi logika tinggi (1) atau
disebut dengan aktif high. Kaki anoda dengan label a sampai h sebagai pin aktifasi yang
menentukan nyala LED.
C. Alat dan Bahan
No. Nama Peralatan / Komponen Spesifikasi Jumlah
1. Personal computer + Software CodeVision AVR & Proteus 8
1
D. Gambar Rangkaian
Gambar 1-Rangkaian 7 Segment soal1
LALU DHULKHAQ 141250016
PRAKTIKUM PEMROGRAMAN MIKROKONTROLER
AKADEMI KOMUNITAS NEGERI
KAJENJOBSHEET 05 TEKNIK MESIN
SEMESTER 3
Gambar 2- Rangkaian 7 Segment soal2
E. Latihan Soal
1. Buatlah program untuk menyalakan dua 7 segment untuk dua angka terakhir NIM anda!
2. Buatlah program untuk menyalakan angka 1-20 secara berurutan menggunakan dua 7
segment dan decoder 7447! (delay: 0.1 s)
LALU DHULKHAQ 141250016
PRAKTIKUM PEMROGRAMAN MIKROKONTROLER
AKADEMI KOMUNITAS NEGERI
KAJENJOBSHEET 05 TEKNIK MESIN
SEMESTER 3
F. Kode Program
1. Kode Program Latihan Soal1
Gambar 3- Kode Program Running LED1
LALU DHULKHAQ 141250016
PRAKTIKUM PEMROGRAMAN MIKROKONTROLER
AKADEMI KOMUNITAS NEGERI
KAJENJOBSHEET 05 TEKNIK MESIN
SEMESTER 3
2. Kode Program latihan Soal2
Gambar 4- Kode Program Running LED2
G. Langkah Praktikum
1. Buka software Proteus 8 dan buatlah rangkaian Running LED seperti pada gambar1.2. Buka software CodeVision AVR3. Buatlah 2 project baru menggunakan ATMega8535. Untuk project soal 1 inisialisasi
DDRA dan DDRC sebagai Output dan setting PORTA dan PORTC logika awal HIGH (0xFF). Sedangkan untuk Project soal 2 hanya akan menggunakan PORTA maka setting DDRA sebagai output serta PORTA dengan logika awal HIGH (0xFF)
4. Buatlah #include <delay.h> untuk project soal 2 karena akan menggunakan fungsi delay.
5. Dan ketikan kode program selengkapnya sesuai dengan kode program Running LED1 dan Running LED2 pada gambar2 dan gambar3 diatas.
LALU DHULKHAQ 141250016
PRAKTIKUM PEMROGRAMAN MIKROKONTROLER
AKADEMI KOMUNITAS NEGERI
KAJENJOBSHEET 05 TEKNIK MESIN
SEMESTER 3
H. Analisa
1. Analisa Rangkaian
A. Analisa Rangkaian soal 1
Pada Rangkaian project soal 1 praktikum jobsheet05 ini agar dapat menjalankan
fungsinya sebagai suatu sistem minimum maka dibutuhkan dua komponen yaitu kristal
osilator dan juga rangkaian RESET. Fungsi dari osilator adalah sebagai jantungnya.
Rangkaian sistem reset dengan button yang masuk pada pin reset no9 pada
mikrokontroler ATMega8535 dan sistem rangkaian pengunci yang langsung masuk ke
pin xtail 1 dan xtail 2 dengan tegangan input yaitu 5v serta output pada PORTA dan
PORTC yaitu dua buah 7 Segment Common Anoda. 7 Segment yang terhubung ke PORTA
akan digunakan sebagai angka puluhan dan PORTC akan digunakan sebagai angka
satuan. Serta keduanya terhubung ke suplai tegangan.
B. Analisa Rangkaian soal 2
Pada Rangkaian project soal 2 praktikum jobsheet05 ini agar dapat menjalankan
fungsinya sebagai suatu sistem minimum maka dibutuhkan dua komponen yaitu kristal
osilator dan juga rangkaian RESET. Fungsi dari osilator adalah sebagai jantungnya.
Rangkaian sistem reset dengan button yang masuk pada pin reset no9 pada
mikrokontroler ATMega8535 dan sistem rangkaian pengunci yang langsung masuk ke
pin xtail 1 dan xtail 2 dengan tegangan input yaitu 5v. Pada project soal 2 ini penulis
menggunakan dua buah Decoder/Driver 7447 (sesuai instruksi soal). Decoder pertama
terhubung ke PORTA dengan alamat PORTA.0, PORTA.1, PORTA.2 dan PORTA.3.
sedangkan Decoder yang kedua terhubung ke PORTA.4, PORTA.5, PORTA.6, dan
PORTA.7. Untuk menampilkan angka berurutan 1-20 penulis menggunakan dua buah
Display 7 Segment Common Anoda. 7 Segment pertama terhubung ke Decoder kedua
(sebagai puluhan) dan 7 Segment kedua terhubung ke Decoder pertama (sebagai
satuan).
LALU DHULKHAQ 141250016
PRAKTIKUM PEMROGRAMAN MIKROKONTROLER
AKADEMI KOMUNITAS NEGERI
KAJENJOBSHEET 05 TEKNIK MESIN
SEMESTER 3
2. Analisa program
A. Kode Program Running LED1
1. Pada baris 1-3, kode program:
/***************************************
============[LALU DHULKHAQ]============
==============[141250016]==============
===========[D2 MEKATRONIKA]============
>>> AKADEMI KOMUNITAS NEGERI KAJEN <<<
>>> PDD POLITEKNIK NEGERI BANDUNG <<<
***************************************/
Kode ini /* .... */ digunakan untuk menuliskan catatan atau komentar
dengan banyak baris. Semua huruf/angka atau semua yang ada diantara dua
LALU DHULKHAQ 141250016
PRAKTIKUM PEMROGRAMAN MIKROKONTROLER
AKADEMI KOMUNITAS NEGERI
KAJENJOBSHEET 05 TEKNIK MESIN
SEMESTER 3
simbol akan diabaikan oleh program (tidak dieksekusi). Sedangkan komentar
untuk satu baris menggunakan //.
2. Baris berikutnya, kode program:
#include <mega8535.h>
Kode program #include artinya perintah untuk memanggil library/pustaka
bahasa bahasa C. Pada praktikum kali ini digunakan IC Atmega8535, untuk
itu agar dapat menggunakan fungsi-fungsi atau perintah tersebut maka
perlu header file/pemanggilan pustaka bahasa ATMega8535.
3. Baris program berikutnya:
void main(void)
perintah diatas merupakan awal program utama (kepala awal program
utama)
4. Baris perintah berikutnya:
DDRC=DDRA=0xFF;
PORTC=PORTA=0xFF;
Kode program DDRC=DDRA=0xFF; adalah perintah setting seluruh PIN pada
PORTC dan PORTA sebagai output. 0xFF merupakan bilangan heksadesimal,
jika dikonversi menjadi biner sama dengan 11111111. PORTC=PORTA=0xFF;
adalah perintah untuk setting pin 0-7 pada PORTC dan PORTA dengan logika
awal 1 .
5. Baris program berikutnya:
while (1)
{
PORTA=0b11111001; //angka1
PORTC=0b10000010; //angka6
}
}
Program diatas dapat di analisa bahwa perintah while() berarti perintah
looping atau pengulangan semua kode program yang dibawahnya tanpa
syarat, dan akan berhenti jika mikrokotroler tidak diberi tegangan.
LALU DHULKHAQ 141250016
PRAKTIKUM PEMROGRAMAN MIKROKONTROLER
AKADEMI KOMUNITAS NEGERI
KAJENJOBSHEET 05 TEKNIK MESIN
SEMESTER 3
Kemudian kode program PORTA=0b11111001; //angka1 adalah perintah
agar 7 Segment menampilkan angka 1 (sebagai puluhan). 0b11111001
artinya bahwa kode ini akan menginstruksikan LED B dan LED C yang
tersusun pada 7 Segment akan menyala, karena menggunakan 7 Segmen
Common Anoda dan akan menyaka jika diberi logika 0 (LOW). Sedangkan
kode PORTC=0b10000010; //angka6 prinsipnya sama dengan yang
diterangkan diatas, hanya 7 segment yang terhubung ke PORTC berperan
sebagai satuan (angka 6).
B. Kode Program Running LED2
1. Pada baris 1-3, kode program:
/***************************************
============[LALU DHULKHAQ]============
==============[141250016]==============
LALU DHULKHAQ 141250016
PRAKTIKUM PEMROGRAMAN MIKROKONTROLER
AKADEMI KOMUNITAS NEGERI
KAJENJOBSHEET 05 TEKNIK MESIN
SEMESTER 3
===========[D2 MEKATRONIKA]============
>>> AKADEMI KOMUNITAS NEGERI KAJEN <<<
>>> PDD POLITEKNIK NEGERI BANDUNG <<<
***************************************/
Kode ini /* .... */ digunakan untuk menuliskan catatan atau komentar
dengan banyak baris. Semua huruf/angka atau semua yang ada diantara dua
simbol akan diabaikan oleh program (tidak dieksekusi). Sedangkan komentar
untuk satu baris menggunakan //.
2. Baris berikutnya, kode program:
#include <mega8535.h>
#include <delay.h>
Kode program #include artinya perintah untuk memanggil library/pustaka
bahasa bahasa C. Pada praktikum kali ini digunakan IC Atmega8535 dan
terdapat perintah Time Delay, untuk itu agar dapat menggunakan fungsi-
fungsi atau perintah tersebut maka perlu header file/pemanggilan pustaka
bahasa ATMega8535 dan Time Delay.
3. Baris progam berikutnya :
unsigned char angka[21]={0x00,0x01,0x02,0x03,
0x04,0x05,0x06,0x07,0x08,0x09,0x10,0x11,0x12,
0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x20};
Kode program diatas menunjukan bahwa angka adalah variabel yang bertipe
unsigned char , dan variable tersebut memiliki value array berjumlah 21. Ke
21 value dari variable angka tersebut adalah bilangan heksadesimal yang
nantinya akan dipanggil oleh perintah pada isi program utama.
4. Baris program berikutnya :
unsigned int maju;
kode program diatas menunjukan bahwa maju adalah sebuah variable yang
bertipe unsigned int.
5. Baris program berikutnya:
void main(void)s
LALU DHULKHAQ 141250016
PRAKTIKUM PEMROGRAMAN MIKROKONTROLER
AKADEMI KOMUNITAS NEGERI
KAJENJOBSHEET 05 TEKNIK MESIN
SEMESTER 3
perintah diatas merupakan awal program utama (kepala awal program
utama)
6. Baris perintah berikutnya:
DDRA=0xFF;
PORTA=0x00;
Kode program DDRA=0xFF; adalah perintah setting seluruh PIN pada PORTC
sebagai output. 0xFF merupakan bilangan heksadesimal, jika dikonversi
menjadi biner sama dengan 11111111. PORTA=0x0F; adalah perintah untuk
setting pin 0-7 pada PORTC dengan logika awal 1 (HIGH).
7. Baris kode berikutnya :
while (1)
{
for(maju=0;maju<21;maju++)
{
PORTA=angka[maju];
delay_ms(50);
}
}
}
Program diatas dapat di analisa bahwa perintah while() berarti perintah
looping atau pengulangan semua kode program yang dibawahnya tanpa
syarat, dan akan berhenti jika mikrokontroler tidak diberi tegangan.
for(maju=0;maju<21;maju++){PORTA=angka[maju]; delay_ms(50); }
Kode program diatas digunakan untuk mengulang suatu proses yang telah
diketahui jumlah perulangannya (for). Kode diatas sangat
berkaitan/berhubungan dengan variabel dan array yang telah dideklarasikan
sebelumnya. Maju=0 adalah Nilai awal perulangan, artinya 0 dari array yang
terdapat didalam variabel angka adalah awal dari perulangan. Maju<21
adalah kondisi yang membandingkan variabel perulangan pada batas
tertentu artinya bahwa perulangan harus kurang dari 21 array dari variabel
angka. Maju++ adalah step untuk melakukan update pada variabel
LALU DHULKHAQ 141250016
PRAKTIKUM PEMROGRAMAN MIKROKONTROLER
AKADEMI KOMUNITAS NEGERI
KAJENJOBSHEET 05 TEKNIK MESIN
SEMESTER 3
perulangan. Dan kode yang berada didalam kurung kurawal adalah
statement. Statement pada kode diatas artinya bahwa PORTA didefinisikan
sebagai variabel Maju, variabel maju melakukan perulangan nilai yang
terdapat pada variabel angka yaitu array yang berisi bilangan heksadesimal
yang akan di baca oleh PORTA.
I. Hasil Praktikum
A. Praktikum soal 1
LALU DHULKHAQ 141250016
PRAKTIKUM PEMROGRAMAN MIKROKONTROLER
AKADEMI KOMUNITAS NEGERI
KAJENJOBSHEET 05 TEKNIK MESIN
SEMESTER 3
B. Praktikum soal 2
LALU DHULKHAQ 141250016