PERMAINAN TEMBAK SASARAN ELEKTRONIS BERBASIS MIKROKONTROLER AT89S51 Tugas Akhir - Permainan tembak sasaran elektronis berbasis mikrokontroler AT89S51 - USD Repository

  PERMAINAN TEMBAK SASARAN ELEKTRONIS BERBASIS MIKROKONTROLER AT89S51 Tugas Akhir Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Elektro Oleh: Nama : Pintohatmoko Danurwendo NIM : 015114015 PROGRAM STUDI TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS SANATA DHARMA YOGYAKARTA 2007

  

ELECTRONIC TARGET SHOOTING GAME

BASED ON AT89S51 MICROCONTROLLER

Final Project

  

Presented as Partial Fulfillment of the Requirements

To Obtain the Sarjana Teknik Degree

In Electrical Engineering Study Program

  

By:

Name : Pintohatmoko Danurwendo

Student Number : 015114015

  

ELECTRICAL ENGINEERING STUDY PROGRAM

FACULTY OF ENGINEERING

SANATA DHARMA UNIVERSITY

YOGYAKARTA

2007

  MOTTO DAN PERSEMBAHAN Be strong... Go forward... Move ahead...

  Tsuyoku mae he susume No worries...

  Hakuna Matata Kupersembahkan tugas akhir ini untuk : Kemuliaan Tuhan Yesus Kristus Bapakku Yos Daruno .P. dan Ibuku Ruth Soetji .S.M. Adikku Pintaningrum .H.D. Mbahku Y.B. Soepiyo dan Alm. Wajilah

  

Intisari

  Permainan tembak sasaran menjadi media hiburan tersendiri bagi setiap orang yang memainkan dan melihatnya. Namun seringkali permainan ini susah untuk dimainkan (membutuhkan area yang luas, harus menyusun sasaran tembak terlebih dulu, dll) dan seringkali menjadi tidak aman karena menggunakan peluru. Permainan tembak sasaran elektronis dapat menutupi kekurangan tersebut.

  Mikrokontroler AT89S51 berperan sebagai pengendali utama. Sistem ini didukung dengan penerapan solenoid sebagai penggerak dan laser pointer sebagai pengganti peluru. Sensor yang digunakan adalah fototransistor. Sensor ini berfungsi menerima rangsangan cahaya dari laser pointer dan kemudian diolah oleh mikrokontroler. Mikrokontroler juga mengatur urutan sasaran tembak yang muncul dan juga berperan sebagai pewaktu permainan. Skor akhir permainan ditampilkan oleh 2 digit

  seven segment .

  Permainan tembak sasaran elektronis dapat dimainkan dengan jarak maksimal sejauh 3 meter. Arus rata-rata solenoid sebesar 0,2925A. Permainan ini aman karena tidak menggunakan peluru.

  Kata kunci : Permainan elektronis, solenoid, laser pointer.

  

Abstract

  Shooting target game can be a special kind of game for everybody who playing this game and also entertains the others who watch it. However, sometimes, shooting target game is complicated to played (needs large area, has to arrange the target at first, etc) and sometimes it is harmfull because it use bullet. Electronic target shooting game can reduce those dearth. AT89S51 microcontroller as the brain of the system. The system is supported by solenoid as actuator and laser pointer to replace the bullet. Photo-transistor is used as censor. This censor receives the lights efluence of laser pointer then it will proceed by microcontroller. Microcontroller also controls the target arrangement to hide or seek and this microcontroller has a role as a game timer. The final score is presented by two digits of seven segment.

  Electronic target shooting game can be played under 3 meters, the distance between target and gun. Solenoid average current is 0,2925Ampere. Finally, this game is safe to played because it is not using bullet.

  Keywords : Electronic game, solenoid, laser pointer.

