MAKALAH PENDDIDIKAN KEWARGANEGARAAN - USD ...

172
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 i

Transcript of MAKALAH PENDDIDIKAN KEWARGANEGARAAN - USD ...

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

i

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

ii

iii

iv

v

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

vi

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.

vii

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.

viii

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.

ix

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

x

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

xi

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

xii

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

xiii

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

xiv

DAFTAR TABEL

Tabel 2.1 Mode kerja timer/counter………………………………………………. 19

Tabel 2.2 Alamat vektor interupsi………………………………………………... 19

Tabel 3.1 Penggunaan port pada mikrokontroler…………………………………. 36

Tabel 3.2. Tabel kebenaran dari sebagian logika

yang mungkin terjadi pada sensor. ……………………………………. 44

Tabel 3.3 Daftar heksa dari tampilan angka seven segment common anode……... 46

Tabel 3.4. Pengamatan awal tentang pergerakan sasaran…………………………. 54

Tabel 3.5. Urutan pemunculan sasaran tembak untuk mode 1……………………. 55

Tabel 3.6. Urutan pemunculan sasaran tembak untuk mode 2……………………. 57

Tabel 3.7. Urutan pemunculan sasaran tembak untuk mode 3……………………. 58

Tabel 3.8. Penggolongan penggunaan catu daya…………………………………. 62

Tabel 4.1. Pengamatan tegangan keluaran dari tiap – tiap catu daya....................... 72

Tabel 4.2. Konsumsi arus pada blok rangkaian mikrokontroler…………………... 74

Tabel 4.3. Konsumsi arus pada blok rangkaian penggerak...................................... 74

Tabel 4.4. Konsumsi arus pada solenoid………………………………………….. 75

Tabel 4.5. Pengamatan level tegangan sensor.......................................................... 76

Tabel 4.6. Pengamatan kepekaan sensor terhadap jarak.......................................... 77

Tabel 4.7. Pengamatan pewaktuan pada mikrokontroler.......................................... 78

Tabel 4.8. Pengamatan fisik permainan tembak sasaran elektronis.......................... 80

xv

DAFTAR GAMBAR

Gambar 2.1. Diagram blok permainan tembak sasaran

berbasis mikrokontroler AT89S51…………………………………. 6

Gambar 2.2 Alokasi ruang memori program AT89S51………………………… 8

Gambar 2.3 Pemetaan 128 byte rendah dari RAM internal…………………….. 9

Gambar 2.4 Mode 0 pencacah biner 13 bit……………………………………… 15

Gambar 2.5 Mode 1 pencacah biner 16 bit …………………………………….. 15

Gambar 2.6 Mode 2 pencacah biner 8 bit dengan isi ulang …………………….. 16

Gambar 2.7 Mode 3 gabungan pencacah 16 bit dan 8 bit……………………….. 17

Gambar 2.8 Register TCON…………………………………………………….. 18

Gambar 2.9 Register TMOD……………………………………………………..18

Gambar 2.10 Register IE…………………………………………………………. 20

Gambar 2.11 Rangkaian dasar transistor…………………………………………. 20

Gambar 2.12 Kurva tegangan-arus untuk transistor sebagai

saklar dengan garis beban………………………………………….. 21

Gambar 2.13 Transistor bekerja sebagai inverter………………………………… 22

Gambar 2.14. Solenoid berinti bahan ferromagnetik……………………………… 23

Gambar 2.15. Arah gaya Lorentz terhadap arah medan

magnet B dan arah arus i…………………………………………… 24

Gambar 2.16. Garis gaya magnet…………………………………………………. 25

Gambar 2.17. Hukum Coulomb untuk magnet……………………………………. 25

Gambar 2.18. Perpaduan antara gerak rotasi dan gerak translasi…………………. 26

xvi

Gambar 2.19. Susunan kaki serta rangkaian internal dari IC timer 555………...... 27

Gambar 2.20. Rangkaian monostabil……………………………………………… 28

Gambar 3.1. Diagram blok permainan tembak sasaran

berbasis mikrokontroler AT89S51…………………………………. 29

Gambar 3.2 Perancangan perangkat keras permainan tembak sasaran…………. 35

Gambar 3.3. Diagram blok penggunaan port mikrokontroler AT 89S51

pada rancangan permainan tembak sasaran…………………………36

Gambar 3.4. Rangkaian reset pada AT89S51......................................................... 38

Gambar 3.5. Rangkaian osilator ............................................................................ 38

Gambar 3.6. Rangkaian pewaktu monostabil untuk penyalaan laser

selama 0,1 detik dengan sistem one shot……………………………39

Gambar 3.7. (a) Bentuk fisik senapan…………………………………………….40

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

Gambar 3.8. Posisi kontak – kontak dari tuas picu pada senapan……………….. 41

Gambar 3.9. (a) Posisi diam………………………………………………………41

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

Gambar 3.10. Rangkaian dasar foto transistor terhalang OFF……………………. 42

Gambar 3.11. Rangkaian pembanding……………………………………………. 43

Gambar 3.12. Rangkaian penggabungan keluaran dari pembanding sensor

sasaran dengan menggunakan gerbang AND 4 masukan.................. 45

Gambar 3.13. Seven segment……………………………………………………… 46

Gambar 3.14. Rangkaian penampil skor permainan

dengan menggunakan 2 digit seven segment…………………..……46

xvii

Gambar 3.15. Rangkaian saklar selektor pemilihan waktu……………………….. 48

Gambar 3.16. Rangkaian saklar selektor pemilihan mode…………………………48

Gambar 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…………………………………51

Gambar 3.19. Perubahan arah gaya Lorentz yang disebabkan

perubahan arah arus pada solenoid………………………………… 52

Gambar 3.20. Posisi mekanik penggerak sasaran…………………………………. 53

Gambar 3.21. Rangkaian indikator alarm…………………………………………. 60

Gambar 3.22. Rangkaian indikator LED.................................................................. 61

Gambar 3.23. Rangkaian catu daya dengan regulator.............................................. 62

Gambar 3.24. Diagram alir program utama.............................................................. 66

Gambar 3.25. Rutin untuk pewaktu permainan........................................................ 67

Gambar 3.26. Rutin tunda waktu.............................................................................. 68

Gambar 3.27. Rutin penampil skor tembakan.......................................................... 70

Gambar 4.1. Bentuk akhir Permainan Tembak Sasaran Elektronis........................ 71

Gambar 4.2. Bentuk Fisik Permainan Tembak Sasaran Elektronis per bagian...... 72

Gambar 4.3. Posisi penggerak dalam kotak sasaran............................................... 73

xviii

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.

1

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.

2

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 ?

3

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.

4

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.

5

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

Laser

Mikrokontroler Penampil skor

Penggerak

Gambar 2.1. Diagram blok permainan tembak sasaran berbasis

mikrokontroler AT89S51.

6

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

7

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.

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.

dan

FFFFh

60 kbyte eksternal

64 kbyte eksternal

1000h

0FFFh 4 kbyte internal 0000h

Gambar 2.2 Alokasi ruang memori program AT89S51

8

7Fh

30h

1Fh18h 17h10h 0Fh08h 07h00h

2Fh

20h

Dapat dialamati per bit (16 byte)

80 byte

Memori data (RAM) biasa

Bank register

Bank 3

Bank 2

Bank 1

Bank 0

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 (R0-R7) 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),

Accumulator (A), Stack Pointer (SP), dan Program Status Register. Sedangkan register

dasar yang menjadi ciri khas keluarga mikrokontroler MCS 51 adalah Register B, Data

Pointer High Byte (DPH) dan Data Pointer Low Byte (DPL).

9

Register B sebagai register 8 bit, bersama accumulator berfungsi dalam

menjalankan instruksi perkalian dan pembagian. Sedangkan register DPH dan DPL yang

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 (R0-R7). 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 R0 dan R1 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

port paralel P0-P3 dan sarana I/O lainnya serta tidak untuk menyimpan data. Sebagian

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 P0, P1, P2, dan P3.

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

10

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

11

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.

12

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, R0, dan R1 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 R2 ke akumulator)

d. Pengalamatan dengan segera

Merupakan instruksi yang menyebutkan data dengan segera karena data

tersebut sudah berada dalam instruksi.

Contohnya : MOV A,#26h

(yang berarti mengisi akumulator dengan data 26h)

13

e. Pengalamatan dengan penunjukan

Instruksi dengan mode ini hanya digunakan untuk menunjuk alamat memori

program secara tidak langsung dan hanya untuk membaca.

Contohnya : MOVC A,@A+DPTR

(digunakan untuk mengakses memori program dan menyalin data dengan

alamat yang ditunjuk oleh A+DPTR ke akumulator)

2.3 Register Timer/Counter

Mikrokontroler AT89S51 mempunyai dua register timer/counter 16 bit yaitu

timer 0 dan timer 1. Keduanya dapat diatur untuk bekerja sebagai timer atau counter, dan

setiap timer 16 bit dapat diatur untuk bekerja dalam mode timer 16 bit, 13 bit, dan 8 bit

auto-reload. Perilaku timer diatur oleh register TCON dan TMOD melalui pemrograman.

Pada mode 0, 1, dan 2, timer 0 dan timer 1 masing-masing bekerja sendiri, artinya

dapat terjadi pada timer 0 bekerja pada mode 1 dan timer 1 bekerja pada mode 2, atau

kombinasi lainnya sesuai dengan keperluan. Sedangkan pada mode 3, TL0, TH0, TL1,

dan TH1 digunakan secara bersama-sama untuk menyusun sistem timer yang terpadu.

2.3.1 Mode 0 (pencacah biner 13 bit)

Pada gambar 2.4 ditunjukkan diagram fungsional timer x pada mode 0. Pencacah

biner dibentuk dengan TLx (TL0 atau TL1) sebagai pencacah biner 5 bit (meskipun

sesungguhnya 8 bit), limpahan dari pencacah biner 5 bit ini dihubungkan ke THx (TH0

atau TH1) membentuk sebuah untai pencacah biner 13 bit, limpahan dari pencacah 13 bit

ditampung TFx (TF0 atau TF1) yang berada pada register TCON. Pada saat terjadi

14

limpahan (dari 1FFFH ke 0000H), maka flag interupsi timer (TF1) akan diset (‘1’).

Masukan ke pencacah diaktifkan jika TRx=1 dan GATE=0 atau INTx =1, maka keluaran

dari gerbang OR menjadi selalu ‘1’ dan akibatnya hasil gerbang AND juga ‘1’. Jika

GATE =1, maka timer sepenuhnya dikendalikan oleh masukan eksternal INTx dan bisa

digunakan dalam pengukuran lebar pulsa. TRx merupakan bit kontrol dalam register

TCON. Karena baik THx dan TLx digunakan hanya untuk membentuk pencacah biner 13

bit, maka 3 bit atas TLx dapat diabaikan. Men-set TRx tidak akan secara otomatis

menghapus isi register timer x.

OSC 1/12

2.3.2 Mode 1 (pencacah biner 16 bit)

C/T = 0 kontrol

TLX (5 bit)

THX(8 bit)

TFX

interupsi

INTX

C/T = 1 TX

TRX

GATE

Gambar 2.4 Mode 0 pencacah biner 13 bit

TLX (5 bit)

THX(8 bit)

TFX

DETAK TIMER

Gambar 2.5 Mode 1 pencacah biner 16 bit

15

Mode ini sama dengan mode 0, namun register TLx digunakan sepenuhnya

sebagai pencacah biner 8 bit, sehingga kapasitas pencacah biner yang terbentuk adalah 16

bit. Seiring dengan sinyal detak, kondisi pencacah biner 16 bit ini dimulai dari 0000H,

0001H, 0002H...sampai FFFFH kemudian kembali menjadi 0000H (pada saat ini terjadi

limpahan pada TFx).

2.3.3 Mode 2 (pencacah biner 8 bit isi ulang)

Pada gambar 2.6 ditunjukkan diagram fungsional timer pada mode 2. TLx dipakai

sebagai pencacah biner 8 bit, sedangkan THx dipakai untuk menyimpan nilai yang

diisikan ulang ke TLx setiap kali kondisi TLx melimpah atau berubah dari FFH menjadi

00H. Dengan cara ini bisa diperoleh sinyal limpahan yang frekuensinya bisa ditentukan

oleh nilai yang disimpan pada THx.

OSC 1/12

C/T = 0 kontrol

TLX (8 bit)

TFX

interupsi

THX(8 bit)

INTX

TX C/T = 1

isi ulangTRX

GATE

Gambar 2.6 Mode 2 pencacah biner 8 bit dengan isi ulang

16

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

Pada mode 3, TL0, TH0, TL1, dan TH1 digunakan untuk membentuk 3 rangkaian

pencacah, yang pertama adalah untai pencacah biner 16 bit tanpa fasilitas pemantau

sinyal limpahan yang dibentuk dengan TL1 dan TH1. Yang kedua adalah TL0 yang

digunakan sebagai pencacah biner 8 bit dengan TF0 sebagai sarana pemantau limpahan.

Pencacah biner ketiga adalah TH0 yang digunakan sebagai pencacah biner 8 bit dengan

TF1 sebagai sarana pemantau limpahan, dengan demikian TH0 yang mengendalikan

interupsi timer (TF1).

Mode 3 biasanya digunakan pada aplikasi yang membutuhkan sebuah timer atau

pencacah 8 bit tambahan. Dengan timer 0 pada mode 3 seakan-akan mikrokontroler

memiliki 3 buah pencacah biner. Pada mode ini timer dapat diaktifkan melalui M1 dan

M0 pada register TMOD.

OSC 1/12

interupsi

TL0 (8 bit)

TH0(8 bit)

TF0

INT0

kontrol

T0

C/T = 0

C/T = 1

TR0

1/12 f OSC

GATE

Gambar 2.7 Mode 3 gabungan pencacah 16 bit dan 8 bit

1/12 f OSC

kontrol

TF1 1/12 f OSC

TR1

17

2.3.5 Register TCON

Menempati alamat 88h dan dapat dialamati per bit dengan susunan bit-bit

pengontrol seperti ditunjukkan pada gambar 2.8.

Gambar 2.8 Register TCON

TF1/TF0 : sebagai bit flag penampung overflow timer 1/timer 0

TR1/TR0 : sebagai bit pengatur aktif tidaknya timer 1/timer 0

IE1/IE0 : sebagai bit flag adanya interupsi eksternal I/O

IT1/IT0 : sebagai bit untuk mengatur level pemicuan IE1/IE0

2.3.6 Register TMOD

Merupakan register pengatur mode timer/counter, menempati alamat 89h dengan

susunan seperti pada gambar 2.9.

Gambar 2.9 Register TMOD

Gate : Jika TRx (TR1 atau TR0, dalam TCON)=’1’ dan Gate=’1’, maka timer/counter

akan bekerja jika pin INTx (INT1 atau INT0)=’1’. Jika Gate=’0’, maka timer/counter

akan bekerja jika TRx (TR1 atau TR0)=’1’. C/T sebagai bit selektor untuk memilih timer

atau counter. M1/M0 sebagai bit pemilih mode timer.

18

Tabel 2.1 Mode Kerja timer/counter

M1 M0 Mode kerja

0 0 0 13 bit timer

0 1 1 16 bit timer/counter

1 0 2 8 bit auto reload timer/counter

1 1 3 Sebagai 2 buah timer 8 bit. (timer 0) TLO. Sebagai timer/counter 8 bit dan THO sebagai timer 8 bit

1 1 3 (timer 1) timer/counter 1 tidak bekerja

2.4 Register interupsi

AT89C51 menyediakan 5 sumber interupsi (penyelaan proses) yaitu 2 interupsi

eksternal, 2 interupsi timer, dan 1 interupsi dari port serial. Interupsi diatur oleh dua bank

register yaitu Interrupt Ennable (IE) dan Interrupt Priority (IP). Pada saat terjadi

interupsi, proses menuju alamat vektor interupsi sesuai dengan jenis atau sumber

interupsinya.

Tabel 2.2 Alamat vektor interupsi

Interupsi Sumber Alamat vektor

Eksternal IE0 0003h

Timer 0 TF0 000Bh

Eksternal IE1 0013h

Timer 1 TF1 001Bh

Serial port R1 atau T1 0023h

System reset RST 0000h

19

2.4.1 Register IE

Register ini terdiri dari bit-bit pengontrol seperti ditunjukkan pada gambar 2.10.

Gambar 2.10 Register IE

2.5 Transistor sebagai saklar

Transistor pada penerapannya dapat berfungsi sebagai saklar. Transistor ini

mampu bekerja pada dua keadaan, yakni saturasi sebagai kondisi ON (closed switch) dan

cut-off sebagai kondisi OFF (open switch). Keunggulan transistor sebagai saklar yakni

unggul dalam kecepatan penyaklaran dan banyak kegunaan dalam perangkat elektronika.

Gambar 2.11 Rangkaian dasar transistor

Ic

+ Vce _

Pada gambar di atas, arus kolektor menjadi arus saklar dan Vce menjadi tegangan

saklar sedangkan Vin menjadi tegangan yang mengontrol penyaklaran tersebut. Kontrol

tegangan Vin tersebut memberikan dua keadaan, yakni bila tegangan Vin tinggi maka

akan memberikan Ib ≠ 0 yang menyebabkan transistor dalam keadaan saturasi, sedangkan

20

bila tegangan Vin rendah maka akan memberikan Ib = 0 yang menyebabkan transistor

dalam keadaan cut-off.

Ketika Vin bernilai rendah, Ic ≈ 0 menyebabkan Vc bernilai tinggi. Sedangkan ketika Vin

bernilai tinggi maka,

Ic ≈ Rl

Vcc

menyebabkan Vc bernilai rendah. Hal ini dapat lebih diperjelas dengan gambar 2.13

berikut ini.

Closed

Open Ib = 0

Ic Ib ≠ 0

Vcc RL

Vce Vce sat Vcc

Gambar 2.12 Kurva tegangan-arus untuk transistor sebagai saklar dengan garis beban

21

t 0V

5V

Vc

t

Transistor

sebagai saklar

5V

0V

Vin

Gambar 2.13 Transistor bekerja sebagai inverter

2.6 Medan magnetik

Kekuatan dan arah dari medan magnetik di sekitar arus listrik dinyatakan dengan

bersaran magnetik atau lebih dikenal dengan induksi magnetik (B). Induksi magnetik

tersebut dapat dinyatakan dengan garis-garis induksi (lines of induction). Arah garis gaya

magnetik dapat dinyatakan dengan kaidah tangan kanan pertama yang berbunyi, “Bila

kita menggenggam penghantar berarus dengan tangan kanan, sedemikian sehingga ibu

jari menunjukkan arah arus listrik, maka arah lipatan keempat jari lainnya menyatakan

arah putaran garis-garis gaya magnetik.”

2.6.1 Induksi magnetik pada solenoid

Kumparan solenoidal adalah deretan seri lilitan kawat melingkar yang sewaktu

dialiri arus listrik akan menjadi sumber medan magnet seperti yang dihasilkan oleh

batang magnet. Gambar 2.14 memperlihatkan bentuk dari solenoid 1 lapisan berinti

bahan ferromagnetik yang mampu menambah kuat medan magnet dengan pola lilitan

saling berdekatan.

22

inti ferromagnetik

i

Gambar 2.14. Solenoid berinti bahan ferromagnetik

Sebuah solenoid dengan panjang L dan banyak lilitan N dialiri arus i akan menghasilkan

induksi magnetik B di ujung solenoid sesuai dengan perumusan sebagai berikut :

B = LNi

20μ (pers. 2.1)

dengan :

B = besar induksi magnetik (Wb m-2 = Tesla),

N = banyak lilitan solenoid,

i = kuat arus (A),

L = panjang solenoid (m),

μo = permeabilitas udara ruang hampa (4π . 10-7 Wb A-1 m-1).

2.6.2 Gaya Lorentz

Gaya Lorentz adalah gaya yang timbul pada sebuah kawat penghantar berarus

pada suatu medan magnetik. Arah gaya Lorentz dapat dinyatakan dengan kaidah tangan

kanan kedua yang berbunyi, “Bila tangan kanan dibuka dengan ibu jari menunjukkan

arah arus i dan keempat jari lain yang dirapatkan menunjukkan arah medan magnetik B

maka arah gaya Lorentz ke luar tegak lurus dari telapak tangan.” Hal ini memberi

23

makna bahwa arah gaya Lorentz tegak lurus dengan arah medan magnetik dan arah arus

listrik. Gambar 2.15 memperlihatkan arah gaya Lorentz.

F

B θ

i

Gambar 2.15. Arah gaya Lorentz terhadap arah medan magnet B dan arah arus i.

Secara matematis, besarnya gaya Lorentz dapat dirumuskan sebagai berikut :

F = Bli sin θ (pers. 2.2)

dengan,

F = gaya Lorentz (N),

B = induksi magnetik (Wb m-2 = Tesla),

l = panjang penghantar (m),

i = kuat arus listrik (A),

θ = sudut antara arah arus i dan arah medan magnetik B.

2.6.3 Sifat Magnetik Bahan

Telah diketahui bahwa di sekitar kawat yang berarus listrik terdapat medan

magnet. Demikian juga di sekitar magnet batang terdapat medan magnet seperti pada

gambar 2.16. Arah garis gaya magnet di luar magnet bergerak dari U ke S, sedangkan di

dalam magnet arah garis gayanya bergerak dari S ke U. setiap magnet mempunyai dua

24

kutub berlainan yaitu kutub Utara (U) dan kutub Selatan (S). Hukum pertama

kemagnetan menyatakan bahwa, “Dua magnet yang berdekatkan dengan dua kutub yang

senama akan saling tolak-menolak dan sebaliknya bila dua magnet yang berdekatan

dengan dua kutub yang tidak senama akan tarik-menarik.”

S U

Gambar 2.16. Garis gaya magnet

Besarnya gaya magnet telah dirumuskan dalam hukum Coulomb sebagai berikut,

”gaya tolak atau gaya tarik dari dua buah kutub magnet besarnya berbanding lurus

dengan kuat kutub masing-masing dan berbanding terbalik dengan kuadrat jaraknya”.

Hukum Coulomb ini dapat dirumuskan sebagai berikut :

F = 221

rmm

k

m1 m2

U S F F

r

Gambar 2.17. Hukum Coulomb untuk magnet

25

F = gaya antara kedua kutub magnet (Newton)

m1 dan m2 = kuat kutub magnet (Ampere.meter)

r = jarak antara kedua kutub magnet (m)

k = tetapan = 10-7 (weber / ampere.meter)

2.7 Gerak rotasi dan translasi

Apabila sebuah benda tegar yang memiliki bentuk lingkaran berputar pada

porosnya, titik terluar dari benda tersebut memiliki kecepatan linear yang arahnya selalu

menyinggung lintasan lingkaran. Hubungan antara perpindahan linear dengan

perpindahan sudut tersebut dapat dirumuskan sebagai berikut :

s = r.θ (pers. 2.3)

dengan,

s = jarak linear (cm),

r = jari-jari piringan (cm),

θ = besar perpindahan sudut (radian).

Hubungan perpindahan linear dengan perpindahan rotasi dapat diperjelas dengan gambar

2.18.

Gerak translasi

Gerak rotasi

Gambar 2.18. Perpaduan antara gerak rotasi dan gerak translasi

26

2.8 Timer 555

Timer 555 digunakan sebagai komponen penentu waktu. Komponen ini dapat

digunakan sebagai rangkaian monostabil (satu kali detak) maupun sebagai osilator

(multivibrator) dengan besaran waktu mulai dari mikrodetik hingga beberapa jam.

Susunan kaki serta rangkaian internal dari timer 555 dapat dilihat pada gambar 2.19.

kmptr

kmptr

Flip flop memori

Tahap output

1 Output

Pembuangan muatan

Gerbang

Reset

Pemicu

Tegangan kontrol

Vcc

2

3

4

5 6

7

8

1

Gambar 2.19. Susunan kaki serta rangkaian internal dari IC timer 555.

27

2.8.1 Monostabil

Rangkaian monostabil merupakan salah satu jenis rangkaian pada timer 555 yang

berdetak satu kali pada kaki output setelah adanya pemicuan. Cara kerja rangkaian

monostabil adalah sebagai berikut, input pemicu menge-set flip flop sehingga output

menjadi tinggi. Transistor pelepas muatan (lihat gambar 2.19) tidak menghantar dan Ct

mulai mengisi melalui Rt. ketika tegangan pada Ct mencapai harga yang sama dengan

tegangan kontrol yang ditentukan oleh untaian tiga hambatan R, komparator akan mereset

flip flop sehingga output menjadi rendah, kemudian transistor menghantar kembali serta

melepas muatan Ct. Kini, rangkaian siap dipicu kembali oleh pemicu selanjutnya.

Gambar rangkaian monostabil dapat dilihat pada gambar 2.20.

Perioda yang berlangsung adalah sama dengan waktu yang diperlukan untuk

mengisi Ct melalui Rt mulai dari 0V hingga mencapai harga dari tegangan kontrol.

Apabila nilai ketiga hambatan R adalah sama, maka tegangan kontrol adalah 2/3 Vcc.

Besarnya periode timer ditentukan sebagai berikut :

T = 1,1.Rt.Ct

Gambar 2.20. Rangkaian monostabil

28

BAB III

PERANCANGAN

Perancangan peralatan ini menjadi hal terpenting dalam pembuatan peralatan baik

perangkat keras maupun perangkat lunak karena perancangan merupakan dasar kerja dari

pembuatan alat. Perancangan peralatan yang dibuat meliputi penyusunan diagram blok,

rancangan perangkat keras, konstruksi peralatan, bagan alir program (flow chart).

3.1 Perancangan perangkat keras

Pemilih waktu Start dan reset Pemilih mode

Penjelasan tentang diagram blok permainan tembak sasaran adalah sebagai berikut :

1. Laser

Laser digunakan sebagai sumber cahaya yang terfokus untuk menggantikan

