7 Segment (Lalu Dhulkhaq)

18
PRAKTIKUM PEMROGRAMAN MIKROKONTROLER AKADEMI KOMUNITAS NEGERI KAJEN JOBSHEET 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 LALU DHULKHAQ 141250016

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

Transcript of 7 Segment (Lalu Dhulkhaq)

Page 1: 7 Segment (Lalu Dhulkhaq)

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

Page 2: 7 Segment (Lalu Dhulkhaq)

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

Page 3: 7 Segment (Lalu Dhulkhaq)

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

Page 4: 7 Segment (Lalu Dhulkhaq)

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

Page 5: 7 Segment (Lalu Dhulkhaq)

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

Page 6: 7 Segment (Lalu Dhulkhaq)

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

Page 7: 7 Segment (Lalu Dhulkhaq)

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

Page 8: 7 Segment (Lalu Dhulkhaq)

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

Page 9: 7 Segment (Lalu Dhulkhaq)

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

Page 10: 7 Segment (Lalu Dhulkhaq)

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

Page 11: 7 Segment (Lalu Dhulkhaq)

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

Page 12: 7 Segment (Lalu Dhulkhaq)

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

Page 13: 7 Segment (Lalu Dhulkhaq)

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

Page 14: 7 Segment (Lalu Dhulkhaq)

PRAKTIKUM PEMROGRAMAN MIKROKONTROLER

AKADEMI KOMUNITAS NEGERI

KAJENJOBSHEET 05 TEKNIK MESIN

SEMESTER 3

B. Praktikum soal 2

LALU DHULKHAQ 141250016