KATA PENGANTAR

  Puji syukur penulis panjatkan kepada Tuhan Yesus Kristus, karena kasih karunia- Nya penulis akhirnya dapat menyelesaikan tugas akhir ini dengan baik dan lancar. Tugas akhir ini merupakan salah satu syarat untuk memperoleh gelar Sarjana pada program studi Teknik Elektro Universitas Sanata Dharma Yogyakarta.

  Dalam proses penulisan tugas akhir ini penulis menyadari bahwa ada begitu banyak pihak yang telah memberikan perhatian dan bantuan sehingga tugas akhir ini dapat terselesaikan. Maka dari itu, penulis ingin mengucapkan terima kasih kepada : 1.

  Romo Ir. Greg Heliarko S.J., S.S., B.S.T., M.A., M.Sc., selaku Dekan Fakultas Teknik Universitas Sanata Dharma Yogyakarta.

  2. Bapak B. Djoko Untoro .S., S.Si., M.T., selaku pembimbing I, terima kasih atas ide-ide, dukungan spiritual, kritik dan saran dalam penulisan tugas akhir.

  3. Ibu Wiwien Widyastuti, S.T., M.T., Bapak A. Bayu Primawan, S.T., M.Eng., Ibu B. Wuri Harini, S.T., M.T., selaku panitia penguji, terima kasih atas kritik dan saran dalam penulisan tugas akhir.

  4. Ibu Ir. Prima Ari Setiyani, M.T., yang sering menjadi tempat curahan hati demi kemajuan Teknik Elektro dan kemajuan tugas akhir ini.

  5. Seluruh dosen Teknik Elektro Universitas Sanata Dharma atas ilmu yang telah diberikan.

  6. Bapak dan Ibu tercinta atas semangat dan doa serta dukungan secara moril maupun materiil. Adikku Pinta yang kangen aku dan selalu bertanya, “Kapan pulang?”. Pertanyaanmu selalu buat aku jadi giat kalau sedang malas.

  7. My Deeva A.V.F. Spadic .S. yang selalu memberi semangat dan kasih sayang.

  8. Mantan PTX Management : Agus, Cahyo, Uut. “Akhirnya aku lulus… Kita hidupkan kembali PTX Management…”

  9. Teman – teman seperjuangan : Komank, makasih buat semangatnya, Indra Bagus Klowor, makasih buat persaingannya. Tonny Pujianto, makasih buat jalan keluar dari permasalahan programku.

  10. Teman – teman Teknik Elektro : Rikhard, Ikantongkok, Tomo, Yoga, Elwi, Jimmy, Eko Jepang, Dody, Nana, Tatang, Ardi, Don, Hugo, Lina, Butet, Dewoo, Anto, Yuke, Ganyong, Inggit, dan semua teman – teman di Elektro USD.

  11. Saudara – saudariku di PMK Apostolos : Wil Iwil, Choro, Obex, Tokol Family, Jeffry, Welly, dll. “Hakuna Matata!! Karena Yesus selalu besertamu…” 12. Cumi Friska, Tie-tha, Sun Shine, Asih, Antok UPN, Marijo.

  13. Laboran Teknik Elektro : mas Broto, mas Mardi, mas Sur, mas Hardi.

  14. Dan seluruh pihak yang telah ambil bagian dalam proses penulisan tugas akhir ini yang terlalu banyak jika disebutkan satu-persatu.

  Dengan rendah hati penulis menyadari bahwa tugas akhir ini masih jauh dari sempurna, oleh karena itu berbagai kritik dan saran untuk perbaikan tugas akhir ini sangat diharapkan. Akhir kata, semoga tugas akhir ini dapat bermanfaat bagi semua pihak. Terima kasih. Yogyakarta,

  5 Februari 2007 Penulis

