• Tidak ada hasil yang ditemukan

Laporan praktikum mikroprossesor Teknik Digit

N/A
N/A
Protected

Academic year: 2018

Membagikan "Laporan praktikum mikroprossesor Teknik Digit"

Copied!
22
0
0

Teks penuh

(1)

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

(2)

MODUL II

SCANNING DISPLAY SEVEN SEGMENT AND KEYPAD

I. Dasar Teori

Seven Segment Display ( 7 Segment Display) adalah komponen elektroni-ka yang dapat menampilelektroni-kan angelektroni-ka 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.

(3)

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

(4)

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-g-dot (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

(5)

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]

(6)

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.

(7)

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

(8)

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.

(9)
(10)

Gambar B.7. – B.9.

Gambar B.10.

Setelah itu klik menuAdd dan pilih nama project yang telah kita simpan tadi lalu klik OK.

(11)

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.13. Hasil dari Projek 2

Gambar B.14. Hasil dari projek 3

(12)

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.

(13)

}

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..

(14)

} }

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 <mega324a.h> | include <delay.h> | #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};| int kiri,

kanan, i;, untuk coding tersebut menandakan bahwa perintah untuk menampilkan karakter – karakter tulisan hasil dari peralihan angka hexa ke angka

(15)

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<2;kiri++) | { | for (kanan=0;

kanan<10; kanan++) { | for (i=0; i<50; i++) {, fungsi dari perintah ini adalah perintah kiri yang bernilai 0 dan kanan yang bernilai 0. Serta untuk kiri sama dengan 0 maka kiri lebih besar 2 atau bernilai satuan, dan kanan yang bernilai sama dengan 0 makan kanan lebih besar 10 atau bernilai puluhan. Untuk perintah koding selanjutnya adalah data_segmen = bil[kanan]; | DS2=0;DS1=1; : delay_ms(5); | data_segmen = bil[kiri]; |

DS2=1;DS1=0; | delay_ms(5);, maksud perintah ini adalah bilangan bagian kanan yang merupakan data segmen akan tampil jika DS2=0 dan DS1=1 dengan delay tampil 5 detik, selanjutnya data segmen bilangan kiri akan tampil jika DS2 = 1 dan DS1=0 serta delaynya selama 5 detik.

Untuk projek keempat ini kita melakukan scanning menggunakan keypad. Pada projek ini terlebih dahulu kita mengcopy dulu script yang ada dalam modul lalu dipindahkan ke dalam CodeVisionAVR. Setelah itu kita mengkompile script dan mendownload kedalam micro. Untuk coding baris pertama #include

<mega324a.h> | #include <delay.h> berfungsi sebagai Lib ATmega 324a serta Lib delay atau waktu tunda. Untuk script koding selanjutnya #define DS1 PORTD.0 | #define DS2 PORTD.1 | #define DS3 PORTD.2 | #define DS4

PORTD.3 berfungsi untuk mendeklarasikan masukan common anoda DS1 – DS4 ke Port D.0 – Port D.3. Dan baris selanjutnya #define data_segmen PORTA | #define K1 PINB.0 | #define K2 PINB.1 | #define K3 PINB.2 |

(16)

{0b11000000,0b11111001,0b10100100,0b10110000, //0-1-2-3 | 0b10011001,0b10010010,0b10000010,0b11111000, //4-5-6-7 | 0b10000000,0b10010000,0b10001000,0b10000011, //8-9-A-B | 0b11000110,0b10100001,0b10000110,0b10001110}; //C-D-E-F | unsigned

char d1=0,d2=0,d3=0,d4=0,d=0; | unsigned char a,tombol; mempunyai fungsi sebagi table tengok untuk data seven segment, serta berfungsi mengaktifasi variable common anoda display, serta variabel a dan data tombol, dan subrutin menampilkan ke scanning display. Setelah itu koding berikut d1=d+1; |

d2=d+2; | d3=d+3; | d4=d+4; | for(a=0;a<10;a++, untuk koding ini berfungsi untuk display akan menampilkan angka yang berada dalam D menambah angka 1, 2,3, dan 4. Untuk script data_segmen = segmen[d1]; | DS1=1;DS2=0;DS3=0;DS4=0;|delay_ms(5); | data_segmen = segmen[d2];| DS1=0;DS2=1;DS3=0;DS4=0;|delay_ms(5);|data_segmen=segmen[d3];| DS1=0;DS2=0;DS3=0;DS4=0; | delay_ms(5);| data_segmen = segmen[d4];

| DS1=0;DS2=0;DS3=0;DS4=0; | delay_ms(5);, untuk script ini berfungsi untuk menampilkan angka dibagian D mana yang akan nampak serta yang tidak nampak hal ini bisa diatur dengan mengganti angka 1 yang di DS1 atau yang lain dengan angka 0. void detek(){ | B1=1;B2=0;B3=0;B4=0; | delay_us(100); | if(K1==1) tombol=0; | if(K2==1) tombol=1; | if(K3==1) tombol=2; | if(K4==1) tombol=3; | B1=0;B2=1;B3=0;B4=0;

(17)

V. Kesimpulan dan Saran

Kesimpulan yang bisa diambil dari praktikum kali ini adalah :

1. Seven Segment merupakan komponen elektronika yang dapat menampilkan angka desimal melalui kombinasi-kombinasi segmennya. 2. Untuk Scanning seven segment kita bisa menggunakan common kathoda

serta bisa common anoda.

3. Scanning seven segment merupakan teknik untuk menampilkan perintah yang sudah didownload dari mikro akan ditransfer kedalam display seven segment.

4. Scanning Keypad merupakan teknik scanning yang akan menampilan elemen elemen angka yang yang sudah didownload kedalam seven segment dan bisa diubah lewat tombol keypad yang tersedia.

5. Scanning seven segment dan scanning keypad saling berhubungan dan berkaitan.

Saran yang bisa diberikan pada praktikum kali ini adalah :

(18)

2. Software yang digunakan untuk praktikum adalah CodeVision AVR dan Proteus 8, tapi untuk Proteus disarankan menggunakan Proteus 7.x. 3. Untuk penulisan coding harus teliti serta di awali dan di akhiri dengan

tanda kurung kurawal setiap perintah ({}).

4. Peralatan praktikum sebaiknya di cek kelayakannya sebelum praktikum berlangsung.

VI. Daftar Pustaka

1. Pramono, S. (2015). Modul Praktikum Microprossesor Scanning Display Seven Segment dan Keypad. Purwokerto.

2. Anynomous. (n.d.). http://www.electronics-tutorials.ws/blog/7-segment-display-tutorial.html. Retrieved May 05, 2015, from electronics-tutorial.ws:

http://www.electronics-tutorials.ws/blog/7-segment-display-tutorial.html

3. Anonymous. (n.d.).

(19)

VII. Lampiran

A. Pertanyaan

1. Apa fungsi dari “PORTD.1=1”?

Jawab : Perintah PORTD.1=1 yaitu mengaktifkan Pin 1 pada Port D. 2. Apa fungsi dari delay_ms (50)?

Jawab : Fungsi dari delay ms (50) adalah untuk mengatur delay atau waktu lamanya jeda selama 50 mili second atau 0.05 detik.

3. Apa fungsi dari unsigned char bil [10]?

Jawab : Char berarti variabelnya akan ditampung dalam tipe data char (karakter). Sedangkan [10] berarti array yang akan ditampilkan mempunyai 10 kolom, yaitu dari index 0 sampai dengan 9.

(20)

Jawab : berarti akan terjadi pengulangan dimana variable dengan nama kiri mula-mula bernilai nol, kemudian jika variable kiri lebih kecil dari 2 maka variable kiri akan ditambah 1.

5. Pada saat kanan bernilai 5, berapani lai dari Port A dalam hexa dan binernya ?

Jawab : Untuk nilai Port A adalah LED 6 yang menyala, sedangkan dalam hexa adalah 6 dan binernya adalah 0110.

6. Apa keunggulan menggunakan Subrutin ?

Jawab : Dapat membagi program kedalam sub-sub program yang lebih kecil sehingga memudahkan dalam penulisan code listing.

7. Apa fungsi daridelay_us (100) ?

Jawab : Fungsidari delay us (100) adalah untuk mengatur delay atau waktu lamanya jeda selama 100 mikro second atau 0.1 milli second atau 0.0001 detik.

8. Apa perbedaan scanning seven segment pada point 5 & 7?

Jawab: Pada Scanning Seven Segment point 5 menggunakan listing code perulagan while sedangkan pada Scanning Seven Segment Point menggunakan perulangan For.

B. Tugas

1. Simulasi dan program Up counter yang menghitung dari 0 hingga 100+XYZ.

2.

Simulasi dan Program Up down counter dengan ketentuan a. Bila Push buttom 1 ditekan counter bertambah 1 b. Bila Push buttom 2 ditekan counter berkurang 1

c. Bila Push buttom 3 ditekan counter akan reset ke “000”

(21)
(22)

Gambar

Gambar A.1 Common Catoda.
Gambar A.4 skematik scanning seven segment
Gambar A.5 Rangkaian Keypad
Gambar B.12. Hasil dari Projek 2
+2

Referensi

Dokumen terkait

Selain itu, penulis juga berkeinginan menjadikan VW Kombi sebagai tempat tinggal sementara yag dikarenakan hobi travelling yang dimiliki dan lebih menyukai untuk tinggal

Pemindahtanganan barang milik daerah berupa tanah dan/atau bangunan sebagaimana dimaksud dalam Pasal 75 ayat (2) diatur oleh Bupati..

Script yang digunakan untuk mengatur permainan antara lain scrip t autofoc untuk mengatur agar kamera device menjadi mode auto-focus , barrier_script untuk

Desa atau yang disebut dengan nama lain, selanjutnya disebut Desa adalah kesatuan masyarakat hukum yang memiliki batas-batas wilayah yang berwenang untuk mengatur

Tujuan dari penelitian ini adalah untuk mengetahui pengaruh kombinasi ekstrak daun melinjo dan daun sirsak terhadap aktivitas makan dan mortalitas ulat grayak ( S.litura

Desain simbol garis pada peta skematik Trans Jogja ini menggunakan variabel visual berupa warna karena lebih mudah untuk digunakan dalam membedakan jalur yang satu dengan

Se alik ya,

Faktor diutamakan yaitu faktor Process merupakan variabel diskriminan yang paling dominan mempengaruhi kecenderungan nasabah untuk merekomendasikan ( word of mouth