PROTOTYPE PENGAMAN KEBAKARAN DENGAN
MENGGUNAKAN METODE PENDETEKSIAN
ASAP DAN KENAIKAN SUHU BERBASIS
MIKROKONTROLLER AT89S51
TUGAS AKHIR
MUHAMMAD ABDUH HUMAIDI HARAHAP
052408094
PROGRAM STUDI DIPLOMA III FISIKA INSTRUMENTASI
DEPARTEMEN FISIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
PROTOTYPE PENGAMAN KEBAKARAN DENGAN
MENGGUNAKAN METODE PENDETEKSIAN
ASAP DAN KENAIKAN SUHU BERBASIS
MIKROKONTROLLER AT89S51
TUGAS AKHIR
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh Ahli Madya
MUHAMMAD ABDUH HUMAIDI HARAHAP
052408094
PROGRAM STUDI DIPLOMA III FISIKA INSTRUMENTASI
DEPARTEMEN FISIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATRA UTARA
PERSETUJUAN
Program Studi : DIPLOMA III FISIKA INSTRUMENTASI Departemen : FISIKA
Fakultas : METEMATIKA DAN ILMU PENGETAHUAN ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA
PERNYATAAN
PROTOTYPE PENGAMAN KEBAKARAN DENGAN MENGGUNAKAN METODE PENDETEKSIAN ASAP DAN KENAIKAN SUHU
BERBASIS MIKROKONTROLLER AT89S51
TUGAS AKHIR
Saya mengakui bahwa tugas akhir ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing – masing disebutkan sumbernya.
Medan, Juli 2008
PENGHARGAAN
Puji syukur penulis panjatkan kepada ALLAH SWT Yang Maha Pemurah dan Maha penyayang, dengan limpah karunia-Nya kertas kajian ini berhasil diselesaikan dalam waktu yang telah ditetapkan.
Pada kesempatan ini penulis menyampaikan ucapan terima kasih kepada Bapak DR. Marhaposan Situmorang,M.sc selaku dosen pembimbing pada penyelesaian tugas akhir ini yang telah memberikan bimbingan dan penuh kepercayaan kepada saya untuk menyempurnakan kajian ini, Ketua dan Sekretaris program studi DIII Fisika Instrumentasi Bapak Drs. Sahrul Humaidi,M.sc dan Ibu Dra. Justinon, Msi, Dekan dan Pembantu Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatra Utara, semua dosen dan pegawai pada program studi DIII Fisika Instrumentasi FMIPA USU dan rekan – rekan kuliah khususnya Edriwansyah Nasution, Denni, Bayu Barata, Tuti Mahlesi, Demi Syaputri, Sulvina Maulin, Ellis Naria, piliyanti dan teman – teman yang lain yang membantu dan memberikan semangat kepada penulis untuk menyelesaikan tugas akhir ini.
Ucapan terima kasih yang tidak terlupakan kepada kedua orang tua dan keluarga penulis yang tercinta yang selama ini memberikan bantuan materil dan dukungan moril serta telah mendoakan penulis dan orang – orang yang tidak bisa penulis sebutkan satu persatu. Semoga ALLAH SWT akan membalasnya.
ABSTRAK
Telah dirancang prototype pengaman kebakaran dengan menggunakan metode pendeteksian asap dan kenaikan suhu berbasis mikrokontroller AT89S51 yang disimulasikan dengan memanaskan sensor suhu LM35 dan mendekatkan asap pada sensor asap AF30. Sistem ini dikatakan benar, saat suhu naik dan tidak terdapat asap kipas akan berputar untuk menurunkan suhu dan disaat suhu naik serta ada asap alarm berbunyi dan pompa memompakan air untuk memadamkan api.
DAFTAR ISI
2.1.1.1 Konstruksi Mikrokontroller AT89S51 7 2.1.1.2 Pin – Pin pada Mikrokontroller AT89S51 9
Bab 3 Perancangan Alat dan Program
3.1 Diagram Blok Sistem 30
3.3 Rangkaian Power Supply 32
3.4 Rangkaian Mikrokontroller AT89S51 33
3.5 Rangkaian ADC 35
3.6 Rangkaian Alarm 36
3.7 Rangkaian Pengendali Kipas 37
3.8 Rangkaian Pengendali Pompa Air 38
3.9 Rangkaian Display Sevent Segment 39
3.10 Program 41
Bab 4 Pengujian Rangkaian
4.1 Pengujian Rangkaian Power Supply 51
4.2 Pengujian Rangkaian Mikrokontroller AT89S51 51 4.3 Pengujian Rangkaian Display Sevent Segment 53
4.4 Pengujian Rangkaian ADC 56
4.5 Pengujian Rangkaian Alarm 57
4.6 Pengujian Rangkaian Pengendali Pompa 59 4.7 Pengujian Rangkaian Pengendali Kipas 61
DAFTAR TABEL
Halaman : Tabel 4.1 Hasil Pengujian Rangkaian Display Sevent segment 54
Tabel 4.2 Hasil Pengujian Rangkaian ADC 57
DAFTAR GAMBAR
Halaman : Gambar 2.1 IC Mikrokontroller AT89S51 9
Gambar 2.2 IC ADC 0804 3
Gambar 2.3 Diagram ADC Secara Umum (Pitowarno, 2005) 14
Gambar 2.4 Susunan Sevent Segment 16
Gambar 2.5 Konfigurasi Sevent Segment Tipe Common Anoda 17 Gambar 2.6 Konfigurasi Sevent Segment Tipe Common Katoda 17 Gambar 2.7 Simbol Relay dan Rangkaian Driver 19 Gambar 2.8 Simbol dan Bentuk Fisik IC LM 35 20
Gambar 2.9 Sensor Asap AF30 21
Gambar 2.10 Alokasi Pin dan Standard Test Sirkuit Sensor Asap AF30 22 Gambar 2.11 8051 Editor, Assembler, Simulator (IDE) 27
Gambar 2.12 ISP- Flash Programmer 28
Gambar 3.1 Diagram Blok Sistem 30
Gambar 3.2 Flowchart Sistem 31
Gambar 3.3 Rangkaian Power Supply (PSA) 32
Gambar 3.4 Rangkaian Mikrokontroller AT89S51 33
Gambar 3.5 Rangkaian ADC 35
Gambar 3.6 Rangkaian Alarm 36
Gambar 3.7 Rangkaian Pengendali Kipas 37
Gambar 3.8 Rangkaian Pengendali Pompa 38
Gambar 3.9 Rangkaian Display Sevent Segment 40 Gambar 4.1Pengujian Rangkaian Display sevent Segment Dengan Mikrokontroller 53 Gambar 4.2 Pengujian Rangkaian Alarm Dengan Mikrokontroller 58 Gambar 4.3 Pengujian Rangkaian Pengendali Pompa Dengan Mikrokontroller 60 Gambar 4.4 Pengujian Rangkaian Pengendali Kipas Dengan Mikrokontroller 61
Gambar 4.5 Test irkuit Sensor Asap AF30 63
ABSTRAK
Telah dirancang prototype pengaman kebakaran dengan menggunakan metode pendeteksian asap dan kenaikan suhu berbasis mikrokontroller AT89S51 yang disimulasikan dengan memanaskan sensor suhu LM35 dan mendekatkan asap pada sensor asap AF30. Sistem ini dikatakan benar, saat suhu naik dan tidak terdapat asap kipas akan berputar untuk menurunkan suhu dan disaat suhu naik serta ada asap alarm berbunyi dan pompa memompakan air untuk memadamkan api.
BAB 1
PENDAHULUAN
1.1Latar Belakang
Dalam kurun waktu singkat perkembangan teknologi melaju dengan sangat pesat. Perkembangan teknologi ini merupakan hasil kerja keras dari rasa ingin tahu manusia terhadap suatu hal yang pada akhirnya diharapkan akan mempermudah manusia. Dengan pesatnya laju perkembangan teknologi tersebut banyak
bermunculan alat-alat yang canggih yang dapat bekerja secara otomatis.
kerugian yang dihasilkan oleh kebakaran tentunya sangat besar. Kebakaran yang terjadi dapat di atasi apabila kita mengetahui kebakaran telah terjadi sejak dini. Untuk itu diperlukan suatu peralatan yang cerdas yang dapat memberitahukan kepada kita bahwa telah terjadi kebakaran di suatu ruangan atau di tempat umum secara dini sehingga dengan adanya alat ini kita dapat melakukan antisipasi yang lebih lanjut guna menghindari kerugian yang disebabkan oleh kebakaran.
Alat pendeteksi kebakaran sebenarnya tidak terlalu sukar untuk dibuat hanya saja kita memerlukan suatu sensor yang sensisitif agar hasil yang di dapat lebih teliti dan akurat dan diharapkan dengan adanya alat pendeteksi kebakaran ini kerugian yang dihasilkan oleh kebakaran dapat dicegah dan diminimalkan.
1.2Batasan Masalah
1.3 Maksud dan Tujuan
Tujuan dari penulisan tugas akhir ini adalah :
1.3.1 Merupakan salah satu persyaratan untuk menyelesaikan Studi Program Diploma III di Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatra Utara.
1.3.2 Pembuatan prototype pengaman kebakaran dengan menggunakan metode pendeteksian asap dan kenaikan suhu berbasis mikrokontroller AT89S51.
1.4 Metode Pengumpulan Data
Metode pengumpulan data yang dilakukan oleh penulis adalah :
1.4.1 Melakukan studi perpustakaan mengenai teori – teori yang berkaitan dengan judul tugas akhir ini.
1.4.2 Melakukan konsultasi dengan dosen pembimbing serta dosen – dosen staf pengajar yang berkaitan dengan realisasi dibidang masing – masing.
1.4.3 Melalui pengujian alat.
Untuk mempermudah pembahasan dan pemahaman maka penulis membuat sistematika pembahasan tugas akhir sebagai berikut :
BAB 1 PENDAHULUAN
Meliputi latar belakang, batasan masalah, maksud dan tujuan, metode pengumpulan data dan sistematika penulisan.
BAB 2 LANDASAN TEORI
Meliputi teori penunjang perancangan prototype pengaman kebakaran dengan menggunakan metode pendeteksian asap dan kenaikan suhu berbasis mikrokontroller AT89S51.
BAB 3 PERANCANGAN ALAT DAN PROGRAM
Meliputi tentang perancangan rangkaian prototype pengaman kebakaran dengan menggunakan metode pendeteksian asap dan kenaikan suhu berbasis mikrokontroller AT89S51.
BAB 4 PENGUJIAN RANGKAIAN
Meliputi uraian tentang cara pengujian rangkaian.
BAB 5 PENUTUP
BAB 2
LANDASAN TEORI
2.1. Perangkat Keras (Hardware)
2.1.1. Mikrokontroller AT89S51
Tidak seperti sistem komputer, yang mampu menangani berbagai macam program aplikasi (misalnya pengolah kata, pengolah angka, dan lain sebagainya), Mikrokontroller hanya bisa digunakan untuk satu aplikasi tertentu saja. Perbedaan lainnya terletak pada perbandingan RAM dan ROM-nya. Pada sistem komputer perbandingan RAM dan ROM-nya besar, artinya program-program pengguna disimpan dalam ruang RAM yang relatif besar, sedangkan rutin-rutin antar muka perangkat keras disimpan dalam ruang ROM yang kecil. Sedangkan Pada mikrokontroller, perbandingan ROM dan RAM-nya yang besar artinya program kontrol disimpan dalam ROM yang ukurannya relatif lebih besar, sedangkan RAM digunakan sebagai tempat penyimpanan sementara, termasuk register-register yang digunakan pada mikrokontroller yang bersangkutan.
Mikrokontroller AT89S51 merupakan salah satu keluarga dari MCS-51 keluaran Atmel. Jenis mikrokontroller ini pada prinsipnya dapat digunakan untuk mengolah data per bit atau pun data 8 bit secara bersamaan. Pada prinsipnya program pada mikrokontroller dijalankan bertahap, jadi pada program itu sendiri terdapat beberapa set instruksi dan tiap instruksi itu dijalankan secara bertahap atau berurutan.
1. Sebuah central prosessing unit 8 bit 2. Osilatch : internal dan rangkaian pewaktu 3. RAM internal 128 byte
4. Flash memori 4 Kbyte
5. Lima buah jalur interupsi (dua buah interupsi eksternal dan tiga buah interupsi internal)
6. Empat buah programable port I/O yang masing-masing terdiri dari delapan buah jalur I/O
7. Sebuah port serial dengan kontrol serial full duplex UART
8. Kemampuan untuk melaksanakan operasi aritmatika dan operasi logika
9. Kecepatan dalam melaksanakan instruksi per siklus 1 mikrodetik pada frekuensi 12 MHz.
2.1.1.1 Konstruksi Mikrokontroller AT89S51
frekuensi maksimum 24 MHz dan kapasitor 30 mikro-farad dipakai untuk melengkapi rangkaian oscilator pembentuk clock yang menentukan kecepatan kerja mikrokontroller.
Memori merupakan bagian yang sangat penting pada mikrokontroller. Mikrokontroller memiliki dua macam memori yang sifatnya berbeda yaitu :
1. Read Only Memory (ROM)
ROM isinya tidak berubah meskipun IC (Integrated Circuit) kehilangan catu daya. Sesuai dengan keperluannya, dalam susunan MCS-51 memori penyimpanan program ini dinamakan sebagai memori program.
2. Random Access Memory (RAM)
RAM isinya akan sirna begitu IC (Integrated Circuit) kehilangan catu daya, dipakai untuk menyimpan data pada saat program bekerja. RAM yang dipakai untuk menyimpan data ini disebut sebagai memori data.
Programble ROM) yang kemudian dinilai mahal dan ditinggalkan setelah ada flash
PEROM yang harganya jauh lebih murah.
Jenis memori yang dipakai untuk memori program AT89S51 adalah flash PEROM, program untuk mengendalikan mikrokontroller diisikan ke memori itu lewat bantuan alat yang dinamakan sebagai AT89C4051 flash PEROM Programmer. Memori data yang disediakan dalam chip AT89S51 sebesar 128 byte meskipun hanya kecil saja tapi untuk banyak keperluan memori kapasitas itu sudah cukup.
AT89S51 mempunyai enam sumber pembangkit interupsi, dua diantaranya adalah sinyal interupsi yang diumpankan ke kaki INT0 dan INT1. Kedua kaki ini berhimpitan dangan P3.2 dan P3.3 sehingga tidak bisa dipakai sebagai jalur input / output paralel kalau INT0 dan INT1 dipakai untuk menerima sinyal interupsi. Port1 dan 2, UART, Timer 0, Timer 1 dan sarana lainnya merupakan yang secara fisik merupakan RAM khusus, yang ditempatkan di SFR (Special Function Register).
2.1.1.2 Pin-Pin pada Mikrokontroller AT89S51
Deskripsi pin-pin pada mikrokontroller AT89S51 :
VCC (Pin 40)
Berfungsi sebagai suplai tegangan
GND (Pin 20)
Berfungsi sebagai ground
RST (pin 9)
Berfungsi sebagai reset. Reset akan aktif dengan memberikan input high selama 2 cycle.
ALE/PROG (pin 30)
Address latch Enable adalah pulsa output untuk me-latch byte bawah dari alamat selama mengakses memori eksternal. Selain itu, sebagai pulsa input progam (PROG) selama memprogam Flash.
PSEN (pin 29)
Progam store enable digunakan untuk mengakses memori progam eksternal.
EA (pin 31)
kondisi high, pin ini akan berfungsi untuk menjalankan progam yang ada pada memori internal. Pada saat flash progamming, pin ini akan mendapat tegangan 12 Volt.
XTAL1 (pin 19)
Berfungsi sebagai input untuk clock internal.
XTAL2 (pin 18)
Berfungsi sebagai output dari osilator.
Port 0 (Pin 39-Pin 32)
Port 0 dapat berfungsi sebagai I/O biasa, low order multiplex address/data ataupun penerima kode byte pada saat flash progamming. Pada fungsi sebagai I/O biasa port ini dapat memberikan output sink ke delapan buah TTL input atau dapat diubah sebagai input dengan memberikan logika 1 pada port tersebut. Pada fungsi sebagai low order multiplex address/data, port ini akan mempunyai internal pull up, terutama pada saat verifikasi program.
Port 2 (Pin 21 – pin 28)
berfungsi sebagai input dengan memberikan logika 1. Sebagai output, port ini dapat memberikan output sink keempat buah input TTL.
Port 3 (Pin 10 – pin 17)
Port 3 merupakan 8 bit yang berfungsi sebagai I/O dua arah dengan internal pull up. Port 3 juga mempunyai fungsi pin masing-masing, yaitu sebagai berikut :
Nama Pin Fungsi
P3.0 (pin 10) RXD (Port input serial) P3.1 (pin 11) TXD (Port output serial) P3.2 (pin 12) INTO (interrupt 0 eksternal) P3.3 (pin 13) INT1 (interrupt 1 eksternal) P3.4 (pin 14) T0 (input eksternal timer 0) P3.5 (pin 15) T1 (input eksternal timer 1)
2.1.2 ADC (Analog to Digital Converter)
ADC yang digunakan adalah ADC 0804. ADC ini akan mengubah tegangan yang merupakan keluaran dari sensor asap AF30 dan sensor suhu LM35 menjadi 8-bit data biner, 8-bit data yang keluar dari ADC inilah yang akan diolah oleh mikrokontroller yang kemudian ditampilkan pada display seven segment. Gambar IC ADC 0804 tampak seperti gambar dibawah ini :
ADC (Analog to Digital Converter) adalah suatu rangkaian pengubah informasi dari tegangan analog ke digital. A/D Converter ini dapat dipasang sebagai pengonversi tegangan analog dari suatu peralatan sensor ke konfigurasi digital yang akan diumpankan ke suatu sistem minimum. Teknologi ADC ini telah banyak mengubah teknik-teknik konvensional analog dalam sistem-sistem kontrol, teknologi perekaman dan pembangkitan kembali sinyal-sinyal audio/video (recording and
playing) dan berbagai aplikasi dalam multimedia dan instrumantasi lainnya.
Permasalahan noise dalam sinyal (sebelumnya sulit dikikis habis jika hanya
mengandalkan filter analog) dapat diatasi dengan sangat baik dengan filter digital
berbasis ADC. Apalagi faktor penentu keandalan filter digital ini adalah keandalan program kemudinya. Makin andal programnya, makin andal pula kerja filter tersebut.
Rangkaian di dalam IC ADC memiliki 2 bagian utama, yaitu:
1. Bagian Sampling dan Hold, yang berfungsi menangkap atau menahan tegangan analog input sesaat untuk seterusnya diumpankan ke rangkaian pengonversi. 2. Rangkaian Konversi A/D plus rangkaian kontrolnya.
Konversi
Gambar 2.3 Diagram ADC secara umum (Pitowarno, 2005)
(valid). Agar lebih efektif, fungsi interrupt harus diaktifkan untuk menghindari terjebaknya CPU dalam loop saat menunggu ADC siap. Ia hanya akan membaca data bila mendapatkan interrupt.
Secara singkat, ADC memerlukan bantuan frekuensi kontrol untuk menangkap dan mengonversi sinyal. Seberapa lama ADC dapat sukses mengonversi suatu nilai sangat tergantung dari kemampuan sampling dan konversi dalam domain waktu. Makin cepat prosesnya, makin berkualitas pula ADC tersebut. Karena inilah maka karakteristik ADC yang paling penting adalah waktu konversi (conversion time). Jika suatu ADC disebut memiliki waktu konversi 1,4 dt (mikrodetik) maka secara teoritis dalam waktu 1 detik ia dapat mengonversi sinyal kontiniu sebanyak 714.285,7 kali. Dengan demikian, frekuensi input tertinggi yang masih dapat ditolerir untuk dikonversi adalah sekitar 714 KHz/2 atau 357 KHz.
Namun demikian, kemampuan riel ADC dalam kontrol loop tertutup dalam sebuah sistem lengkap justru sangat dipengaruhi oleh kemampuan kontroller atau prosessor dalam mengolah data input-output secara cepat, dan bukan hanya karena kualitas ADC-nya. ADC yang dipakai mungkin sudah sangat cepat, bahkan melebihi spesifikasi untuk keperluan memproses sinyal input yang di definisikan (misalnya speech diproses dengan ADC 1,4 dt/conversion), tetapi terkadang
keseluruhan menjadi kedodoran. Meskipun unggul dalam kecepatan konversi data (pasif: A/D), pelambatan justru terjadi dalam penerapan algoritma pemproses tertentu, misalnya identifikasi menggunakan neural network dan optimasi.
2.1.3 Sevent Segment
Sevent segment merupakan komponen elektronika yang banyak digunakan untuk menampilkan angka. Sevent segment ini sebenarnya merupakan led yang disusun sedemikian rupa sehingga membentuk suatu pola tertentu, dimana jika led –led tersebut dinyalakan dengan kombinasi tertentu, maka akan terbentuk suatu angka tertentu.
Sevent segment mempunyai tujuh segment ditambah satu segment yang berfungsi sebagai desimal point. Gambar susunan dari sevent segment ditunjukkan pada gambar berikut ini :
Segment yang atas disebut segment a, segment sebelah kanan atas disebut segment b, dan seterusnya sesuai gambar di atas. Dp merupakan singkatan dari desimal point. Sevent segment ada 2 tipe, yaitu common anoda dan common katoda. Pada seven segment tipe common anoda, anoda dari setiap led dihubungkan menjadi satu kemudian dihubungkan ke sumber tegangan positip dan katoda dari masing-masing led berfungsi sebagai input dari sevent segment, seperti ditunjukkan pada gambar berikut ini :
Gambar 2.5 Konfigurasi sevent segment tipe common anoda
dihubungkan menjadi satu kemudian dihubungkan ke ground dan anoda dari masing-masing led berfungsi sebagai input dari sevent segment, seperti ditunjukkan pada gambar berikut ini :
Gambar 2.6 Konfigurasi sevent segment tipe common katoda
Sesuai dengan gambar di atas, maka untuk menyalakan salah satu segment, maka anodanya harus diberi tegangan minimal 3 volt atau logika high. Misalnya jika segment a akan dinyalakan, maka anoda pada segment a harus diberi tegangan minimal 3 volt atau logika high, dengan demikian maka segment a akan menyala. Demikian juga untuk segment lainnya.
2.1.4 Relay
dipenuhi output rangkaian pendriver atau pengemudinya. Arus yang digunakan pada rangkaian adalah arus DC.
Konstruksi dalam suatu relay terdiri dari lilitan kawat (coil) yang dililitkan pada inti besi lunak. Jika lilitan kawat mendapatkan aliran arus, inti besi lunak kontak menghasilkan medan magnet dan menarik switch kontak. Switch kontak mengalami gaya listrik magnet sehingga berpindah posisi ke kutub lain atau terlepas dari kutub asalnya. Keadaan ini akan bertahan selama arus mengalir pada kumparan relay. Dan relay akan kembali keposisi semula yaitu normaly ON atau Normaly OFF, bila tidak ada lagi arus yang mengalir padanya, posisi normal relay tergantung pada jenis relay yang digunakan. Pemakaian jenis relay tergantung pada kadaan yang diinginkan dalam suatu rangkaian.
Menurut kerjanya relay dapat dibedakan menjadi :
1. Normaly Open (NO), saklar akan tebuka / terhubung bila dialiri arus 2. Normaly Close (OFF), saklar akan tertutup/terputus bila dialiri arus
terminal A, sebaliknya bila kumparan 2 dialiri arus maka saklar akan terhubung ke terminal B.
Analogi rangkaian relay yang digunakan pada tugas akhir ini adalah saat basis transistor ini dialiri arus, maka transistor dalam keadaan tertutup yang dapat menghubungkan arus dari kolektor ke emiter yang mengakibatkan relay terhubung. Sedangkan fungsi dioda disini adalah untuk melindungi transistor dari tegangan induksi berlebih, dimana tegangan ini dapat merusak transistor. Jika transistor pada basis tidak ada arus maju, maka transistor terbuka sehingga arus tidak mengalir dari kolektor ke emiter, relay tidak bekerja karena tidak ada arus yang mengalir pada gulungan kawat. Bentuk relay yang digunakan dan bentuk relay dengan rangkaian driver terlihat pada gambar 2.7.
Gambar 2.7 Simbol relay dan rangkaian driver
Vcc
Tr VB
Dioda
2.1.5 Sensor Suhu LM 35
IC LM 35 sebagai sensor suhu yang teliti dan terkemas dalam bentuk sirkuit terpadu, dimana output tegangan keluaran sangat linier dengan perubahan suhu. Sensor ini berfungsi sebagai pengubah dari besaran fisis suhu ke besaran tegangan yang memiliki koefisien sebesar 10mV/°C yang berarti bahwa jika kenaikan suhu 1°C maka akan terjadi kenaikan tegangan sebesar 10 mV. LM 35 dapat dialiri arus sebesar 60µA
dari power supply sehingga panas yang di timbulkan sendiri sangat rendah yaitu kurang dari 0° di dalam suhu ruangan.
IC LM 35 berfungsi sebagai sensor suhu. IC LM 35 dikemas dalam bentuk
integrated circuit yang harga tahanannya merupakan fungsi temperatur, adanya
temperatur akan menyebabkan harga dari IC LM 35 berubah. Energi panas dari
elektroda akan menyebabkan perubahan temperatur IC LM 35 yang selanjutnya
merubah harga tahanannya, karakteristik dari sensor ini adalah linier terhadap
perubahan suhu artinya, jika terjadi perubahan suhu yang cenderung naik dan begitu
pula sebaliknya, kenaikan. Tegangan out put dari sensor ini adalah 10 mV/0C setiap
Gambar 2.8 Simbol dan bentuk fisik IC LM 35
LM 35 adalah sensor temperatur yang cukup teliti dan mudah di kalibrasi dengan impedansi yang kurang dari 1Ω, LM 35 beroperasi pada batas arus sekitar 400µA sampai dengan 5 mA, mempunyai kesalahan kurang dari 1°C untuk range yang lebih besar 100°C, aplikasi sensor berkisar antara -55°C sampai +150°C, sehingga dapat dikatakan bahwa LM 35 memiliki output yang linier.
2.1.6 Sensor Asap AF30
Pandangan Bawah
sensor mendeteksi keberadaan gas-gas tersebut maka tegangan listrik sensor akan turun. Dengan memanfaatkan prinsip kerja dari sensor asap AF30 ini, kandungan gas-gas tersebut dapat diukur.
Gambar 2.9 Sensor asap AF30
Sensor asap AF30 dipilih karena memiliki spesifikasi sebagai berikut :
1. Supply voltage 5V DC
2. Supply for heater 5 +/- 0.2V DC 3. Power consumption 535mW 4. Preheat time 48 hours (typ)
2.2. Perangkat Lunak (Software)
2.2.1. Bahasa Assembly MCS-51
Bahasa yang digunakan untuk memprogram IC mikrokontroller AT89S51 adalah bahasa assembly untuk MCS-51. angka 51 merupakan jumlah instruksi pada bahasa ini hanya ada 51 instruksi. Yang sering digunakan orang hanya 10 instruksi. Instruksi – instruksi tersebut antara lain :
1. Instruksi MOV
Perintah ini merupakan perintah untuk mengisikan nilai ke alamat atau register tertentu. Pengisian nilai dapat secara langsung atau tidak langsung.
Contoh pengisian nilai secara langsung : MOV R0,#20h
Perintah di atas berarti : isikan nilai 20 Heksadesimal ke register 0 (R0). Tanda # sebelum bilangan menunjukkan bahwa bilangan tersebut adalah nilai. Contoh pengisian nilai secara tidak langsung :
MOV 20h,#80h ...
Perintah di atas berarti : isikan nilai yang terdapat pada alamat 20 Heksadesimal ke register 0 (R0).
Tanpa tanda # sebelum bilangan menunjukkan bahwa bilangan tersebut adalah alamat. meneruskan ke perintah pada baris berikutnya.
3. Instruksi ACALL
ACALL TUNDA pemanggil setelah instruksi ACALL dilaksanakan.
Contoh : ACALL TUNDA
Instruksi ini merupakan perintah untuk lompat ke alamat tertentu. Contoh : Loop :
6. Instruksi JB (Jump if bit)
Instruksi ini merupakan perintah untuk lompat ke alamat tertentu, jika pin yang dimaksud berlogika high (1).
Contoh : Loop :
JB P1.0,Loop ...
7. Instruksi JNB (Jump if Not bit)
Instruksi ini merupakan perintah untuk lompat ke alamat tertentu, jika pin yang dimaksud berlogika Low (0).
Contoh : Loop :
JNB P1.0,Loop ...
8. Instruksi CJNZ (Compare Jump If Not Equal)
Instruksi ini berfungsi untuk membandingkan nilai dalam suatu register dengan suatu nilai tertentu.
Contoh : Loop :
...
Jika nilai R0 tidak sama dengan 20h, maka program akan lompat ke rutin Loop. Jika nilai R0 sama dengan 20h,maka program akan melanjutkan instruksi selanjutnya..
9. Instruksi DEC (Decreament)
Instruksi ini merupakan perintah untuk mengurangi nilai register yang dimaksud dengan 1.
Contoh : MOV R0,#20h R0 = 20h ...
DEC R0 R0 = R0 – 1 ...
10. Instruksi INC (Increament)
2.2.2 Software 8051 Editor, Assembler, Simulator (IDE)
Instruksi-instruksi yang merupakan bahasa assembly tersebut dituliskan pada sebuah editor, yaitu 8051 editor, assembler, simulator (IDE). Tampilannya seperti di bawah ini.
Gambar 2.11 8051 Editor, assembler, simulator (IDE)
mengubah program yang kita tuliskan ke dalam bilangan heksadesimal, proses perubahan ini terjadi pada saat peng-compile-an. Bilangan heksadesimal inilah yang akan dikirimkan ke mikrokontroller.
2.2.3 Software Downloader
Untuk mengirimkan bilangan-bilangan heksadesimal ini ke mikrokontroller digunakan software ISP- flash programmer 3.0a yang dapat didownload dari internet. Tampilannya seperti gambar di bawah ini
BAB 3
PERANCANGAN ALAT DAN PROGRAM
Pada bab ini akan dibahas mengenai perancangan sistem pengamanan kebakaran mulai dari diagram blok, flowchart, rangkaian power supply, rangkaian mikrokontroller AT89S51, rangkaian ADC, rangkaian alarm, rangkaian pengendali kipas, rangkaian pengendali pompa air dan rangkaian sevent segment serta pemprogramannya.
3.1Diagram Blok
Mikrokontroller
Gambar 3.1 Diagram blok sistem
Su hu N aik ? menghidupkan alarm dan pompa untuk memompakan air
3.3Rangkaian Power Supply ( PSA )
Rangkaian ini berfungsi untuk mensuply tegangan ke seluruh rangkaian yang ada. Rangkaian PSA yang dibuat terdiri dari dua keluaran, yaitu 5 volt dan 12 volt, keluaran 5 volt digunakan untuk mensuply tegangan ke seluruh rangkaian, sedangkan keluaran 12 volt digunakan untuk mensuply tegangan ke relay. Rangkaian power supply ditunjukkan pada gambar 3.3 berikut ini :
Gambar 3.3 Rangkaian power supply (PSA)
Trafo Center Top (CT) merupakan trafo step down yang berfungsi untuk menurunkan tegangan dari 220 volt AC menjadi 12 volt AC. Kemudian 12 volt AC akan disearahkan menggunakan dua buah dioda, selanjutnya 12 volt DC akan
TIP 32 disini berfungsi untuk mensuply arus apabila terjadi kekurangan arus pada rangkaian, sehingga regulator tegangan (LM7805CT) tidak akan panas ketika rangkaian butuh arus yang cukup besar. Tegangan 12 volt DC langsung diambil dari keluaran 2 buah dioda penyearah.
3.4Rangkaian Mikrokontroller AT89S51
Rangkaian ini berfungsi sebagai pusat kendali dari seluruh sistem yang ada. Rangkaian mikrokontroller ditunjukkan pada gambar berikut ini :
Gambar 3.4 Rangkaian mikrokontroller AT89S51
kecepatan mikrokontroller AT89S51 dalam mengeksekusi setiap perintah dalam program. Pin 9 merupakan masukan reset (aktif tinggi). Pulsa transisi dari rendah ke tinggi akan me-reset mikrokontroller ini. Pin 32 sampai 39 adalah Port 0 yang merupakan saluran/bus I/O 8 bit open collektor dapat juga digunakan sebagai multipleks bus alamat rendah dan bus data selama adanya akses ke memori program eksternal. Pada port 0 ini masing masing pin dihubungkan dengan resistor 4k7 ohm. Resistor 4k7 ohm yan dihubungkan ke port 0 befungsi sebagai pull up (penaik
tegangan ) agar output dari mikrokontroller dapat mentrigger transistor. Pin 1 sampai
8 adalah port 1. Pin 21 sampai 28 adalah port 2. Dan Pin 10 sampai 17 adalah port 3. Pin 39 yang merupakan P0.0 dihubungkan dengan sebuah resistor 330 ohm dan sebuah led.
3.5 Rangkaian ADC
Rangkaian ADC ini berfungsi untuk mengubah data analog yang dihasilkan oleh sensor suhu LM35 dan sensor asap AF30 menjadi data digital. Output dari ADC dihubungkan ke mikrokontroller. Sehingga mikrokontroller dapat mengetahui suhu yang terdapat di dalam ruangan dan mendeteksi ada atau tidaknya asap di dalam ruangan Dengan demikian proses pengukuran suhu dan pendeteksian asap dapat dilakukan. Gambar rangkaian ADC ditunjukkan pada gambar di bawah ini :
Input ADC dihubungkan ke sensor suhu LM35 dan sensor asap AF30, sehingga setiap perubahan tegangan pada LM35 dan AF30 akan dideteksi oleh ADC. Agar output yang dihasilkan oleh ADC bagus, maka tegangan refrensi ADC harus benar-benar stabil, karena perubahan tegangan refrensi pada ADC akan mengubah output ADC tersebut. Oleh sebab itu pada rangkaian ADC di atas tegangan masukan 12 volt dimasukkan ke dalam IC regulator tegangan 9 volt (7809) agar keluarannya menjadi 9 volt, kemudian keluaran 9 volt ini dimasukkan kedalam regulator tegangan 5 volt (7805), sehingga keluarannya menjadi 5 volt. Tegangan 5 volt inilah yang menjadi tegangan refrensi ADC.
Dengan demikian walaupun tegangan masukan turun setengahnya, yaitu dari 12 volt menjadi 6 volt, tegangan refrensi ADC tetap 5 volt. Output dari ADC dihubungkan ke mikrokontroller, sehingga setiap perubahan output ADC yang disebabkan oleh perubahan inputnya akan diketahui oleh mikrokontoller.
3.6 Rangkaian Alarm
Gambar 3.6 Rangkaian alarm
Hal ini akan menyebabkan saklar pada relay terputus, sehingga sumber tegangan 12 volt dengan buzzer akan terputus dan buzzer tidak berbunyi.
3.7Rangkaian Pengendali Kipas
Rangkaian pengendali kipas ini berfungsi untuk menurunkan suhu apabila terjadi kenaikan suhu. Gambar rangkaian pengendali kipas ini ditunjukkan pada gambar 3.7 berikut ini :
Gambar 3.7 Rangkaian pengendali kipas
Pada saat logika port 0.7 tinggi (high), maka transistor mendapat tegangan bias dari kaki basis. Dengan adanya tegangan bias ini maka transistor akan aktip (saturation), sehingga ada arus yang mengalir ke kumparan relay. Hal ini akan menyebabkan saklar pada relay menjadi tertutup, sehingga sumber tegangan 12 volt akan terhubung ke kipas dan kipas akan berputar. Begitu juga sebaliknya pada saat logika port 0.7 rendah (low) maka relay tidak dialiri arus. Hal ini akan menyebabkan saklar pada relay terputus, sehingga sumber tegangan 12 volt dengan kipas akan terputus dan kipas berhenti berputar.
3.8Rangkaian Pengendali Pompa air
Rangkaian pengendali pompa air ini berfungsi untuk memompakan air jika terjadi kebakaran dalam ruangan. Gambar rangkaian pengendali pompa air ini ditunjukkan pada gambar 3.8 berikut ini :
Output dari relay yang satu dihubungkan ke sumber tegangan 12 volt dan yang lainnya dihubungkan ke pompa. Hubungan yang digunakan adalah normally close. Prinsip kerja rangkaian ini pada dasarnya memanfaatkan fungsi transistor sebagai saklar elektronik. Tegangan atau sinyal pemicu dari transistor berasal dari mikrokontroller Port 0.0. Pada saat logika port 0.0 adalah tinggi (high), maka transistor mendapat tegangan bias dari kaki basis. Dengan adanya tegangan bias ini maka transistor akan aktip (saturation), sehingga ada arus yang mengalir ke kumparan relay. Hal ini akan menyebabkan saklar pada relay menjadi tertutup, sehingga hubungan sumber tegangan 12 volt ke pompa akan terhubung dan pompa akan bekerja menyemprotkan air. Begitu juga sebaliknya pada saat logika port 0.0 adalah rendah (low) maka relay tidak dialiri arus. Hal ini akan menyebabkan saklar pada relay terputus, sehingga sumber tegangan 12 volt dengan pompa akan terputus dan pompa berhenti menyemprotkan air.
3.9Rangkaian Display Seventt Segment
Gambar 3.9 Rangkaian display sevent segment
Display ini menggunakan 3 buah sevent segment yang dihubungkan ke IC HEF 4094BP yang merupakan IC serial to paralel. IC ini akan mengubah 8 bit data serial yang masuk menjadi keluaran 8 bit data paralel. Rangkaian ini dihubungkan dengan P3.0 dan P3.1 AT89S51
dioda dapat menurunkan tegangan sekitar 0,6 volt. Jadi, apabila dioda yang digunakan dua buah maka tegangan yang dapat diturunkannya adalah 1,2 volt. Tegangan ini diturunkan agar umur sevent segment lebih tahan lama dan karena tegangan maksimum sevent segment adalah 3,7 volt.
3.10 Program
bil0 equ 20h ;tampil angka 0 bil1 equ 0ech ;tampil angka 1 bil2 equ 18h ;tampil angka 2 bil3 equ 88h ;tampil angka 3 bil4 equ 0c4h ;tampil angka 4 bil5 equ 82h ;tampil angka 5 bil6 equ 02h ;tampil angka 6 bil7 equ 0e8h ;tampil angka 7 bil8 equ 0h ;tampil angka 8 bil9 equ 80h ;tampil angka 9
alarm bit p1.1 air bit p1.2
paling_utama: clr kipas clr alarm clr air
clr p3.7 acall tadc setb p3.7 utama:
jb p3.7,$ acall tadc
mov b,#5 div ab mov 71h,a mov 70h,b
mov r0,70h acall konversi
mov 73h,r1 ;73h nilai satuan des mov r0,71h
acall konversi
mov 74h,r1 ;74h nilai puluhan des mov r0,72h
acall konversi
mov 75h,r1 ;75h nilai ratusan des acall kirim_disp
mov a,62h mov 62h,p0
cjne a,#31h,paling_utama call cek_asap
sjmp utama
cek_asap:
jnb p2.7,hidup_kipas clr kipas
call hidup_air ret
hidup_air: setb air setb alarm
hidup_kipas: setb kipas
call tunda_kipas_5detik ret
tunda_kipas_5detik: mov r7,#200
tnd_kps: mov r6,#255 td_kp: mov r5,#100 djnz r5,$ djnz r6,td_kp
djnz r7,tnd_kps ret
tnd_pmp: mov r6,#255 td_mp: mov r5,#100 djnz r5,$
djnz r6,td_mp djnz r7,tnd_pmp ret konversi:
cjne r0,#0,satu mov r1,#bil0 ret
satu:
cjne r0,#1,dua mov r1,#bil1 ret
cjne r0,#2,tiga mov r1,#bil2 ret
tiga:
cjne r0,#3,empat mov r1,#bil3 ret
empat:
cjne r0,#4,lima mov r1,#bil4 ret
lima:
cjne r0,#5,enam mov r1,#bil5 ret
enam:
mov r1,#bil6 ret
tujuh:
cjne r0,#7,delapan mov r1,#bil7 ret
delapan:
cjne r0,#8,sembilan mov r1,#bil8 ret
sembilan:
cjne r0,#9,konversi mov r1,#bil9 ret
kirim_disp:
jnb ti,$ clr ti
mov sbuf,73h jnb ti,$ clr ti
mov sbuf,74h jnb ti,$ clr ti
mov sbuf,75h jnb ti,$ clr ti ret tunda:
ret
tadc:
mov r7,#40 adc: mov r6,#40 djnz r6,$ djnz r7,adc ret
end
jb p2.0,$ acall tadc
mov a,p0 mov b,#3 div ab mov 72h,a mov b,#5 div ab mov 71h,a mov 70h,b acall tunda mov a,62h mov 62h,p0
cjne a,#0ffh,paling_utama call kirim_data
kirim_data: mov r3,#2 loop_data: call ada_asap djnz r3,loop_data ret
ada_asap: setb data_asap ret
tunda:
mov r7,#80 tnd: mov r6,#80 djnz r6,$ djnz r7,tnd ret
mov r7,#40 adc: mov r6,#40 djnz r6,$ djnz r7,adc ret
BAB 4
PENGUJIAN RANGKAIAN
4.1 Pengujian Rangkaian Power Supply (PSA)
4.2 Pengujian Rangkaian Mikrokontroller AT89S51
Untuk mengetahui apakah rangkaian mikrokontroller AT89S51 telah bekerja dengan baik, maka dilakukan pengujian. Pengujian bagian ini dilakukan dengan memberikan program sederhana pada mikrokontroller AT89S51. Programnya adalah sebagai berikut :
LED ini hidup selama beberapa saat. Perintah Clr P0.0 akan menjadikan P0.0 berlogika low yang menyebabkan LED akan mati. Perintah Acall tunda akan menyebabkan LED ini mati selama beberapa saat. Perintah Sjmp Loop akan menjadikan program tersebut berulang, sehingga LED tersebut akan tampak berkedip.
Jika program tersebut diisikan ke mikrokontroller AT89S51, kemudian mikrokontroller dapat berjalan sesuai dengan program yang diisikan, maka rangkaian minimum mikrokontroller AT89S51 telah bekerja dengan baik.
4.3 Pengujian Rangkaian Display Sevent Segment
Gambar 4.1 Pengujian rangkaian display sevent segment dengan
Dari hasil pengujian diperoleh data yang harus dikirimkan ke port serial untuk menampilkan angka desimal adalah sebagai berikut :
Tabel 4.1 Hasil pengujian rangkaian display sevent segment
Angka Data yang dikirim
1 0ECH
bil7 equ 0e8h segment. Programnya adalah sebagai berikut :
Loop:
mov sbuf,#bil1
Jnb ti,$
mov sbuf,#bil2
Program di atas akan menampilkan angka 1 pada sevent segment ketiga, angka 2 pada sevent segment kedua dan angka 3 pada sevent segment pertama.
4.4. Pengujian Rangkaian ADC
Mikrokontroller diisi dengan program untuk membaca nilai yang ada pada rangkaian ADC, kemudian hasil pembacaannya ditampilkan pada display sevent segment. Programnya adalah sebagai berikut :
mov a,p2 mov b,#100
div ab
mov 70h,a
mov a,b
mov b,#10
div ab
mov 71h,a
mov 72h,b
Tabel 4.2 Hasil pengujian rangkaian ADC
Suhu terukur (˚C) Output LM35 (milivolt) Output ADC Tampilan Display 27
4.5 Pengujian Rangkaian Alarm
hubungan alarm ke sumber tegangan akan terhubung, sebaliknya jika relay tidak aktip, maka hubungan alarm ke sumber tegangan akan terputus.
Pengujian dilakukan dengan memberikan tegangan 5 volt pada basis transistor, jika relay aktip dan buzzer berbunyi, maka rangkaian ini telah berfungsi dengan baik. Pengujian selanjutnya dilakukan dengan menghubungkan input rangkaian ini ke mikrokontroller pada P0.1.
Gambar 4.2 Pengujian rangkaian alarm dengan mikrokontroller
kemudian memberikan program sederhana pada mikrokontroller AT89S51. Program yang diberikan adalah sebagai berikut :
Setb P0.1
. . .
C945, sehingga relay juga menjadi aktip dan alarm berbunyi. Berikutnya memberikan program sederhana untuk menonaktipkan relay. Programnya sebagai berikut :
Clr P0.1
. . .
Perintah di atas akan memberikan logika low pada P0.1, sehingga P0.1 akan mendapatkan tegangan 0 volt. Tegangan 0 volt ini akan menonaktipkan transistor C945, sehingga relay juga menjadi tidak aktip dan alarm tidak berbunyi.
4.6 Pengujian Rangkaian Pengendali Pompa air
Pengujian dilakukan dengan memberikan tegangan 5 volt pada basis transistor, jika relay aktip dan pompa akan bekerja, maka rangkaian ini telah berfungsi dengan baik.
Pengujian selanjutnya dilakukan dengan menghubungkan input rangkaian ini ke mikrokontroller pada P0.0.
Gambar 4.3 Pengujian rangkaian pengendali pompa dengan mikrokontroller
kemudian memberikan program sederhana pada mikrokontroller AT89S51. Program yang diberikan adalah sebagai berikut :
Setb P0.0
. . .
C945, sehingga relay juga menjadi aktip dan pompa menyala. Berikutnya memberikan program sederhana untuk menonaktipkan relay. Programnya sebagai berikut :
Clr P0.0
. . .
Perintah di atas akan memberikan logika low pada P0.0, sehingga P0.0 akan mendapatkan tegangan 0 volt. Tegangan 0 volt ini akan menonaktipkan transistor C945, sehingga relay juga menjadi tidak aktip dan pompa tidak menyala.
4.7 Pengujian Rangkaian Pengendali Kipas
dan kipas berputar, maka rangkaian ini telah berfungsi dengan baik. Pengujian selanjutnya dilakukan dengan menghubungkan input rangkaian ini ke mikrokontroller pada P0.7.
Gambar 4.4 Pengujian rangkaian pengendali kipas dengan mikrokontroller
kemudian memberikan program sederhana pada mikrokontroller AT89S51. Program yang diberikan adalah sebagai berikut:
Setb P0.7
. . .
Perintah di atas akan memberikan logika high pada P0.0, sehingga P0.0 akan mendapatkan tegangan 5 volt. Tegangan 5 volt ini akan mengaktipkan transistor C945, sehingga relay juga menjadi aktip dan kipas berputar. Berikutnya memberikan program sederhana untuk menonaktipkan relay. Programnya sebagai berikut :
. . .
Perintah di atas akan memberikan logika low pada P0.7, sehingga P0.7 akan mendapatkan tegangan 0 volt. Tegangan 0 volt ini akan menonaktipkan transistor C945, sehingga relay juga menjadi tidak aktip dan kipas tidak berputar.
4.8 Pengujian Sensor Asap AF30
Pengujian sensor ini dilakukan dengan mengukur Vout dan Ground sensor asap AF30 dengan volmeter.
Gambar 4.5. Test sirkuit sensor asap AF30
Tabel 4.3 Pengukuran sensor asap AF30 dalam keadaan normal
Keadaaan Tegangan (Volt) Biner Heksa (H)
Normal 4 10010111 097
Demikian sebaliknya, apabila keadaan ada asap, tegangan keluaran jika diukur adalah sebagai berikut :
Tabel 4.4 Hasil pengukuran sensor asap AF30 dalam keadaan ada asap
Keadaan Tegangan (Volt) Biner Heksa (H) Ada Asap 4,08
4.9 Pengujian Sensor LM35
BAB 5
PENUTUP
5.1 Kesimpulan
Setelah melakukan pembuatan dan percobaan prototype pengaman kebakaran menggunakan metode pendeteksian asap dan kenaikan suhu berbasis mikrokontroller AT89S51, dapat diambil kesimpulan sebagai berikut :
1. Sistem ini dikatakan efektif apabila suhu naik dan tidak terdapat asap maka kipas akan berputar untuk menurunkan suhu dan saat suhu naik dan ada asap maka alarm akan berbunyi dan pompa akan memompakan air.
2. Sensor suhu LM35 berfungsi sebagai pengubah dari besaran fisis suhu ke besaran tegangan yang memiliki koefisien sebesar 10 mV /C yang artinya bahwa kenaikan suhu 1 C maka akan terjadi kenaikan tegangan sebesar 10 mV.
konsentrasi tertentu, maka sensor akan menganggap terdapat asap di udara / diruangan tersebut.
5.2 Saran
1. Agar sistem atau rangkaian yang digunakan tidak terganggu, sebaiknya alat ini dikemas dalam bentuk yang lebih aman dan terlindungi sehingga penggunaannya lebih efektif.
2. Alangkah baiknya jika alat ini di manfaatkan dan diisolasikan kegunaannya dikalangan mahasiswa, guna mengembangkan teknologi dan inovasi dikalangan mahasiswa.
DAFTAR PUSTAKA
Agfianto. 2004. Belajar Mikrokontroller AT89C51/52/55 Teori dan Aplikasi. Edisi Kedua. Yogyakarta : Gava Media.
Andi. 2003. Panduan Praktis teknik Antarmuka dan Pemrograman Mikrokontroller
AT89C51. Jakarta : PT. Elex Media Komputindo.