DAFTAR ISI

  HALAMAN JUDUL DALAM BAHASA INDONESIA………………..…………i HALAMAN JUDUL DALAM BAHASA INGGRIS………………….………….. ii HALAMAN PERSETUJUAN PEMBIMBING…………………………………… iii HALAMAN PENGESAHAN………………………………………………………iv PERNYATAAN KEASLIAN KARYA………………..………………………….. v HALAMAN MOTTO DAN PERSEMBAHAN……………………………………vi

  INTISARI………………………………………………………………………….. vii ABSTRACT……………………………………………………………….. ………viii KATA PENGANTAR………………………………………………..….………… ix DAFTAR ISI………………………………………………………………………. xi DAFTAR TABEL…………………………………………………………………. xv DAFTAR GAMBAR………………………………………………………………. xvi

  BAB I. PENDAHULUAN……………………………………………….………… 1

  1.1 Latar belakang masalah…………………………….………………… 1

  1.2 Tujuan dan manfaat……………………………………..……………. 2

  1.2.1 Tujuan………………………………………….…............... 2

  1.2.2 Manfaat…………………………………………………….. 3

  1.3 Perumusan masalah……………………………………….………….. 3

  1.4 Batasan masalah……………………………………………………… 4

  1.5 Metodologi penulisan…………………………………………………4

  1.6 Sistematika penulisan………………………………………………… 5 BAB II. DASAR TEORI…………………………………………….…………….. 6

  2.1 Diagram blok……………………………………………….…………6

  2.2 Mikrokontroler AT89S51……………………………………………. 7

  2.2.1 Fasilitas yang dimiliki AT89S51…………………………… 7

  2.2.2 Organisasi memori AT89S51……………………..…………7

  2.2.3 Register AT89S51………………………………………….. 9

  2.2.3.1 Register dasar…………………………………….. 9

  2.2.3.2 Register serba guna……………………………….. 10

  2.2.3.3 Register khusus (SFR)………………………….… 10

  2.2.4 Pemrograman mikrokontroler AT89S51…………………… 11

  2.3 Register timer/counter………………………………………………… 14

  2.3.1 Mode 0 (pencacah biner 13 bit)…………………………….. 14

  2.3.2 Mode 1 (pencacah biner 16 bit)…………………………….. 15

  2.3.3 Mode 2 (pencacah biner 8 bit isi ulang)…………….. ………16

  2.3.4 Mode 3 (gabungan pencacah biner 16 bit dan 8 bit)……….. 17

  2.3.5 Register TCON……………………………………... ………18

  2.3.6 Register TMOD…………………………………………….. 18

  2.4 Register interupsi………………………………………………………19

  2.4.1 Register IE………………………………………….. ……... 20

  2.5 Transistor sebagai saklar……………………………………………… 20

  2.6 Medan magnetik……………………………………………… ………22

  2.6.1 Induksi magnetik pada solenoid……………………..………22

  2.6.2 Gaya Lorentz………………………………………... ………23

  2.6.3 Sifat magnetik bahan………………………………...………24

  2.7 Gerak rotasi dan translasi…………………………………….. ………26

  2.8 Timer 555……………………………………………………... ………27

  2.8.1 Monostabil………………………………………….. ………28

  BAB III. PERANCANGAN…………………………………….…………. ………29

  3.1 Perancangan perangkat keras…………………………………………. 29

  3.1.1 Perancangan permainan tembak sasaran…………………… 33

  3.1.2 Mikrokontroler AT89S51………………………………….. 35

  3.1.2.1 Rangkaian reset…………………………............... 37

  3.1.2.2 Rangkaian osilator……………………………….. 38

  3.1.3 Senapan…………………………………………………….. 38

  3.1.4 Sensor………………………………………………………. 42

  3.1.5 Penampil skor permainan………………………….............. 45

  3.1.6 Penggunaan fasilitas timer, mode, dan start……………….. 47

  3.1.7 Penggerak …………………………………………. ………49

  3.1.8 Indikator alarm…………………………………….. ………60

  3.1.9 Indikator LED……………………………………………… 60

  3.1.10 Catu daya……………………………………………………61

  3.2 Perancangan perangkat lunak………………………………………… 62

  3.2.1 Inisialisasi data awal dan port……………………………… 63

  3.2.2 Diagram alir program utama……………………………….. 63

  3.2.3 Rutin pewaktu permainan………………………….. ………67

  3.2.4 Rutin tunda waktu………………………………………….. 67

3.2.5 Rutin penampil skor tembakan…………………….. ………69

  BAB IV. PENGAMATAN DAN PEMBAHASAN………………………………..70

  4.1 Pengamatan terhadap tegangan keluaran pada catu daya…………….. 72

  4.2 Pengamatan terhadap kebutuhan arus………………………………… 73

  4.3 Pengamatan sensor……………………………………………………. 76

  4.4 Pengamatan pewaktu pada mikrokontroler…………………………… 77

  4.5 Pengamatan fisik permainan tembak sasaran elektronis……………… 79

  BAB V. PENUTUP…………………………………………………………………82

  5.1 Kesimpulan…………………………………………………………… 82

  5.2 Saran …………………………………………………………………. 82 DAFTAR PUSTAKA LAMPIRAN

  DAFTAR TABEL

Tabel 2.1 Mode kerja timer/counter………………………………………………. 19Tabel 2.2 Alamat vektor interupsi………………………………………………... 19Tabel 3.1 Penggunaan port pada mikrokontroler…………………………………. 36Tabel 3.2. Tabel kebenaran dari sebagian logika yang mungkin terjadi pada sensor. ……………………………………. 44Tabel 3.3 Daftar heksa dari tampilan angka seven segment common anode……... 46Tabel 3.4. Pengamatan awal tentang pergerakan sasaran…………………………. 54Tabel 3.5. Urutan pemunculan sasaran tembak untuk mode 1……………………. 55Tabel 3.6. Urutan pemunculan sasaran tembak untuk mode 2……………………. 57Tabel 3.7. Urutan pemunculan sasaran tembak untuk mode 3……………………. 58Tabel 3.8. Penggolongan penggunaan catu daya…………………………………. 62Tabel 4.1. Pengamatan tegangan keluaran dari tiap – tiap catu daya....................... 72Tabel 4.2. Konsumsi arus pada blok rangkaian mikrokontroler…………………... 74Tabel 4.3. Konsumsi arus pada blok rangkaian penggerak...................................... 74Tabel 4.4. Konsumsi arus pada solenoid………………………………………….. 75Tabel 4.5. Pengamatan level tegangan sensor.......................................................... 76Tabel 4.6. Pengamatan kepekaan sensor terhadap jarak.......................................... 77Tabel 4.7. Pengamatan pewaktuan pada mikrokontroler.......................................... 78Tabel 4.8. Pengamatan fisik permainan tembak sasaran elektronis.......................... 80

  DAFTAR GAMBAR