peluru pada senapan. Jenis laser yang digunakan yaitu laser dioda kelas II yang biasa

dipakai sebagai pointer atau pembidik target pada senapan bidik. Panjang gelombang

Sensor

Laser

Mikrokontroler Penampil skor

Penggerak

Gambar 3.1. Diagram blok permainan tembak sasaran berbasis

mikrokontroler AT89S51

29

berkisar antara 630-680 nm dengan output maksimum 1mW. Catu daya yang dipakai

berupa baterai LR44 1,5V sebanyak 3 buah.

2. Sensor

Sensor yang digunakan yaitu berupa foto transistor. Foto transistor ini berjumlah

sama dengan jumlah sasaran tembak yakni 8 buah. Sensor ditempatkan pada tengah

bidang tembak. Foto transistor ini akan mendeteksi adanya tembakan cahaya laser pada

bidang sasaran. Foto transistor aktif pada saat sasaran tembak aktif (muncul). Hal ini

memberi pengertian bahwa, bila sasaran tembak nomor 7 aktif (muncul) maka hanya foto

transistor yang berada pada bidang sasaran nomor 7 yang aktif.

3. Pemilih waktu

Pemilih waktu digunakan untuk membatasi lamanya waktu permainan. Ada 2

batasan waktu yang digunakan, yaitu lama permainan 30 detik dan lama permainan 60

detik. Pemilih waktu hanya dapat mengaktifkan satu mode waktu (30 detik atau 60 detik),

dengan demikian dalam perancangan perangkat keras dapat menggunakan saklar pilih

(selector).

4. Pemilih mode

Pemilih mode digunakan untuk memilih variasi permainan yang telah ditentukan.

Ada 3 mode permainan, yaitu :

30

A. Pemula. Pada mode ini pemain dapat memainkan permainan dengan mudah

karena tempo pemunculan sasaran lebih lambat jika dibandingkan dengan kedua

mode yang lain.

B. Normal. Pada mode permainan ini pemain dapat menikmati tantangan dari

permainan ini karena tempo pemunculan sasaran lebih cepat dibanding mode

mudah. Dengan demikian apabila pemain kehilangan tempo menembak, maka

pemain akan sulit untuk mengejar nilai tertinggi (high score).

C. Mahir. Pada mode permainan ini, tempo pemunculan sasaran menjadi paling

cepat jika dibandingkan dengan kedua mode yang lain. Pemain akan dibuat

bingung untuk menembak sasaran karena tempo pemunculan sasaran yang cepat.

Pada mode ini juga dapat ditampilkan 2 sasaran yang muncul bersamaan. Kedua

sasaran tersebut dalam keadaan siap tembak (aktif). Pada mode ini konsentrasi

pemain sangat diandalkan karena 2 sasaran yang muncul bersamaan akan

membingungkan pemain.

5. Mikrokontroler

Mikrokontroler yang dipakai yaitu AT89S51 produksi ATMEL. Mikrokontroler

digunakan sebagai penghitung nilai dan mengolah nilai tersebut agar dapat ditampilkan

pada penampil nilai, pengatur lamanya permainan dengan memanfaatkan fasilitas timer

pada mikrokontroler, dan sebagai pemberi variasi pemunculan sasaran sesuai dengan

mode yang dipilih.

Mikrokontroler digunakan sebagai penghitung nilai dan mengolah nilai tersebut

agar dapat ditampilkan pada penampil nilai berupa seven segment. Nilai tersebut

31

didapatkan dari ada atau tidaknya cahaya laser yang jatuh pada foto transistor yang

kemudian diolah oleh pembanding. Pembanding memberikan sinyal low (logika 0) pada

mikrokontroler (P 3.4 atau P 3.5) apabila ada cahaya laser yang jatuh pada foto transistor.

Setiap kali sasaran terkena tembakan, akan menambah nilai 1 yang kemudian diolah oleh

mikrokontroler dan langsung ditampilkan pada penampil skor.

Fungsi lain dari mikrokontroler yaitu digunakan untuk mengendalikan sasaran

yang muncul sesuai dengan urutan pemunculan yang sudah ada sesuai mode permainan

yang dipilih. Mikrokontroler harus memberikan sinyal low (logika 0) agar sasaran dapat

aktif. Hal ini disebabkan karena karakteristik dari penggerak yang akan dijelaskan lebih

lanjut pada subbab selanjutnya.

Mikrokontroler juga digunakan sebagai pewaktu lamanya permainan. Lama

permainan yang sudah dipilih pada selector (30 detik atau 60 detik) akan memberikan

sinyal low (logika 0) pada mikrokontroler P 3.3 untuk 30 detik atau sinyal high (logika 1)

untuk 60 detik.

6. Penampil skor

Penampil skor yang digunakan adalah 2 digit seven segment. Sehingga skor yang

dapat ditampilkan hanya pada kisaran 00-99. Penampil skor ini menunjukkan skor atau

nilai yang didapat apabila tembakan mengenai sasaran. Tembakan yang mengenai

sasaran akan diberi nilai 1 dan skor akan ditambahkan dengan skor sebelumnya.

Sedangkan tembakan yang tidak mengenai sasaran akan diberi nilai 0, artinya skor tetap

pada nilai sebelumnya.

32

7. Penggerak

Penggerak yang dipakai pada perancangan permainan ini adalah lilitan (solenoid)

yang dirangkai dengan bantuan magnet. Lilitan ini berfungsi untuk menggantikan

peranan motor DC. Prinsipnya adalah lilitan ini dapat menarik atau melepaskan magnet

sesuai dengan kutub-kutub magnet yang terpasang. Penjelasan terperinci tentang

penggerak berada pada sub bab penggerak.

3.1.1 Perancangan permainan tembak sasaran

Perancangan bentuk perangkat keras permainan tembak sasaran tampak pada

gambar 3.2. Permainan tembak sasaran ini memiliki mekanisme atau cara kerja yang

dapat digambarkan pada diagram blok yang tampak pada gambar 3.1.

Urutan kerjanya yaitu :

1. Memilih mode permainan. Mode 1 untuk pemula, mode 2 untuk normal, mode

3 untuk mahir.

2. Memilih waktu permainan, 30 detik atau 60 detik.

3. Laser menembakkan cahaya ke sasaran tembak.

4. Sensor pada sasaran tembak akan aktif (ON) jika terkena cahaya dari laser.

5. Sinyal keluaran sensor diolah komparator agar dapat menghasilkan sinyal

keluaran bertegangan +5v (logika 1) atau 0v (logika 0).

6. Mikrokontroler menerima sinyal dari komparator. Output komparator

menghasilkan sinyal rendah (logika 0) jika sensor terkena cahaya dan sinyal

tinggi (logika 1) jika sensor tidak terkena cahaya. Mikrokontroler mengolah

33

data dan mengaktifkan atau menon-aktifkan sasaran tembak. Output

mikrokontroler mengeluarkan data skor pada penampil skor.

7. Seven segment menampilkan dua digit data skor yang dikirimkan

mikrokontroler.

8. Penggerak mengaktifkan sasaran yang telah ditentukan oleh mikrokontroler

bila diberikan sinyal rendah (logika 0) dan menon-aktifkan sasaran bila

diberikan sinyal tinggi (logika 1). Sasaran akan aktif secara bergantian dan

berbeda – beda sesuai dengan pemilihan mode.

(a) (b)

(c)

(d)

34

Gambar 3.2 Perancangan perangkat keras permainan tembak sasaran (a) Sasaran tidak muncul. (b) Sasaran muncul. (c) 8 sasaran tidak muncul. (d) 8 sasaran muncul. (e) Kotak utama (mainboard) dan panel pengaturan

(front panel).

Keterangan untuk mainboard dan front panel : 1. Stop (reset) 2. Start 3. Mode pemula 4. Mode normal 5. Mode mahir 6. Pemilih lama permainan 7. Penampil skor 8. Catu daya senapan

mainboard

7

(e)

1 2

3 4 5 6

8

front panel

3.1.2 Mikrokontroler AT89S51

Perancangan ini menggunakan mikrokontroler AT89S51 produksi ATMEL

karena mikrokontroler ini mudah untuk diterapkan pada berbagai perancangan alat

elektronika. Hal lain yang mendukung ialah banyaknya port yang dapat digunakan yakni

4 buah, mudah men-download data, dan mudah dicari di pasaran elektronika.

Mikrokontroler AT89S51 memiliki 4 port yang dapat dipakai untuk input ataupun

output. Port yang dipakai untuk peralatan ini dapat dilihat pada tabel 3.1. Pada tabel

tersebut dapat dilihat bahwa hampir semua port digunakan dalam perancangan peralatan

ini dan lebih banyak dipakai sebagai output. Penggunaan port mikrokontroler juga dapat

dijelaskan dengan diagram blok yang dapat dilihat pada gambar 3.3.

35

Tabel 3.1 Penggunaan port pada mikrokontroler. Port Fungsi Keterangan

P0.0 – P0.6 Penampil skor satuan Output

P1.0 – P1.6 Penampil skor puluhan Output

P2.0 – P2.7 Penggerak Output

P3.0 – P3.2 Pemilih mode permainan Input

P3.3 Pemilih waktu permainan Input

P3.4 Sensor sasaran grup A Input

P3.5 Sensor sasaran grup B Input

P3.6 Start Input

P3.7 Indikator alarm Output

Catu daya +5V

AT 89S51 Sensor sasaran grup A P3.4

Penampil skor puluhan P1.0 – P1.6

Penampil skor satuan P0.0 – P0.6

Penggerak P2.0 – P2.7

Indikator alarm P3.7

Start P3.6

Sensor sasaran grup B P3.5

Pemilih mode permainan P3.0 – P3.2

Pemilih waktu permainan P3.3

OSC

Gambar 3.3. Diagram blok penggunaan port mikrokontroler AT 89S51 pada rancangan permainan tembak sasaran

36

3.1.2.1 Rangkaian reset

Reset digunakan untuk mengembalikan keseluruhan sistem (program) ke awal.

Reset terjadi dengan adanya logika 1 selama minimal 2 cycle (2μ detik) pada kaki reset

(pin 9). Setelah pin reset kembali low maka mikrokontroler akan memulai menjalankan

program dari alamat 0000h pada program counter namun kondisi RAM tidak berubah

dari kondisi terakhir. Gambar 3.4 menunjukkan tentang rangkaian reset manual. Saat

push button reset (PB RST) ditekan, reset akan bekerja secara manual. Penekanan tombol

menyebabkan tegangan di pin reset menjadi sama dengan Vcc atau berlogika high (logika

1). Saat tombol dilepas, tegangan pada pin reset akan berubah menjadi 0V atau berlogika

low (logika 0). Jika VRST (HIGH) dianggap bernilai 4,95 V dan R2 bernilai 10kΩ, maka

besarnya R1 dapat dicari dengan persamaan sebagai berikut :

VRST (HIGH) = VccRR

R21

2+

VRST (HIGH) (R1 + R2) = R2.Vcc

VRST (HIGH).R1 = R2.Vcc – VRST (HIGH).R2

