Post on 22-Feb-2023
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
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
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
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.
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
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
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
e-mailliterature@atmel.com
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 : r14525@onsemi.com
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 : ONlit@hibbertco.com
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