Gambar 2.1. Diagram blok permainan tembak sasaran berbasis mikrokontroler AT89S51…………………………………. 6Gambar 2.2 Alokasi ruang memori program AT89S51………………………… 8Gambar 2.3 Pemetaan 128 byte rendah dari RAM internal…………………….. 9Gambar 2.4 Mode 0 pencacah biner 13 bit……………………………………… 15Gambar 2.5 Mode 1 pencacah biner 16 bit …………………………………….. 15Gambar 2.6 Mode 2 pencacah biner 8 bit dengan isi ulang …………………….. 16Gambar 2.7 Mode 3 gabungan pencacah 16 bit dan 8 bit……………………….. 17Gambar 2.8 Register TCON…………………………………………………….. 18Gambar 2.9 Register TMOD……………………………………………………..18Gambar 2.10 Register IE…………………………………………………………. 20Gambar 2.11 Rangkaian dasar transistor…………………………………………. 20Gambar 2.12 Kurva tegangan-arus untuk transistor sebagai saklar dengan garis beban………………………………………….. 21Gambar 2.13 Transistor bekerja sebagai inverter………………………………… 22Gambar 2.14. Solenoid berinti bahan ferromagnetik……………………………… 23Gambar 2.15. Arah gaya Lorentz terhadap arah medan magnet B dan arah arus i…………………………………………… 24Gambar 2.16. Garis gaya magnet…………………………………………………. 25Gambar 2.17. Hukum Coulomb untuk magnet……………………………………. 25Gambar 2.18. Perpaduan antara gerak rotasi dan gerak translasi…………………. 26Gambar 2.19. Susunan kaki serta rangkaian internal dari IC timer 555………...... 27Gambar 2.20. Rangkaian monostabil……………………………………………… 28Gambar 3.1. Diagram blok permainan tembak sasaran berbasis mikrokontroler AT89S51…………………………………. 29Gambar 3.2 Perancangan perangkat keras permainan tembak sasaran…………. 35Gambar 3.3. Diagram blok penggunaan port mikrokontroler AT 89S51 pada rancangan permainan tembak sasaran…………………………36Gambar 3.4. Rangkaian reset pada AT89S51......................................................... 38Gambar 3.5. Rangkaian osilator ............................................................................ 38Gambar 3.6. Rangkaian pewaktu monostabil untuk penyalaan laser selama 0,1 detik dengan sistem one shot……………………………39Gambar 3.7. (a) Bentuk fisik senapan…………………………………………….40

  (b) Posisi laser pada senapan………………………………………. 40

Gambar 3.8. Posisi kontak – kontak dari tuas picu pada senapan……………….. 41Gambar 3.9. (a) Posisi diam………………………………………………………41

  (b) Posisi tuas pemicu ditarik penuh ………………………………. 41

Gambar 3.10. Rangkaian dasar foto transistor terhalang OFF……………………. 42Gambar 3.11. Rangkaian pembanding……………………………………………. 43Gambar 3.12. Rangkaian penggabungan keluaran dari pembanding sensor sasaran dengan menggunakan gerbang AND 4 masukan.................. 45Gambar 3.13. Seven segment……………………………………………………… 46Gambar 3.14. Rangkaian penampil skor permainan dengan menggunakan 2 digit seven segment…………………..……46Gambar 3.15. Rangkaian saklar selektor pemilihan waktu……………………….. 48Gambar 3.16. Rangkaian saklar selektor pemilihan mode…………………………48Gambar 3.17. (a) Rangkaian dasar pembalik kutub solenoid, …………………… 49

  (b) Rangkaian pembalik kutub dengan menggunakan 1 buah relay DPDT………………………………………………….50

Gambar 3.18. Rangkaian transistor sebagai saklar…………………………………51Gambar 3.19. Perubahan arah gaya Lorentz yang disebabkan perubahan arah arus pada solenoid………………………………… 52Gambar 3.20. Posisi mekanik penggerak sasaran…………………………………. 53Gambar 3.21. Rangkaian indikator alarm…………………………………………. 60Gambar 3.22. Rangkaian indikator LED.................................................................. 61Gambar 3.23. Rangkaian catu daya dengan regulator.............................................. 62Gambar 3.24. Diagram alir program utama.............................................................. 66Gambar 3.25. Rutin untuk pewaktu permainan........................................................ 67Gambar 3.26. Rutin tunda waktu.............................................................................. 68Gambar 3.27. Rutin penampil skor tembakan.......................................................... 70Gambar 4.1. Bentuk akhir Permainan Tembak Sasaran Elektronis........................ 71Gambar 4.2. Bentuk Fisik Permainan Tembak Sasaran Elektronis per bagian...... 72Gambar 4.3. Posisi penggerak dalam kotak sasaran............................................... 73