R1 = )(

)( )(2

HIGHRST

HIGHRST

VVVccR −

R1 = V

VVk95,4

)95,45(10 −Ω

R1 = VV

95,4500Ω

R1 = 101,01Ω ≈ 100Ω

37

3.1.2.2 Rangkaian Osilator

Osilator on-chip digunakan sebagai sumber detak ke mikrokontroler. Osilator

yang digunakan ialah resonator kristal 12MHz. Penggunaan kristal dengan frekuensi

12MHz mengakibatkan satu siklus mesin mikrokontroler dikerjakan dalam waktu 1μs.

Gambar rangkaian osilator dapat dilihat pada gambar 3.5.

T1 siklus mesin = oscf

12 = MHz1212 = 1μs

3.1.3 Senapan

Senapan yang digunakan berupa senapan manual. Maksudnya bahwa satu kali

tarikan tuas pemicu hanya akan mengeluarkan satu peluru (dalam hal ini mengaktifkan

XTAL1 (pin 19)

C1

C2

XTAL2 (pin 18)

XTAL

Gambar 3.5. Rangkaian osilator

Gambar 3.4. Rangkaian reset pada AT89S51

pin 9 (reset)

C11uF

R210k

VCC

R1100

PB RST

38

laser satu kali). Efek ini sama dengan efek yang terjadi pada senjata berupa pistol

revolver, shotgun, senapan angin, dll. Untuk memberikan efek yang sama dengan

senapan manual, maka laser dirangkai seperti pada gambar 3.6 sehingga laser hanya akan

menyala satu kali meskipun tuas pemicu ditarik terus-menerus. Sistem ini dinamakan

sistem one shot. Rangkaian one shot untuk laser pada senapan dapat dilihat pada gambar

3.6.

Gambar 3.6. Rangkaian pewaktu monostabil untuk penyalaan laser selama 0,1 detik dengan sistem one shot.

A B

common

Pewaktu yang digunakan adalah pewaktu monostabil 555 dengan lama pulsa 0,1 detik.

Penghitungan komponen waktunya adalah sebagai berikut :

Nilai Rt diasumsikan 1 kΩ, maka,

T = 1,1 . Rt . Ct

Ct = Rt

T.1,1

Ct = )101(.1,1

det1,03 Ωx

39

Ct = 90,909 μF

Ct ≈ 100 μF (disesuaikan dengan nilai di pasaran elektronika)

Resistor R1 berfungsi untuk membatasi arus picuan yang masuk ke pin trigger. Arus

picuan sebesar 2μA. Dengan demikian besarnya R1 dapat dihitung sebagai berikut :

V = ipicuan.R1

R1 = picuaniV

R1 = Ax

V6102

12−

R1 = 6 MegΩ

Bentuk fisik dari senapan dapat dilihat pada gambar 3.7. Pada gambar tersebut

dapat dilihat bahwa laser diletakkan di tengah laras senapan agar dapat menghasilkan

ketepatan tembak yang sama dengan senapan berpeluru.

(a)

Gambar 3.7. (a) bentuk fisik senapan. (b) posisi laser pada senapan

(b)

40

Gambar 3.8. Posisi kontak – kontak dari tuas picu pada senapan.

Keterangan :

• kontak A

• kontak B

• common

• tuas pemicu senapan

Cara kerja dari sistem penembakan tersebut ialah penekanan pada tuas picu

senapan akan menyebabkan kontak B terhubung dengan common yang kemudian memicu

timer 555. Keluaran dari 555 mengaktifkan relay selama 0,1 detik yang kemudian

menyebabkan laser menyala dengan waktu yang sama dengan aktifnya relay. Timer 555

tidak akan terpicu lagi meskipun tuas pemicu senapan ditarik terus menerus. Inilah yang

dinamakan sistem one shot. Ketika tuas pemicu senapan dilepas, maka kontak A akan

terhubung dengan common dan timer 555 tidak terpicu lagi sebelum tuas pemicu ditarik.

Gambar 3.8 menjelaskan tentang posisi kontak-kontak pemicu dan tuas pemicu pada

senapan. Gambar 3.9 menjelaskan tentang pergerakan kontak-kontak pemicu.

Gambar 3.9. (a) Posisi diam (b) Posisi tuas pemicu ditarik penuh

(a) (b)

41

3.1.4 Sensor

Sensor yang digunakan pada permainan tembak sasaran ini adalah foto transistor.

Foto transistor ini berjumlah 8 buah sesuai dengan jumlah sasaran tembak. Rangkaian

dasar sensor foto transistor dapat dilihat pada gambar 3.10. Pada gambar tersebut, foto

transistor dirancang agar bila ada cahaya jatuh di kaki basis maka transistor ON dan

berlaku sebaliknya, apabila tidak ada cahaya jatuh di kaki basis maka transistor OFF.

Kondisi ini disebut terhalang OFF.

Rangkaian di atas kemudian diteruskan ke rangkaian pembanding yang

menggunakan OP AMP. Rangkaian pembanding akan membandingkan tegangan

keluaran foto transistor dengan tegangan acuan. Bila tegangan output foto transistor lebih

kecil (dianggap OFF) dari tegangan acuan, maka OP AMP akan memberikan output

LOW (logika 0), sedangkan bila tegangan output foto transistor lebih tinggi (dianggap

ON) dari tegangan acuan, maka OP AMP memberikan sinyal HIGH (logika 1).

Rangkaian pembanding dapat dilihat pada gambar 3.11.

Gambar 3.10. Rangkaian dasar foto transistor terhalang OFF

f oto transistor

R

VCC

A

42

Dengan memberikan nilai R pada gambar 3.11 sebesar 10kΩ dan Vcc sebesar 6V,

maka untuk mendapatkan tegangan referensi sebesar 4V, besar hambatan pada potensio

adalah sebagai berikut :

Vref = RpotRVccR

+.

Rpot = RVref

VccR−

.

Rpot = Ω−Ω kv

vk 104

6.10

Rpot = 5kΩ

Tegangan pada A, yakni VE pada foto transistor, dibandingkan dengan tegangan acuan

(VREF) yang dihubungkan ke kaki inverting dari LM324. Apabila VA lebih kecil daripada

VREF maka output OPAMP akan 0V, demikian pula sebaliknya apabila VA lebih besar

daripada VREF maka output OPAMP akan menjadi VSAT.

Gambar 3.11. Rangkaian pembanding

+

-

U1A

LM324

3

21

411

AR110k

potVref

Vcc

B

43

Sensor yang digunakan berjumlah 8 buah fototransistor. Hal ini terlihat terlalu

banyak dan jika semua keluaran dari sensor dihubungkan ke mikrokontroler, maka

jumlah pin yang ada tidak cukup untuk menampung keluaran sensor ini. Oleh karena itu

perlu adanya penghematan pin pada mikrokontroler dengan cara penggabungan keluaran.

8 buah sensor sasaran yang ada dibagi menjadi 2, yaitu grup A (sasaran 1-4) dan

grup B (sasaran 5-8). Keluaran dari tiap grup dimasukkan ke dalam 2 gerbang AND 4

masukan. Keluaran dari 2 buah gerbang AND 4 masukan (Y1 dan Y2) itulah yang

dihubungkan ke pin P3.4 dan P3.5 pada mikrokontroler. Tabel 3.2 menjelaskan tentang

tabel kebenaran dari sebagian logika yang mungkin terjadi pada sensor. Gambar

rangkaian dari penggabungan keluaran sensor dapat dilihat pada gambar 3.12.

Tabel 3.2. Tabel kebenaran dari sebagian logika yang mungkin terjadi pada sensor.

Sensor sasaran Sasaran yang tertembak 1 2 3 4

Y1

1 0 1 1 1 0

2 1 0 1 1 0

3 1 1 0 1 0

4 1 1 1 0 0

1 dan 2 0 0 1 1 0

1 dan 3 0 1 0 1 0

1 dan4 0 1 1 0 0

2 dan 3 1 0 0 1 0

2 dan 4 1 0 1 0 0

3 dan 4 1 1 0 0 0

Tidak ada yang tertembak 1 1 1 1 1

44

3.1.5 Penampil skor permainan

Skor permainan ditampilkan dengan menggunakan dua digit seven segment. Skor

permainan memiliki rentang nilai antara 00 hingga 99. Setiap tembakan yang mengenai

sasaran, akan ditambahkan nilai 1 pada memory skor yang kemudian ditampilkan pada

seven segment. Skor pemainan digit satuan ditampilkan melalui port 0 sedangkan skor

permainan digit puluhan ditampilkan melalui port 1. Gambar seven segment dapat dilihat

pada gambar 3.13 sedangkan gambar rangkaian dari penampil skor dapat dilihat pada

gambar 3.14. Daftar susunan angka heksa penampilan seven segment dapat dilihat pada

tabel 3.3.

B4

B3

Bn = keluaran dari pembanding sensorsasaran n

B7

B2

B6

B8

P3.4

U1A

74LS21

6

12

45

B1

B5

P3.5

U1B

74LS21

910

81213

Gambar 3.12. Rangkaian penggabungan keluaran dari pembanding sensor sasaran dengan menggunakan gerbang AND 4 masukan

Gambar 3.13. Seven segment

45

Tabel 3.3 Daftar heksa dari tampilan angka pada seven segment common anode.

Desimal h g f e d c b a Heksa

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 0 0 0 0 90

Gambar 3.14. Rangkaian penampil skor permainan dengan menggunakan 2 digit seven segment

Pada rangkaian di atas, nilai R dapat ditentukan sebagai berikut (Vcc = 5V) :

I = 15mA (LED pada seven segment sudah memenuhi arus minimal yang

diperlukan agar LED menyala)

V = I.R

46

5V = 15mA.R

R = 333,33Ω dibulatkan menjadi 330Ω

3.1.6 Penggunaan fasilitas timer, mode, dan start

Timer, mode, dan start merupakan 3 fasilitas yang harus diaktifkan terlebih

dahulu sebelum permainan dimulai. 3 fasilitas tersebut berada pada front panel yang

nantinya terletak di dekat pemain supaya memudahkan pemain dalam mengoperasikan

alat mengingat bahwa jarak antara sasaran dan penembak adalah 2 meter.

A. Timer

Fasilitas timer menentukan lamanya waktu permainan yakni 30 detik dan 60

detik. Untuk menghindari adanya kesalahan penekanan lama waktu permainan, maka

lebih baik menggunakan saklar selektor yang hanya akan mendeteksi salah satu

pemilihan waktu yang kemudian common pada selektor dihubungkan ke pin

mikrokontroler jika dibandingkan dengan menggunakan dua tombol pewaktu dan dua pin

pada mikrokontroler. Rangkaian saklar selektor pemilihan waktu dapat dilihat pada

gambar 3.15. Pewaktu 30 detik akan aktif jika P 3.3 diberi masukan low (logika 0)

sedangkan pewaktu 60 detik akan aktif jika P 3.3 diberi masukan high (logika 1).

Masing-masing kondisi diberi lampu indikator agar mudah mengetahui pewaktu yang

aktif.

P 3.3

Gambar 3.15. Rangkaian saklar selektor pemilihan waktu

47

B. Mode

Fasilitas mode menentukan variasi permainan dan menentukan tingkat kelincahan

pemain. Mikrokontroler mendeteksi mode yang digunakan dari P 3.0 – P 3.2. Untuk

menghindari kesalahan penekanan tombol pemilihan mode, maka lebih baik

menggunakan saklar selektor. Rangkaian saklar selektor untuk pemilihan mode dapat

dilihat pada gambar 3.16. Mode 1 (pemula) akan aktif bila P 3.0 diberi masukan low

demikian pula mode 2 (normal) dan mode 3 (mahir). Penggunaan saklar selektor akan

mengakibatkan hanya ada 1 pemilihan mode yang aktif.

C. Start

Fasilitas start digunakan untuk memulai permainan setelah pemilihan waktu dan

mode diaktifkan. Mikrokontroler akan mendeteksi fasilitas start pada P 3.6. Jika P 3.6

diberi masukan low (logika 0), maka fasilitas start akan aktif dan permainan dimulai.

3.1.7 Penggerak

Penggerak yang digunakan pada permainan ini ialah jenis solenoid. Lilitan pada

solenoid akan menghasilkan gaya magnet. Gaya magnet tersebut akan menghasilkan

gerakan apabila solenoid didekatkan dengan magnet. Gerakan yang dihasilkan berupa

mode 1 (pin 3.0)(P3.0)

mode 2 (pin 3.1)(P3.1)

mode 3 (pin 3.2)(P3.2)

Gambar 3.16. Rangkaian saklar selektor pemilihan mode

48

gerakan maju dan mundur atau tertolak dan tertarik. Prinsip inilah yang diterapkan pada

penggerak pada permainan ini.

Sistem kerja dari gerakan tersebut adalah sebagai berikut, lilitan yang memiliki

sifat kutub utara pada ujungnya akan terjadi gaya tolak menolak apabila didekatkan pada

magnet yang memiliki sifat kutub utara pada ujungnya, demikian pula jika terjadi

sebaliknya. Gaya tolakan atau tarikan inilah yang dapat membuat sasaran bergerak naik

dan turun dengan bantuan mekanik. Pergerakan naik atau turunnya sasaran dapat

dilakukan dengan mengubah sifat kutub pada ujung lilitan.

Untuk mengubah sifat kutub pada ujung solenoid, dapat menggunakan rangkaian

pembalik kutub yang identik dengan rangkaian pembalik putaran motor. Rangkaian dasar

pembalik kutub dapat dilihat pada gambar 3.17a, sedangkan rangkaian pembalik kutub

dengan menggunakan relay DPDT dapat dilihat pada gambar 3.17b

(a)

49

Gambar 3.17. (a) Rangkaian dasar pembalik kutub solenoid, (b) Rangkaian pembalik kutub dengan menggunakan 1 buah relay DPDT

A

B

X Y

M N

(b)

Inti dari rangkaian tersebut adalah membalik polaritas catu yang masuk ke lilitan

yang akan membuat arah arus pada lilitan berbalik arah. Perubahan arah arus inilah yang

menyebabkan polaritas atau sifat kutub pada ujung lilitan menjadi berubah. Bila saklar S

dalam keadaan terbuka, maka arus akan mengalir dari A ke B dan menyebabkan ujung X

pada solenoid menjadi kutub utara. Demikian pula sebaliknya, bila saklar S dalam

keadaan tertutup, maka arus akan mengalir dari B ke A dan menyebabkan ujung Y pada

solenoid menjadi kutub utara. Saklar S dapat diganti dengan menggunakan rangkaian

transistor sebagai saklar yang tampak pada gambar 3.18 dengan menempatkan posisi pin

M dan N pada relay sesuai dengan gambar 3.17. Besarnya nilai R dapat dicari dengan

perhitungan sebagai berikut :

Dengan menganggap hfe BD 140 sebesar 200 maka,

Pada saat saturasi :

IB ≈ dcsatIc

β=

2001A = 5 mA

50

IB = R

VinVebVcc −−

R = Ib

VVV 07,06 −−

R = mA

V5

3,5

R = 1060Ω ≈ 1kΩ

M

N

Gambar 3.18. Rangkaian transistor sebagai saklar

D

12

BD 140

P2.0 ... P2.7

R

VCC

Relay _SPDT

Perubahan arah arus pada solenoid berbanding lurus dengan perubahan arah gaya.

Hal ini sesuai dengan kaidah tangan kanan yang menyebabkan arah medan magnetik B

keluar lilitan atau masuk lilitan, sedangkan arah gaya F seiring dengan perubahan arah

arus pada lilitan (pers. 3.1). Gambar 3.19 menunjukkan perubahan arah medan magnetik

yang seiring dengan perubahan arah arus.

F = B x li (pers. 3.1)

F = Bli sin θ

Dimana, θ = 90o

Maka,

51

F = Bli ; B dan l bernilai tetap

F = ki (pers. 3.2)

B

Penggerak yang digunakan berupa solenoid berinti besi, seperti tampak pada

gambar 3.19. Solenoid ini memanfaatkan coil pada relay 12v dengan name plate yang

tertera pada lampiran. Setelah melakukan penelitian awal, maka didapatkan data sebagai

berikut :

N = jumlah lilitan = 2640 lilitan

rdalam = hambatan dalam solenoid = 75 Ω

l = panjang penghantar = 2,2 cm = 0,022 m

Dengan keadaan tersebut, maka dibutuhkan adanya magnet permanen yang

mampu memperkuat tarikan atau tolakan pada mekanik sasaran. Gambar 3.20

memperlihatkan posisi magnet yang dipasangkan pada belt penggerak berikut dengan

posisi solenoid. Gambar tersebut juga memperlihatkan posisi mekanik penggerak yang

menggunakan gir rotasi dan gir translasi.

ii

B

Gambar 3.19. Perubahan arah gaya Lorentz yang disebabkan perubahan arah arus pada solenoid

Inti besi

52

Gearbox

53

Gambar 3.20. Posisi mekanik penggerak sasaran

Solenoid Magnet

2 cm

1 cm

2,5 cm

Penggabungan antara gaya translasi dan rotasi mempermudah dalam perancangan

penggerak dan hanya membutuhkan gerakan translasi yang kecil untuk menghasilkan

gerakan rotasi yang besar. Hubungan antara perpindahan linear (translasi) dan rotasi

dapat dituliskan dalam persamaan 3.4.

s = r.θ (pers. 3.4)

s = jarak linear

r = jari-jari lingkaran

θ = perpindahan sudut (perputaran benda)

Agar sasaran tembak dapat muncul, gerakan rotasi yang dibutuhkan adalah

sebesar 30o. Dengan mengacu pada persamaan 3.4, maka gerakan translasi yang

dibutuhkan agar sasaran dapat muncul dapat dihitung dan jarak tersebut ditetapkan

sebagai jarak minimum antara ujung magnet dengan ujung solenoid. Gerak translasi

minimum yang dibutuhkan agar sasaran muncul adalah sebesar :

s = r. θ

s = 0,5 cm [30o(2π rad/360o)]

s = 0,262 cm

Gerakan sasaran sangat dipengaruhi oleh besarnya arus yang mengalir pada

solenoid. Sasaran tembak yang sudah dirangkai dengan gearbox, magnet, dan solenoid

kemudian diuji pergerakannya dan dicatat sebagai data awal tentang pergerakan sasaran

tembak. Data pengamatan awal tentang pergerakan sasaran tembak dapat dilihat pada

tabel 3.4. Dari data tersebut, tegangan yang dibutuhkan solenoid agar sasaran dapat

bergerak lancar sejauh 30o adalah sebesar 24 Volt. Dengan kata lain, arus yang

dibutuhkan solenoid agar sasaran dapat bergerak lancar 30o adalah sebesar :

isolenoid = solenoid

solenoid

rV

= Ω74

24V = 0,324 A

Tabel 3.4. Pengamatan awal tentang pergerakan sasaran.

No Tegangan (Volt) Status sasaran Keterangan

1. 6 Diam ----

2. 9 Diam ----

3. 12 Diam ----

4. 15 Diam ----

5. 18 Bergerak Bergerak macet

6. 21 Bergerak Bergerak macet

7. 24 Bergerak Bergerak lancar

54

Urutan pemunculan sasaran tembak sudah diatur terlebih dulu dengan konfigurasi

yang berbeda-beda pada setiap mode permainan. Tabel 3.5 menunjukkan urutan

pemunculan sasaran pada mode 1 sedangkan tabel 3.6 menunjukkan urutan pemunculan

sasaran pada mode 2. Baik mode 1 maupun mode 2 pada setiap pemunculan hanya akan

memunculkan satu sasaran saja. Mode 3 memiliki perbedaan jika dibanding dengan mode

yang lain. Mode 3 akan memunculkan variasi 2 sasaran yang muncul secara bersamaan.

Urutan pemunculan sasaran mode 3 dapat dilihat pada tabel 3.7.

Tabel 3.5. Urutan pemunculan sasaran tembak untuk mode 1

Port 2 Urutan ke

Nomor sasaran

Heksa P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0

1. 8 7FH 0 1 1 1 1 1 1 1

2. 6 DFH 1 1 0 1 1 1 1 1

3. 1 FEH 1 1 1 1 1 1 1 0

4. 3 FBH 1 1 1 1 1 0 1 1

5. 2 FDH 1 1 1 1 1 1 0 1

6. 5 EFH 1 1 1 0 1 1 1 1

7. 1 FEH 1 1 1 1 1 1 1 0

8. 7 BFH 1 0 1 1 1 1 1 1

9. 4 F7H 1 1 1 1 0 1 1 1

10. 5 EFH 1 1 1 0 1 1 1 1

11. 8 7FH 0 1 1 1 1 1 1 1

12. 2 FDH 1 1 1 1 1 1 0 1

13. 6 DFH 1 1 0 1 1 1 1 1

14. 3 FBH 1 1 1 1 1 0 1 1

15. 1 FEH 1 1 1 1 1 1 1 0

16. 7 BFH 1 0 1 1 1 1 1 1

55

Lanjutan tabel 3.5.

Port 2 Urutan ke

Nomor sasaran

Heksa P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0

17. 2 FDH 1 1 1 1 1 1 0 1

18. 4 F7H 1 1 1 1 0 1 1 1

19. 3 FBH 1 1 1 1 1 0 1 1

20. 8 7FH 0 1 1 1 1 1 1 1

21. 3 FBH 1 1 1 1 1 0 1 1

22. 5 EFH 1 1 1 0 1 1 1 1

23. 6 DFH 1 1 0 1 1 1 1 1

24. 1 FEH 1 1 1 1 1 1 1 0

25. 7 BFH 1 0 1 1 1 1 1 1

26. 5 EFH 1 1 1 0 1 1 1 1

27. 8 7FH 0 1 1 1 1 1 1 1

28. 4 F7H 1 1 1 1 0 1 1 1

29. 5 EFH 1 1 1 0 1 1 1 1

30. 6 DFH 1 1 0 1 1 1 1 1

Tabel 3.6. Urutan pemunculan sasaran tembak untuk mode 2

Port 2 Urutan ke

Nomor sasaran

Heksa P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0

1. 5 EFH 1 1 1 0 1 1 1 1

2. 3 FBH 1 1 1 1 1 0 1 1

3. 4 F7H 1 1 1 1 0 1 1 1

4. 7 BFH 1 0 1 1 1 1 1 1

5. 1 FEH 1 1 1 1 1 1 1 0

6. 2 FDH 1 1 1 1 1 1 0 1

7. 8 7FH 0 1 1 1 1 1 1 1

8. 1 FEH 1 1 1 1 1 1 1 0

56

Lanjutan tabel 3.6.

Port 2 Urutan ke

Nomor sasaran

Heksa P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0

9. 6 DFH 1 1 0 1 1 1 1 1

10. 2 FDH 1 1 1 1 1 1 0 1

11. 7 BFH 1 0 1 1 1 1 1 1

12. 4 7FH 1 1 1 1 0 1 1 1

13. 5 EFH 1 1 1 0 1 1 1 1

14. 3 FBH 1 1 1 1 1 0 1 1

15. 7 BFH 1 0 1 1 1 1 1 1

16. 2 FDH 1 1 1 1 1 1 0 1

17. 1 FEH 1 1 1 1 1 1 1 0

18. 8 7FH 0 1 1 1 1 1 1 1

19. 3 FBH 1 1 1 1 1 0 1 1

20. 6 DFH 1 1 0 1 1 1 1 1

21. 1 FEH 1 1 1 1 1 1 1 0

22. 2 FDH 1 1 1 1 1 1 0 1

23. 7 BFH 1 0 1 1 1 1 1 1

24. 4 F7H 1 1 1 1 0 1 1 1

25. 6 DFH 1 1 0 1 1 1 1 1

26. 3 FBH 1 1 1 1 1 0 1 1

27. 1 FEH 1 1 1 1 1 1 1 0

28. 5 EFH 1 1 1 0 1 1 1 1

29. 2 FDH 1 1 1 1 1 1 0 1

30. 8 7FH 0 1 1 1 1 1 1 1

57

Tabel 3.7. Urutan pemunculan sasaran tembak untuk mode 3

Port 2 Urutan

ke

Nomor

sasaran Heksa

P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0

1. 5,1 EEH 1 1 1 0 1 1 1 0

2. 7,3 BBH 1 0 1 1 1 0 1 1

3. 6,4 D7H 1 1 0 1 0 1 1 1

4. 7,3 BBH 1 0 1 1 1 0 1 1

5. 8,1 7EH 0 1 1 1 1 1 1 0

6. 7,2 BDH 1 0 1 1 1 1 0 1

7. 8,3 7BH 0 1 1 1 1 0 1 1

8. 5,1 EEH 1 1 1 0 1 1 1 0

9. 6,4 D7H 1 1 0 1 0 1 1 1

10. 5,2 EDH 1 1 1 0 1 1 0 1

11. 7,3 BBH 1 0 1 1 1 0 1 1

12. 8,4 77H 0 1 1 1 0 1 1 1

13. 5,1 EEH 1 1 1 0 1 1 1 0

14. 8,3 7BH 0 1 1 1 1 0 1 1

15. 7,4 B7H 1 0 1 1 0 1 1 1

16. 5,2 EDH 1 1 1 0 1 1 0 1

17. 7,1 BEH 1 0 1 1 1 1 1 0

18. 8,2 7DH 0 1 1 1 1 1 0 1

19. 7,3 BBH 1 0 1 1 1 0 1 1

20. 6,2 DDH 1 1 0 1 1 1 0 1

21. 5,1 EEH 1 1 1 0 1 1 1 0

22. 8,2 7DH 0 1 1 1 1 1 0 1

23. 7,1 BEH 1 0 1 1 1 1 1 0

24. 5,4 E7H 1 1 1 0 0 1 1 1

25. 6,2 DDH 1 1 0 1 1 1 0 1

26. 8,3 7BH 0 1 1 1 1 0 1 1

27. 7,1 BEH 1 0 1 1 1 1 1 0

58

Lanjutan tabel 3.7.

Port 2 Urutan ke

Nomor sasaran

Heksa P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0

28. 5,4 E7H 1 1 1 0 0 1 1 1

29. 6,2 DDH 1 1 0 1 1 1 0 1

30. 8,3 7BH 0 1 1 1 1 0 1 1

3.1.8 Indikator alarm

Indikator alarm digunakan sebagai tanda permainan telah selesai. Indikator ini

menggunakan buzzer. Rangkaian indikator alarm dapat dilihat pada gambar 3.21. Pada

gambar tersebut, jika P 3.7 berlogika rendah, maka transistor akan saturasi yang

menyebabkan buzzer aktif. Demikian pula sebaliknya, jika P 3.7 berlogika tinggi, maka

transistor menjadi OFF yang menyebabkan buzzer tidak aktif. Perancangan nilai

resistansi yang digunakan pada indikator alarm sama seperti pada perancangan nilai

resistansi untuk penggerak menggunakan transistor sebagai saklar.

Vcc

R

P 3.7

BUZZER

1

2

Gambar 3.21. Rangkaian indikator alarm

59

3.1.9 Indikator LED

LED digunakan sebagai indikator untuk memudahkan dalam pengamatan sistem

kerja dan juga sebagai tanda (indikator) bahwa rangkaian tersebut aktif. Dalam sistem ini,

LED digunakan sebagai indikator untuk sasaran tembak yang aktif dan juga digunakan

sebagai indikator pada mode permainan dan waktu permainan yang aktif. Gambar

rangkaian indikator LED dapat dilihat pada gambar 3.22. Pada rangkaian tersebut, M

adalah pin dari mikrokontroler dan Vcc yang digunakan sebesar 5V. Untuk

menghidupkan LED, M harus bernilai low. Sistem ini sering disebut common anode.

I = 15mA (LED sudah memenuhi arus minimal yang diperlukan agar LED

menyala)

V = I.R

R = IV

R = mAV

155

R = 333,33Ω dibulatkan menjadi 330Ω

Vcc

LED

R

M

Gambar 3.22. Rangkaian indikator LED

60

3.1.10 Catu daya

Catu daya diperlukan sebagai pemberi arus listrik pada rangkaian – rangkaian

yang digunakan. Catu daya yang digunakan dapat dilihat pada tabel 3.8 yang digolongkan

berdasarkan besar tegangan. Gambar rangkaian catu daya dapat dilihat pada gambar 3.23.

LM78xx1 3

2

IN OUT

GN

D V keluaranD3

+D2

220VAC

T1

TRANSFORMER CT

1 5

6

4 8 -C12200uF/25V VCC_CIRCLE

Gambar 3.23. Rangkaian catu daya dengan regulator.

Tabel 3.8. Penggolongan penggunaan catu daya.

Tegangan keluaran Alokasi penggunaan

5V (regulator LM7805) Rangkaian mikrokontroler, rangkaian indikator LED, rangkaian phototransistor, rangkaian tegangan referensi, rangkaian penampil skor

6V (regulator LM7806) Rangkaian penyaklaran transistor, rangkaian pengondisi sinyal, rangkaian indikator alarm

12V (non-regulator) Rangkaian pembalik kutub, rangkaian one-shot pada tembakan

24V (regulator LM7824) Catu daya solenoid

3.2 Perancangan perangkat lunak

Untuk menjalankan mikrokontroler sebagaimana fungsinya, maka mikrokontroler

perlu diprogram dengan menggunakan bahasa pemrograman. Agar lebih mudah dalam

proses pemrograman, maka perlu adanya diagram alir dari sistem yang bekerja. Diagram

61

alir tersebut berfungsi sebagai panduan dan sebagai ringkasan dari urutan kerja sistem

agar lebih mudah dilihat dan dimengerti. Pada subbab ini akan dijelaskan tentang

perancangan perangkat lunak dengan bantuan diagram alir yang mencakup diagram alir

program utama berikut diagram alir sub rutinnya.

3.2.1 Inisialisasi data awal dan port

Pada awal pemrograman, langkah yang harus dilakukan adalah inisialisasi data

awal dan port. Hal ini dilakukan agar dalam perancangan perangkat lunak tidak

mengalami kesulitan dalam mengenali port – port yang akan digunakan atau dalam

menggunakan atau memanipulasi data. Hal ini juga didukung dengan banyaknya port

dan data awal yang digunakan. Berikut ini adalah penggalan program untuk inisialisasi

data awal dan port :

7 0000 ;mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm 8 0000 ;Inisialisasi Port, Alamat Memori, dan Data Awal 9 0000 ;mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm 10 0000 unit_disp equ p0 ;menampilkan skor satuan 11 0000 ten_disp equ p1 ;menampilkan skor puluhan 12 0000 sasaran equ p2 ;menampilkan sasaran tembak 14 0000 easy bit p3.0 ;mode pemula 15 0000 normal bit p3.1 ;mode normal 16 0000 hard bit p3.2 ;mode mahir 17 0000 time bit p3.3 ;pemilihan waktu permainan 18 0000 shooted_1 bit p3.4 ;sensor sasaran grup A 19 0000 shooted_2 bit p3.5 ;sensor sasaran grup B 20 0000 start bit p3.6 ;memulai permainan 21 0000 buzzer bit p3.7 ;indikator alarm 23 0000 count_time equ 40h ;penghitung waktu permainan 24 0000 count_shot equ 42h ;penghitung jumlah skor 25 0000 rise_time equ 44h ;lama waktu sasaran muncul 26 0000 urutan equ 46h ;urutan sasaran tembak 27 0000 kali20 equ 48h ;pengali 20 29 0000 ten equ -10000 ;isi ulang timer (-10000) 30 0000 fifty equ -50000 ;isi ulang timer (-50000)

62

3.2.2 Diagram alir program utama

Diagram alir ini akan dijadikan pedoman langkah-langkah kerja pada

perancangan perangkat lunak. Sebelum membuat diagram alir, urutan kerja permainan

tembak sasaran harus ditentukan terlebih dulu mulai dari pemilihan mode permainan dan

waktu permainan sampai dengan tahap menampilkan jumlah skor terakhir. Berikut ini

adalah urutan kerja permainan tembak sasaran :

1. Permainan menunggu pemilihan waktu permainan dan pemilihan mode

permainan.

2. Permainan menunggu penekanan tombol start.

3. Pewaktu permainan mulai aktif sesuai pemilihan waktu setelah tombol start

ditekan.

4. Sasaran mulai bergerak sesuai mode permainan yang dipilih.

5. Sensor mendeteksi adanya cahaya laser yang mengenai foto transistor.

6. Data pendeteksian sensor disimpan pada memory sebagai data counter

tembakan dan diberi nilai 1 jika terkena tembakan.

7. Penampil skor menampilkan skor yang sudah diolah di data counter

8. Permainan mengulang langkah 4 sampai 7 sampai pewaktu permainan habis.

9. Alarm mulai berbunyi menandakan selesainya permainan dan sasaran tembak

tidak akan muncul lagi sedangkan penampil skor menampilkan skor terakhir.

10. Permainan selesai dan menunggu penekanan tombol reset.

Urutan kerja tersebut kemudian disusun ulang ke dalam bentuk diagram alir

program utama. Bentuk diagram alir program utama tampak pada gambar 3.24. Diagram

alir tersebut menjadi patokan dalam pemrograman mikrokontroler.

63

Pada diagram alir program utama terdapat beberapa sub rutin. Sub rutin ini

merupakan sebuah sistem kerja (program) yang dapat dipanggil berulang – ulang sesuai

dengan kebutuhan program. Penjelasan tentang masing – masing sub rutin dijelaskan

pada subbab berikutnya.

64

Gambar 3.24. Diagram alir program utama.

65

3.2.3 Rutin pewaktu permainan

Rutin ini berfungsi mengatur lajunya timer 1 pada mikrokontroler yang bekerja

sebagai pewaktu permainan. Timer 1 diinisialisasi terlebih dahulu dan kemudian

diaktifkan setelah tombol start ditekan. Kerja timer 1 memiliki prioritas interupsi tertinggi

sehingga jika timer 1 sudah selesai bekerja, maka akan langsung memberi tanda pada

program utama. Diagram alir dari pewaktu permainan dapat dilihat pada gambar 3.25.

Mulai

Isi ulang timer 1

Pengali20 sudah habis?

Pewaktu permainan

habis?

Bunyikan alarm

Pewaktu <= pewaktu - 1

Pengali20 <= pengali20 - 1

Tidak

Ya

Ya

Tidak

Gambar 3.25. Rutin untuk pewaktu permainan.

3.2.4 Rutin tunda waktu

Rutin ini diperlukan untuk memberikan tunda waktu untuk beberapa saat. Tunda

waktu diberikan untuk menghindari efek bounching yang bisa disebabkan oleh perangkat

66

keras. Selain itu, rutin tunda waktu juga digunakan sebagai pewaktu sasaran tembak

ketika aktif (muncul). Diagram alir dari rutin tunda waktu dapat dilihat pada gambar 3.26.

Pengisian nilai tunda tergantung dari lama tunda waktu yang diinginkan.

Besarnya nilai tunda ini dipengaruhi oleh nilai isi ulang timer. Dalam perancangan ini,

nilai isi ulang timer yang digunakan ada 2, yaitu 10000 siklus mesin dan 50000 siklus

mesin. Untuk mendapatkan tunda waktu selama 1 detik, maka perancangan nilai

tundanya adalah sebagai berikut :

Gambar 3.26. Rutin tunda waktu

67

T1 siklus mesin = oscf

12 = MHz1212 = 1μs

Hal ini berarti 1 siklus mesin sama dengan 1μs, dengan demikian :

A. 10000 siklus mesin = 10000μs

Untuk mendapatkan nilai 1 detik, maka nilai tunda yang dibutuhkan sebesar :

Lama tunda waktu = Nilai tunda x Nilai isi ulang timer

Nilai tunda = timerulangisiNilai

waktutundaLama

Nilai tunda = s

sμμ

100001000000 = 100

B. 50000 siklus mesin = 50000μs

Untuk mendapatkan nilai 1 detik, maka nilai tunda yang dibutuhkan sebesar :

Lama tunda waktu = Nilai tunda x Nilai isi ulang timer

Nilai tunda = timerulangisiNilai

waktutundaLama

Nilai tunda = ss

μμ

500001000000 = 20

3.2.5 Rutin penampil skor tembakan

Rutin ini diperlukan untuk menampilkan skor tembakan. Skor tembakan

ditampilkan dalam 2 digit seven segment. Rutin penampil skor tembakan ini hanya

memilah data skor tembakan sebagai skor satuan dan skor puluhan. Kemudian skor

satuan dan skor puluhan tersebut ditampilkan di seven segment melalui port 0 dan port 1

mikrokontroler. Diagram alir dari rutin penampil skor tembakan dapat dilihat pada

gambar 3.27.

68

Gambar 3.27. Rutin penampil skor tembakan.

69

BAB IV

PENGAMATAN DAN PEMBAHASAN

Bab ini berisi tentang hasil pengamatan dari alat yang sudah dibuat dan kemudian

dibahas sesuai dasar teori yang berlaku. Hasil pengamatan akan meliputi konsumsi arus

dari alat tersebut, sensitifitas dari sensor, dan perilaku sasaran tembak. Konsumsi arus

yang dibutuhkan alat tersebut dapat diamati tiap blok. Sensitifitas dari sensor mengamati

jarak terjauh antara sensor dengan laser pointer agar sensor mampu menerima cahaya dari

laser pointer dengan baik. Sedangkan perilaku sasaran tembak mengamati tentang

lamanya waktu sasaran aktif.

Alat tersebut, permainan tembak sasaran elektronis, dapat dilihat bentuk fisiknya

secara utuh pada gambar 4.1. Sedangkan bentuk fisik per bagian dapat dilihat pada

gambar 4.2. Secara fisik, sasaran tembak berdimensi besar dikarenakan posisi penggerak

sasaran yang berdimansi lebar. Oleh karena itu sasaran disusun menjadi 2 tingkat yang

masing – masing tingkat terdiri dari 4 sasaran tembak.

Gambar 4.1. Bentuk akhir Permainan Tembak Sasaran Elektronis

70

(a)

(b) (c)

(d) (e)

Gambar 4.2. Bentuk Fisik Permainan Tembak Sasaran Elektronis per bagian.

(a) 8 buah sasaran tembak disusun menjadi 2 tingkat. (b) Motherboard. (c) Front panel. (d) Senapan dengan laser pointer. (e) Catu daya untuk solenoid.

71

Posisi penggerak sasaran membutuhkan dimensi yang lebar. Hal ini berkaitan

dengan konfigurasi antara gearbox, magnet, dan solenoid yang terpasang pada kotak

sasaran tembak. Posisi penggerak dalam kotak sasaran tembak dapat dilihat pada gambar

4.3. Pada gambar tersebut tampak bahwa posisi penggerak cenderung lebar.

4.1 Pengamatan terhadap tegangan keluaran pada catu daya

Catu daya diperlukan untuk memberi kebutuhan arus listrik dan juga tegangan

listrik. Catu daya yang tersedia ada 4 jenis tegangan keluaran. Pengamatan terhadap

tegangan keluaran dari tiap – tiap catu daya dapat dilihat pada tabel 4.1. Pada tabel

pengamatan tersebut, tegangan keluaran mempunyai beberapa error.

Tabel 4.1. Pengamatan tegangan keluaran dari tiap – tiap catu daya.

Catu daya Tegangan keluaran Error

5V (regulator LM7805) 4,94V 1,2%

6V (regulator LM7806) 6,05V 0,83%

12V (non-regulator) 11,71V 2,42%

24V (regulator LM7824) 23V 4,17%

Gambar 4.3. Posisi penggerak dalam kotak sasaran

72

Perhitungan nilai error, atau dalam hal ini selisih tegangan, dapat dicari dengan

perhitungan sebagai berikut :

Contoh : Perhitungan nilai error pada catu daya 5V

Error (%) = %100xsebenarnyanilai

pengukurannilaisebenarnyanilai −

Error (%) = %1005

94,45x

VVV −

Error (%) = 1,2%

Error yang terjadi masih cenderung kecil dan besarnya selisih tegangan antara nilai

sebenarnya dengan nilai pengukuran masih kecil (≤ 1V). Nilai error tersebut masih dapat

ditoleransi karena selisih tegangan tersebut tidak mempengaruhi kinerja sistem.

4.2 Pengamatan terhadap kebutuhan arus

Permainan tembak sasaran elektronis memiliki 3 bagian yang dibedakan

berdasarkan kebutuhan arus. Bagian pertama adalah blok rangkaian mikrokontroler dan

bagian kedua adalah blok rangkaian penggerak (tanpa solenoid). Kebutuhan arus pada

kedua bagian tersebut cenderung kecil, oleh karena itu kebutuhan arus hanya disuplai

oleh rangkaian penyearah tegangan dengan regulator tegangan LM7805, regulator

tegangan LM7806, dan rangkaian penyearah 12V tanpa regulator. Sedangkan bagian

ketiga terdiri dari 8 buah solenoid yang kebutuhan arusnya disuplai oleh 2 rangkaian catu

daya dengan regulator LM7824. Masing – masing catu daya melayani kebutuhan arus

dari 4 buah solenoid. Hasil pengamatan konsumsi arus untuk bagian pertama dapat dilihat

pada tabel 4.2. Sedangkan hasil pengamatan konsumsi arus untuk bagian kedua dapat

dilihat pada tabel 4.3.

73

Tabel 4.2. Konsumsi arus pada blok rangkaian mikrokontroler.

Keadaan Arus

Stand-by 10,44mA

Saat permainan dimulai (mode 1 dan 2)

17,5mA

Saat permainan dimulai (mode 3)

25,3mA

Pada tabel 4.2, konsumsi arus terbesar adalah saat permainan dengan mode 3

dimulai. Hal ini disebabkan karena permainan mode 3 menggunakan variasi 2 sasaran

yang muncul secara bersamaan. Maka dari itu konsumsi arusnya ikut bertambah besar.

Tabel 4.3. Konsumsi arus pada blok rangkaian penggerak.

Penggerak sasaran Parameter 1 2 3 4 5 6 7 8

Arus (mA) 4,20 4,19 4,23 4,17 4,43 4,24 4,18 4,19

Tegangan saat penggerak tidak aktif (V) 5,37 5,37 5,37 5,37 5,36 5,36 5,36 5,36

Tegangan saat pengggerak aktif (V) 0,98 0,95 0,95 1,05 0,75 0,97 1,02 1,03

Pada tabel 4.3, kebutuhan arus untuk blok rangkaian penggerak cenderung

bernilai sama. Hal ini disebabkan karena tiap komponen pada blok penggerak sasaran

cenderung identik. Maksudnya adalah, pada saat pemilihan komponen, besarnya hfe

untuk transistor disama-ratakan nilainya. Demikian pula relay – relay yang digunakan

berasal dari merk dagang yang sama. Maka dari itu, konsumsi arusnya cenderung bernilai

sama.

74

Pengamatan tegangan keluaran dari mikrokontroler untuk blok rangkaian

penggerak diamati saat pin dari mikrokontroler yang terhubung dengan rangkaian

penggerak dalam keadaan high dan low. Sewaktu pin mikrokontroler dalam keadaan high

(penggerak tidak aktif) maka tegangan keluarannya berada pada kisaran 5,3V. Sedangkan

ketika pin mikrokontroler dalam keadaan low (penggerak aktif) maka tegangan

keluarannya berada pada kisaran rendah yakni 1V.

Selain kedua bagian yang sudah dijelaskan di atas, pada bagian ketiga juga

dilakukan pengamatan kebutuhan arus. Konsumsi arus pada solenoid dapat dilihat pada

tabel 4.4. Konsumsi arus untuk solenoid sebanding dengan gaya tarik tolak yang

dibutuhkan di ujung solenoid agar dapat menggerakkan sasaran tembak, seperti yang

sudah diterangkan pada bab perancangan.

Tabel 4.4. Konsumsi arus pada solenoid.

Solenoid pada sasaran Parameter

1 2 3 4 5 6 7 8

Arus (A) 0,26 0,30 0,34 0,29 0,28 0,28 0,29 0,30

Arus total (A) 1,19 1,15

Besarnya konsumsi arus tiap solenoid berbeda antara solenoid satu dengan

solenoid lainnya. Hal ini bisa disebabkan oleh adanya perbedaan hambatan dalam tiap

solenoid. Arus rata – rata yang dibutuhkan solenoid agar dapat bergerak adalah sebesar :

I rata – rata solenoid = 8∑ I

I rata – rata solenoid = 8

3,029,028,028,029,034,03,026,0 +++++++

75

I rata – rata solenoid = 0,2925 A

4.3 Pengamatan sensor

Sensor sasaran dapat dilakukan pengamatan di antaranya berupa pengamatan

kepekaan sensor dan pengamatan level tegangan. Pengamatan kepekaan sensor harus

dilakukan di dalam ruangan dengan cahaya cukup. Pengamatan kepekaan sensor harus

menghindari kontak sinar matahari langsung dengan sensor karena sinar matahari dapat

mempengaruhi kepekaan sensor. Sedangkan pengamatan level tegangan dapat dilakukan

dengan mengukur tegangan antara kaki emitter dari photo-transistor dengan ground.

Tabel 4.5 menjelaskan tentang hasil pengamatan level tegangan pada sensor.

Tabel 4.5. Pengamatan level tegangan sensor.

Tegangan pada grup sensor Kondisi

Grup A (1-4) Grup B (5-8)

Terkena tembakan 0,33V 0,33V

Tidak terkena tembakan 4,91V 4,90V Keterangan : Grup A adalah keluaran 74LS21 bagian A Grup B adalah keluaran 74LS21 bagian B

Pengamatan level tegangan dilakukan pada keluaran dari IC TTL 74LS21

(gerbang AND 4 masukan). Pengamatan dilakukan pada titik tersebut karena level

tegangan dari keluaran 74LS21 langsung dihubungkan ke mikrokontroler untuk diolah.

Pada pengamatan di atas, tegangan 0,33V sudah dapat digolongkan sebagai logika low

dan tegangan 4,91V sudah dapat digolongkan sebagai logika high sehingga

mikrokontroler sudah dapat menggolongkannya sebagai logika 0 dan logika 1.

76

Pengamatan terhadap kepekaan sensor dilakukan dengan menyamakan level

tegangan referensi pada kaki non-inverting op-amp. Proses selanjutnya ialah mengamati

jarak terjauh agar sensor masih dapat menerima rangsangan cahaya dari laser pointer.

Pengamatan jarak menggunakan satuan per 30cm. Hasil pengamatan kepekaan sensor

terhadap jarak dapat dilihat pada tabel 4.6.

Tabel 4.6. Pengamatan kepekaan sensor terhadap jarak.

Jarak Status Keterangan

150cm Baik ---

180cm Baik ---

210cm Baik ---

240cm Baik ---

270cm Baik ---

300cm Baik ---

330cm Baik ---

360cm Kurang baik Hanya beberapa sensor yang bisa aktif

390cm Tidak baik Tidak ada sensor yang bisa aktif

Pada tabel tersebut, tampak bahwa jarak terjauh agar sensor masih dapat

menerima rangsangan cahaya laser pointer adalah sejauh 330cm. Hal ini berarti bahwa

jarak maksimal antara penembak dan sasaran tembak adalah sejauh 330cm.

4.4 Pengamatan pewaktu pada mikrokontroler

Pengamatan pewaktu pada mikrokontroler dapat dilakukan dengan menggunakan

stopwatch. Pewaktu digunakan sebagai pengatur lama permainan dan pengatur lama

77

kemunculan sasaran tembak. Hasil pengamatan pewaktu pada mikrokontroler dapat

dilihat pada tabel 4.7. Pada pengamatan tersebut, lama waktu aktif sudah sesuai dengan

perancangan pewaktu baik itu pewaktu sasaran maupun pewaktu permainan.

Lama sasaran aktif diukur ketika sasaran mulai muncul, kemudian sembunyi, dan

dalam kondisi tidak ada penembakan. Ketika ada penembakan, sasaran langsung bergerak

sembunyi meskipun pewaktu sasaran belum selesai mengerjakan tugasnya. Hal ini

berlaku pada seluruh mode permainan. Dengan adanya kondisi seperti ini, maka pada

bagian ini dapat dibahas tentang kemungkinan skor maksimal.

Tabel 4.7. Pengamatan pewaktuan pada mikrokontroler.

Parameter Waktu

Lama waktu sasaran aktif (mode 1) 4,02 detik

Lama waktu sasaran aktif (mode 2) 3,07 detik

Lama waktu sasaran aktif (mode 3) 1,99 detik

Lama waktu sasaran muncul sampai sembunyi jika terkena tembakan

0,75 detik

Lama waktu permainan (30det) 30,32 detik

Lama waktu permainan (60det) 60,47 detik

Pada permainan ini, skor maksimal dapat dihitung. Perhitungan skor maksimal ini

bukanlah untuk menghitung skor maksimal pada setiap penembakan. Perhitungan skor

maksimal ini berfungsi untuk mengetahui kemungkinan skor tertinggi yang dapat

diperoleh pada permainan ini. Untuk menghitung skor maksimal yang mungkin

didapatkan, proses penembakan harus dalam kondisi ideal, yaitu :

1. Tiap sasaran yang muncul dapat ditembak dengan tepat dan langsung

ditembak ketika sasaran muncul.

78

2. Kecepatan penembakan tiap sasaran sama. Artinya bahwa penembak

menembaki sasaran dengan kecepatan tetap sehingga dapat menghasilkan

waktu tembak yang tetap pada tiap – tiap sasaran.

3. Kecepatan seluruh sasaran untuk muncul dan sembunyi sama.

Maka skor maksimal yang mungkin didapatkan jika menggunakan pewaktu permainan 30

detik untuk semua mode permainan adalah sebagai berikut :

Skor = tertembakjikasembunyisampaimunculsasaranwaktuLama

permainanwaktuLama

Skor = det75,0

det30 = 40 point.

Jadi, jika menggunakan pewaktu permainan 30 detik, skor maksimal yang mungkin

didapatkan adalah sebesar 40 point. Sedangkan jika menggunakan pewaktu permainan 60

detik, perhitungan skor maksimalnya adalah sebagai berikut :

Skor = tertembakjikasembunyisampaimunculsasaranwaktuLama

permainanwaktuLama

Skor = det75,0

det60 = 80 point.

Jadi, jika menggunakan pewaktu permainan 60 detik, skor maksimal yang mungkin

didapatkan adalah sebesar 80 point dan berlaku untuk semua mode permainan.

4.5 Pengamatan fisik permainan tembak sasaran elektronis

Setelah melakukan seluruh pengamatan secara elektronis, maka perlu dilakukan

pengamatan secara fisik yang meliputi beberapa kriteria umum. Pengamatan fisik ini

berfungsi untuk memberikan penjelasan secara umum tentang fitur – fitur dari permainan

79

tembak sasaran elektronis. Fitur – fitur tersebut antara lain penggantian peluru, adanya

penilaian dan pewaktuan permainan, dan sebagainya. Pengamatan fisik permainan

tembak sasaran elektronis dapat dilihat pada tabel 4.8.

Tabel 4.8. Pengamatan fisik permainan tembak sasaran elektronis.

No Kriteria Permainan tembak sasaran elektronis

1. Peluru Menggunakan laser pointer

2. Penilaian Skor maksimal (permainan 30 det) = 40 Skor maksimal (permainan 60 det) = 80

3. Sasaran tembak Tidak ada efek fisik 4. Suara Tidak ada suara 5. Pewaktu permainan 30 detik dan 60 detik 6. Jarak tembak Maksimal 3m

1. Peluru.

Peluru yang biasa digunakan pada permainan tembak sasaran telah diganti dengan

penggunaan laser pointer. Laser pointer yang digunakan merupakan jenis laser kelas

2 yang berdaya rendah (daya keluaran maksimum = 1mW) dan aman untuk

digunakan selama sinar radiasi dari laser pointer tidak diarahkan ke mata.

2. Penilaian.

Penilaian berfungsi untuk mengetahui jumlah penembakan yang telah mengenai

sasaran tembak. Jumlah skor ditampilkan oleh dua digit seven segment. Jumlah skor

maksimal yang bisa didapat ialah sebanyak 40 point untuk permainan 30 detik dan 80

point untuk permainan 60 detik.

80

3. Sasaran tembak.

Sasaran tembak tidak hancur meskipun sasaran ditembak berkali – kali oleh laser

pointer. Sasaran yang digunakan mengaplikasikan penggunaan sensor cahaya

sehingga sasaran terhindar dari hantaman peluru seperti pada permainan tembak

sasaran non-elektronis.

Sudut pergerakan rotasi dari sasaran tembak yang hanya 300 mengakibatkan lama

waktu sasaran untuk muncul dan sembunyi menjadi cepat. Lama waktu sasaran untuk

muncul kemudian kembali sembunyi adalah selama 0,75 detik.

4. Suara.

Pada permainan tembak sasaran ini, tidak ada suara yang dihasilkan baik dari

senapan maupun dari sasaran tembak. Hanya ada satu suara yang dihasilkan, namun

suara tersebut dihasilkan dari sistem elektronisnya. Suara tersebut merupakan

indikator alarm ketika permainan telah selesai.

5. Pewaktuan.

Pewaktuan pada permainan ini hanya ada dua, yaitu 30 detik dan 60 detik.

Pewaktuan ini dikendalikan oleh mikrokontroler dan jika waktu permainan telah

selesai maka indikator alarm berbunyi.

6. Jarak tembak.

Jarak tembak maksimal adalah sejauh 3 meter. Dengan jarak tersebut, maka

permainan ini bisa dimainkan di ruangan kecil (in-door).

81

BAB V

PENUTUP

5.1 Kesimpulan

Berdasarkan perancangan dan pengamatan yang telah dilakukan, maka dapat

ditarik kesimpulan bahwa :

1. Terdapat selisih tegangan pada catu daya (error < 5%), namun selisih

tegangan tersebut tidak mempengaruhi kinerja sistem.

2. Konsumsi arus untuk solenoid sebanding dengan gaya tarik tolak yang

dibutuhkan di ujung solenoid agar dapat menggerakkan sasaran tembak, yakni

sebesar 0,2925 A (irata-rata solenoid).

3. Kepekaan sensor terbatas oleh jarak penembakan yakni sejauh 3 meter.

4. Skor maksimal yang mungkin terjadi untuk permainan 30 detik dan berlaku

untuk semua mode adalah sebesar 40 point, sedangkan untuk permainan 60

detik adalah sebesar 80 point.

5. Secara fisik, permainan tembak sasaran elektronis lebih aman dimainkan

karena tidak menggunakan peluru melainkan laser pointer.

5.2 Saran

Demi pengembangan penelitian dan perancangan sistem yang identik dengan

permainan tembak sasaran elektronis, maka ada beberapa saran untuk menuju arah lebih

baik dan lebih sempurna, yaitu :

1. Ukuran solenoid diperbesar agar mampu menggerakkan sasaran dengan gaya

yang lebih besar. Ukuran tersebut berupa jumlah lilitan, panjang solenoid,

diameter kawat, dan diameter solenoid.

2. Memperkuat intensitas cahaya dari laser pointer dengan menggunakan jenis

laser pointer yang lebih canggih supaya jarak penembakan dapat diperjauh.

3. Menambah efek suara pada senapan atau sasaran agar permainan menjadi

lebih menarik.

DAFTAR PUSTAKA Boylestad, Robert.L., Nashelsky, Louis. Electronic Devices and Circuit Theory.7th ed.

Prentice-Hall, Inc. New Jersey, 1999.

Halliday, David., Resnick, Robert. Fisika. Penerbit Erlangga. Jakarta, 1986.

Kamajaya, Drs., Linggih, Suardhana., FISIKA. Ganeca Exact. Bandung, 1986.

Kanginan, Marthen. Fisika SMU jilid 3A. Penerbit Erlangga. Jakarta,1997.

Kanginan, Marthen. Fisika SMU jilid 3B. Penerbit Erlangga. Jakarta,1997.

Malik, Norbert. R. Electronic Circuit Analysis, Simulation, and Design. Prentice-Hall

International. America, 1995.

Price, T.E. Analog Electronics. Prentice-Hall. Europe, 1997.

Putra, Agfianto Eko. Belajar Mikrokontroler AT89C51/52/55 (Teori dan Aplikasi).

Penerbit Gava Media. Yogyakarta, 2004.

Stockley, Corinne., Oxlade, Chris., Wertheim, Jane., Kamus FIFIKA Bergambar.

Penerbit Erlangga, 2000.

http://www.atmel.com, 2003, “Data sheet”, Atmel Corporation.

http://www.fairchildsemi.com, 2001, “Data sheet”, Fairchild Semiconductor.

http://www.onsemi.com, 2002, “Data sheet”, Semiconductor Components Industries.

LAMPIRAN

A

GAMBAR RANGKAIAN

Vref

74LS

21

6

12

45

Vref

+ -

U2C

LM32

4

10 98

4 11

10k

Vref

+ -

U1B

LM32

4

5 67

4 11

Q6

13

Rangkaian indikator alarm

pot

pot

+ -

U1A

LM32

4

3 21

4 11

pot

10k

+ -

U1D

LM32

4

12 1314

4 11

penampilsatuan

X1

Q2

13

5V

Q4

13

6V

<Doc

><R

evC

ode>

Ran

gkai

an m

ikro

kont

role

r, se

nsor

, da

n fr

ont

pane

l

B

11

Title

Size

Doc

umen

t N

umbe

rR

ev

Dat

e:S

heet

of

10k

penampilpuluhan

10k

30pf

pem

ilih

wakt

u pe

rmai

nan

230

s

60s

STA

RT

BUZZ

ER

1

2

R2

10k

R1

100

1 2 3 4 5 6 7 8

Vref

6V

penggeraksasaran

6V

C1

1uF

PB R

ST

6V

74LS

21

6

12

45

5V

AT89S51

AT89

S51

91819

20

29 30

31

40

1 2 3 4 5 6 7 8

21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17

39 38 37 36 35 34 33 32

RST

XTAL

2XT

AL1

GND

PSEN

ALE

/PR

OG

EA/V

PP

VCC

P1.0

P1.1

P1.2

P1.3

P1.4

P1.5

P1.6

P1.7

P2.0

/A8

P2.1

/A9

P2.2

/A10

P2.3

/A11

P2.4

/A12

P2.5

/A13

P2.6

/A14

P2.7

/A15

P3.0

/RXD

P3.1

/TXD

P3.2

/INTO

P3.

3/IN

T1P3

.4/T

OP

3.5/

T1P3

.6/W

RP3

.7/R

D

P0.0

/AD

0P0

.1/A

D1

P0.2

/AD

2P0

.3/A

D3

P0.4

/AD

4P0

.5/A

D5

P0.6

/AD

6P0

.7/A

D7

Q5

13

+ -

U1C

LM32

4

10 98

4 11

Rangkaian pemilih mode dan

waktu permainan dan START

+ -

U2D

LM32

4

12 1314

4 11

12345678

6V

Q1

13

+ -

U2B

LM32

4

5 67

4 11

6V 6V

5V

pem

ilih m

ode

11

1 2 3

Q7

13

12345678

+ -

U2A

LM32

4

3 21

4 11

10k

10k

Q3

13

R

pot

Vref

pot

pot

10k

pot

Rangkaian sensor dan pengondisi sinyal

sasaran grup B (5 - 8)

10k

Vref

6V

Vref

pot

5V

30pf

BD 1

40

Q8

13

Vref

Rangkaian sensor dan pengondisi sinyal

sasaran grup A (1 - 4)

<Doc

><R

evC

ode>

Ran

gkai

an p

engg

erak

Cus

tom

11

Title

Size

Doc

umen

t Num

ber

Rev

Dat

e:S

heet

of

B

D 1

40

24V

sole

noid

3

12

RE

LAY

DP

DT

345

687

12

R

6V

Rel

ay_S

PD

T

D

12

BD

140

Rel

ay_S

PD

Tso

leno

id 6

12

D

12

6V

12V

RE

LAY

DP

DT

345

687

12

R

Rel

ay_S

PD

T

D12

RE

LAY

DP

DT

345

687

12

12V

R

sole

noid

2

12

12V

BD

140

P21 2 3 4 5 6 7 8

D

12

24V

BD

140

6V

6V

Rel

ay_S

PD

T

BD

140

24V

Rel

ay_S

PD

T

24V

BD

140

sole

noid

8

12

6V

BD

140

12V

12V

RE

LAY

DP

DT

345

687

12

D

12

R

Rel

ay_S

PD

T

RE

LAY

DP

DT

345

687

12

24V

R

sole

noid

4

12

sole

noid

7

12

BD

140

24V

R

Rel

ay_S

PD

T

RE

LAY

DP

DT

345

687

12

D

12

R

6V

D

12

12V

sole

noid

5

12

RE

LAY

DP

DT

345

687

12

24V

sole

noid

1

12

12V

R

D

12

6V24

V

RE

LAY

DP

DT

345

687

12

6V

Rel

ay_S

PD

T

12V

B

LISTING PROGRAM

1 0000 ;mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm 2 0000 ; 3 0000 ; PERMAINAN TEMBAK SASARAN ELEKTRONIK 4 0000 ; BERBASIS MIKROKONTROLER AT89s51 5 0000 ; Pintohatmoko Danurwendo 7 0000 ;mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm 8 0000 ;Inisialisasi Port, Alamat Memori, dan Data Awal 9 0000 ;mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm 10 0000 unit_disp equ p0 11 0000 ten_disp equ p1 12 0000 sasaran equ p2 14 0000 easy bit p3.0 15 0000 normal bit p3.1 16 0000 hard bit p3.2 17 0000 time bit p3.3 18 0000 shooted_1 bit p3.4 19 0000 shooted_2 bit p3.5 20 0000 start bit p3.6 21 0000 buzzer bit p3.7 23 0000 count_time equ 40h 24 0000 count_shot equ 42h 25 0000 rise_time equ 44h 26 0000 urutan equ 46h 27 0000 kali20 equ 48h 29 0000 ten equ -10000 30 0000 fifty equ -50000 32 0000 ;mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm 33 0000 ;Mulai 34 0000 ;mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm 35 0000 org 00 36 0000 sjmp prepare 38 0002 ;mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm 39 0002 ;Pewaktu Permainan 40 0002 ;mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm 41 0002 org 001Bh 42 001B mov TH1,#high fifty 43 001E mov TL1,#low fifty 44 0021 djnz kali20,return 45 0024 mov kali20,#20 46 0027 mov a,count_time 47 0029 jnz tak_henti

48 002B clr buzzer 49 002D call dlay 50 0030 setb buzzer 51 0032 reti 53 0033 tak_henti: 54 0033 djnz count_time,return 55 0036 setb buzzer 57 0038 return: 58 0038 reti 60 0039 ;mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm 61 0039 prepare: 62 0039 mov urutan,#00h 63 003C mov count_shot,#00h 64 003F mov sasaran,#0FFh 65 0042 mov TMOD,#11h 66 0045 mov TCON,#00h 67 0048 mov kali20,#20 68 004B mov TH1,#high fifty 69 004E mov TL1,#low fifty 70 0051 mov IE,#88h 71 0054 mov IP,#08h 73 0057 ;mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm 74 0057 ;Pengaturan Pewaktu dan Mode Permainan 75 0057 ;mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm 76 0057 thirty: 77 0057 jb time,sixty 78 005A mov count_time,#30 79 005D sjmp mode1 81 005F sixty: 82 005F mov count_time,#60 83 0062 sjmp mode1 85 0064 mode1: 86 0064 jb easy,mode2 87 0067 mov rise_time,#80 88 006A call wait_start 89 006D sjmp mun_sa_mo1 91 006F mode2: 92 006F jb normal,mode3 93 0072 mov rise_time,#60 94 0075 call wait_start 95 0078 sjmp mun_sa_mo2

97 007A mode3: 98 007A jb hard,thirty 99 007D mov rise_time,#40 100 0080 call wait_start 101 0083 ljmp mun_sa_mo3 103 0086 wait_start: 104 0086 jb start,$ 105 0089 mov TCON,#40h 106 008C ret 108 008D ;mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm 109 008D ;Permainan Mode 1 110 008D ;mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm 111 008D mun_sa_mo1: 112 008D ;muncul_sasaran_mode 1 113 008D mov a,count_time 114 008F jz waktu_hbs 115 0091 mov dptr,#target1 116 0094 mov a,urutan 117 0096 cjne a,#1Eh,next1 118 0099 mov urutan,#00 120 009C next1: 121 009C mov a,urutan 122 009E movc a,@a+dptr 123 009F mov sasaran,a 124 00A1 acall dlay 125 00A3 sjmp delay1 126 00A5 sjmp mun_sa_mo1 128 00A7 delay1: 129 00A7 ;delay = mengatur lama waktu pemunculan sasaran 130 00A7 mov r2,rise_time 132 00A9 delay_x1: 133 00A9 mov th0,#high fifty 134 00AC mov tl0,#low fifty 135 00AF setb tr0 137 00B1 delay_y1: 138 00B1 jnb shooted_1,tembak1 139 00B4 jnb shooted_2,tembak1 140 00B7 jnb tf0,delay_y1 141 00BA clr tf0 142 00BC clr tr0 143 00BE djnz r2,delay_x1 144 00C0 sjmp add_sasa1

146 00C2 tembak1: 147 00C2 clr tr0 148 00C4 clr tf0 149 00C6 call dly 150 00C9 mov sasaran,#0FFh 151 00CC call dly 152 00CF mov a,count_shot 153 00D1 add a,#01 154 00D3 da a 155 00D4 mov count_shot,a 156 00D6 call tampil 157 00D9 sjmp add_sasa1 159 00DB add_sasa1: 160 00DB ;add_sasaran = melakukan "sasaran=sasaran+1" 161 00DB mov a,urutan 162 00DD inc a 163 00DE mov urutan,a 164 00E0 sjmp mun_sa_mo1 166 00E2 waktu_hbs: 167 00E2 clr buzzer 168 00E4 ljmp prepare 170 00E7 ;mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm 171 00E7 ;Permainan Mode 2 172 00E7 ;mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm 173 00E7 mun_sa_mo2: 174 00E7 ;muncul_sasaran_mode 2 175 00E7 mov a,count_time 176 00E9 jz waktu_hbs 177 00EB mov dptr,#target2 178 00EE mov a,urutan 179 00F0 cjne a,#1Eh,next2 180 00F3 mov urutan,#00 182 00F6 next2: 183 00F6 mov a,urutan 184 00F8 movc a,@a+dptr 185 00F9 mov sasaran,a 186 00FB acall dlay 187 00FD sjmp delay2 188 00FF sjmp mun_sa_mo2 190 0101 delay2: 191 0101 ;delay = mengatur lama waktu pemunculan sasaran 192 0101 mov r2,rise_time 194 0103 delay_x2:

195 0103 mov th0,#high fifty 196 0106 mov tl0,#low fifty 197 0109 setb tr0 199 010B delay_y2: 200 010B jnb shooted_1,tembak2 201 010E jnb shooted_2,tembak2 202 0111 jnb tf0,delay_y2 203 0114 clr tf0 204 0116 clr tr0 205 0118 djnz r2,delay_x2 206 011A sjmp add_sasa2 208 011C tembak2: 209 011C clr tf0 210 011E clr tr0 211 0120 call dly 212 0123 mov sasaran,#0FFh 213 0126 call dly 214 0129 mov a,count_shot 215 012B add a,#01 216 012D da a 217 012E mov count_shot,a 218 0130 call tampil 219 0133 sjmp add_sasa2 221 0135 add_sasa2: 222 0135 ;add_sasaran = melakukan "sasaran=sasaran+1" 223 0135 mov a,urutan 224 0137 inc a 225 0138 mov urutan,a 226 013A sjmp mun_sa_mo2 228 013C ;mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm 229 013C ;Permainan Mode 3 230 013C ;mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm 231 013C mun_sa_mo3: 232 013C ;muncul_sasaran_mode 3 233 013C mov a,count_time 234 013E jz waktu_hbs 235 0140 mov dptr,#target3 236 0143 mov a,urutan 237 0145 cjne a,#1Eh,next3 238 0148 mov urutan,#01 240 014B next3: 241 014B mov a,urutan 242 014D movc a,@a+dptr 243 014E mov sasaran,a

244 0150 call dlay 245 0153 sjmp delay3 246 0155 sjmp mun_sa_mo3 248 0157 delay3: 249 0157 ;delay = mengatur lama waktu pemunculan sasaran 250 0157 mov r2,rise_time 252 0159 delay_x3: 253 0159 mov th0,#high fifty 254 015C mov tl0,#low fifty 255 015F setb tr0 257 0161 delay_y3: 258 0161 jnb shooted_1,tembak3 259 0164 jnb shooted_2,tembak3 260 0167 jnb tf0,delay_y3 261 016A clr tf0 262 016C clr tr0 263 016E djnz r2,delay_x3 264 0170 sjmp add_sasa3 266 0172 tembak3: 267 0172 clr tf0 268 0174 clr tr0 269 0176 call dly 270 0179 mov sasaran,#0FFh 271 017C call dly 272 017F mov a,count_shot 273 0181 add a,#01 274 0183 da a 275 0184 mov count_shot,a 276 0186 call tampil 277 0189 sjmp add_sasa3 279 018B add_sasa3: 280 018B ;add_sasaran = melakukan "sasaran=sasaran+1" 281 018B mov a,urutan 282 018D inc a 283 018E mov urutan,a 284 0190 sjmp mun_sa_mo3 286 0192 ;mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm 287 0192 ;Penundaan 288 0192 ;mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm 289 0192 dly: 290 0192 ;delay = menunda sebentar menghindari bouncing 291 0192 mov r3,#03

293 0194 dly_x: 294 0194 mov th0,#high ten 295 0197 mov tl0,#low ten 296 019A setb tr0 298 019C dly_y: 299 019C jnb tf0,dly_y 300 019F clr tf0 301 01A1 clr tr0 302 01A3 djnz r3,dly_x 303 01A5 ret 305 01A6 dlay: 306 01A6 ;delay = menunda sebentar menghindari bouncing 307 01A6 mov r4,#04 309 01A8 dlay_x: 310 01A8 mov th0,#high ten 311 01AB mov tl0,#low ten 312 01AE setb tr0 314 01B0 dlay_y: 315 01B0 jnb tf0,dlay_y 316 01B3 clr tf0 317 01B5 clr tr0 318 01B7 djnz r4,dlay_x 319 01B9 ret 321 01BA ;mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm 322 01BA ;Penampil Skor Permainan 323 01BA ;mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm 324 01BA tampil: 325 01BA mov dptr,#segmen 326 01BD mov a,count_shot 327 01BF mov r0,a 328 01C0 anl a,#0fh 329 01C2 movc a,@a+dptr 330 01C3 mov unit_disp,a 331 01C5 mov a,r0 332 01C6 anl a,#0f0h 333 01C8 swap a 334 01C9 movc a,@a+dptr 335 01CA mov ten_disp,a 336 01CC ret 338 01CD ;mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm 339 01CD ;Area Data

340 01CD ;mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm 341 01CD target1: 342 01CD db 07Fh,0DFh,0FEh,0FBh,0FDh,0EFh,0FEh,0BFh,0F7h,0EFh 343 01D7 ; 8613251745 344 01D7 db 07Fh,0FDh,0DFh,0FBh,0FEh,0BFh,0FDh,0F7h,0FBh,07Fh 345 01E1 ; 8263172438 346 01E1 db 0FBh,0EFh,0DFh,0FEh,0BFh,0EFh,07Fh,0F7h,0EFh,0DFh 347 01EB ; 3561758456 349 01EB target2: 350 01EB db 0EFh,0FBh,0F7h,0BFh,0FDh,0FBh,07Fh,0FEh,0DFh,0FDh 351 01F5 ; 5347128162 352 01F5 db 0BFh,07Fh,0EFh,0FBh,0BFh,0FDh,0FEh,07Fh,0FBh,0DFh 353 01FF ; 7453721836 354 01FF db 0FEh,0FDh,0BFh,0F7h,0DFh,0FBh,0FEh,0EFh,0FDh,07Fh 355 0209 ; 1274631528 357 0209 target3: 358 0209 db 0EEh,0BBh,0D7h,0BBh,07Eh,0BDh,07Bh,0EEh,0D7h,0EDh 359 0213 ; 5,1 7,3 6,4 7,3 8,1 7,2 8,3 5,1 6,4 5,2 360 0213 db 0BBh,077h,0EEh,07Bh,0B7h,0EDh,0BEh,07Dh,0BBh,0DDh 361 021D ; 7,3 8,4 5,1 8,3 7,4 5,2 7,1 8,2 7,3 6,2 362 021D db 0EEh,07Dh,0BEh,0E7h,0DDh,07Bh,0BEh,0E7h,0DDh,07Bh 363 0227 ; 5,1 8,2 7,1 5,4 6,2 8,3 7,1 5,4 6,2 8,3 365 0227 segmen: 366 0227 db 40h,79h,24h,30h,19h,12h,02h,78h,00h,10h 367 0231 ; 0123456789

C

DATA SHEET

8-bit Microcontroller with 4K Bytes In-System Programmable Flash

AT89S51

Rev. 2487A–10/01

Features• Compatible with MCS-51® Products• 4K Bytes of In-System Programmable (ISP) Flash Memory

– Endurance: 1000 Write/Erase Cycles• 4.0V to 5.5V Operating Range• Fully Static Operation: 0 Hz to 33 MHz• Three-level Program Memory Lock• 128 x 8-bit Internal RAM• 32 Programmable I/O Lines• Two 16-bit Timer/Counters• Six Interrupt Sources• Full Duplex UART Serial Channel• Low-power Idle and Power-down Modes• Interrupt Recovery from Power-down Mode• Watchdog Timer• Dual Data Pointer• Power-off Flag• Fast Programming Time• Flexible ISP Programming (Byte and Page Mode)

DescriptionThe AT89S51 is a low-power, high-performance CMOS 8-bit microcontroller with 4Kbytes of in-system programmable Flash memory. The device is manufactured usingAtmel’s high-density nonvolatile memory technology and is compatible with the indus-try-standard 80C51 instruction set and pinout. The on-chip Flash allows the programmemory to be reprogrammed in-system or by a conventional nonvolatile memory pro-grammer. By combining a versatile 8-bit CPU with in-system programmable Flash on amonolithic chip, the Atmel AT89S51 is a powerful microcontroller which provides ahighly-flexible and cost-effective solution to many embedded control applications.

The AT89S51 provides the following standard features: 4K bytes of Flash, 128 bytes ofRAM, 32 I/O lines, Watchdog timer, two data pointers, two 16-bit timer/counters, a five-vector two-level interrupt architecture, a full duplex serial port, on-chip oscillator, andclock circuitry. In addition, the AT89S51 is designed with static logic for operationdown to zero frequency and supports two software selectable power saving modes.The Idle Mode stops the CPU while allowing the RAM, timer/counters, serial port, andinterrupt system to continue functioning. The Power-down mode saves the RAM con-tents but freezes the oscillator, disabling all other chip functions until the next externalinterrupt or hardware reset.

1

Pin ConfigurationsPDIP

TQFP

1234567891011121314151617181920

4039383736353433323130292827262524232221

P1.0 P1.1P1.2P1.3P1.4

(MOSI) P1.5(MISO) P1.6(SCK) P1.7

RST(RXD) P3.0(TXD) P3.1(INT0) P3.2(INT1) P3.3

(T0) P3.4(T1) P3.5

(WR) P3.6(RD) P3.7

XTAL2XTAL1

GND

VCCP0.0 (AD0)P0.1 (AD1)P0.2 (AD2)P0.3 (AD3)P0.4 (AD4)P0.5 (AD5)P0.6 (AD6)P0.7 (AD7)EA/VPPALE/PROGPSENP2.7 (A15)P2.6 (A14)P2.5 (A13)P2.4 (A12)P2.3 (A11)P2.2 (A10)P2.1 (A9)P2.0 (A8)

1234567891011

3332313029282726252423

44 43 42 41 40 39 38 37 36 35 34

12 13 14 15 16 17 18 19 20 21 22

(MOSI) P1.5(MISO) P1.6(SCK) P1.7

RST(RXD) P3.0

NC(TXD) P3.1(INT0) P3.2(INT1) P3.3

(T0) P3.4(T1) P3.5

P0.4 (AD4)P0.5 (AD5)P0.6 (AD6)P0.7 (AD7)EA/VPPNCALE/PROGPSENP2.7 (A15)P2.6 (A14)P2.5 (A13)

P1.

4P

1.3

P1.

2P

1.1

P1.

0 N

CV

CC

P0.

0 (A

D0)

P0.

1 (A

D1)

P0.

2 (A

D2)

P0.

3 (A

D3)

(WR

) P

3.6

(RD

) P

3.7

XT

AL2

XT

AL1

GN

DG

ND

(A8)

P2.

0(A

9) P

2.1

(A10

) P

2.2

(A11

) P

2.3

(A12

) P

2.4

2 AT89S51

PLCC

7891011121314151617

3938373635343332313029

(MOSI) P1.5(MISO) P1.6(SCK) P1.7

RST(RXD) P3.0

NC(TXD) P3.1(INT0) P3.2(INT1) P3.3

(T0) P3.4(T1) P3.5

P0.4 (AD4)P0.5 (AD5)P0.6 (AD6)P0.7 (AD7)EA/VPPNCALE/PROGPSENP2.7 (A15)P2.6 (A14)P2.5 (A13)

6 5 4 3 2 1 44 43 42 41 40

18 19 20 21 22 23 24 25 26 27 28

(WR

) P

3.6

(RD

) P

3.7

XT

AL2

XT

AL1

GN

DN

C(A

8) P

2.0

(A9)

P2.

1(A

10)

P2.

2(A

11)

P2.

3(A

12)

P2.

4

P1.

4 P

1.3

P1.

2P

1.1

P1.

0 N

CV

CC

P0.

0 (A

D0)

P0.

1 (A

D1)

P0.

2 (A

D2)

P0.

3 (A

D3)

2487A–10/01

AT89S51

Block Diagram

PORT 2 DRIVERS

PORT 2LATCH

P2.0 - P2.7

FLASHPORT 0LATCHRAM

PROGRAMADDRESSREGISTER

BUFFER

PCINCREMENTER

PROGRAMCOUNTER

DUAL DPTRINSTRUCTIONREGISTER

BREGISTER

INTERRUPT, SERIAL PORT,AND TIMER BLOCKS

STACKPOINTERACC

TMP2 TMP1

ALU

PSW

TIMINGAND

CONTROL

PORT 1 DRIVERS

P1.0 - P1.7

PORT 3LATCH

PORT 3 DRIVERS

P3.0 - P3.7

OSC

GND

VCC

PSEN

ALE/PROG

EA / VPP

RST

RAM ADDR.

REGISTER

PORT 0 DRIVERS

P0.0 - P0.7

PORT 1LATCH

WATCHDOG

ISPPORT

PROGRAM

LOGIC

32487A–10/01

Pin Description

VCC Supply voltage.

GND Ground.

Port 0 Port 0 is an 8-bit open drain bidirectional I/O port. As an output port, each pin can sink eightTTL inputs. When 1s are written to port 0 pins, the pins can be used as high-impedanceinputs.

Port 0 can also be configured to be the multiplexed low-order address/data bus duringaccesses to external program and data memory. In this mode, P0 has internal pull-ups.

Port 0 also receives the code bytes during Flash programming and outputs the code bytesduring program verification. External pull-ups are required during program verification.

Port 1 Port 1 is an 8-bit bidirectional I/O port with internal pull-ups. The Port 1 output buffers cansink/source four TTL inputs. When 1s are written to Port 1 pins, they are pulled high by theinternal pull-ups and can be used as inputs. As inputs, Port 1 pins that are externally beingpulled low will source current (IIL) because of the internal pull-ups.

Port 1 also receives the low-order address bytes during Flash programming and verification.

Port 2 Port 2 is an 8-bit bidirectional I/O port with internal pull-ups. The Port 2 output buffers cansink/source four TTL inputs. When 1s are written to Port 2 pins, they are pulled high by theinternal pull-ups and can be used as inputs. As inputs, Port 2 pins that are externally beingpulled low will source current (IIL) because of the internal pull-ups.

Port 2 emits the high-order address byte during fetches from external program memory andduring accesses to external data memory that use 16-bit addresses (MOVX @ DPTR). In thisapplication, Port 2 uses strong internal pull-ups when emitting 1s. During accesses to externaldata memory that use 8-bit addresses (MOVX @ RI), Port 2 emits the contents of the P2 Spe-cial Function Register.

Port 2 also receives the high-order address bits and some control signals during Flash pro-gramming and verification.

Port 3 Port 3 is an 8-bit bidirectional I/O port with internal pull-ups. The Port 3 output buffers cansink/source four TTL inputs. When 1s are written to Port 3 pins, they are pulled high by theinternal pull-ups and can be used as inputs. As inputs, Port 3 pins that are externally beingpulled low will source current (IIL) because of the pull-ups.

Port 3 receives some control signals for Flash programming and verification.

Port 3 also serves the functions of various special features of the AT89S51, as shown in thefollowing table.

Port Pin Alternate Functions

P1.5 MOSI (used for In-System Programming)

P1.6 MISO (used for In-System Programming)

P1.7 SCK (used for In-System Programming)

4 AT89S512487A–10/01

AT89S51

RST Reset input. A high on this pin for two machine cycles while the oscillator is running resets thedevice. This pin drives High for 98 oscillator periods after the Watchdog times out. The DIS-RTO bit in SFR AUXR (address 8EH) can be used to disable this feature. In the default stateof bit DISRTO, the RESET HIGH out feature is enabled.

ALE/PROG Address Latch Enable (ALE) is an output pulse for latching the low byte of the address duringaccesses to external memory. This pin is also the program pulse input (PROG) during Flashprogramming.

In normal operation, ALE is emitted at a constant rate of 1/6 the oscillator frequency and maybe used for external timing or clocking purposes. Note, however, that one ALE pulse isskipped during each access to external data memory.

If desired, ALE operation can be disabled by setting bit 0 of SFR location 8EH. With the bit set,ALE is active only during a MOVX or MOVC instruction. Otherwise, the pin is weakly pulledhigh. Setting the ALE-disable bit has no effect if the microcontroller is in external executionmode.

PSEN Program Store Enable (PSEN) is the read strobe to external program memory.

When the AT89S51 is executing code from external program memory, PSEN is activatedtwice each machine cycle, except that two PSEN activations are skipped during each accessto external data memory.

EA/VPP External Access Enable. EA must be strapped to GND in order to enable the device to fetchcode from external program memory locations starting at 0000H up to FFFFH. Note, however,that if lock bit 1 is programmed, EA will be internally latched on reset.

EA should be strapped to VCC for internal program executions.

This pin also receives the 12-volt programming enable voltage (VPP) during Flashprogramming.

XTAL1 Input to the inverting oscillator amplifier and input to the internal clock operating circuit.

XTAL2 Output from the inverting oscillator amplifier

Port Pin Alternate Functions

P3.0 RXD (serial input port)

P3.1 TXD (serial output port)

P3.2 INT0 (external interrupt 0)

P3.3 INT1 (external interrupt 1)

P3.4 T0 (timer 0 external input)

P3.5 T1 (timer 1 external input)

P3.6 WR (external data memory write strobe)

P3.7 RD (external data memory read strobe)

52487A–10/01

Special Function Registers

A map of the on-chip memory area called the Special Function Register (SFR) space is shownin Table 1.

Note that not all of the addresses are occupied, and unoccupied addresses may not be imple-mented on the chip. Read accesses to these addresses will in general return random data,and write accesses will have an indeterminate effect.

Table 1. AT89S51 SFR Map and Reset Values

0F8H 0FFH

0F0HB

000000000F7H

0E8H 0EFH

0E0HACC

000000000E7H

0D8H 0DFH

0D0HPSW

000000000D7H

0C8H 0CFH

0C0H 0C7H

0B8HIP

XX0000000BFH

0B0HP3

111111110B7H

0A8HIE

0X0000000AFH

0A0HP2

11111111AUXR1

XXXXXXX0WDTRST

XXXXXXXX0A7H

98HSCON

00000000SBUF

XXXXXXXX9FH

90HP1

1111111197H

88HTCON

00000000TMOD

00000000TL0

00000000TL1

00000000TH0

00000000TH1

00000000AUXR

XXX00XX08FH

80HP0

11111111SP

00000111DP0L

00000000DP0H

00000000DP1L

00000000DP1H

00000000PCON

0XXX000087H

6 AT89S512487A–10/01

AT89S51

User software should not write 1s to these unlisted locations, since they may be used in futureproducts to invoke new features. In that case, the reset or inactive values of the new bits willalways be 0.

Interrupt Registers: The individual interrupt enable bits are in the IE register. Two prioritiescan be set for each of the five interrupt sources in the IP register.

Dual Data Pointer Registers: To facilitate accessing both internal and external data memory,two banks of 16-bit Data Pointer Registers are provided: DP0 at SFR address locations 82H-83H and DP1 at 84H-85H. Bit DPS = 0 in SFR AUXR1 selects DP0 and DPS = 1 selects DP1.The user should always initialize the DPS bit to the appropriate value before accessing therespective Data Pointer Register.

Table 2. AUXR: Auxiliary Register

AUXR Address = 8EH Reset Value = XXX00XX0B

Not Bit Addressable

– – – WDIDLE DISRTO – – DISALE

Bit 7 6 5 4 3 2 1 0

– Reserved for future expansion

DISALE Disable/Enable ALE

DISALEOperating Mode

0 ALE is emitted at a constant rate of 1/6 the oscillator frequency

1 ALE is active only during a MOVX or MOVC instruction

DISRTO Disable/Enable Reset out

DISRTO

0 Reset pin is driven High after WDT times out

1 Reset pin is input only

WDIDLE Disable/Enable WDT in IDLE mode

WDIDLE

0 WDT continues to count in IDLE mode

1 WDT halts counting in IDLE mode

72487A–10/01

Power Off Flag: The Power Off Flag (POF) is located at bit 4 (PCON.4) in the PCON SFR.POF is set to “1” during power up. It can be set and rest under software control and is notaffected by reset.

Memory Organization

MCS-51 devices have a separate address space for Program and Data Memory. Up to 64Kbytes each of external Program and Data Memory can be addressed.

Program Memory If the EA pin is connected to GND, all program fetches are directed to external memory.

On the AT89S51, if EA is connected to VCC, program fetches to addresses 0000H throughFFFH are directed to internal memory and fetches to addresses 1000H through FFFFH aredirected to external memory.

Data Memory The AT89S51 implements 128 bytes of on-chip RAM. The 128 bytes are accessible via directand indirect addressing modes. Stack operations are examples of indirect addressing, so the128 bytes of data RAM are available as stack space.

Watchdog Timer (One-time Enabled with Reset-out)

The WDT is intended as a recovery method in situations where the CPU may be subjected tosoftware upsets. The WDT consists of a 14-bit counter and the Watchdog Timer Reset(WDTRST) SFR. The WDT is defaulted to disable from exiting reset. To enable the WDT, auser must write 01EH and 0E1H in sequence to the WDTRST register (SFR location 0A6H).When the WDT is enabled, it will increment every machine cycle while the oscillator is running.The WDT timeout period is dependent on the external clock frequency. There is no way to dis-able the WDT except through reset (either hardware reset or WDT overflow reset). WhenWDT overflows, it will drive an output RESET HIGH pulse at the RST pin.

Using the WDT To enable the WDT, a user must write 01EH and 0E1H in sequence to the WDTRST register(SFR location 0A6H). When the WDT is enabled, the user needs to service it by writing 01EHand 0E1H to WDTRST to avoid a WDT overflow. The 14-bit counter overflows when it reaches16383 (3FFFH), and this will reset the device. When the WDT is enabled, it will incrementevery machine cycle while the oscillator is running. This means the user must reset the WDTat least every 16383 machine cycles. To reset the WDT the user must write 01EH and 0E1Hto WDTRST. WDTRST is a write-only register. The WDT counter cannot be read or written.When WDT overflows, it will generate an output RESET pulse at the RST pin. The RESETpulse duration is 98xTOSC, where TOSC=1/FOSC. To make the best use of the WDT, it

Table 3. AUXR1: Auxiliary Register 1

AUXR1Address = A2H

Reset Value = XXXXXXX0B

Not Bit Addressable

– – – – – – – DPS

Bit 7 6 5 4 3 2 1 0

– Reserved for future expansion

DPS Data Pointer Register Select

DPS

0 Selects DPTR Registers DP0L, DP0H

1 Selects DPTR Registers DP1L, DP1H

8 AT89S512487A–10/01

AT89S51

should be serviced in those sections of code that will periodically be executed within the timerequired to prevent a WDT reset.

WDT During Power-down and Idle

In Power-down mode the oscillator stops, which means the WDT also stops. While in Power-down mode, the user does not need to service the WDT. There are two methods of exitingPower-down mode: by a hardware reset or via a level-activated external interrupt, which isenabled prior to entering Power-down mode. When Power-down is exited with hardware reset,servicing the WDT should occur as it normally does whenever the AT89S51 is reset. ExitingPower-down with an interrupt is significantly different. The interrupt is held low long enough forthe oscillator to stabilize. When the interrupt is brought high, the interrupt is serviced. To pre-vent the WDT from resetting the device while the interrupt pin is held low, the WDT is notstarted until the interrupt is pulled high. It is suggested that the WDT be reset during the inter-rupt service for the interrupt used to exit Power-down mode.

To ensure that the WDT does not overflow within a few states of exiting Power-down, it is bestto reset the WDT just before entering Power-down mode.

Before going into the IDLE mode, the WDIDLE bit in SFR AUXR is used to determine whetherthe WDT continues to count if enabled. The WDT keeps counting during IDLE (WDIDLE bit =0) as the default state. To prevent the WDT from resetting the AT89S51 while in IDLE mode,the user should always set up a timer that will periodically exit IDLE, service the WDT, andreenter IDLE mode.

With WDIDLE bit enabled, the WDT will stop to count in IDLE mode and resumes the countupon exit from IDLE.

UART The UART in the AT89S51 operates the same way as the UART in the AT89C51. For furtherinformation on the UART operation, refer to the ATMEL Web site (http://www.atmel.com).From the home page, select ‘Products’, then ‘8051-Architecture Flash Microcontroller’, then‘Product Overview’.

Timer 0 and 1 Timer 0 and Timer 1 in the AT89S51 operate the same way as Timer 0 and Timer 1 in theAT89C51. For further information on the timers’ operation, refer to the ATMEL Web site(http://www.atmel.com). From the home page, select ‘Products’, then ‘8051-Architecture FlashMicrocontroller’, then ‘Product Overview’.

Interrupts The AT89S51 has a total of five interrupt vectors: two external interrupts (INT0 and INT1), twotimer interrupts (Timers 0 and 1), and the serial port interrupt. These interrupts are all shown inFigure 1.

Each of these interrupt sources can be individually enabled or disabled by setting or clearing abit in Special Function Register IE. IE also contains a global disable bit, EA, which disables allinterrupts at once.

Note that Table 4 shows that bit position IE.6 is unimplemented. In the AT89S51, bit positionIE.5 is also unimplemented. User software should not write 1s to these bit positions, since theymay be used in future AT89 products.

The Timer 0 and Timer 1 flags, TF0 and TF1, are set at S5P2 of the cycle in which the timersoverflow. The values are then polled by the circuitry in the next cycle

92487A–10/01

.

Figure 1. Interrupt Sources

Table 4. Interrupt Enable (IE) Register

(MSB) (LSB)

EA – – ES ET1 EX1 ET0 EX0

Enable Bit = 1 enables the interrupt.

Enable Bit = 0 disables the interrupt.

Symbol Position Function

EA IE.7 Disables all interrupts. If EA = 0, no interrupt is acknowledged. If EA = 1, each interrupt source is individually enabled or disabled by setting or clearing its enable bit.

– IE.6 Reserved

– IE.5 Reserved

ES IE.4 Serial Port interrupt enable bit

ET1 IE.3 Timer 1 interrupt enable bit

EX1 IE.2 External interrupt 1 enable bit

ET0 IE.1 Timer 0 interrupt enable bit

EX0 IE.0 External interrupt 0 enable bit

User software should never write 1s to reserved bits, because they may be used in future AT89 products.

IE1

IE0

1

1

0

0

TF1

TF0

INT1

INT0

TIRI

10 AT89S512487A–10/01

AT89S51

11

Oscillator Characteristics

XTAL1 and XTAL2 are the input and output, respectively, of an inverting amplifier that can beconfigured for use as an on-chip oscillator, as shown in Figure 2. Either a quartz crystal orceramic resonator may be used. To drive the device from an external clock source, XTAL2should be left unconnected while XTAL1 is driven, as shown in Figure 3. There are no require-ments on the duty cycle of the external clock signal, since the input to the internal clockingcircuitry is through a divide-by-two flip-flop, but minimum and maximum voltage high and lowtime specifications must be observed.

Figure 2. Oscillator Connections

Note: C1, C2 = 30 pF ± 10 pF for Crystals = 40 pF ± 10 pF for Ceramic Resonators

Figure 3. External Clock Drive Configuration

Idle Mode In idle mode, the CPU puts itself to sleep while all the on-chip peripherals remain active. Themode is invoked by software. The content of the on-chip RAM and all the special functionregisters remain unchanged during this mode. The idle mode can be terminated by anyenabled interrupt or by a hardware reset.

Note that when idle mode is terminated by a hardware reset, the device normally resumes pro-gram execution from where it left off, up to two machine cycles before the internal resetalgorithm takes control. On-chip hardware inhibits access to internal RAM in this event, butaccess to the port pins is not inhibited. To eliminate the possibility of an unexpected write to aport pin when idle mode is terminated by a reset, the instruction following the one that invokesidle mode should not write to a port pin or to external memory.

Power-down Mode

In the Power-down mode, the oscillator is stopped, and the instruction that invokes Power-down is the last instruction executed. The on-chip RAM and Special Function Registers retaintheir values until the Power-down mode is terminated. Exit from Power-down mode can be ini-tiated either by a hardware reset or by activation of an enabled external interrupt into INT0 orINT1. Reset redefines the SFRs but does not change the on-chip RAM. The reset should notbe activated before VCC is restored to its normal operating level and must be held active longenough to allow the oscillator to restart and stabilize.

C2XTAL2

GND

XTAL1C1

XTAL2

XTAL1

GND

NC

EXTERNALOSCILLATOR

SIGNAL

2487A–10/01

Program Memory Lock Bits

The AT89S51 has three lock bits that can be left unprogrammed (U) or can be programmed(P) to obtain the additional features listed in the following table.

When lock bit 1 is programmed, the logic level at the EA pin is sampled and latched duringreset. If the device is powered up without a reset, the latch initializes to a random value andholds that value until reset is activated. The latched value of EA must agree with the currentlogic level at that pin in order for the device to function properly.

Programming the Flash – Parallel Mode

The AT89S51 is shipped with the on-chip Flash memory array ready to be programmed. Theprogramming interface needs a high-voltage (12-volt) program enable signal and is compati-ble with conventional third-party Flash or EPROM programmers.

The AT89S51 code memory array is programmed byte-by-byte.

Programming Algorithm: Before programming the AT89S51, the address, data, and controlsignals should be set up according to the Flash programming mode table and Figures 13 and14. To program the AT89S51, take the following steps:

1. Input the desired memory location on the address lines.

2. Input the appropriate data byte on the data lines.

3. Activate the correct combination of control signals.

4. Raise EA/VPP to 12V.

5. Pulse ALE/PROG once to program a byte in the Flash array or the lock bits. The byte-write cycle is self-timed and typically takes no more than 50 µs. Repeat steps 1 through 5, changing the address and data for the entire array or until the end of the object file is reached.

Data Polling: The AT89S51 features Data Polling to indicate the end of a byte write cycle.During a write cycle, an attempted read of the last byte written will result in the complement ofthe written data on P0.7. Once the write cycle has been completed, true data is valid on all out-puts, and the next cycle may begin. Data Polling may begin any time after a write cycle hasbeen initiated.

Table 5. Status of External Pins During Idle and Power-down Modes

Mode Program Memory ALE PSEN PORT0 PORT1 PORT2 PORT3

Idle Internal 1 1 Data Data Data Data

Idle External 1 1 Float Data Address Data

Power-down Internal 0 0 Data Data Data Data

Power-down External 0 0 Float Data Data Data

Table 6. Lock Bit Protection Modes

Program Lock Bits

LB1 LB2 LB3 Protection Type

1 U U U No program lock features

2 P U U MOVC instructions executed from external program memory are disabled from fetching code bytes from internal memory, EA is sampled and latched on reset, and further programming of the Flash memory is disabled

3 P P U Same as mode 2, but verify is also disabled

4 P P P Same as mode 3, but external execution is also disabled

12 AT89S512487A–10/01

AT89S51

Ready/Busy: The progress of byte programming can also be monitored by the RDY/BSY out-put signal. P3.0 is pulled low after ALE goes high during programming to indicate BUSY. P3.0is pulled high again when programming is done to indicate READY.

Program Verify: If lock bits LB1 and LB2 have not been programmed, the programmed codedata can be read back via the address and data lines for verification. The status of the individ-ual lock bits can be verified directly by reading them back.

Reading the Signature Bytes: The signature bytes are read by the same procedure as a nor-mal verification of locations 000H, 100H, and 200H, except that P3.6 and P3.7 must be pulledto a logic low. The values returned are as follows.

(000H) = 1EH indicates manufactured by Atmel(100H) = 51H indicates 89S51(200H) = 06H

Chip Erase: In the parallel programming mode, a chip erase operation is initiated by using theproper combination of control signals and by pulsing ALE/PROG low for a duration of 200 ns -500 ns.

In the serial programming mode, a chip erase operation is initiated by issuing the Chip Eraseinstruction. In this mode, chip erase is self-timed and takes about 500 ms.

During chip erase, a serial read from any address location will return 00H at the data output.

Programming the Flash – Serial Mode

The Code memory array can be programmed using the serial ISP interface while RST ispulled to VCC. The serial interface consists of pins SCK, MOSI (input) and MISO (output). AfterRST is set high, the Programming Enable instruction needs to be executed first before otheroperations can be executed. Before a reprogramming sequence can occur, a Chip Eraseoperation is required.

The Chip Erase operation turns the content of every memory location in the Code array intoFFH.

Either an external system clock can be supplied at pin XTAL1 or a crystal needs to be con-nected across pins XTAL1 and XTAL2. The maximum serial clock (SCK) frequency should beless than 1/16 of the crystal frequency. With a 33 MHz oscillator clock, the maximum SCK fre-quency is 2 MHz.

Serial Programming Algorithm

To program and verify the AT89S51 in the serial programming mode, the following sequenceis recommended:

1. Power-up sequence:

Apply power between VCC and GND pins.

Set RST pin to “H”.

If a crystal is not connected across pins XTAL1 and XTAL2, apply a 3 MHz to 33 MHzclock to XTAL1 pin and wait for at least 10 milliseconds.

2. Enable serial programming by sending the Programming Enable serial instruction to pin MOSI/P1.5. The frequency of the shift clock supplied at pin SCK/P1.7 needs to be less than the CPU clock at XTAL1 divided by 16.

3. The Code array is programmed one byte at a time in either the Byte or Page mode. The write cycle is self-timed and typically takes less than 0.5 ms at 5V.

4. Any memory location can be verified by using the Read instruction that returns the con-tent at the selected address at serial output MISO/P1.6.

5. At the end of a programming session, RST can be set low to commence normal device operation.

132487A–10/01

Power-off sequence (if needed):

Set XTAL1 to “L” (if a crystal is not used).

Set RST to “L”.

Turn VCC power off.

Data Polling: The Data Polling feature is also available in the serial mode. In this mode, dur-ing a write cycle an attempted read of the last byte written will result in the complement of theMSB of the serial output byte on MISO.

Serial Programming Instruction Set

The Instruction Set for Serial Programming follows a 4-byte protocol and is shown in Table 8on page 18.

Programming Interface – Parallel Mode

Every code byte in the Flash array can be programmed by using the appropriate combinationof control signals. The write operation cycle is self-timed and once initiated, will automaticallytime itself to completion.

All major programming vendors offer worldwide support for the Atmel microcontroller series.Please contact your local programming vendor for the appropriate software revision.

Notes: 1. Each PROG pulse is 200 ns - 500 ns for Chip Erase.2. Each PROG pulse is 200 ns - 500 ns for Write Code Data.3. Each PROG pulse is 200 ns - 500 ns for Write Lock Bits.4. RDY/BSY signal is output on P3.0 during programming.5. X = don’t care.

Table 7. Flash Programming Modes

Mode VCC RST PSEN

ALE/

PROG

EA/

VPP P2.6 P2.7 P3.3 P3.6 P3.7

P0.7-0

Data

P2.3-0 P1.7-0

Address

Write Code Data 5V H L(2)

12V L H H H H DIN A11-8 A7-0

Read Code Data 5V H L H H L L L H H DOUT A11-8 A7-0

Write Lock Bit 1 5V H L(3)

12V H H H H H X X X

Write Lock Bit 2 5V H L(3)

12V H H H L L X X X

Write Lock Bit 3 5V H L(3)

12V H L H H L X X X

Read Lock Bits

1, 2, 35V H L H H H H L H L

P0.2,P0.3,P0.4

X X

Chip Erase 5V H L(1)

12V H L H L L X X X

Read Atmel ID 5V H L H H L L L L L 1EH 0000 00H

Read Device ID 5V H L H H L L L L L 51H 0001 00H

Read Device ID 5V H L H H L L L L L 06H 0010 00H

14 AT89S512487A–10/01

AT89S51

Figure 4. Programming the Flash Memory (Parallel Mode)

Figure 5. Verifying the Flash Memory (Parallel Mode)

P1.0-P1.7

P2.6

P3.6

P2.0 - P2.3

A0 - A7ADDR.

0000H/FFFH

SEE FLASHPROGRAMMINGMODES TABLE

3-33 MHz

P0

V

P2.7

PGMDATA

PROG

V /VIH PP

VIH

ALE

P3.7

XTAL2 EA

RST

PSEN

XTAL1

GND

VCC

AT89S51

P3.3

P3.0RDY/BSY

A8 - A11

CC

P1.0-P1.7

P2.6

P3.6

P2.0 - P2.3

A0 - A7ADDR.

0000H/FFFH

SEE FLASHPROGRAMMINGMODES TABLE

3-33 MHz

P0

P2.7

PGM DATA(USE 10KPULLUPS)

VIH

VIH

ALE

P3.7

XTAL2 EA

RST

PSEN

XTAL1

GND

VCC

AT89S51

P3.3

A8 - A11

VCC

152487A–10/01

Figure 6. Flash Programming and Verification Waveforms – Parallel Mode

Flash Programming and Verification Characteristics (Parallel Mode)TA = 20°C to 30°C, VCC = 4.5 to 5.5V

Symbol Parameter Min Max Units

VPP Programming Supply Voltage 11.5 12.5 V

IPP Programming Supply Current 10 mA

ICC VCC Supply Current 30 mA

1/tCLCL Oscillator Frequency 3 33 MHz

tAVGL Address Setup to PROG Low 48tCLCL

tGHAX Address Hold After PROG 48tCLCL

tDVGL Data Setup to PROG Low 48tCLCL

tGHDX Data Hold After PROG 48tCLCL

tEHSH P2.7 (ENABLE) High to VPP 48tCLCL

tSHGL VPP Setup to PROG Low 10 µs

tGHSL VPP Hold After PROG 10 µs

tGLGH PROG Width 0.2 1 µs

tAVQV Address to Data Valid 48tCLCL

tELQV ENABLE Low to Data Valid 48tCLCL

tEHQZ Data Float After ENABLE 0 48tCLCL

tGHBL PROG High to BUSY Low 1.0 µs

tWC Byte Write Cycle Time 50 µs

tGLGHtGHSL

tAVGL

tSHGL

tDVGLtGHAX

tAVQV

tGHDX

tEHSH tELQV

tWC

BUSY READY

tGHBL

tEHQZ

P1.0 - P1.7P2.0 - P2.3

ALE/PROG

PORT 0

LOGIC 1LOGIC 0EA/VPP

VPP

P2.7(ENABLE)

P3.0(RDY/BSY)

PROGRAMMINGADDRESS

VERIFICATIONADDRESS

DATA IN DATA OUT

16 AT89S512487A–10/01

AT89S51

Figure 7. Flash Memory Serial Downloading

Flash Programming and Verification Waveforms – Serial Mode

Figure 8. Serial Programming Waveforms

P1.7/SCK

DATA OUTPUT

INSTRUCTIONINPUT

CLOCK IN

3-33 MHz

P1.5/MOSI

VIH

XTAL2

RSTXTAL1

GND

VCC

AT89S51

P1.6/MISO

VCC

7 6 5 4 3 2 1 0

172487A–10/01

Notes: 1. The signature bytes are not readable in Lock Bit Modes 3 and 4.2. B1 = 0, B2 = 0 → Mode 1, no lock protection

B1 = 0, B2 = 1 → Mode 2, lock bit 1 activatedB1 = 1, B2 = 0 → Mode 3, lock bit 2 activatedB1 = 1, B1 = 1 → Mode 4, lock bit 3 activated

After Reset signal is high, SCK should be low for at least 64 system clocks before it goes high to clock in the enable databytes. No pulsing of Reset signal is necessary. SCK should be no faster than 1/16 of the system clock at XTAL1.

For Page Read/Write, the data always starts from byte 0 to 255. After the command byte and upper address byte arelatched, each byte thereafter is treated as data until all 256 bytes are shifted in/out. Then the next instruction will be ready tobe decoded.

Table 8. Serial Programming Instruction Set

Instruction

Instruction Format

OperationByte 1 Byte 2 Byte 3 Byte 4

Programming Enable 1010 1100 0101 0011 xxxx xxxx xxxx xxxx0110 1001 (Output)

Enable Serial Programming while RST is high

Chip Erase 1010 1100 100x xxxx xxxx xxxx xxxx xxxx Chip Erase Flash memory array

Read Program Memory(Byte Mode)

0010 0000 xxxx Read data from Program memory in the byte mode

Write Program Memory(Byte Mode)

0100 0000 xxxx Write data to Program memory in the byte mode

Write Lock Bits(2) 1010 1100 1110 00 xxxx xxxx xxxx xxxx Write Lock bits. See Note (2).

Read Lock Bits 0010 0100 xxxx xxxx xxxx xxxx xx xx Read back current status of the lock bits (a programmed lock bit reads back as a “1”)

Read Signature Bytes(1) 0010 1000 xxx xxx xxxx Signature Byte Read Signature Byte

Read Program Memory(Page Mode)

0011 0000 xxxx Byte 0 Byte 1... Byte 255

Read data from Program memory in the Page Mode (256 bytes)

Write Program Memory(Page Mode)

0101 0000 xxxx Byte 0 Byte 1... Byte 255

Write data to Program memory in the Page Mode (256 bytes)

Each of the lock bits needs to be activated sequentially before Mode 4 can be executed.

D7

D6

D5

D4

D3

D2

D1

D0

A7

A6

A5

A4

A3

A2 A1

A0

A11

A10 A

9A

8B

2B

1

A11

A10 A

9A

8

A7

A6

A5

A4

A3

A2 A1

A0

D7

D6

D5

D4

D3

D2

D1

D0

LB3

LB2

LB1

A5

A4

A3

A2

A1

A11

A10 A

9A

8

A11

A10 A

9A

8

A0

18 AT89S512487A–10/01

AT89S51

192487A–10/01

Serial Programming Characteristics

Figure 9. Serial Programming Timing

MOSI

MISO

SCK

tOVSH

tSHSL

tSLSHtSHOX

tSLIV

Table 9. Serial Programming Characteristics, TA = -40° C to 85° C, VCC = 4.0 - 5.5V (Unless Otherwise Noted)

Symbol Parameter Min Typ Max Units

1/tCLCL Oscillator Frequency 0 33 MHz

tCLCL Oscillator Period 30 ns

tSHSL SCK Pulse Width High 8 tCLCL ns

tSLSH SCK Pulse Width Low 8 tCLCL ns

tOVSH MOSI Setup to SCK High tCLCL ns

tSHOX MOSI Hold after SCK High 2 tCLCL ns

tSLIV SCK Low to MISO Valid 10 16 32 ns

tERASE Chip Erase Instruction Cycle Time 500 ms

tSWC Serial Byte Write Cycle Time 64 tCLCL + 400 µs

Notes: 1. Under steady state (non-transient) conditions, IOL must be externally limited as follows:Maximum IOL per port pin: 10 mAMaximum IOL per 8-bit port:Port 0: 26 mA Ports 1, 2, 3: 15 mAMaximum total IOL for all output pins: 71 mAIf IOL exceeds the test condition, VOL may exceed the related specification. Pins are not guaranteed to sink current greaterthan the listed test conditions.

2. Minimum VCC for Power-down is 2V.

Absolute Maximum Ratings*Operating Temperature.................................. -55°C to +125°C *NOTICE: Stresses beyond those listed under “Absolute

Maximum Ratings” may cause permanent dam-age to the device. This is a stress rating only and functional operation of the device at these or any other conditions beyond those indicated in the operational sections of this specification is not implied. Exposure to absolute maximum rating conditions for extended periods may affect device reliability.

Storage Temperature ..................................... -65°C to +150°C

Voltage on Any Pinwith Respect to Ground .....................................-1.0V to +7.0V

Maximum Operating Voltage ............................................ 6.6V

DC Output Current...................................................... 15.0 mA

DC CharacteristicsThe values shown in this table are valid for TA = -40°C to 85°C and VCC = 4.0V to 5.5V, unless otherwise noted.

Symbol Parameter Condition Min Max Units

VIL Input Low Voltage (Except EA) -0.5 0.2 VCC-0.1 V

VIL1 Input Low Voltage (EA) -0.5 0.2 VCC-0.3 V

VIH Input High Voltage (Except XTAL1, RST) 0.2 VCC+0.9 VCC+0.5 V

VIH1 Input High Voltage (XTAL1, RST) 0.7 VCC VCC+0.5 V

VOL

Output Low Voltage(1) (Ports 1,2,3) IOL = 1.6 mA

0.45 V

VOL1

Output Low Voltage(1)

(Port 0, ALE, PSEN) IOL = 3.2 mA0.45 V

VOH

Output High Voltage(Ports 1,2,3, ALE, PSEN)

IOH = -60 µA, VCC = 5V ± 10% 2.4 V

IOH = -25 µA 0.75 VCC V

IOH = -10 µA 0.9 VCC V

VOH1

Output High Voltage(Port 0 in External Bus Mode)

IOH = -800 µA, VCC = 5V ± 10% 2.4 V

IOH = -300 µA 0.75 VCC V

IOH = -80 µA 0.9 VCC V

IIL

Logical 0 Input Current (Ports 1,2,3) VIN = 0.45V

-50 µA

ITL

Logical 1 to 0 Transition Current (Ports 1,2,3) VIN = 2V, VCC = 5V ± 10%

-650 µA

ILI

Input Leakage Current (Port 0, EA) 0.45 < VIN < VCC

±10 µA

RRST Reset Pulldown Resistor 50 300 KΩ

CIO Pin Capacitance Test Freq. = 1 MHz, TA = 25°C 10 pF

ICC

Power Supply Current

Active Mode, 12 MHz 25 mA

Idle Mode, 12 MHz 6.5 mA

Power-down Mode(2) VCC = 5.5V 50 µA

20 AT89S512487A–10/01

AT89S51

AC Characteristics Under operating conditions, load capacitance for Port 0, ALE/PROG, and PSEN = 100 pF; load capacitance for all otheroutputs = 80 pF.

External Program and Data Memory Characteristics

Symbol Parameter

12 MHz Oscillator Variable Oscillator

UnitsMin Max Min Max

1/tCLCL Oscillator Frequency 0 33 MHz

tLHLL ALE Pulse Width 127 2tCLCL-40 ns

tAVLL Address Valid to ALE Low 43 tCLCL-25 ns

tLLAX Address Hold After ALE Low 48 tCLCL-25 ns

tLLIV ALE Low to Valid Instruction In 233 4tCLCL-65 ns

tLLPL ALE Low to PSEN Low 43 tCLCL-25 ns

tPLPH PSEN Pulse Width 205 3tCLCL-45 ns

tPLIV PSEN Low to Valid Instruction In 145 3tCLCL-60 ns

tPXIX Input Instruction Hold After PSEN 0 0 ns

tPXIZ Input Instruction Float After PSEN 59 tCLCL-25 ns

tPXAV PSEN to Address Valid 75 tCLCL-8 ns

tAVIV Address to Valid Instruction In 312 5tCLCL-80 ns

tPLAZ PSEN Low to Address Float 10 10 ns

tRLRH RD Pulse Width 400 6tCLCL-100 ns

tWLWH WR Pulse Width 400 6tCLCL-100 ns

tRLDV RD Low to Valid Data In 252 5tCLCL-90 ns

tRHDX Data Hold After RD 0 0 ns

tRHDZ Data Float After RD 97 2tCLCL-28 ns

tLLDV ALE Low to Valid Data In 517 8tCLCL-150 ns

tAVDV Address to Valid Data In 585 9tCLCL-165 ns

tLLWL ALE Low to RD or WR Low 200 300 3tCLCL-50 3tCLCL+50 ns

tAVWL Address to RD or WR Low 203 4tCLCL-75 ns

tQVWX Data Valid to WR Transition 23 tCLCL-30 ns

tQVWH Data Valid to WR High 433 7tCLCL-130 ns

tWHQX Data Hold After WR 33 tCLCL-25 ns

tRLAZ RD Low to Address Float 0 0 ns

tWHLH RD or WR High to ALE High 43 123 tCLCL-25 tCLCL+25 ns

212487A–10/01

External Program Memory Read Cycle

External Data Memory Read Cycle

tLHLL

tLLIV

tPLIV

tLLAXtPXIZ

tPLPH

tPLAZtPXAV

tAVLL tLLPL

tAVIV

tPXIX

ALE

PSEN

PORT 0

PORT 2 A8 - A15

A0 - A7 A0 - A7

A8 - A15

INSTR IN

tLHLL

tLLDV

tLLWL

tLLAX

tWHLH

tAVLL

tRLRH

tAVDV

tAVWL

tRLAZ tRHDX

tRLDV tRHDZ

A0 - A7 FROM RI OR DPL

ALE

PSEN

RD

PORT 0

PORT 2 P2.0 - P2.7 OR A8 - A15 FROM DPH

A0 - A7 FROM PCL

A8 - A15 FROM PCH

DATA IN INSTR IN

22 AT89S512487A–10/01

AT89S51

External Data Memory Write Cycle

External Clock Drive Waveforms

tLHLL

tLLWL

tLLAX

tWHLH

tAVLL

tWLWH

tAVWL

tQVWXtQVWH

tWHQX

A0 - A7 FROM RI OR DPL

ALE

PSEN

WR

PORT 0

PORT 2 P2.0 - P2.7 OR A8 - A15 FROM DPH

A0 - A7 FROM PCL

A8 - A15 FROM PCH

DATA OUT INSTR IN

tCHCX

tCHCX

tCLCX

tCLCL

tCHCLtCLCHV - 0.5VCC

0.45V0.2 V - 0.1VCC

0.7 VCC

External Clock DriveSymbol Parameter Min Max Units

1/tCLCL Oscillator Frequency 0 33 MHz

tCLCL Clock Period 30 ns

tCHCX High Time 12 ns

tCLCX Low Time 12 ns

tCLCH Rise Time 5 ns

tCHCL Fall Time 5 ns

232487A–10/01

Shift Register Mode Timing Waveforms

AC Testing Input/Output Waveforms(1)

Note: 1. AC Inputs during testing are driven at VCC - 0.5V for a logic 1 and 0.45V for a logic 0. Timing measurements are made at VIHmin. for a logic 1 and VIL max. for a logic 0.

Float Waveforms(1)

Note: 1. For timing purposes, a port pin is no longer floating when a 100 mV change from load voltage occurs. A port pin begins tofloat when a 100 mV change from the loaded VOH/VOL level occurs.

Serial Port Timing: Shift Register Mode Test ConditionsThe values in this table are valid for VCC = 4.0V to 5.5V and Load Capacitance = 80 pF.

Symbol Parameter

12 MHz Osc Variable Oscillator

UnitsMin Max Min Max

tXLXL Serial Port Clock Cycle Time 1.0 12tCLCL µs

tQVXH Output Data Setup to Clock Rising Edge 700 10tCLCL-133 ns

tXHQX Output Data Hold After Clock Rising Edge 50 2tCLCL-80 ns

tXHDX Input Data Hold After Clock Rising Edge 0 0 ns

tXHDV Clock Rising Edge to Input Data Valid 700 10tCLCL-133 ns

tXHDV

tQVXH

tXLXL

tXHDX

tXHQX

ALE

INPUT DATA

CLEAR RI

OUTPUT DATA

WRITE TO SBUF

INSTRUCTION

CLOCK

0

0

1

1

2

2

3

3

4

4

5

5

6

6

7

7

SET TI

SET RI

8

VALID VALIDVALID VALIDVALID VALIDVALID VALID

0.45V

TEST POINTS

V - 0.5VCC 0.2 V + 0.9VCC

0.2 V - 0.1VCC

VLOAD+ 0.1V

Timing ReferencePoints

V

LOAD- 0.1V

LOAD

V VOL+ 0.1V

VOL- 0.1V

24 AT89S512487A–10/01

AT89S51

Ordering InformationSpeed(MHz)

PowerSupply Ordering Code Package Operation Range

24 4.0V to 5.5V AT89S51-24ACAT89S51-24JC

AT89S51-24PC

44A44J

40P6

Commercial(0° C to 70° C)

AT89S51-24AIAT89S51-24JIAT89S51-24PI

44A44J40P6

Industrial(-40° C to 85° C)

33 4.5V to 5.5V AT89S51-33AC

AT89S51-33JCAT89S51-33PC

44A

44J40P6

Commercial

(0° C to 70° C)

= Preliminary Availability

Package Type

44A 44-lead, Thin Plastic Gull Wing Quad Flatpack (TQFP)

44J 44-lead, Plastic J-leaded Chip Carrier (PLCC)

40P6 40-pin, 0.600" Wide, Plastic Dual Inline Package (PDIP)

252487A–10/01

Packaging Information

*Controlling dimension: millimeters

1.20(0.047) MAX

10.10(0.394)9.90(0.386)

SQ

12.21(0.478)11.75(0.458)

SQ

0.75(0.030)0.45(0.018)

0.15(0.006)0.05(0.002)

0.20(.008)0.09(.003)

07

0.80(0.031) BSC

PIN 1 ID

0.45(0.018)0.30(0.012)

26 AT89S51

.045(1.14) X 45° PIN NO. 1IDENTIFY

.045(1.14) X 30° - 45° .012(.305).008(.203)

.021(.533)

.013(.330)

.630(16.0)

.590(15.0)

.043(1.09)

.020(.508)

.120(3.05)

.090(2.29).180(4.57).165(4.19)

.500(12.7) REF SQ

.032(.813)

.026(.660)

.050(1.27) TYP

.022(.559) X 45° MAX (3X)

.656(16.7)

.650(16.5)

.695(17.7)

.685(17.4)SQ

SQ

2.07(52.6)2.04(51.8) PIN

1

.566(14.4)

.530(13.5)

.090(2.29)MAX

.005(.127)MIN

.065(1.65)

.015(.381)

.022(.559)

.014(.356).065(1.65).041(1.04)

015

REF

.690(17.5)

.610(15.5)

.630(16.0)

.590(15.0)

.012(.305)

.008(.203)

.110(2.79)

.090(2.29)

.161(4.09)

.125(3.18)

SEATINGPLANE

.220(5.59)MAX

1.900(48.26) REF

JEDEC STANDARD MS-011 AC

44A, 44-lead, Thin (1.0 mm) Plastic Gull Wing Quad Flat Package (TQFP)Dimensions in Millimeters and (Inches)*

44J, 44-lead, Plastic J-leaded Chip Carrier (PLCC)Dimensions in Inches and (Millimeters)

40P6, 40-pin, 0.600" Wide, Plastic Dual Inline Package (PDIP)Dimensions in Inches and (Millimeters)

2487A–10/01

© Atmel Corporation 2001.Atmel Corporation makes no warranty for the use of its products, other than those expressly contained in the Company’s standard warrantywhich is detailed in Atmel’s Terms and Conditions located on the Company’s web site. The Company assumes no responsibility for any errorswhich may appear in this document, reserves the right to change devices or specifications detailed herein at any time without notice, and doesnot make any commitment to update the information contained herein. No licenses to patents or other intellectual property of Atmel are grantedby the Company in connection with the sale of Atmel products, expressly or by implication. Atmel’s products are not authorized for use as criticalcomponents in life support devices or systems.

Atmel Headquarters Atmel Product Operations

Corporate Headquarters2325 Orchard ParkwaySan Jose, CA 95131TEL (408) 441-0311FAX (408) 487-2600

EuropeAtmel SarLRoute des Arsenaux 41Casa Postale 80CH-1705 FribourgSwitzerlandTEL (41) 26-426-5555FAX (41) 26-426-5500

AsiaAtmel Asia, Ltd.Room 1219Chinachem Golden Plaza77 Mody Road TsimhatsuiEast KowloonHong KongTEL (852) 2721-9778FAX (852) 2722-1369

JapanAtmel Japan K.K.9F, Tonetsu Shinkawa Bldg.1-24-8 ShinkawaChuo-ku, Tokyo 104-0033JapanTEL (81) 3-3523-3551FAX (81) 3-3523-7581

Atmel Colorado Springs1150 E. Cheyenne Mtn. Blvd.Colorado Springs, CO 80906TEL (719) 576-3300FAX (719) 540-1759

Atmel GrenobleAvenue de RochepleineBP 12338521 Saint-Egreve Cedex, FranceTEL (33) 4-7658-3000FAX (33) 4-7658-3480

Atmel HeilbronnTheresienstrasse 2POB 3535D-74025 Heilbronn, GermanyTEL (49) 71 31 67 25 94FAX (49) 71 31 67 24 23

Atmel NantesLa ChantrerieBP 7060244306 Nantes Cedex 3, FranceTEL (33) 0 2 40 18 18 18FAX (33) 0 2 40 18 19 60

Atmel RoussetZone Industrielle13106 Rousset Cedex, FranceTEL (33) 4-4253-6000FAX (33) 4-4253-6001

Atmel Smart Card ICsScottish Enterprise Technology ParkEast Kilbride, Scotland G75 0QRTEL (44) 1355-357-000FAX (44) 1355-242-743

[email protected]

Web Sitehttp://www.atmel.com

Printed on recycled paper.

ATMEL® is the registered trademark of Atmel.

MCS-51® is the registered trademark of Intel Corporation. Terms and product names in this document may betrademarks of others.

2487A–10/01/xM

Semiconductor Components Industries, LLC, 2002

May, 2002 – Rev. 81 Publication Order Number:

LM324/D

LM324, LM324A, LM224,LM2902, LM2902V, NCV2902

Single Supply QuadOperational Amplifiers

The LM324 series are low–cost, quad operational amplifiers withtrue differential inputs. They have several distinct advantages overstandard operational amplifier types in single supply applications. Thequad amplifier can operate at supply voltages as low as 3.0 V or ashigh as 32 V with quiescent currents about one–fifth of thoseassociated with the MC1741 (on a per amplifier basis). The commonmode input range includes the negative supply, thereby eliminating thenecessity for external biasing components in many applications. Theoutput voltage range also includes the negative power supply voltage.• Short Circuited Protected Outputs• True Differential Input Stage• Single Supply Operation: 3.0 V to 32 V (LM224, LM324, LM324A)• Low Input Bias Currents: 100 nA Maximum (LM324A)• Four Amplifiers Per Package• Internally Compensated• Common Mode Range Extends to Negative Supply• Industry Standard Pinouts• ESD Clamps on the Inputs Increase Ruggedness without Affecting

Device Operation

MAXIMUM RATINGS (TA = +25°C, unless otherwise noted.)

Rating Symbol

LM224LM324,LM324A

LM2902,LM2902V Unit

Power Supply Voltages VdcSingle Supply VCC 32 26Split Supplies VCC, VEE ±16 ±13

Input Differential VoltageRange (Note 1)

VIDR ±32 ±26 Vdc

Input Common ModeVoltage Range

VICR –0.3 to 32 –0.3 to 26 Vdc

Output Short CircuitDuration

tSC Continuous

Junction Temperature TJ 150 °C

Storage TemperatureRange

Tstg –65 to +150 °C

Operating Ambient Temperature Range

TA °C

LM224 –25 to +85LM324, 324A 0 to +70

LM2902 –40 to +105

LM2902V, NCV2902 –40 to +125

1. Split Power Supplies.

PDIP–14N SUFFIXCASE 646

1

14

SO–14D SUFFIX

CASE 751A1

14

PIN CONNECTIONS

8

Out 4

Inputs 4

VEE, Gnd

Inputs 3

Out 3

9

10

11

12

13

14

2

Out 1

VCC

Out 2

1

3

4

5

6

7

Inputs 1

Inputs 2

(Top View)

4

2 3

1

See general marking information in the device markingsection on page 10 of this data sheet.

DEVICE MARKING INFORMATION

See detailed ordering and shipping information in the packagedimensions section on page 9 of this data sheet.

ORDERING INFORMATION

1

14 TSSOP–14DTB SUFFIXCASE 948G

http://onsemi.com

LM324, LM324A, LM224, LM 2902, LM2902V, NCV2902

http://onsemi.com2

ELECTRICAL CHARACTERISTICS (VCC = 5.0 V, VEE = Gnd, TA = 25°C, unless otherwise noted.)

LM224 LM324A LM324 LM2902 LM2902V/NCV2902

Characteristics Symbol Min Typ Max Min Typ Max Min Typ Max Min Typ Max Min Typ Max Unit

Input Offset Voltage VIO mV

VCC = 5.0 V to 30 V(26 V for LM2902, V),VICR = 0 V toVCC –1.7 V,VO = 1.4 V, RS = 0 Ω

TA = 25°C – 2.0 5.0 – 2.0 3.0 – 2.0 7.0 – 2.0 7.0 – 2.0 7.0

TA = Thigh (Note 2) – – 7.0 – – 5.0 – – 9.0 – – 10 – – 13

TA = Tlow (Note 2) – – 7.0 – – 5.0 – – 9.0 – – 10 – – 10

Average TemperatureCoefficient of InputOffset Voltage

∆VIO/∆T – 7.0 – – 7.0 30 – 7.0 – – 7.0 – – 7.0 – µV/°C

TA = Thigh to Tlow

(Notes 2 and 4)

Input Offset Current IIO – 3.0 30 – 5.0 30 – 5.0 50 – 5.0 50 – 5.0 50 nA

TA = Thigh to Tlow

(Note 2)

– – 100 – – 75 – – 150 – – 200 – – 200

Average TemperatureCoefficient of InputOffset Current

∆IIO/∆T – 10 – – 10 300 – 10 – – 10 – – 10 – pA/°C

TA = Thigh to Tlow

(Notes 2 and 4)

Input Bias Current IIB – –90 –150 – –45 –100 – –90 –250 – –90 –250 – –90 –250 nA

TA = Thigh to Tlow

(Note 2)

– – –300 – – –200 – – –500 – – –500 – – –500

Input Common ModeVoltage Range(Note 3)

VICR V

VCC = 30 V(26 V for LM2902, V)

TA = +25°C 0 – 28.3 0 – 28.3 0 – 28.3 0 – 24.3 0 – 24.3

TA = Thigh to Tlow

(Note 2)

0 – 28 0 – 28 0 – 28 0 – 24 0 – 24

Differential InputVoltage Range

VIDR – – VCC – – VCC – – VCC – – VCC – – VCC V

Large Signal OpenLoop Voltage Gain

AVOL V/mV

RL = 2.0 kΩ, VCC = 15 V, for Large VO Swing

50 100 – 25 100 – 25 100 – 25 100 – 25 100 –

TA = Thigh to Tlow

(Note 2)

25 – – 15 – – 15 – – 15 – – 15 – –

Channel Separation10 kHz ≤ f ≤ 20 kHz,Input Referenced

CS – –120 – – –120 – – –120 – – –120 – – –120 – dB

Common ModeRejection, RS ≤ 10 kΩ

CMR 70 85 – 65 70 – 65 70 – 50 70 – 50 70 – dB

Power SupplyRejection

PSR 65 100 – 65 100 – 65 100 – 50 100 – 50 100 – dB

2. LM224: Tlow = –25°C, Thigh = +85°CLM324/LM324A: Tlow = 0°C, Thigh = +70°CLM2902: Tlow = –40°C, Thigh = +105°CLM2902V & NCV2902: Tlow = –40°C, Thigh = +125°CNCV2902 is qualified for automotive use.

3. The input common mode voltage or either input signal voltage should not be allowed to go negative by more than 0.3 V. The upper end ofthe common mode voltage range is VCC –1.7 V.

4. Guaranteed by design.

LM324, LM324A, LM224, LM 2902, LM2902V, NCV2902

http://onsemi.com3

ELECTRICAL CHARACTERISTICS (VCC = 5.0 V, VEE = Gnd, TA = 25°C, unless otherwise noted.)

LM224 LM324A LM324 LM2902 LM2902V/NCV2902

Characteristics Symbol Min Typ Max Min Typ Max Min Typ Max Min Typ Max Min Typ Max Unit

Output Voltage–High Limit(TA = Thigh to Tlow)(Note 5)

VOH V

VCC = 5.0 V, RL =2.0 kΩ, TA = 25°C

3.3 3.5 – 3.3 3.5 – 3.3 3.5 – 3.3 3.5 – 3.3 3.5 –

VCC = 30 V(26 V for LM2902, V),RL = 2.0 kΩ

26 – – 26 – – 26 – – 22 – – 22 – –

VCC = 30 V(26 V for LM2902, V),RL = 10 kΩ

27 28 – 27 28 – 27 28 – 23 24 – 23 24 –

Output Voltage –Low Limit, VCC = 5.0 V, RL = 10 kΩ,TA = Thigh to Tlow(Note 5)

VOL – 5.0 20 – 5.0 20 – 5.0 20 – 5.0 100 – 5.0 100 mV

Output Source Current(VID = +1.0 V,

VCC = 15 V)

IO + mA

TA = 25°C 20 40 – 20 40 – 20 40 – 20 40 – 20 40 –

TA = Thigh to Tlow

(Note 5)

10 20 – 10 20 – 10 20 – 10 20 – 10 20 –

Output Sink Current IO – mA

(VID = –1.0 V, VCC = 15 V) TA = 25°C

10 20 – 10 20 – 10 20 – 10 20 – 10 20 –

TA = Thigh to Tlow

(Note 5)

5.0 8.0 – 5.0 8.0 – 5.0 8.0 – 5.0 8.0 – 5.0 8.0 –

(VID = –1.0 V, VO = 200 mV, TA = 25°C)

12 50 – 12 50 – 12 50 – – – – – – – µA

Output Short Circuitto Ground(Note 6)

ISC – 40 60 – 40 60 – 40 60 – 40 60 – 40 60 mA

Power Supply Current(TA = Thigh to Tlow)

(Note 5)

ICC mA

VCC = 30 V(26 V for LM2902, V),VO = 0 V, RL = ∞

– – 3.0 – 1.4 3.0 – – 3.0 – – 3.0 – – 3.0

VCC = 5.0 V,VO = 0 V, RL = ∞

– – 1.2 – 0.7 1.2 – – 1.2 – – 1.2 – – 1.2

5. LM224: Tlow = –25°C, Thigh = +85°CLM324/LM324A: Tlow = 0°C, Thigh = +70°CLM2902: Tlow = –40°C, Thigh = +105°CLM2902V & NCV2902: Tlow = –40°C, Thigh = +125°CNCV2902 is qualified for automotive use.

6. The input common mode voltage or either input signal voltage should not be allowed to go negative by more than 0.3 V. The upper end ofthe common mode voltage range is VCC –1.7 V.

LM324, LM324A, LM224, LM 2902, LM2902V, NCV2902

http://onsemi.com4

Figure 1. Representative Circuit Diagram(One–Fourth of Circuit Shown)

Output

Bias CircuitryCommon to Four

Amplifiers

VCC

VEE/Gnd

Inputs

Q2

Q3 Q4

Q5

Q26

Q7

Q8

Q6

Q9

Q11

Q10Q1 2.4 k

Q25

Q22

40 k

Q13

Q14

Q15

Q16

Q19

5.0 pF

Q18

Q17

Q20

Q21

2.0 k

Q24

Q23

Q12

25

+

-

LM324, LM324A, LM224, LM 2902, LM2902V, NCV2902

http://onsemi.com5

CIRCUIT DESCRIPTION

The LM324 series is made using four internallycompensated, two–stage operational amplifiers. The firststage of each consists of differential input devices Q20 andQ18 with input buffer transistors Q21 and Q17 and thedifferential to single ended converter Q3 and Q4. The firststage performs not only the first stage gain function but alsoperforms the level shifting and transconductance reductionfunctions. By reducing the transconductance, a smallercompensation capacitor (only 5.0 pF) can be employed, thussaving chip area. The transconductance reduction isaccomplished by splitting the collectors of Q20 and Q18.Another feature of this input stage is that the input commonmode range can include the negative supply or ground, insingle supply operation, without saturating either the inputdevices or the differential to single–ended converter. Thesecond stage consists of a standard current source loadamplifier stage.

Figure 2. Large Signal Voltage Follower Response

VCC = 15 VdcRL = 2.0 kΩTA = 25°C

5.0 µs/DIV

1.0

V/D

IV

Each amplifier is biased from an internal–voltageregulator which has a low temperature coefficient thusgiving each amplifier good temperature characteristics aswell as excellent power supply rejection.

Single Supply Split Supplies

VCC

VEE/Gnd

3.0 V to VCC(max)

1

2

3

4

VCC

1

2

3

4

VEE

1.5 V to VCC(max)

1.5 V to VEE(max)

Figure 3.

LM324, LM324A, LM224, LM 2902, LM2902V, NCV2902

http://onsemi.com6

VO

R, O

UT

PU

T V

OLT

AG

E R

AN

GE

(V

)pp

VO

, OU

TP

UT

VO

LTA

GE

(m

V)

14

12

10

8.0

6.0

4.0

2.0

01.0 10 100 1000

f, FREQUENCY (kHz)

550

500

450

400

350

300

250

200

00 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0

t, TIME (µs)

2.4

2.1

1.8

1.5

1.2

0.9

0.6

0.3

00 5.0 10 15 20 25 30 35

VCC, POWER SUPPLY VOLTAGE (V) VCC, POWER SUPPLY VOLTAGE (V)

90

80

700 2.0 4.0 6.0 8.0 10 12 14 16 18 20

I

, P

OW

ER

SU

PP

LY C

UR

RE

NT

(mA

)C

C

I ,

INP

UT

BIA

S C

UR

RE

NT

(nA

)IB

VCC = 30 VVEE = GndTA = 25°CCL = 50 pF

Input

Output

V ,

INP

UT

VO

LTA

GE

(V

)I

18

16

14

12

10

8.0

6.0

4.0

2.0

0

20

0 2.0 4.0 6.0 8.0 10 12 14 16 18 20

± VCC/VEE, POWER SUPPLY VOLTAGES (V)

±

Positive

Negative

TA = 25°CRL =

RL = 2.0 kΩVCC = 15 VVEE = GndGain = -100RI = 1.0 kΩRF = 100 kΩ

Figure 4. Input Voltage Range Figure 5. Open Loop Frequency

120

100

80

60

40

20

0

-20

1.0 10 100 1.0 k 10 k 100 k 1.0 M

f, FREQUENCY (Hz)

A

,

LAR

GE

-SIG

NA

LV

OL

OP

EN

LO

OP

VO

LTA

GE

GA

IN (

dB)

VCC = 15 VVEE = GndTA = 25°C

Figure 6. Large–Signal Frequency Response Figure 7. Small–Signal Voltage FollowerPulse Response (Noninverting)

Figure 8. Power Supply Current versusPower Supply Voltage

Figure 9. Input Bias Current versusPower Supply Voltage

LM324, LM324A, LM224, LM 2902, LM2902V, NCV2902

http://onsemi.com7

2

1R1

TBP

R1 + R2

R1

R1 + R2

eo

e1

e2

eo = C (1 + a + b) (e2 - e1)

R1a R1

b R1

R

-

+

+

-

-

+ R

+

-

R1

R2

VO

Vref

Vin

VOH

VO

VOL

VinL =R1

(VOL - Vref) + Vref

VinH = (VOH - Vref) + Vref

H =R1 + R2

(VOH - VOL)R1

-

+

-

+

-

+

R

C

R2R1

R3

C1

100 k

R

C

R

C1 R2

100 k

Vin

Vref

Vref

Vref

Vref

BandpassOutput

fo = 2 π RC

R1 = QR

R2 =

R3 = TN R2

C1 = 10C

1

Notch Output

Vref = VCC

Hysteresis1C R

VinL VinH

Vref

Where:TBP=Center Frequency GainWhere:TN=Passband Notch Gain

R = 160 kΩC = 0.001 µFR1 = 1.6 MΩR2 = 1.6 MΩR3 = 1.6 MΩ

For:fo=1.0 kHzFor:Q= 10For:TBP= 1For:TN= 1

-

+

MC1403

1/4LM324

-

+

R1

VCCVCC

VO

2.5 V

R2

50 k

10 kVref

Vref = VCC2

5.0 k

R C

RC

+

-

VO

2 π RC

1

For: fo = 1.0 kHzR = 16 kΩC = 0.01 µF

VO = 2.5 V 1 +R1

R2

1

VCC

fo =

1/4LM324

1/4LM324

1/4LM324

1/4LM324

1C

R

1/4LM324

1/4LM324

1/4LM324 1/4

LM324

1/4LM324

Figure 10. Voltage Reference Figure 11. Wien Bridge Oscillator

Figure 12. High Impedance Differential Amplifier Figure 13. Comparator with Hysteresis

Figure 14. Bi–Quad Filter

LM324, LM324A, LM224, LM 2902, LM2902V, NCV2902

http://onsemi.com8

2

1

For less than 10% error from operational amplifier,

If source impedance varies, filter may be preceded withvoltage follower buffer to stabilize filter parameters.

where fo and BW are expressed in Hz.

Qo fo

BW< 0.1

Given:fo=center frequency

A(fo)=gain at center frequency

Choose value fo, C

Then: R3 =Q

π fo C

R3R1 =

2 A(fo)

R1 R3

4Q2 R1 - R3R2 =

+

-

+

-

Vref = VCC

Vref

f =R1 + RC

4 CRf R1R3 =

R2 R1

R2 + R1

R2

300 k

75 k

R3

R1100 k

C

Triangle WaveOutput

SquareWaveOutput

Vin

Rf

if

Vref

1/4LM324

1/4LM324

Figure 15. Function Generator Figure 16. Multiple Feedback Bandpass Filter

Vref = VCC1

2

-

+

VCC

R3R1

R2

Vref

CC

VO

CO = 10 C

CO1/4

LM324

LM324, LM324A, LM224, LM 2902, LM2902V, NCV2902

http://onsemi.com9

ORDERING INFORMATION

Device Package Operating Temperature Range Shipping

LM224D SO–14 55 Units/Rail

LM224DR2 SO–14 2500 Tape & Reel

LM224DTB TSSOP–14 –25° to +85°C 96 Units/Rail

LM224DTBR2 TSSOP–14

5 o 85 C

2500 Tape & Reel

LM224N PDIP–14 25 Units/Rail

LM324D SO–14 55 Units/Rail

LM324DR2 SO–14 2500 Tape & Reel

LM324DTB TSSOP–14 96 Units/Rail

LM324DTBR2 TSSOP–14 2500 Tape & Reel

LM324N PDIP–140° to +70°C

25 Units/Rail

LM324AD SO–140° to +70°C

55 Units/Rail

LM324ADR2 SO–14 2500 Tape & Reel

LM324ADTB TSSOP–14 96 Units/Rail

LM324ADTBR2 TSSOP–14 2500 Tape & Reel

LM324AN PDIP–14 25 Units/Rail

LM2902D SO–14 55 Units/Rail

LM2902DR2 SO–14 2500 Tape & Reel

LM2902DTB TSSOP–14 –40° to +105°C 96 Units/Rail

LM2902DTBR2 TSSOP–14

0 o 05 C

2500 Tape & Reel

LM2902N PDIP–14 25 Units/Rail

LM2902VD SO–14 55 Units/Rail

LM2902VDR2 SO–14 2500 Tape & Reel

LM2902VDTB TSSOP–1440° to +125°C

96 Units/Rail

LM2902VDTBR2 TSSOP–14–40° to +125°C

2500 Tape & Reel

LM2902VN PDIP–14 25 Units/Rail

NCV2902DR2 SO–14 2500 Tape & Reel

LM324, LM324A, LM224, LM 2902, LM2902V, NCV2902

http://onsemi.com10

MARKING DIAGRAMS

x = 2 or 3A = Assembly LocationWL = Wafer LotYY, Y = YearWW, W = Work Week

PDIP–14N SUFFIXCASE 646

SO–14D SUFFIX

CASE 751A

1

14

LM324ANAWLYYWW

1

14

LMx24NAWLYYWW

1

14

LM2902NAWLYYWW

1

14

LM2902VNAWLYYWW

1

14

LM324ADAWLYWW

1

14

LMx24DAWLYWW

1

14

LM2902DAWLYWW

1

14

LM2902VDAWLYWW

*This marking diagram also applies to NCV2902.

TSSOP–14DTB SUFFIXCASE 948G

1

14

x24

AWYW

1

14

324A

AWYW

1

14

2902

AWYW

1

14

2902VAWYW

*

LM324, LM324A, LM224, LM 2902, LM2902V, NCV2902

http://onsemi.com11

PACKAGE DIMENSIONS

PDIP–14N SUFFIX

CASE 646–06ISSUE M

1 7

14 8

B

ADIM MIN MAX MIN MAX

MILLIMETERSINCHES

A 0.715 0.770 18.16 18.80

B 0.240 0.260 6.10 6.60

C 0.145 0.185 3.69 4.69

D 0.015 0.021 0.38 0.53

F 0.040 0.070 1.02 1.78

G 0.100 BSC 2.54 BSC

H 0.052 0.095 1.32 2.41

J 0.008 0.015 0.20 0.38

K 0.115 0.135 2.92 3.43

L

M --- 10 --- 10

N 0.015 0.039 0.38 1.01

NOTES:1. DIMENSIONING AND TOLERANCING PER ANSI

Y14.5M, 1982.2. CONTROLLING DIMENSION: INCH.3. DIMENSION L TO CENTER OF LEADS WHEN

FORMED PARALLEL.4. DIMENSION B DOES NOT INCLUDE MOLD FLASH.5. ROUNDED CORNERS OPTIONAL.

F

H G DK

C

SEATING

PLANE

N

–T–

14 PL

M0.13 (0.005)

L

MJ

0.290 0.310 7.37 7.87

SO–14D SUFFIX

CASE 751A–03ISSUE F

NOTES:1. DIMENSIONING AND TOLERANCING PER ANSI

Y14.5M, 1982.2. CONTROLLING DIMENSION: MILLIMETER.3. DIMENSIONS A AND B DO NOT INCLUDE

MOLD PROTRUSION.4. MAXIMUM MOLD PROTRUSION 0.15 (0.006)

PER SIDE.5. DIMENSION D DOES NOT INCLUDE DAMBAR

PROTRUSION. ALLOWABLE DAMBARPROTRUSION SHALL BE 0.127 (0.005) TOTALIN EXCESS OF THE D DIMENSION ATMAXIMUM MATERIAL CONDITION.

–A–

–B–

G

P 7 PL

14 8

71M0.25 (0.010) B M

SBM0.25 (0.010) A ST

–T–

FR X 45

SEATING

PLANED 14 PL K

C

JM

DIM MIN MAX MIN MAX

INCHESMILLIMETERS

A 8.55 8.75 0.337 0.344

B 3.80 4.00 0.150 0.157

C 1.35 1.75 0.054 0.068

D 0.35 0.49 0.014 0.019

F 0.40 1.25 0.016 0.049

G 1.27 BSC 0.050 BSC

J 0.19 0.25 0.008 0.009

K 0.10 0.25 0.004 0.009

M 0 7 0 7

P 5.80 6.20 0.228 0.244

R 0.25 0.50 0.010 0.019

LM324, LM324A, LM224, LM 2902, LM2902V, NCV2902

http://onsemi.com12

PACKAGE DIMENSIONS

TSSOP–14DTB SUFFIX

CASE 948G–01ISSUE O

DIM MIN MAX MIN MAX

INCHESMILLIMETERS

A 4.90 5.10 0.193 0.200

B 4.30 4.50 0.169 0.177

C --- 1.20 --- 0.047

D 0.05 0.15 0.002 0.006

F 0.50 0.75 0.020 0.030

G 0.65 BSC 0.026 BSC

H 0.50 0.60 0.020 0.024

J 0.09 0.20 0.004 0.008

J1 0.09 0.16 0.004 0.006

K 0.19 0.30 0.007 0.012

K1 0.19 0.25 0.007 0.010

L 6.40 BSC 0.252 BSC

M 0 8 0 8

NOTES:1. DIMENSIONING AND TOLERANCING PER ANSI

Y14.5M, 1982.2. CONTROLLING DIMENSION: MILLIMETER.3. DIMENSION A DOES NOT INCLUDE MOLD FLASH,

PROTRUSIONS OR GATE BURRS. MOLD FLASHOR GATE BURRS SHALL NOT EXCEED 0.15(0.006) PER SIDE.

4. DIMENSION B DOES NOT INCLUDE INTERLEADFLASH OR PROTRUSION. INTERLEAD FLASH ORPROTRUSION SHALL NOT EXCEED0.25 (0.010) PER SIDE.

5. DIMENSION K DOES NOT INCLUDE DAMBARPROTRUSION. ALLOWABLE DAMBARPROTRUSION SHALL BE 0.08 (0.003) TOTAL INEXCESS OF THE K DIMENSION AT MAXIMUMMATERIAL CONDITION.

6. TERMINAL NUMBERS ARE SHOWN FORREFERENCE ONLY.

7. DIMENSION A AND B ARE TO BE DETERMINEDAT DATUM PLANE -W-.

SU0.15 (0.006) T

2X L/2

SUM0.10 (0.004) V ST

L–U–

SEATING

PLANE

0.10 (0.004)

–T–

ÇÇÇÇÇÇ

SECTION N–N

DETAIL E

J J1

K

K1

ÉÉÉÉ

DETAIL E

F

M

–W–

0.25 (0.010)814

71

PIN 1IDENT.

HG

A

D

C

B

SU0.15 (0.006) T

–V–

14X REFK

N

N

ON Semiconductor and are registered trademarks of Semiconductor Components Industries, LLC (SCILLC). SCILLC reserves the right to makechanges without further notice to any products herein. SCILLC makes no warranty, representation or guarantee regarding the suitability of its products for anyparticular purpose, nor does SCILLC assume any liability arising out of the application or use of any product or circuit, and specifically disclaims any and allliability, including without limitation special, consequential or incidental damages. “Typical” parameters which may be provided in SCILLC data sheets and/orspecifications can and do vary in different applications and actual performance may vary over time. All operating parameters, including “Typicals” must bevalidated for each customer application by customer’s technical experts. SCILLC does not convey any license under its patent rights nor the rights of others.SCILLC products are not designed, intended, or authorized for use as components in systems intended for surgical implant into the body, or other applicationsintended to support or sustain life, or for any other application in which the failure of the SCILLC product could create a situation where personal injury or deathmay occur. Should Buyer purchase or use SCILLC products for any such unintended or unauthorized application, Buyer shall indemnify and hold SCILLCand its officers, employees, subsidiaries, affiliates, and distributors harmless against all claims, costs, damages, and expenses, and reasonable attorney feesarising out of, directly or indirectly, any claim of personal injury or death associated with such unintended or unauthorized use, even if such claim alleges thatSCILLC was negligent regarding the design or manufacture of the part. SCILLC is an Equal Opportunity/Affirmative Action Employer.

PUBLICATION ORDERING INFORMATIONJAPAN : ON Semiconductor, Japan Customer Focus Center4–32–1 Nishi–Gotanda, Shinagawa–ku, Tokyo, Japan 141–0031Phone : 81–3–5740–2700Email : [email protected]

ON Semiconductor Website : http://onsemi.com

For additional information, please contact your localSales Representative.

LM324/D

Literature Fulfillment :Literature Distribution Center for ON SemiconductorP.O. Box 5163, Denver, Colorado 80217 USAPhone : 303–675–2175 or 800–344–3860 Toll Free USA/CanadaFax: 303–675–2176 or 800–344–3867 Toll Free USA/CanadaEmail : [email protected]

N. American Technical Support : 800–282–9855 Toll Free USA/Canada

©2001 Fairchild Semiconductor Corporation

www.fairchildsemi.com

Rev. 1.0.1

Features• High Current Drive Capability (200mA)• Adjustable Duty Cycle• Temperature Stability of 0.005%/°C• Timing From µSec To Hours• Turn Off Time Less Than 2µSec

Applications• Precision Timing• Pulse Generation• Time Delay Generation• Sequential Timing

DescriptionLM555/NE555/SA555 is a highly stable controller capableof producing accurate timing pulses. With monostable oper-ation, the time delay is controlled by one external resistorand one capacitor. With astable operation, the frequency and duty cycle are accurately controlled with twoexternal resistors and one capacitor.

8-DIP

8-SOP

1

1

Internal Block Diagram

F/FOutPutStage

1

7

5

2

3

4

6

8R R R

Comp.

Comp.

Discharging Tr.

Vref

Vcc

Discharge

Threshold

ControlVoltage

GND

Trigger

Output

Reset

LM555/NE555/SA555Single Timer

LM555/NE555/SA555

2

Absolute Maximum Ratings (TA = 25°°°°C)Parameter Symbol Value Unit

Supply Voltage VCC 16 VLead Temperature (soldering 10sec) TLEAD 300 °CPower Dissipation PD 600 mWOperating Temperature Range LM555/NE555SA555 TOPR

0 ~ +70-40 ~ +85 °C

Storage Temperature Range TSTG - 65 ~ + 150 °C

LM555/NE555/SA555

3

Electrical Characteristics(TA = 25°C, VCC = 5 ~ 15V, unless otherwise specified)

Notes:1. Supply current when output is high is typically 1mA less at VCC = 5V2. Tested at VCC = 5.0V and VCC = 15V3. This will determine maximum value of RA + RB for 15V operation, the max. total R = 20MΩ, and for 5V operation the max.

total R = 6.7MΩ

Parameter Symbol Conditions Min. Typ. Max. Unit Supply Voltage VCC 4.5 - 16 V Supply Current *1(low stable) ICC VCC = 5V, RL = ∞ - 3 6 mA

VCC = 15V, RL = ∞ - 7.5 15 mA

Timing Error *2 (Monostable)Initial Accuracy Drift with Temperature Drift with Supply Voltage

ACCUR∆t/∆T

∆t/∆VCC

RA = 1KΩ to100KΩ C = 0.1µF

- 1.0500.1

3.0

0.5

%ppm/°C

%/V

Timing Error *2(astable)Intial Accuracy Drift with Temperature Drift with Supply Voltage

ACCUR∆t/∆T

∆t/∆VCC

RA = 1KΩ to 100KΩ C = 0.1µF

- 2.251500.3

- %ppm/°C

%/VControl Voltage VC VCC = 15V 9.0 10.0 11.0 V

VCC = 5V 2.6 3.33 4.0 VThreshold Voltage VTH VCC = 15V - 10.0 - V

VCC = 5V - 3.33 - VThreshold Current *3 ITH - - 0.1 0.25 µA

Trigger Voltage VTR

VCC = 5V 1.1 1.67 2.2 V VCC = 15V 4.5 5 5.6 V

Trigger Current ITR VTR = 0V 0.01 2.0 µA Reset Voltage VRST - 0.4 0.7 1.0 V Reset Current IRST - 0.1 0.4 mA

Low Output Voltage VOL

VCC = 15V ISINK = 10mA ISINK = 50mA

- 0.060.3

0.250.75

VV

VCC = 5V ISINK = 5mA - 0.05 0.35 V

High Output Voltage VOH

VCC = 15V ISOURCE = 200mA ISOURCE = 100mA 12.75

12.513.3

- VV

VCC = 5V ISOURCE = 100mA 2.75 3.3 - V

Rise Time of Output tR - - 100 - ns Fall Time of Output tF - - 100 - ns Discharge Leakage Current ILKG - - 20 100 nA

LM555/NE555/SA555

4

Application InformationTable 1 below is the basic operating table of 555 timer:

When low signal input is applied to the reset terminal, the timer output remains low regardless of the threshold voltage or the trigger voltage. Only when high signal is applied to the reset terminal, timer's output changes according to threshold voltage and trigger voltage.When the threshold voltage exceeds 2/3 of the supply voltage while the timer output is high, the timer's internal discharge Tr. turns on, lowering the threshold voltage to below 1/3 of the supply voltage. During this time, the timer output is maintained low. Later, if a low signal is applied to the trigger voltage so that it becomes 1/3 of the supply voltage, the timer's internal discharge Tr. turns off, increasing the threshold voltage and driving the timer output again at high.

1. Monostable Operation

Table 1. Basic Operating TableThreshold Voltage

(Vth)(PIN 6)Trigger Voltage

(Vtr)(PIN 2) Reset(PIN 4) Output(PIN 3) Discharging Tr.(PIN 7)

Don't care Don't care Low Low ONVth > 2Vcc / 3 Vth > 2Vcc / 3 High Low ON

Vcc / 3 < Vth < 2 Vcc / 3 Vcc / 3 < Vth < 2 Vcc / 3 High - -Vth < Vcc / 3 Vth < Vcc / 3 High High OFF

84

7

1

2

3

5

6

CONTGND

Vcc

DISCH

THRES

RESET

TRIG

OUT

+Vcc

Trigger

RA

C1

C2RL

10-5 10-4 10-3 10-2 10-1 100 101 10210-3

10-2

10-1

100

101

102

10M

ΩΩΩΩ

1MΩΩΩΩ10

kΩΩΩΩ10

0kΩΩΩΩ

R A=1k

ΩΩΩΩ

C

apac

itanc

e(uF

)

Time Delay(s)

Figure 1. Monoatable Circuit Figure 2. Resistance and Capacitance vs. Time delay(td)

Figure 3. Waveforms of Monostable Operation

LM555/NE555/SA555

5

Figure 1 illustrates a monostable circuit. In this mode, the timer generates a fixed pulse whenever the trigger voltage falls below Vcc/3. When the trigger pulse voltage applied to the #2 pin falls below Vcc/3 while the timer output is low, the timer's internal flip-flop turns the discharging Tr. off and causes the timer output to become high by charging the external capacitor C1and setting the flip-flop output at the same time. The voltage across the external capacitor C1, VC1 increases exponentially with the time constant t=RA*C and reaches 2Vcc/3 at td=1.1RA*C. Hence, capacitor C1 is charged through resistor RA. The greater the time constant RAC, the longer it takes for the VC1 to reach 2Vcc/3. In other words, the time constant RAC controls the output pulse width. When the applied voltage to the capacitor C1 reaches 2Vcc/3, the comparator on the trigger terminal resets the flip-flop, turning the discharging Tr. on. At this time, C1 begins to discharge and the timer output converts to low.In this way, the timer operating in monostable repeats the above process. Figure 2 shows the time constant relationship based on RA and C. Figure 3 shows the general waveforms during monostable operation. It must be noted that, for normal operation, the trigger pulse voltage needs to maintain a minimum of Vcc/3 before the timer output turns low. That is, although the output remains unaffected even if a different trigger pulse is applied while the output is high, it may be affected and the waveform not operate properly if the trigger pulse voltage at the end of the output pulse remains at below Vcc/3. Figure 4 shows such timer output abnormality.

2. Astable Operation

Figure 4. Waveforms of Monostable Operation (abnormal)

84

7

1

2

3

5

6

CONTGND

Vcc

DISCH

THRES

RESET

TRIG

OUT

+Vcc

RA

C1

C2RL

RB

100m 1 10 100 1k 10k 100k1E-3

0.01

0.1

1

10

100

10MΩΩΩΩ

1MΩΩΩΩ

100kΩΩΩΩ

10kΩΩΩΩ

1kΩΩΩΩ

(RA+2RB)

Cap

acita

nce(

uF)

Frequency(Hz)

Figure 5. Astable Circuit Figure 6. Capacitance and Resistance vs. Frequency

LM555/NE555/SA555

6

An astable timer operation is achieved by adding resistor RB to Figure 1 and configuring as shown on Figure 5. In astable operation, the trigger terminal and the threshold terminal are connected so that a self-trigger is formed, operating as a multi vibrator. When the timer output is high, its internal discharging Tr. turns off and the VC1 increases by exponential function with the time constant (RA+RB)*C. When the VC1, or the threshold voltage, reaches 2Vcc/3, the comparator output on the trigger terminal becomes high,resetting the F/F and causing the timer output to become low. This in turn turns on the discharging Tr. and the C1 discharges through the discharging channel formed by RB and the discharging Tr. When the VC1 falls below Vcc/3, the comparator output on the trigger terminal becomes high and the timer output becomes high again. The discharging Tr. turns off and the VC1 rises again. In the above process, the section where the timer output is high is the time it takes for the VC1 to rise from Vcc/3 to 2Vcc/3, and the section where the timer output is low is the time it takes for the VC1 to drop from 2Vcc/3 to Vcc/3. When timer output is high, the equivalent circuit for charging capacitor C1 is as follows:

Since the duration of the timer output high state(tH) is the amount of time it takes for the VC1(t) to reach 2Vcc/3,

Figure 7. Waveforms of Astable Operation

Vcc

RA RB

C1 Vc1(0-)=Vcc/3

C1dvc1

dt-------------

Vcc V 0-( )–

RA RB+-------------------------------= 1( )

VC1 0+( ) VCC 3⁄= 2( )

VC1 t( ) VCC 1 23---e

- tRA RB+( )C1

------------------------------------–

= 3( )

LM555/NE555/SA555

7

The equivalent circuit for discharging capacitor C1 when timer output is low as follows:

Since the duration of the timer output low state(tL) is the amount of time it takes for the VC1(t) to reach Vcc/3,

Since RD is normally RB>>RD although related to the size of discharging Tr.,tL=0.693RBC1 (10)

Consequently, if the timer operates in astable, the period is the same with 'T=tH+tL=0.693(RA+RB)C1+0.693RBC1=0.693(RA+2RB)C1' because the period is the sum of the charge time and discharge time. And since frequency is the reciprocal of the period, the following applies.

3. Frequency dividerBy adjusting the length of the timing cycle, the basic circuit of Figure 1 can be made to operate as a frequency divider. Figure 8. illustrates a divide-by-three circuit that makes use of the fact that retriggering cannot occur during the timing cycle.

VC1 t( ) 23---VCC V=

CC1 2

3---e

-tH

RA RB+( )C1------------------------------------–

= 4( )

tH C1 RA RB+( )In2 0.693 RA RB+( )C1== 5( )

C1

RB

RDVC1(0-)=2Vcc/3

C1dvC1

dt-------------- 1

RA RB+-----------------------VC1 0=+ 6( )

VC1 t( ) 23---V

CCe

- tRA RD+( )C1

-------------------------------------

= 7( )

13---VCC

23---V

CCe

-tL

RA RD+( )C1-------------------------------------

= 8( )

tL C1 RB RD+( )In2 0.693 RB RD+( )C1== 9( )

frequency, f 1T--- 1.44

RA 2RB+( )C1----------------------------------------= = 11( )

LM555/NE555/SA555

8

4. Pulse Width ModulationThe timer output waveform may be changed by modulating the control voltage applied to the timer's pin 5 and changing the reference of the timer's internal comparators. Figure 9. illustrates the pulse width modulation circuit.When the continuous trigger pulse train is applied in the monostable mode, the timer output width is modulated according to the signal applied to the control terminal. Sine wave as well as other waveforms may be applied as a signal to the control terminal. Figure 10 shows an example of pulse width modulation waveform.

5. Pulse Position ModulationIf the modulating signal is applied to the control terminal while the timer is connected for astable operation as in Figure 11, the timer becomes a pulse position modulator.In the pulse position modulator, the reference of the timer's internal comparators is modulated which in turn modulates the timer output according to the modulation signal applied to the control terminal.Figure 12 illustrates a sine wave for modulation signal and the resulting output pulse position modulation : however, any wave shape could be used.

Figure 8. Waveforms of Frequency Divider Operation

84

7

1

2

3

5

6

CONTGND

Vcc

DISCH

THRES

RESET

TRIG

OUT

+Vcc

Trigger

RA

C

OutputInput

Figure 9. Circuit for Pulse Width Modulation Figure 10. Waveforms of Pulse Width Modulation

LM555/NE555/SA555

9

6. Linear RampWhen the pull-up resistor RA in the monostable circuit shown in Figure 1 is replaced with constant current source, the VC1 increases linearly, generating a linear ramp. Figure 13 shows the linear ramp generating circuit and Figure 14 illustrates the generated linear ramp waveforms.

In Figure 13, current source is created by PNP transistor Q1 and resistor R1, R2, and RE.

For example, if Vcc=15V, RE=20kΩ, R1=5kW, R2=10kΩ, and VBE=0.7V, VE=0.7V+10V=10.7VIc=(15-10.7)/20k=0.215mA

84

7

1

2

3

5

6

CONTGND

Vcc

DISCH

THRES

RESET

TRIG

OUT

+Vcc

RA

C

RB

Modulation

Output

Figure 11. Circuit for Pulse Position Modulation Figure 12. Waveforms of pulse position modulation

84

7

1

2

3

5

6

CONTGND

Vcc

DISCH

THRES

RESET

TRIG

OUT

+Vcc

R1

C1

RE

Output

C2

R2

Q1

Figure 13. Circuit for Linear Ramp Figure 14. Waveforms of Linear Ramp

ICVCC VE–

RE---------------------------= 12( )

Here, VE is

VE VBER2

R1 R2+----------------------VCC+= 13( )

LM555/NE555/SA555

10

When the trigger is started in a timer configured as shown in Figure 13, the current flowing to capacitor C1 becomes a constant current generated by PNP transistor and resistors. Hence, the VC is a linear ramp function as shown in Figure 14. The gradient S of the linear ramp function is defined as follows:

Here the Vp-p is the peak-to-peak voltage.If the electric charge amount accumulated in the capacitor is divided by the capacitance, the VC comes out as follows:

V=Q/C (15)

The above equation divided on both sides by T gives us

and may be simplified into the following equation.

S=I/C (17)

In other words, the gradient of the linear ramp function appearing across the capacitor can be obtained by using the constant current flowing through the capacitor. If the constant current flow through the capacitor is 0.215mA and the capacitance is 0.02uF, the gradient of the ramp function at both ends of the capacitor is S=0.215m/0.022u=9.77V/ms.

SVp p–

T----------------= 14( )

VT---- Q T⁄

C------------= 16( )

LM555/NE555/SA555

11

Mechanical DimensionsPackage

6.40 ±0.20

3.30 ±0.30

0.130 ±0.012

3.40 ±0.20

0.134 ±0.008

#1

#4 #5

#8

0.252 ±0.008

9.20

±0.

20

0.79

2.54

0.10

0

0.03

1(

)

0.46

±0.

10

0.01

8 ±0

.004

0.06

0 ±0

.004

1.52

4 ±0

.10

0.36

2 ±0

.008

9.60

0.37

8M

AX

5.080.200

0.330.013

7.62

0~15°

0.300

MAX

MIN

0.25+0.10–0.05

0.010+0.004–0.002

8-DIP

LM555/NE555/SA555

12

Mechanical Dimensions (Continued)

Package

4.9

2 ±

0.2

0

0.1

94

±0.0

08

0.4

1 ±

0.1

0

0.0

16

±0.0

04

1.2

70

.05

0

5.720.225

1.55 ±0.20

0.061 ±0.008

0.1~0.250.004~0.001

6.00 ±0.30

0.236 ±0.012

3.95 ±0.20

0.156 ±0.008

0.50 ±0.20

0.020 ±0.008

5.1

30

.20

2M

AX

#1

#4 #5

0~8°

#8

0.5

60

.02

2(

)

1.800.071

MA

X0

.10

MA

X0

.00

4

MAX

MIN

+0.1

0-0

.05

0.1

5

+0.0

04

-0.0

02

0.0

06

8-SOP

LM555/NE555/SA555

13

Ordering InformationProduct Number Package Operating Temperature

LM555CN 8-DIP0 ~ +70°C

LM555CM 8-SOP

Product Number Package Operating TemperatureNE555N 8-DIP

0 ~ +70°CNE555D 8-SOP

Product Number Package Operating TemperatureSA555 8-DIP

-40 ~ +85°CSA555D 8-SOP

LM555/NE555/SA555

7/2/01 0.0m 001Stock#DSxxxxxxxx

2001 Fairchild Semiconductor Corporation

LIFE SUPPORT POLICY FAIRCHILD’S PRODUCTS ARE NOT AUTHORIZED FOR USE AS CRITICAL COMPONENTS IN LIFE SUPPORT DEVICES OR SYSTEMS WITHOUT THE EXPRESS WRITTEN APPROVAL OF THE PRESIDENT OF FAIRCHILD SEMICONDUCTOR CORPORATION. As used herein:

1. Life support devices or systems are devices or systems which, (a) are intended for surgical implant into the body, or (b) support or sustain life, and (c) whose failure to perform when properly used in accordance with instructions for use provided in the labeling, can be reasonably expected to result in a significant injury of the user.

2. A critical component in any component of a life support device or system whose failure to perform can be reasonably expected to cause the failure of the life support device or system, or to affect its safety or effectiveness.

www.fairchildsemi.com

DISCLAIMER FAIRCHILD SEMICONDUCTOR RESERVES THE RIGHT TO MAKE CHANGES WITHOUT FURTHER NOTICE TO ANY PRODUCTS HEREIN TO IMPROVE RELIABILITY, FUNCTION OR DESIGN. FAIRCHILD DOES NOT ASSUME ANY LIABILITY ARISING OUT OF THE APPLICATION OR USE OF ANY PRODUCT OR CIRCUIT DESCRIBED HEREIN; NEITHER DOES IT CONVEY ANY LICENSE UNDER ITS PATENT RIGHTS, NOR THE RIGHTS OF OTHERS.

5-1

FAST AND LS TTL DATA

DUAL 4-INPUT AND GATE

14 13 12 11 10 9

1 2 3 4 5 6

VCC

8

7

GND

GUARANTEED OPERATING RANGES

Symbol Parameter Min Typ Max Unit

VCC Supply Voltage 5474

4.54.75

5.05.0

5.55.25

V

TA Operating Ambient Temperature Range 5474

–550

2525

12570

°C

IOH Output Current — High 54, 74 –0.4 mA

IOL Output Current — Low 5474

4.08.0

mA

SN54/74LS21

DUAL 4-INPUT AND GATE

LOW POWER SCHOTTKY

J SUFFIXCERAMIC

CASE 632-08

N SUFFIXPLASTIC

CASE 646-06

141

14

1

ORDERING INFORMATION

SN54LSXXJ CeramicSN74LSXXN PlasticSN74LSXXD SOIC

141

D SUFFIXSOIC

CASE 751A-02

5-2

FAST AND LS TTL DATA

SN54/74LS21

DC CHARACTERISTICS OVER OPERATING TEMPERATURE RANGE (unless otherwise specified)

S b l P

Limits

U i T C di iSymbol Parameter Min Typ Max Unit Test Conditions

VIH Input HIGH Voltage 2.0 VGuaranteed Input HIGH Voltage forAll Inputs

VIL Input LOW Voltage54 0.7

VGuaranteed Input LOW Voltage for

VIL Input LOW Voltage74 0.8

Vp g

All Inputs

VIK Input Clamp Diode Voltage –0.65 –1.5 V VCC = MIN, IIN = –18 mA

VOH Output HIGH Voltage54 2.5 3.5 V VCC = MIN, IOH = MAX, VIN = VIHVOH Output HIGH Voltage74 2.7 3.5 V

CC , OH , IN IHor VIL per Truth Table

VOL Output LOW Voltage54, 74 0.25 0.4 V IOL = 4.0 mA VCC = VCC MIN,

VIN = VIL or VIHVOL Output LOW Voltage74 0.35 0.5 V IOL = 8.0 mA

VIN = VIL or VIHper Truth Table

IIH Input HIGH Current20 µA VCC = MAX, VIN = 2.7 V

IIH Input HIGH Current0.1 mA VCC = MAX, VIN = 7.0 V

IIL Input LOW Current –0.4 mA VCC = MAX, VIN = 0.4 V

IOS Short Circuit Current (Note 1) –20 –100 mA VCC = MAX

ICC

Power Supply CurrentTotal, Output HIGH 2.4 mA VCC = MAXICC p

Total, Output LOW 4.4

mA VCC MAX

Note 1: Not more than one output should be shorted at a time, nor for more than 1 second.

AC CHARACTERISTICS (TA = 25°C)

S b l P

Limits

U i T C di iSymbol Parameter Min Typ Max Unit Test Conditions

tPLH Turn-Off Delay, Input to Output 8.0 15 ns VCC = 5.0 V

tPHL Turn-On Delay, Input to Output 10 20 nsCC

CL = 15 pF