Laporan praktikum mikroprossesor Teknik Digit

LAPORAN PRAKTIKUM
MIKROPROSSESOR
Modul II : Scanning Display Seven Segment and Keypad

Disusun Oleh :
Hanif Rifkha Pambudi
13101055
Rekan Praktikum

: Hendro Bayu Pramono (13101056)

Asisten Praktikum

: Andika Agung
Khoirun Ni’mah
Henny Mahendali

LABORATURIUM SWITCHING
SEKOLAH TINGGI TEKNOLOGI TELEMATIKA TELKOM
PURWOKERTO
2015


MODUL II
SCANNING DISPLAY SEVEN SEGMENT AND KEYPAD
I.

Dasar Teori
Seven Segment Display ( 7 Segment Display) adalah komponen elektroni-

ka yang dapat menampilkan angka desimal melalui kombinasi-kombinasi
segmennya. Seven Segment Display pada umumnya dipakai pada Jam Digital,
Kalkulator, Penghitung atau Counter Digital, Multimeter Digital dan juga panel
display digital seperti pada microwave oven ataupun pengatur suhu digital . Seven
Segment Display pertama diperkenalkan dan dipatenkan pada tahun 1908 oleh
Frank. W. Wood dan mulai dikenal luas pada tahun 1970-an setelah aplikasinya
pada LED (Light Emitting Diode).
Seven Segment Display memiliki 7 Segmen setiap segmen dikendalikan
secara ON dan OFF untuk menampilkan angka yang diinginkan. Angka-angka
dari 0 (nol) sampai 9 (Sembilan) dapat ditampilkan dengan menggunakan
beberapa kombinasi Segmen. Selain 0 – 9, Seven Segment Display juga dapat
menampilkan Huruf Hexadecimal dari A sampai F. Segmen atau elemen-elemen

pada Seven Segment Display diatur menjadi bentuk angka “8” yang agak miring
ke kanan dengan tujuan untuk mempermudah pembacaannya. Pada beberapa jenis
Seven Segment Display, terdapat juga penambahan “titik” yang menunjukan
angka koma decimal. “LED 7 Segmen ada dua type yaitu “7 Segmen common
Cathode” dan “ 7 Segmen common Anode”.[1]
Perbedaan antara dua layar, seperti namanya, adalah bahwa katoda umum
memiliki semua katoda dari 7-segmen terhubung langsung bersama-sama dan
anoda umum memiliki semua anoda dari 7-segmen terhubung bersama-sama dan
diterangi sebagai berikut.
1. Common Katoda (CC) - Dalam tampilan katoda umum, semua koneksi katoda
dari segmen LED bergabung bersama untuk logika "0" atau tanah. Segmen
individu diterangi oleh aplikasi dari "TINGGI", atau logika "1" sinyal melalui
resistor yang membatasi arus ke bias maju terminal Anoda individu.

Gambar A.1 Common Catoda.
2. Common Anode (CA) - Dalam tampilan anoda umum, semua koneksi anoda
dari segmen LED bergabung bersama untuk logika "1". Segmen individu
diterangi dengan menerapkan dasar, logika "0" atau "LOW" sinyal melalui
cocok resistor yang membatasi arus ke katoda dari segmen tertentu.[2]


Gambar A.2. Common Anoda

Gambar A.3. Tampilan display seven segment[2]
Tabel 4.1 kendali seven segment Common Anode (Anoda):

Numerik

Dp

G

f

e

d

c

b


a

Dalam hex

0

1

1

0

0

0

0

0


0

C0

1

1

1

1

1

1

0

0


1

F9

2

1

0

1

0

0

1

0


0

A4

3

1

0

1

1

0

0

0


0

B0

4

1

0

0

1

1

0

0


1

99

5

1

0

0

1

0

0

1


0

92

6

1

0

0

0

0

0

1


0

82

7

1

1

1

1

1

0

0

0

F8

8

1

0

0

0

0

0

0

0

80

9

1

0

0

1

1

0

0

0

98

Metode untuk memahami scanning display berisi 4 buah 7 segmen
common anoda yang dapat diakses dengan 12 pin I/O. Masukan pin common
dapat dikendalikan pada pin Ed1 hingga Ed4. Masukan pin segmen a-b-c-d-e-f-gdot (active low) dapat diakses melalui jumper Jdr. Jadi prinsipnya adalah
mengaktifkan salah satu pin Ed1..Ed4 dengan memberikan logika ’1’. Kemudian
data segmen yang sudah disiapkan diberikan ke masukan a..g dan dot dengan
syarat memberikan logika ’0’ agar led segmen menyala.[1]