BAB I PENDAHULUAN

1.1 Latar Belakang Masalah

  Permainan menjadi salah satu kegiatan yang dapat membuat perasaan hati menjadi terhibur dan orang yang memainkannya dapat merasakan kepuasan bila dapat memenangkan permainan tersebut. Pada intinya, permainan menjadi media hiburan bagi setiap orang yang memainkan dan melihatnya. Hal yang menjadikan permainan tersebut layak dan enak untuk dimainkan yaitu karena adanya tantangan yang berbeda di setiap saat, pola permainan yang tidak monoton, rasa ingin menang, dan lain sebagainya.

  Pada kenyataannya, setiap permainan tidak dapat langsung dimainkan karena masing-masing permainan memerlukan alat bantu permainan yang beraneka ragam.

  Misalnya, permainan tembak sasaran. Permainan ini membutuhkan beberapa alat bantu, seperti senapan beserta pelurunya, area yang luas untuk menghindari efek pantulan peluru dan serpihan sasaran yang membahayakan pemain, sasaran tembak, dan beberapa alat pendukung yang lain. Sasaran tembak dapat berupa sasaran diam (botol, kaleng, dan lain sebagainya), dan sasaran bergerak (hewan, piring terbang, dan lain sebagainya).

  Ijin kepemilikan senjata yang sulit didapat menjadi salah satu kendala dalam permainan ini. Dalam hal ini pemain menggunakan senjata api. Suara bising yang dihasilkan oleh senjata dan suara yang dihasilkan saat peluru mengenai sasaran juga memberikan nilai kurang dalam permainan ini. Tidak adanya tampilan skor dan sasaran tembak yang tidak bisa ditembak berulang kali menyebabkan permainan ini semakin tidak mudah untuk dimainkan.

  Pada tugas akhir ini, penulis mencoba untuk mengurangi kendala yang ada pada permainan tembak sasaran dengan mengaplikasikan perangkat elektronis. Perangkat tersebut menggunakan mikrokontroller sebagai pengendali dan beberapa perangkat pendukung yang lain. Dengan demikian, pada permainan tersebut, ada beberapa fitur yang dapat diaplikasikan, seperti penghitung dan penampil skor permainan, sasaran tembak yang bisa ditembak berulang kali, dan lama permainan yang dapat diatur. Jenis senjata yang digunakan tidak lagi menggunakan senjata api namun digantikan dengan senjata mainan dengan menggunakan laser sebagai pengganti peluru.

  Penggantian peralatan pada permainan tembak sasaran dengan menggunakan perangkat elektronis tidak mengubah inti dari permainan tersebut. Pemain tetap dapat memainkan seperti permainan sesungguhnya. Bahkan dengan menggunakan perangkat elektronis, permainan menjadi lebih mudah dimainkan kapan saja dan dimana saja tanpa mengubah inti dari permainan tersebut. Hal ini menjadi alasan kuat dalam perancangan dan pembuatan alat ini.

1.2 Tujuan dan Manfaat

1.2.1 Tujuan

  Tujuan yang akan dicapai dalam perancangan dan pembuatan alat ini yaitu menjadikan permainan tembak sasaran lebih mudah untuk dimainkan dan menjadikan permainan tembak sasaran lebih aman untuk dimainkan karena tidak menggunakan peluru.

1.2.2 Manfaat

  Manfaat yang akan didapat dalam perancangan dan pembuatan alat ini yaitu :

  1. Memberikan sumbangan permainan baru bagi masyarakat luas yang diadaptasi dari permainan tembak sasaran.

  2. Menjadikan mikrokontroler sebagai perangkat elektronis yang mudah diaplikasikan sebagai pengendali pada berbagai kasus dan bidang kehidupan.

  3. Memberikan kesenangan dan kepuasan tersendiri bagi pemain serta hiburan bagi orang lain yang melihat.

1.3 Perumusan masalah

  Sebagai salah satu penerapan dari mikrokontroler, permainan ini dirancang dengan menggunakan sistem yang sederhana agar dapat dimainkan. Sasaran tembak dibuat sedemikian rupa agar bisa bergerak muncul dan sembunyi. Sedangkan senapan yang digunakan tidak menggunakan peluru melainkan laser pointer.

  Konstruksi permainan ini dibuat dengan konfigurasi 8 sasaran tembak yang dibagi dalam 2 grup (tingkat) agar menghemat tempat. Masing – masing sasaran diberi sensor cahaya berupa fototransistor. Sasaran tembak bergerak bergantian sesuai urutan sasaran.

  Pada permasalahan di atas, masalah yang didapat sebagai berikut :

  1. Bagaimana membuat sistem supaya sasaran dapat bergerak muncul dan sembunyi ?

  2. Bagaimana membuat rangkaian sensor pendeteksi cahaya ?

  3. Bagaimana membuat program pada mikrokontroler ?

1.4 Batasan Masalah

  Perancangan dan pembuatan peralatan ini dibatasi pada : 1. Menggunakan Mikrokontroler seri AT89S51.

  2. Menerapkan solenoid sebagai penggerak dengan bantuan magnet.

  3. Menggunakan senjata mainan dan laser pointer sebagai pengganti peluru.

  4. Menggunakan foto transistor sebagai sensor cahaya.

  5. Sasaran tembak berjumlah 8 buah.

  6. Penampil skor berupa seven segment dua digit dan memberikan kenaikan 1 skor jika tembakan mengenai sasaran.

  7. Lama permainan dapat diatur yakni 30 detik atau 60 detik.

  8. Mode permainan dapat dipilih sesuai tingkat keterampilan.

1.5 Metodologi penulisan

  Pada penelitian ini akan dilakukan beberapa langkah sebagai berikut : 1.

  Perumusan masalah

  2. Pengumpulan dokumen pendukung berupa informasi dari berbagai literature, buku pedoman, dan data sheet komponen.

  3. Perancangan untuk menyelesaikan masalah 4. Pengambilan data melalui pengamatan.

  5. Penyajian data dengan gambar dan tabel.

  6. Penyusunan laporan.

1.6 Sistematika penulisan

  Sistematika penulisan terdiri dari 5 bab, yaitu :

  BAB I PENDAHULUAN Bab ini berisi tentang latar belakang masalah, tujuan dan manfaat penelitian, perumusan masalah, batasan masalah, metodologi penulisan, dan sistematika penulisan.

  BAB II DASAR TEORI Bab ini berisi tentang dasar teori yang mendukung perancangan dari sistem, seperti mikrokontroler AT89S51, solenoid, transistor, gerak rotasi translasi, dan pewaktu 555.

  BAB III PERANCANGAN Bab ini berisi perancangan perangkat keras maupun perangkat lunak, seperti perancangan solenoid sebagai penggerak, rangkaian sensor, konstruksi permainan, penampil skor, dan algoritma perangkat lunak.

  BAB IV PENGAMATAN DAN PEMBAHASAN Bab ini berisi tentang pengamatan hasil akhir beserta pembahasannya. BAB V PENUTUP Bab ini berisi kesimpulan dan saran.

BAB II DASAR TEORI

2.1 Diagram blok

  Urutan kerja dari permainan tembak sasaran dimulai dengan memilih waktu permainan serta mode permainan yang dikehendaki. Kemudian dengan menekan tombol start maka permainan dapat dimulai diiringi dengan munculnya sasaran tembak secara bergantian agar dapat ditembak dengan menggunakan laser. Setiap tembakan yang mengenai sasaran dikenai nilai 1 dan ditampilkan pada penampil skor. Untuk lebih jelasnya tentang prinsip kerja dan perancangan permainan tembak sasaran ini, dapat dilihat pada bab selanjutnya. Diagram blok dari permainan tembak sasaran dapat dilihat pada gambar 2.1.

  Pemilih waktu Start dan reset Pemilih mode Sensor Mikrokontroler Penampil skor

  Laser Penggerak

Gambar 2.1. Diagram blok permainan tembak sasaran berbasis mikrokontroler AT89S51.

2.2 Mikrokontroler AT89S51

  Mikrokontroler AT89S51 adalah jenis mikrokontroler 8 bit yang dibuat dengan teknologi non-volatile memory yang diproduksi oleh ATMEL. Mikrokontroler ini juga dilengkapi dengan 4 kbyte flash PEROM (Programmable and Erasable Read Only Memory ).

  Teknologi flash memory ini memungkinkan untuk menyimpan program dalam media penyimpanan internal, membaca program yang telah disimpan, menghapusmaupun memrogram kembali dengan lebih mudah dan cepat. Dengan kemampuan hapus atau tulis Sebanyak lebih kurang 1000 kali, membuat mikrokontroler ini fleksibel untuk digunakan dalam berbagai sistem. Mikrokontroler ini merupakan anggota keluarga MCS-51, sebuah keluarga mikrokontroler yang dipelopori oleh perusahaan Intel dengan memroduksi mikrokontroler 8051.

  2.2.1 Fasilitas yang dimiliki AT89S51

  Fasilitas yang dimiliki mikrokontroler ini antara lain 4 kbyte ROM, 128 byte RAM, 4 buah I/O port masing-masing 8 bit, 2 buah timer 16 bit, serial interface, 64 byte

  