Gambar A.4 skematik scanning seven segment
Keypad adalah kumpulan beberapa switch yang tersusun atas baris dan kolom, yang
mempunyai sifat yang unik yaitu kolom dan barisnya tidak dapat dirubah. Dalam
melakukan proses pembacaan dan pengiriman data keypad dapat bekerja dengan
menggunakan dua metoda, yaitu metoda scanning dan pollong. Keypad ATMega 8535
yang digunakan menggunakan metoda scanning yang berfungsi untuk menerima input

tombol keypad serta menampilkan digit atau karakter yang diinginkan ke alat
penampil seperti seven segment atau LCD. Keypad merupakan susunan saklar
push-button menurut baris dan kolom, hampir sama dengan dot matriks, hanya
saja dot matrix tersusun dari LED. Bentuk dan susunan keypad dapat dilihat pada
gambar 2.3. Hubungkan pin keypad dengan pin mikrokontroler. Cara untuk
mengetahui saklar mana yang ditekan adalah dengan memeriksa baris dan kolom. Agar
mikrokontroler mengetahui.[3]
Keypad Matrix adalah tombol - tombol yang disusun secara matrix (baris
x kolom) sehingga dapat mengurangi penggunaan Port. Sebagai contoh, Keypad
Matriks 4×4 cukup menggunakan 8 pin untuk 16 tombol push button. Hal tersebut
dimungkinkan karena rangkaian tombol disusun secara horizontal membentuk
baris dan secara vertical membentuk kolom.[1]

Gambar A.5 Rangkaian Keypad

Gambar A.6 Skematik scanning keypad

II.

Hasil Data
Pada praktikum modul 2 kali ini kita membahas tentang scanning display

seven segment dan keypad . Hasil akhir yang akan diketahui setelah praktikum ini
bisa menampilkan angka pada display seven segment. Pada praktikum kali ini
berbeda dengan praktikum hari sebelumnya. Karena pada praktikum ini dalam
pembuatan projek harus membuat source juga setelah kita membuat projek.

Gambar B.1
Pilih Project > OK, lalu muncul gambar dibawah ini.

Gambar B.2.
Ketika muncul jendela di atas pilih “No”, maka setelah itu akan muncul gambar
seperti ini,

Gambar B.3.
Ketik nama file yang akan dibuat, lalu klik “Save”. Lalu akan muncul jendela
seperti ini

Gambar B.4.
Pilih menu pada taskbar “C Compiler” maka isi Chip dengan ATmega 324A,dan
Clock sebesar 11.0592 > OK. Setalah itu pilih file > New maka akan tampil
gambar berikiut

Gambar B.5.

Pada jendela ini pilih source lalu OK, setelah itu pilih menu setting >
Programmer pastikan bahwa USB Downloader sudah terdeteksi maka pilih OK.
Seperti gambar pada berikut.

Gambar B.6.
Setelah itu ketikkan list coding yang telah tertulis dalam modul. Setelah coding
dimasukan kemudian langkah selanjutnya yaitu configure project dengan cara
memilih menu Project kezmudian pilih Configure kemudian pilih After Build
kemudian centang Program the Chip klik OK.

Gambar B.7. – B.9.

Gambar B.10.
Setelah itu klik menu Add dan pilih nama project yang telah kita simpan tadi lalu
klik OK.
Setelah itu tekan F9 untuk melihat apakah masih ada coding yang salah atau sudah
benar. Jika coding sudah benar semua maka pilih menu Project kemudian Build
All atau langsung menekan ctrl+F9 setelah itu pilih Program the Chip untuk
melihat hasil dari program yang dibuat.

Gambar B.11.
Berikut hasil yang di dapat ketika melakukan praktik scanning seven segment and
keypad.

Gambar B.12. Hasil dari Projek 2

Gambar B.14. Hasil dari projek 3

Gambar B.13. Hasil dari Projek 2
Gambar B.15. Hasil dari projek 3

Gambar B.16. Hasil dari projek 4

III. Analisa Pembahasan
Praktikum modul 2 scanning display seven segment and keypad
untuk mem-buat projrect berbeda dengan modul sebelumnya, jika pada
modul 1 membuat CodeVision Autowizard, pada modul 2 tidak
membuatnya. Jadi, dalam pembuatannya membuat source setelah kita
membuat projek.
Pada projek pertama praktikum membuat untuk menampilkan angka
1 dan berikut coding dan flowchartnya.
#include

Start