external data memory spaces, Boolean processor (pada operasi bit), dan 210 lokasi yang

  dapat dialamati per bit. Diagram blok bagian bagian mikrokontroler AT89S51 dan hubungan antar bagian secara terinci dapat dilihat pada lampiran data sheet.

  2.2.2 Organisasi memori AT89S51

  Memori mikrokontroler AT89S51 dibagi menjadi memori program dan memori data. Memori program atau ROM digunakan untuk menyimpan program yang dibuat oleh pemrogram. Isi ROM dapat diubah oleh pemrogram dan tidak akan hilang selama mikrokontroler terhubung ke catu daya. ROM menempati ruang dengan nomor heksadesimal 0000h-FFFFh dan untuk AT89S51 dengan kapasitas memori on-chip 4 kbyte menempati 0000h-0FFFh. Ruang sisanya digunakan untuk ekspansi sebagai memori eksternal dengan kapasitas totalnya 64 kbyte. Alokasi ruang memori program ditunjukkan pada gambar 2.2.

  FFFFh 60 kbyte eksternal 64 kbyte eksternal

  1000h dan

  0FFFh 4 kbyte internal

  0000h

Gambar 2.2 Alokasi ruang memori program AT89S51

  Memori data digunakan untuk menyimpan data yang diolah mikrokontroler selama proses kerjanya berlangsung. Data ini akan hilang jika mikrokontroler tidak terhubung ke catu daya. Memori data menempati ruang 00h-FFh dengan distribusi ruang 00h-7Fh (128 byte) untuk RAM dan 80h-FFh untuk Special Function Register (SFR).

  RAM itu sendiri didistribusinak menjadi ruang 00h-1Fh (32 byte) untuk 4 buah register (masing-masing 8 buah register 8 bit), 20h-2Fh (16byte) untuk memori data biasa yang juga menyimpan data atau dialamati per bit, dan 30h-7Fh (80 byte) sebagai memori data biasa. Penjelasan dengan gambar dapat dilihat pada gambar 2.3.

  7Fh 80 byte

  30h Memori data (RAM) biasa

  2Fh Dapat dialamati per bit (16 byte)

  20h

  1Fh Bank 3

  18h 17h Bank 2

  10h Bank register

  0Fh Bank 1

  08h 07h Bank 0

  00h

Gambar 2.3 Pemetaan 128 byte rendah dari RAM internal

2.2.3 Register AT89S51 Dalam keluarga mikrokontroler MCS 51, register ditempatkan secara terpisah.

  Register PC ditempatkan dalam inti procesor, register serba guna (R -R

  7 ) di dalam ruang memori data, dan register yang lain di dalam SFR.

2.2.3.1 Register Dasar

  Mikrokontroler AT89S51 juga memiliki register dasar atau register pokok untuk keperluan penulisan program. Register-register tersebut adalah Program Counter (PC), (A), Stack Pointer (SP), dan Program Status Register. Sedangkan register

  Accumulator

  dasar yang menjadi ciri khas keluarga mikrokontroler MCS 51 adalah Register B, Data Pointer High Byte (DP H ) dan Data Pointer Low Byte (DP L ).

  Register B sebagai register 8 bit, bersama accumulator berfungsi dalam menjalankan instruksi perkalian dan pembagian. Sedangkan register DP dan DP yang

  H L

  masing-masing berkapasitas 8 bit, dapat digunakan sebagai dua register 8 bit atau sebagai Data Pointer Register (DPTR) 16 bit.

  2.2.3.2 Register Serba Guna

  Register serba guna (General Purpose Register) berkapasitas 32 byte dan dibagi dalam 4 bank register, masing-masing terdiri dari 8 register (R -R

  7 ). Keempat register tersebut tidak bisa digunakan secara bersamaan, namun bank register 0 aktif setelah reset.

  Untuk memilih bank register yang digunakan, diatur dalam register Program Status Word (PSW). Khusus untuk register R dan R

  1 dapat digunakan untuk menampung alamat dalam mode indirect memory addressing.

  2.2.3.3 Register Khusus (SFR)

  Register ini untuk mengatur perilaku mikrokontroler yang berhubungan dengan paralel P -P dan sarana I/O lainnya serta tidak untuk menyimpan data. Sebagian

  port

  3

  register dasar diletakkan dalam SFR, seperti accumulator dan register B. register-register dalam SFR antara lain : a.

  Register penampung data masukan/keluaran yang berhubungan dengan port paralel P , P

  1 , P 2 , dan P 3 .

  b.

  TL0/TH0 (Timer 0 Low/High), TL1/TH1 (Timer 1 Low/High) yang membentuk Timer 0 dan Timer 1 sebagai pencacah naik, dan juga bisa dipakai sebagai sumber clock pencacah. Perilaku timer ini diatur melalui register TMOD dan TCON.

  c. TMOD (Timer Mode), merupakan register untuk mengendalikan kerja timer 0 dan tiner 1, dan digunakan sebagai timer 16 bit, 13 bit atau dua buah timer 8 bit yang terpisah pada masing-masing timer. Selain itu TMOD juga mengatur agar proses pencacahan dapat dikendalikan dari luar dan dapat mendeteksi sinyal dari luar IC AT89S51.

  d. TCON (Timer Control), untuk mengendalikan timer dalam memulai dan menghentikan proses pencacahan, sekaligus mengawasi proses pencacahan itu sendiri dan terjadinya overflow. Dalam register ini juga ada bit yang mengatur permintaan interupsi dari INTO (pin 12) dan INTI (pin 13).

  e.

  IE (Interrupt Enable), untuk mengatur agar interupsi aktif atau tidak aktif.

  f.

  IP (Interrupt Control), digunakan untuk mengatur prioritas dari masing - masing sumber interupsi.

  g. PCON (Power Control), untuk mengatur mode pemakaian daya oleh mikrokontroler misalnya pada saat sistem dalam keadaan stand by. Daya listrik yang digunakan sistem dapat direduksi sehingga menjadi hemat, terutama sistem yang menggunakan baterai sebagai sumber daya listrik.

2.2.4 Pemrograman Mikrokontroler AT89S51

  Semua mikrokontroler yang termasuk keluarga MCS 51 menggunakan bahasa pemrograman yang sama yaitu MCS 51 assembly language, kumpulan instruksi berupa kode-kode dengan panjang satu sampai empat byte setiap instruksi. Pemrogramannya disesuaikan dengan kemampuan dan fitur yang dimiliki masing-masing jenis atau nomor seri mikrokontroler.

  Instruksi-instruksi MCS 51 dikelompokkan dalam beberapa bagian, yaitu :

  a. Operasi Aritmatika Yang termasuk dalam kelompok ini adalah instruksi penambahan (add,addc,inc), pengurangan (subb,dec), perkalian (div), dan pengaturan desimal (da).

  b. Operasi Logika Meliputi instruksi and (anl), or (orl), xor (xrl), clear (clr), rotasi (rl,rlc,rr,rrc), komplemen (cpl), dan pertukaran nibble dalam akumulator (swap).

  c. Transfer Data Meliputi instruksi penyalinan data (mov, movc, movx), menyimpan dan mengambil pada stack (push, pop), dan pertukaran data (xch, xchd).

  d.

  Operasi Boolean Terdiri dari instruksi untuk carry dan bit, antara lain clear (clr), set bit (setb), komplemen (cpl), anl, orl, mov, dan instruksi jump yang mengacu pada carry dan bit seperti jc, jnc, jb, jnb, dan jbc.

  e. Operasi Percabangan Terdiri dari instruksi pemanggilan sub rutin (acall, lcall), kembali dari sub rutin (ret), kembali dari interupsi (reti), lompatan relatif maupun dengan syarat (ajmp, sjmp, ljmp, jmp, jz, jnz, cjne, djnz). Ada juga instrusi agar dalam satu siklus clock tidak terjadi operasi, yaitu nop.

  Karena data di berbagai lokasi memori, maka dalam pemrograman MCS 51 dikenal jenis-jenis penyebutan atau pengalamatan (addressing mode), antara lain : a. Pengalamatan secara langsung

  Instruksi pengalamatan secara langsung untuk menunjuk data yang berada di dalam memori dengan cara menyebut nomor alamat tempat data tersebut berada. Alamat adalah lokasi pada RAM internal atau daerah SFR.

  b.

  Pengalamatan secara tidak langsung Dalam pengalamatan tak-langsung, instruksi menentukan suatu register yang digunakan untuk menyimpan alamat operan. Baik Ram internal maupun eksternal dapat diakses secara tak-langsung. Register alamat untuk alamat- alamat 8 bit bisa menggunakan Stack Pointer, R , dan R

  1 dari bank register

  yang dipilih. Sedangkan untuk alamat 16-bit hanya bisa menggunakan register pointer data 16-bit atau DPTR.

  c.

  Pengalamatan register Instruksi dengan menyebutkan data yang tersimpan dalam register.

  Contohnya : MOV A,R2 (yang berarti menyalin data yang disimpan pada R ke akumulator)

  2

  d. Pengalamatan dengan segera Merupakan instruksi yang menyebutkan data dengan segera karena data tersebut sudah berada dalam instruksi.