void main (void)
{

Port A sebagai
output

DDRA=0xff;
DDRD=0x00;

PORTA=0b11111001

while(1)
{
PORTA=0b11111001;

Out
put =
1

No

yes

PORTD.1=1;
End

}
Pada list coding pada baris pertama yang tertulis di atas mempunyai
maksud bahwa compiler diminta untuk menyertakan file ATmega 324a karena
pada praktikum juga menggunakan mikro tersebut. Dan untuk baris selanjutnya,
tertulis perintah DDRA=0xff; merupakan baris register DDRx untuk mengatur
orientasi port. DDRD=0x00; berarti kita mengatur Port D sebagai tempat keluaran
DDRA. Dan baris selanjutnya perintah while(1) untuk mengulang setiap
perintah yang ditulis. Untuk baris list koding selanjurnya PORTA=0b11111001; //
Cetak

Numerik

1

|

PORTD.1=1;,

perintah koding ini adalah Port A

menampilkan angka biner kedalam bentuk hexa dengan Port D sebagai
keluarannya dan angka tersebut berbentuk angka 1. Dan perintah ini akan
berulang karena terdapat perintah while (1), untuk mengakhiri projek tidak
lupa tanda kurung kurawal dikasih.
Untuk projek praktikum yang kedua adalah menampilakan angka 1 dan C.
berikut list koding yang ditulis dan Flowchart dari projek kedua..
#include

Start

#include
void main (void)
{

Port A sebagai
output

DDRA=0xff;
DDRD=0x00;

PORTA=0b11111001

while(1)
{
PORTA=0b11111001;

Outpu
t=1

no

PORTD.0=0;
PORTD.1=1;
delay_ms(50);
PORTA=0b11000110;

Delay = 50
detik
PORTA=0b11000110

PORTD.0=1;
PORTD.1=0;
Delay_ms(50);

Outpu
t=C

No

}

Delay = 50 detk

}
End

Pada projek kedua, hampir sama dengan projek pertama hanya menambah satu
karakter saja, pada awal list koding hampir sama dan tetap mengulangi perintah
itu selamanya karena terdapat perintah while(1). PORTA = 0b11111001;
//Cetak Numerik “1” | PORTD.0=0; | PORTD.1=1; | delay_ms(50);.

Untuk list koding berikut berfungsi untuk mengubah angka biner tersebut menjadi
bilangan hexadecimal dengan Port A menampilkan angka dan Port D.0 sebagai
inputannya dan bernilai 1 sedangkan Port D.1 sebagai outputnya dan bernilai 0
atau lebih jelasnya menampilkan dan mematikan. Untuk delay angka pertama ini
sebesar 50 milisecond karena terdapat perintah delay_ms(50);. Dan dibawahnya
terdapat koding berikut PORTA=0b11000110; //Cetak Karakter “C”
PORTD.0=1; | PORTD.1=0; | Delay_ms(50);,

|

fungsi koding tersebut, Port A

untuk menampilkan karakter “C”. karena angka biner tersebut menunjukkan huruf
C, yang sebelumnya angka biner tersebut diubah menjadi bilangan hexadecimal.
Untuk Port D.0 sebagai outputnya yang bernilai 1 sedangkan port D.1 sebagai
inputnya dan bernilai 0. Serta delaynya selama 50 milisecond. Untuk hasil dari
projek dua ini akan tampil angka 1 dan C pada seven segment secara bersamaan
dan hidup selama 50 milisecond dan mati 50 milisecond sesuai dengan perintah.
Untuk projek ketiga dari praktikum kali ini, kami membuat seven segment
untuk menampilkan angka urut dua digit dari 00 hingga 29. Untuk perintah
pertama dari coding ini adalah #include | include
| #define DS1 PORTD.0 | #define DS2 PORTD.1 | #define data_segmen
PORTA,

perintah dari coding ini adlah bahwa kita menggunakan ATmega 324a

sebagai microprossesor dan Port D.0 dan Port D.1 digunakan sebagia input dari
mikro ke display seven segmentnya. Dan Port A sebagai tempat untuk mengatur
dimana tempat hasil compiler yang akan ditampilkan. Koding selanjutnya adalah
unsigned

char

bil[10]

{0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};|
kanan,

i;,

=
int

kiri,

untuk coding tersebut menandakan bahwa perintah untuk

menampilkan karakter – karakter tulisan hasil dari peralihan angka hexa ke angka

decimal, yang akan ditampilkan pada display seven segment. Dan untuk coding
selanjuntnya

PORTA=0x00;

|

DDRA=0xFF;

|

PORTD=0x00;

|

DDRD=0xFF;seperti projek sebelumnya koding ini berfungsi sama halnya dengan

praktikum sebelumnya.

while(1)

fungsi koding ini untuk mengulang hasil projek

selamanya tanpa harus berhenti. Dan perintah koding selanjutnya kiri=0; |
kanan=0;

|

for

(kiri=0;

kiri