Implementasi Kabel Listrik Sebagai Sensor Cairan Dalam Menentukan Batas Pengisian Dan Pengosongan Tangki

(1)

IMPLEMENTASI KABEL LISTRIK SEBAGAI SENSOR CAIRAN

DALAM MENENTUKAN BATAS PENGISIAN DAN

PENGOSONGAN TANGKI

TUGAS AKHIR

HENDRA BANJARNAHOR

042408043

PROGRAM STUDI D-III FISIKA INSTRUMENTASI

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

MEDAN 2007


(2)

IMPLEMENTASI KABEL LISTRIK SEBAGAI SENSOR CAIRAN

DALAM MENENTUKAN BATAS PENGISIAN DAN

PENGOSONGAN TANGKI

TUGAS AKHIR

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh Ahli Madya

HENDRA BANJARNAHOR

042408043

PROGRAM STUDI D-III FISIKA INSTRUMENTASI

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

MEDAN 2007


(3)

PERSETUJUAN

Judul : IMPLEMENTASI KABEL LISTRIK SEBAGAI

SENSOR CAIRAN DALAM MENENTUKAN BATAS PENGISIAN DAN PENGOSONGAN TANGKI

Kategori : TUGAS AKHIR

Nama : HENDRA BANJARNAHOR

Nomor Induk Mahasiswa : 042408043

Program Studi : DIPLOMA (D3) FISIKA INSTRUMENTASI

Departemen : FISIKA

Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA

Diluluskan di Medan, 28 Juli 2007

Diketahui/Disetujui oleh

Departemen Fisika FMIPA USU Pembimbing

Ketua,

Dr. Marhaposan Situmorang Dra. Justinon, M.Si


(4)

PERNYATAAN

IMPLEMENTASI KABEL LISTRIK SEBAGAI SENSOR CAIRAN DALAM MENENTUKAN BATAS PENGISIAN DAN PENGOSONGAN TANGKI

TUGAS AKHIR

Saya mengakui bahwa tugas akhir ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, 27 Juli 2007

HENDRA BANJARNAHOR 042408043


(5)

PENGHARGAAN

Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa karena atas berkat rahmat dan karunia-Nya penulis dapat menyelesaikan Tugas Akhir ini.

Tugas Akhir ini disusun untuk melengkapi persyaratan dalam mencapai gelar Ahli Madya pada Program Studi D-3 Fisika Instrumentasi Departemen Fisika Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara. Adapun judul Tugas Akhir ini adalah “ Implementasi Kabel Listrik Sebagai Sensor Cairan Dalam Menentukan Batas Pengisian dan Pengosongan Tangki.

Penulis menyadari bahwa tersusunnya Tugas Akhir ini tidak terlepas dari perhatian, bimbingan dan dukungan dari berbagai pihak baik bantuan moril maupun material yaitu kepada :

1. Bapak Dr. Eddy Marlianto, selaku Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam.

2. Bapak Dr. Marhaposan Situmorang, selaku Ketua Program Studi Fisika Instrumentasi.

3. Ibu Dra. Justinon M.Si, selaku dosen pembimbing Tugas Akhir.

4. Tugas Akhir ini penulis dedikasikan untuk almarhum ayah yang telah memberikan sebuah motivasi dan dorongan yang akan terus penulis kenang. 5. Terimakasih kepada ibu, kakak dan abang yang selalu memberi semangat

sehingga penulis dapat dengan cepat menyelesaikan Tugas Akhir ini 6. Rekan-rekan mahasiswa Fisika Instrumentasi khususnya stambuk 04

Penulis menyadari bahwa Tugas Akhir ini masih belum sempurna dalam materi serta penyajiannya, untuk itu penulis mengharapkan saran dan kritik yang bersifat membangun dari semua pihak yang dapat menjadi bahan masukan bagi penulis.

Semoga Tugas Akhir ini menjadi suatu masukan dalam perkembangan dunia pendidikan terutama generasi penerus Fisika Instrumentasi.

Medan, Agustus 2007 Penulis


(6)

ABSTRAK

Sensor air yang digunakan adalah dengan memanfaatkan dua buah kabel yang berdampingan yang mana apabila air menyentuh kedua kabel tersebut maka akan ada arus yang mengalir dari positif ke negatif.

Dengan memanfaatkan kondisi Short seperti ini kita sudah dapat membuat sebuah sensor air sinyal yang dihasilkan oleh sensor akan diterim oleh oleh rangkaian penerima agar menghasilkan sinyal tertentu, dimana jika air menyentuh sensor maka output dari rangkaian penerima ini akan mengeluarkan logika low (0), namun jika sensor tidak terkena air maka output dari rangkaian penerima akan mengeluarkan logika high (1) dimana LED akan menyala jika sensor terkena air dan LED akan mati jika sensor tidak terkena air.

Sensor air ini dapat berfungsi untuk mengetahui tinggi rendahnya suatu cairan dalam tangki dan juga dapat dikembangkan untuk mengukur berapa batas ketinggian cairan dalam suatu tangki.


(7)

DAFTAR ISI

Halaman

Persetujuan ii

Pernyataan iii

Penghargaan iv

Abstrak v

Daftar Isi vi

Daftar Tabel vii

Daftar Gambar viii

Bab 1 Pendahuluan 1.1Latar Belakang Masalah 1

1.2Rumusan Masalah 2

1.3Tujuan Penulisan 2

1.4Metode Penulisan 2

1.5Sistematika Penulisan 3

Bab 2 Tinjauan Pustaka 2.1. Arsitektur Mikrokontroler AT89S51 5

2.1.1 Konstruksi AT89S51 7

2.2 Relay 12

2.3 Bahasa Assembly MCS-51 14

2.4 Software 8051 Editor, Assembler, Simulator 17

2.5 Software Downloader 18

Bab 3 Perancangan Alat dan Program 3.1 Diagram Blok 19

3.2 Perancangan Power Supply 20

3.3 Rangkaian Mikrokontroler AT89S51 22

3.4 Rangkaian Pengendali Alarm 23

3.5 Perancangan Sensor Air 25

3.6 Rangkaian Pengendali Pompa 26

Bab 4 Pembahasan Rangkaian dan Program 4.1 Rangkaian minimum Mikrokontroler AT89S51 29


(8)

Bab 5 Penutup

5.1 Kesimpulan 34

5.2 Saran 35


(9)

DAFTAR TABEL

Halaman


(10)

DAFTAR GAMBAR

Halaman

Gambar 2.1. IC Mikrokontroler AT89S51 9

Gambar 2.2 Simbol Relay dan Rangkaian Driver 14 Gambar 2.3 Software 8051, Assembler dan Simulator 18

Gambar 2.4 ISP- Flash Programmer 3.a 18

Gambar 3.1 Diagram Blok Rangkaian 19

Gambar 3.2 Rangkaian Power Supplay (PSA) 21 Gambar 3.3 Rangkaian Mikrokontroller AT89S51 22 Gambar 3.4 Rangkaian Pengendali Alarm 24 Gambar 3.5 Rangkaian Pengendali Pompa 27


(11)

ABSTRAK

Sensor air yang digunakan adalah dengan memanfaatkan dua buah kabel yang berdampingan yang mana apabila air menyentuh kedua kabel tersebut maka akan ada arus yang mengalir dari positif ke negatif.

Dengan memanfaatkan kondisi Short seperti ini kita sudah dapat membuat sebuah sensor air sinyal yang dihasilkan oleh sensor akan diterim oleh oleh rangkaian penerima agar menghasilkan sinyal tertentu, dimana jika air menyentuh sensor maka output dari rangkaian penerima ini akan mengeluarkan logika low (0), namun jika sensor tidak terkena air maka output dari rangkaian penerima akan mengeluarkan logika high (1) dimana LED akan menyala jika sensor terkena air dan LED akan mati jika sensor tidak terkena air.

Sensor air ini dapat berfungsi untuk mengetahui tinggi rendahnya suatu cairan dalam tangki dan juga dapat dikembangkan untuk mengukur berapa batas ketinggian cairan dalam suatu tangki.


(12)

BAB 1

PENDAHULUAN

1.1 Latar Belakang Masalah

Sistem pengendalian merupakan hal yang penting di bidang teknologi dan industri. Pada bidang industri misalnya, mesin-mesin yang terdapat pada pabrik tersebut tentunya sangat membutuhkan tangki minyak untuk cadangan. Begitu pula halnya dengan tangki-tangki persediaan air minum pada PDAM. Selama ini untuk mengontrol tingkat kekosongan dan tingkat kepenuhan saat pengisian masih dilakukan secara manual, hal ini sudahlah tentu sangat tidak efisien dan membutuhkan banyak waktu.

Untuk itu perlu dibuat suatu alat yang dapat melakukan pengisian, pengosongan dan pengontrol tingkat ketinggian cairan yang terdapat pada tangki tangki tersebut secara otomatis. Level ketingian cairan adalah jawabannya. Alat ini menggunakan mikrokontroller AT89S51 sebagai pengendali utama dari sistem dan memanfaatkan sensor untuk mengetahui tingkat ketinggian air yang berada didalam tangki. Apabila tangki berada dalam keadaan kosong maka led indikator untuk


(13)

kekosongan akan hidup dan alarm akan berbunyi sebagai tanda bahwa tangki dalam keadaan kosong. Begitu juga halnya apabila tangki berada dalam keadaan penuh.

1.2 Rumusan

Berdasarkan uraian yang terdapat dalam latar belakang di atas, maka dalam tugas akhir ini akan dibuat sebuah pengendali level ketinggian cairan berbasis mikrokontroller AT89S51.

Untuk dapat menentukan batas pengisian dan pengosongan tangki dibutuhkan sebuah sensor air dan sebuah mikrokontroler untuk membandingkan nilai-nilai yang dikirimkan oleh sensor untuk mengisi dan mengosongkan tangki.

1.3 Tujuan Penulisan

1. Memanfaatkan mikrokontroler untuk mengenali nilai-nilai yang dikirimkan oleh sensor sehingga dapat mengisi dan mengosongkan tangki.


(14)

1.4 Metode Penulisan

1. Metode penulisan perpustakaan

Dengan memperoleh bahan-bahan melalui sumber bacaan yang sifatnya teoritis ilmiah.

2. Mengumpulkan data-data mengenai komponen yang digunakan.

3. Melakukan konsultasi dengan dosen pembimbing serta dosen-dosen staf pengajar yang berkaitan dengan realisasi di bidang masing-masing.

1.5 Sistematika Penulisan

Untuk mempermudah pembahasan dan pemahaman maka penulis membuat sistematika pembahasan sebagaimana sebenarnya prinsip kerja dari level ketinggian cairan, maka penulis membuat laporan ini sebagai berikut :

BAB 1 PENDAHULUAN

Dalam bab ini berisikan mengenai latar belakang, rumusan masalah, tujuan penulisan, batasan masalah, serta sistematika penulisan.


(15)

BAB 2 LANDASAN TEORI

Landasan teori, dalam bab ini dijelaskan tentang teori pendukung yang digunakan untuk pembahasan dan cara kerja dari rangkaian Teori pendukung itu antara lain tentang komponen komponen pendukung yang digunakan dalam alat.

BAB 3 PERANCANGAN ALAT DAN PROGRAM

Pada bagian ini akan dibahas perancangan dari alat, yaitu diagram blok dari rangkaian, skematik dari masing-masing rangkaian dan cara kerja dari masing – masing rangkaian.

BAB 4 ANALISA RANGKAIAN DAN SISTEM KERJA ALAT

Pada bab ini akan dibahas hasil analisa dari masing – masing rangkaian dan cara kerja dari seluruh rangkaian setelah rangkaian disatukan.


(16)

BAB 5 PENUTUP

Bab ini meliputi tentang kesimpulan dari pembahasan yang dilakukan dari tugas akhir ini serta saran apakah rangkaian ini dapat dibuat lebih efisien dan dikembangkan perakitannya pada suatu metode lain yang mempunyai sistem kerja yang sama.


(17)

BAB 2

LANDASAN TEORI

Arsitektur Mikrokontroler AT89S51

Programer Atmel seri S merupakan programer yang serbaguna , karena programer ini bisa digunakan untuk memindahkan program yang ber-ekstention .HEX ke Flash, ROM Minkrokontroller AT89S51 bisa digunakan sebagai emulasi untuk mensimulasikan program yang telah dibuat . Programer ini dilengkapi dengan lampu simulasi dan saklar simulasi sehingga program yang telah masuk dalam flash ROM dapat dijalankan pada emulator dengan fasilitas yang ada , seperti 8 buah lampu simulasi dan 8 buah mikro switch.

Pada IC AT89S51 telah diprogram secara otomatis dapat menyimpan program yang bersifat permanen , sehingga jika IC tersebut dilepas dari socket akan tetap menyimpan program dan bisa digunakan untuk mengendalikan rangkaian lain. Selain intu juga IC ini bisa digunakan atau diprogram ulang sebanyak 1000 kali. Hal ini akan sangat praktis bagi para pemula yang masih dalam tarap belajar pemrograman bahasa assembly mikrokontroler . Selain Emulator disediakan juga berbagai macam interface


(18)

seperti sebagai pelengkap untuk mempelajari mikrokontroller , seperti modul motor stepper, modul LCD, modul lampu lalu lintas , modul seven segment, modul tombol serta berbagai modul lain yang dapat disesuaikan dengan pesanan .

Programer ini mempunyai delapan lampu LED sebagai simulasi keluaran yang disambungkan dengan Port 1 dan delapan saklar kecil sebagai simulasi masukan yang disambungkan pada P3. Selain itu juga mempunyai satu socket 40 pin yang sambungannya sama dengan pin IC mikrokontroller serta empat port slot perluasan yang bisa digunakan untuk antarmuka dengan peralatan luar sistem . Slot perluasan tersebut adalah socket 40 pin yang berfungsi sebagai sambungan ke piranti lain serta port 0, port 1 port 2 dan port 3 sebagai interface ke piranti yang kita inginkan . Alat ini pada prinsipnya adalah dirancang untuk modul pembelajaran bagi para pemula yang ingin mempelajari mikrokontroller maupun bagi para praktisi yang telah mahir.

Ilustrasi yang mungkin bisa memberikan gambaran yang jelas dalam penggunaan mikrokontroler adalah aplikasi mesin tiket dalam arena permainan yang saat ini terkenal di Indonesia. Jika kita sudah selesai bermain, maka akan diberikan suatu nilai, nilai inilah yang menentukan berapa jumlah tiket yang bisa diperoleh dan jika dikumpulkan dapat ditukar dengan berbagai macam hadiah.


(19)

Sistem tiket ini ditangani dengan mikrokontroler, karena tidak mungkin menggunakan komputer PC yang harus dipasang disamping (atau di belakang) mesin permainan yang bersangkutan. Selain sistem tiket, kita juga dapat menjumpai aplikasi mikrokontroler dalam bidang pengukuran jarak jauh atau ynag dikenal dengan sistem telemetri. Misalnya pengukuran disuatu tempat yang membahayakan manusia, maka akan lebih nyaman jika dipasang suatu sistem pengukuran yang bisa mengirimkan data lewat pemancar dan diterima oleh stasiun pengamatan dari jarak yang cukup aman dari sumbernya. Sistem pengukuran jarak jauh ini jelas membutuhkan suatu sistem akuisisi data sekaligus sistem pengiriman data secara serial (melalui pemancar), yang semuanya itu bisa diperoleh dari mikrokontroler yang digunakan. Tidak seperti sistem komputer, yang mampu menangani berbagai macam program aplikasi (misalnya pengolah kata, pengolah angka dan lain sebagainya), mikrokontroler hanya bisa digunakan untuk satu aplikasi tertentu saja.

Perbedaan lainnya terletak pada perbandingan RAM-nya dan ROM. Pada sistem computer perbandingan RAM dan ROM-nya besar, artinya program-program pengguna disimpan dalam ruang RAM yang relatif besar, sedangkan rutin-rutin antarmuka perangkat keras disimpan dalam ruang ROM yang kecil. Sedangkan pada mikrokontroler, perbandingan ROM dan RAM-nya yang besar artinya program control disimpan dalam ROM (bisa Masked ROM atau Flash PEROM) yang


(20)

ukurannya relatif lebih besar, sedangkan RAM digunakan sebagai tempat penyimpanan sementara, termasuk register-register yang digunakan pada mikrokontroler yang bersangkutan.

2.1.1 Konstruksi AT89S51

Versi 40 kaki dari mikrokontroler MCS51 adalah mikrokontroler AT89S51. Mikrokontroler AT89S51 mempunyai spesifikasi memori program 4 KB Flash, memori data 2 KB RAM, 2 buah pewaktu/ timer 16-bit dan dengan teknologi CMOS

Mikrokontroler AT89S51 hanya memerlukan tambahan 3 kapasitor, 1 resistor dan 1 kristal serta catu daya 5 Volt. Kapasitor 10 mikro-Farad dan resistor 10 Kilo Ohm dipakai untuk membentuk rangkaian reset. Dengan adanya rangkaian reset ini AT89S51 otomatis direset begitu rangkaian menerima catu daya. Kristal dengan frekuensi maksimum 24 MHz dan kapasitor 30 piko-Farad dipakai untuk melengkapi rangkaian oscilator pembentuk clock yang menentukan kecepatan kerja mikrokontroler. Memori merupakan bagian yang sangat penting pada mikrokontroler. Mikrokontroler memiliki dua macam memori yang sifatnya berbeda.

.

Read Only Memory (ROM) yang isinya tidak berubah meskipun IC kehilangan


(21)

penyimpanan progam ini dinamakan sebagai memori progam. Random Access

Memori (RAM) isinya akan sirna begitu IC kehilangan catu daya, dipakai untuk

menyimpan data pada saat progam bekerja. RAM yang dipakai untuk menyimpan data ini disebut sebagai memori data.

Ada berbagai jenis ROM. Untuk mikrokontroler dengan progam yang sudah baku dan diproduksi secara masal, program diisikan ke dalam ROM pada saat IC mikrokontroler dicetak di pabrik IC. Untuk keperluan tertentu mikrokontroler mengunakan ROM yang dapat diisi ulang atau Programble-Eraseable ROM yang disingkat menjadi PEROM atau PROM. Dulu banyak dipakai UV-EPROM (Ultra

Violet Eraseable Progamble 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 mikrokontroler diisikan ke memori itu lewat bantuan alat yang dinamakan sebagai AT89S51 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. Sarana Input/Ouput yang disediakan cukup banyak dan bervariasa. AT89S51 mempunyai 32 jalur Input/Ouput. Jalur Input/Ouput paralel dikenal sebagai Port 1 (P1.0..P1.7) dan Port 3 (P3.0..P3.5 dan P3.7).


(22)

Gambar 2.1. IC Mikrokontroler AT89S51


(23)

VCC (Pin 40) Suplai tegangan GND (Pin 20) Ground

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 programming. 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. Pada saat flash programming diperlukan eksternal pull up, terutama pada saat verifikasi program.

Port 2 (Pin 21 – pin 28)

Port 2 berfungsi sebagai I/O biasa atau high order address, pada saat mengaksememori secara 16 bit. Pada saat mengakses memori 8 bit, port ini akan mengeluarkan isi dari P2 special function register. Port ini mempunyai internal pull

up dan berfungsi sebagai input dengan memberikan logika 1. Sebagai output, port ini


(24)

Port 3 (Pin 10 – pin 17)

Port 3 merupakan 8 bit port I/O dua arah dengan internal pullup. Port 3 juga mempunyai fungsi pin masing-masing, yaitu sebagai berikut :

Tabel 2.1 Fungsi Masing-masing Pin pada Port 3 Mikrokontroler

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)

P3.6 (pin 16) WR (menulis untuk eksternal data memori) P3.7 (pin 17) RD (untuk membaca eksternal data memori)

RST (pin 9)


(25)

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

PSEN (pin 29)

Program store enable digunakan untuk mengakses memori progam eksternal.

EA (pin 31)

Pada kondisi low, pin ini akan berfungsi sebagai EA yaitu mikrokontroler akan menjalankan progam yang ada pada memori eksternal setelah sistem direset. Jika kondisi high, pin ini akan berfungsi untuk menjalankan progam yang ada pada memori internal. Pada saat flash programming, pin ini akan mendapat tegangan 12V.

XTAL1 (pin 19)

Input untuk clock internal

XTAL2 (pin 18) Output dari osilator.


(26)

2.2 Relay

Relay adalah suatu rangkaian switch magnetik yang bekerja bila mendapat catu dan suatu rangkaian trigger. Relay memiliki tegangan dan arus nominal yang harus 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. Dan pemakaian jenis relay tergantung pada keadaan yang diinginkan dalam suatu rangkaian.

Menurut kerjanya relay dapat dibedakan menjadi :

1) Normaly Open (NO), saklar akan tertutup bila dialiri arus 2) Normaly Close (OFF), saklar akan tertutup bila dialiri arus

3) Change Over (CO), relay ini mempunyai saklar tunggal yang nomalnya tertutup, bila kumparan 1 dialiri arus maka saklar akan terhubung ke terminal


(27)

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, 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 dengan rangkaian driver dapat dilihat pada gambar berikut.

Gambar 2.2 Simbol relay dan Rangkaian driver Vcc

Tr VB

Dioda


(28)

Bahasa Assembly MCS-51

Bahasa Assembly adalah bahasa komputer yang kedudukannya di antara bahasa mesin dan bahasa level tinggi misalnya bahasa C atau Pascal. Bahasa C atau Pascal dikatakan sebagai bahasa level tinggi karena memakai kata-kata dan pernyataan yang mudah dimengerti manusia, meskipun masih jauh berbeda dengan bahasa manusia sesungguhnya. Bahasa mesin adalah kumpulan kode biner yang merupakan instruksi yang bisa dijalankan oleh komputer. Sedangkan bahasa Assembly memakai kode Mnemonic untuk menggantikan kode biner, agar lebih mudah diingat sehingga lebih memudahkan penulisan program.

Program yang ditulis dengan bahasa Assembly terdiri dari label; kode mnemonic dan lain sebagainya, pada umumnya dinamakan sebagai program sumber (Source Code) yang belum bisa diterima oleh prosesor untuk dijalankan sebagai program, tapi harus diterjemahkan dulu menjadi bahasa mesin dalam bentuk kode biner. Program sumber dibuat dengan program editor biasa, misalnya Notepad pada Windows atau SideKick pada DOS, selanjutnya program sumber diterjemahkan ke bahasa mesin dengan menggunakan program Assembler. Hasil kerja program Assembler adalah “program objek” dan juga “assembly listing”.


(29)

Program Objek berisikan kode kode bahasa mesin, kode-kode bahasa mesin inilah yang diumpankan ke memori-program prosesor. Dalam dunia mikrokontroler biasanya program objek ini diisikan ke UV EPROM, dan khusus untuk mikrokontroler buatan Atmel, program ini diisikan ke dalam Flash PEROM yang ada di dalam chip AT89C51 atau AT89C2051.

Assembly Listing merupakan naskah yang berasal dari program sumber, dalam naskah tersebut pada bagian sebelah setiap baris dari program sumber diberi tambahan hasil terjemahan program Assembler. Tambahan tersebut berupa nomor memori-program berikut dengan kode yang akan diisikan pada memori-memori-program bersangkutan. Naskah ini sangat berguna untuk dokumentasi dan sarana untuk menelusuri program yang ditulis.

Yang perlu diperhatikan adalah setiap prosesor mempunyai konstruksi yang berlainan, instruksi untuk mengendalikan masing-masing prosesor juga berlainan, dengan demikian bahasa Assembly untuk masing-masing prosesor juga berlainan, yang sama hanyalah pola dasar cara penulisan program Assembly saja.


(30)

Konstruksi Program Assembly

Program sumber dalam bahasa Assembly menganut prinsip 1 baris untuk satu perintah, setiap baris perintah tersebut bisa terdiri atas beberapa bagian (field), yakni bagian Label, bagian mnemonic, bagian operand yang bisa lebih dari satu dan terakhir bagian komentar. Untuk membedakan masing-masing bagian tersebut dibuat ketentuan sebagian berikut:

1. Masing-masing bagian dipisahkan dengan spasi atau TAB, khusus untuk operand yang lebih dari satu masing-masing operand dipisahkan dengan koma.

2. Bagian-bagian tersebut tidak harus semuanya ada dalam sebuah baris, jika ada satu bagian yang tidak ada maka spasi atau TAB sebagai pemisah bagian tetap harus ditulis.

3. Bagian Label ditulis mulai huruf pertama dari baris, jika baris bersangkutan tidak mengandung Label maka label tersebut digantikan dengan spasi atau TAB, yakni sebagai tanda pemisah antara bagian Label dan bagian mnemonic.

Label mewakili nomor memori-program dari instruksi pada baris bersangkutan, pad saat menulis instruksi JUMP, Label ini ditulis dalam bagian operand untuk menyatakan nomor memori-program yang dituju. Dengan demikian Label selalu mewakili nomor memori-program dan harus ditulis dibagian awal baris


(31)

instruksi. Disamping Label dikenal pula Symbol, yakni satu nama untuk mewakili satu nilai tertentu dan nilai yang diwakili bisa apa saja tidak harus nomor memori-program. Cara penulisan Symbol sama dengan cara penulisan Label, harus dimulai di huruf pertama dari baris instruksi. Mnemonic (artinya sesuatu yang memudahkan diingat) merupakan singkatan perintah, dikenal dua macam mnemonic, yakni manemonic yang dipakai sebagai instruksi mengendalikan prosesor, misalnya ADD, MOV, DJNZ dan lain sebagainya. Ada pula mnemonic yang dipakai untuk mengatur

kerja dari program Assembler misalnya ORG, EQU atau DB, mnemonis untuk mengatur

kerja dari program Assembler ini dinamakan sebagai ‘Assembler Directive’. Operand adalah bagian yang letaknya di belakang bagian mnemonic, merupakan pelangkap bagi mnemonic. Kalau sebuah instrksi di-ibaratkan sebagai kalimat perintah, maka mnemonic merupakan subjek (kata kerja) dan operand merupakan objek (kata benda) dari kalimat perintah tersebut. Tergantung pada jenis instruksinya, operand bisa berupa berbagai macam hal. Pada instruksi JUMP operand berupa Label yang mewakili

nomor memori-program yang dituju misalnya LJMP Start, pada instruksi untuk

pemindahan/pengolahan data, operand bisa berupa Symbol yang mewakili data tersebut, misalnya ADD A,#Offset. Banyak instruksi yang operandnya adalah register dari prosesor, misalnya MOV A,R1. Bahkan ada pula instruksi yang tidak mempunyai


(32)

tidak berpengaruh pada prosesor juga tidak berpengaruh pada kerja program Assembler, tapi bagian ini sangat penting untuk keperluan dokumentasi.

Software 8051 Editor, Assembler, Simulator (IDE)

Instruksi-instruksi yang merupakan bahasa assembly tersebut dituliskan pada sebuah editor, yaitu 8051 Editor, Assembler, Simulator (IDE). Sehingga dapat diprogram di mikrokontroler. Tampilannya dapat kita lihat pada gambar berikut :


(33)

Software Downloader

Untuk mengirimkan bilangan-bilangan heksadesimal ini ke mikrokontroller digunakan software Flash Programmer 3.0a sehingga mikrokontroler menyimpan data, ISP-Flash Programmer 3.0a dapat didownload dari internet seperti pada gambar berikut :


(34)

BAB 3

PERANCANGAN ALAT DAN PROGRAM

3.1 Diagram Blok

Gambar 3.1 Diagram Blok Rangkaian Pompa Pengisian Pompa Pengosongan Alarm Relay Relay

P1.0 P0.0 P0.1 P1.1 P0.2 P1.2 P03,P0.4 &P0.5 Penguat Sinyal Penguat Sinyal Penguat Sinyal Sensor Air Sensor Air Sensor Air Keypad


(35)

Keterangan diagram blok :

Sensor air yang berfungsi untuk mengetahui tingkat ketinggian air terhubung ke penguat sinyal. Output dari penguat sinyal masuk ke mikrokontroler AT89S51 melalui port 0.0,0.1 dan port 0.2 output dari keypad yang berfungsi sebagai input data masuk ke mikrokontroler AT89S51 melalui port 0.3,0.4 dan port 0.5.

Pompa yang berfungsi sebagai pengisi dan pengosong tangki terhubung ke relay dan terhubung ke port 1.0 dan port 1.1 pada mikro AT89S51. Alarm yang berfungsi sebagai penanda air telah penuh atau kosong terhubung ke port 1.2 pada mikro AT89S51.

Sistem kerja rangkaian :

Mikrokontroler akan memerintahkan pompa untuk mengisi penuh tangki apabila ada input data untuk mengisi tangki dan akan mengosongkan tangki apabila mendapat perintah pengosongan tangki sesuai dengan tingkat pengosongan. Alarm akan berbunyi apabila tangki telah berisi penuh atau berada dalam keadaan kosong.


(36)

Vreg

LM7805CT

IN OUT

TIP32C

100ohm

100uF

330ohm 220V 50Hz 0Deg

TS_PQ4_12

2200uF 1uF

1N5392GP 1N5392GP

12 Volt

5 Volt

3.2 Perancangan Power Supply (PSA)

Rangkaian ini berfungsi untuk mensupplay 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 mensupplay tegangan ke seluruh rangkaian, sedangkan keluaran 12 volt digunakan untuk mensuplay tegangan ke motor stepper.

Gambar 3.2 Rangkaian Power Supplay (PSA)

Trafo CT merupakan trafo stepdown yang berfungsi untuk menurunkan tegangan dari 220 volt AC menjadi 12 volt AC. Kemudian 12 volt AC akan disearahkan dengan menggunakan dua buah dioda, selanjutnya 12 volt DC akan diratakan oleh kapasitor 2200 μF. Regulator tegangan 5 volt (LM7805CT) digunakan


(37)

agar keluaran yang dihasilkan tetap 5 volt walaupun terjadi perubahan pada tegangan masukannya. LED hanya sebagai indikator apabila PSA dinyalakan. Transistor PNP TIP 32 disini berfungsi untuk mensupplay 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.3 Rangkaian Mikrokontroler AT89S51

Rangkaian ini berfungsi sebagai pusat kendali dari seluruh sistem yang ada. Kompoen utama dari rangkaian ini adalah IC mikrokontroler AT89S51. Pada IC inilah semua program diisikan, sehingga rangkaian dapat berjalan sesuai dengan yang dikehendaki.


(38)

5V VCC 5V VCC 10uF 2 1 30pF 30pF

XTAL 12 MHz

AT89S51 P0.3 (AD3) P0.0 (AD0) P0.1 (AD1) P0.2 (AD2) Vcc P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 P0.4 (AD4) P0.5 (AD5) P0.6 (AD6) P0.7 (AD7) RST EA/VPP P3.0 (RXD) P3.1 (TXD) P3.2 (INT0) P3.3 (INT1) P3.4 (T0) ALE/PROG PSEN P2.7 (A15) P2.6 (A14) P2.5 (A13) P2.4 (A12) P2.3 (A11) P2.2 (A10) P2.1 (A9) P3.6 (WR) P3.5 (T1) P3.7 (RD) XTAL2 XTAL1

GND P2.0 (A8)

1 2 3 4 5 6 7 8 40 39 38 37 36 35 34 33 9 10 11 12 13 14 15 32 31 30 29 28 27 26 16 17 18 19 20 25 24 23 22 21


(39)

Mikrokontroler ini memiliki 32 port I/O, yaitu port 0, port 1, port 2 dan port 3. Pin 32 sampai 39 adalah Port 0 yang merupakan saluran/bus I/O 8 bit. Pin 1 sampai 8 adalah port 1. Pin 21 sampai 28 adalah port 2. Dan Pin 10 sampai 17 adalah port 3 Pin 40 dihubungkan ke sumber tegangan 5 volt. Dan pin 20 dihubungkan ke ground. Rangkaian mikrokontroler ini menggunakan komponen kristal 12 MHz sebagai sumber clocknya. Nilai kristal ini akan mempengaruhi kecepatan mikrokontroler dalam mengeksekusi suatu perintah tertentu.

Pada pin 9 dihubungkan dengan sebuah kapasitor 10 uF yang dihubungkan ke positif dan sebuah resistor 10 Kohm yang dihubungkan ke ground. Kedua komponen ini berfungsi agar program pada mikrokontroler dijalankan beberapa saat setelah power aktif. Lamanya waktu antara aktifnya power pada IC mikrokontroler dan aktifnya program adalah sebesar perkalian antara kapasitor dan resistor tersebut. Jika dihitung maka lama waktunya adalah :

10 10 1 det

t= =ΩR x C K =x µF m ik


(40)

3.4 Rangkaian Pengendali Alarm

Apabila ada ada orang yang masuk tanpa izin, maka alarm akan bunyi. Maka pada tangki dibuat suatu alarm yang menandakan tangki berada dalam keadaan penuh atau kosong. Pada alat ini, alarm yang digunakan adalah buzzer 5 volt. Buzzer ini akan berbunyi jika positifnya dihubungkan ke sumber tegangan positip dan negatipnya negatifnya dihubungkan ke ground. Pada rangkaian di atas transistor berfungsi sebagai saklar elektronik yang dapat menghidupkan dan mematikan buzzer. Dari gambar dapat dilihat bahwa negatif buzzer dihubungkan ke kolektor dari transistor NPN (2SC945), ini berarti jika transistor dalam keadaan aktif maka kolektor akan terhubung ke emitor dimana emitor langsung terhubung ke ground yang menyebabkan tegangan di kolektor menjadi 0 volt, keadaan ini akan mengakibatkan buzzer berbunyi. Sebaliknya jika transistor tidak aktif, maka kolektor tidak terhubung ke emitor, sehingga tegangan pada kolektor menjadi 5 volt, keadaan ini menyebabkan buzzer mati.


(41)

Gambar 3.4 Rangkaian Pengendali Alarm

Transistor yang digunakan dalam rangkaian di atas adalah transistor jenis NPN, transistor jenis ini akan aktif apabila tegangan pada basis lebih besar dari 0,7 volt. Resistor 10 Kohm pada basis berguna untuk membatasi arus yang masuk pada basis agar transistor tidak rusak.

Dengan memberikan tahanan sebesar 4,7 Kohm berarti arus yang masuk ke

basis sebesar 5 0, 001 1

4.700

V volt

A mA

R = ohm= = . Seperti telah dijelaskan di atas

bahwa transistor jenis NPN akan aktif apabila tegangan pada basis lebih besar dari 0,7 volt, dimana basis dihubungkan dengan P0.4 AT89S51. P0.4 akan memiliki tegangan sebesar 5 volt jika diset high (1) dan memiliki tegangan 0 volt jika diset low (0).

C945

4.7kΩ฀

P0.4 AT89S51 5 Volt


(42)

Dengan demikian kita sudah dapat mengendalikan (menghidupkan/ mematikan) transistor melalui program.

Program yang harus diisikan untuk mengaktifkan transistor yang akan menyebabkan buzzer berbunyi adalah sebagai berikut

Setb P0.4.

Dan untuk mematikan buzzer maka program yang harus diisikan adalah Clr P0.4

Dengan demikian kita sudah dapat menghidupkan dan mematikan alarm melalui program.

3.5 Perancangan sensor air:

Sensor air yang digunakan adalah dengan memanfaatkan dua buah kabel yang berdampingan yang mana apabila air menyentuh kedua kabel tersebut maka akan ada arus yang mengalir dari positif ke negatif. Dengan memanfaatkan kondisi Short seperti ini kita sudah dapat membuat sebuah sensor air sinyal yang dihasilkan oleh


(43)

sensor akan diterim oleh oleh rangkaian penerima agar menghasilkan sinyal tertentu, dimana jika air menyentuh sensor maka output dari rangkaian penerima ini akan mengeluarkan logika low (0), namun jika sensor tidak terkena air maka output dari rangkaian penerima akan mengeluarkan logika high (1).

Output dari sensor diumpankan ke basis transistor tipe NPN C945, ini berarti untuk membuat transistor tersebut saturasi maka tegangan yang keluar dari sensor harus lebih besar dari 0,7 volt. Emiter transistor C945 diinputkan ke Op Amp LM 358 untuk diperkuat. LM358 merupakan IC penguat dengan dua Op Amp. Pada Op Amp pertama tegangan input akan diperkuat sampai maksimal 100 kali penguatan,

dimana:

Ω =

K R

A Potensio

V

1

Penguatan ini dapat diatur dengan mengatur hambatan pada potensio. Output Op Amp pertama akan diperkuat lagi sampai maksimum 100 kali penguatan. Dengan demikian penguatan dapat diatur sesuai dengan yang dikehendaki. LED ini akan menyala jika sensor terkena air, dan akan mati jika sensor tidak terkena air.


(44)

Rangkaian Pengendali pompa

Rangkaian pompa berfungsi untuk mengisi dan mengosongkan tangki seperti yang tampak pada gambar.

Gambar 3.5 Rangkaian Pengendali Pompa

Pada alat ini, pompa yang digunakan adalah pompa 220 volt AC, pompa ini akan menyala jika positipnya dihubungkan ke summber tegangan positif dan negatifnya dihubungkan ke ground. Pada rangkaian di atas, untuk menghubungkan rangkaian dengan 220V AC digunakan relay. Relay merupakan salah satu komponen elektronik yang terdiri dari lempengan logam sebagai saklar dan kumparan yang berfungsi untuk menghasilkan medan magnet. Pada rangkaian ini digunakan relay 12

2SC945

4.7k

P0.2 AT89S51 Dioda

K

Relay 12V

12 volt DC alarm

pomp a


(45)

volt, ini berarti jika positif relay (kaki 1) dihubungkan ke sumber tegangan 12 volt dan negatip relay (kaki 2) dihubungkan ke ground, maka kumparan akan menghasilkan medan magnet, dimana medan magnet ini akan menarik logam yang mengakibatkan saklar (kaki 3) terhubung ke kaki 4. Dengan demikian, jika kita gunakan kaki 3 dan kaki 4 pada relay sebagai saklar untuk menghidupkan/mematikan alarm maka kita dapat menghidupkan/ mematikan alarm dengan cara mengaktifkan atau menon-aktifkan relay.

Pada rangkaian ini untuk mengaktifkan atau menon-aktifkan relay digunakan transistor tipe NPN.. Dari gambar dapat dilihat bahwa negatif relay dihubungkan ke kolektor dari transistor NPN (2SC945), ini berarti jika transistor dalam keadaan aktif maka kolektor akan terhubung ke emitor dimana emitor langsung terhubung ke ground yang menyebabkan tegangan di kolektor menjadi 0 volt, keadaan ini akan mengakibatkan relay aktif. Sebaliknya jika transistor tidak aktif, maka kolektor tidak terhubung ke emitor, sehingga tegangan pada kolektor menjadi 12 volt, keadaan ini menyebabkan tidak aktif. Kumparan pada relay akan menghasilkan tegangan singkat yang besar ketika relay dinon-aktifkan dan ini dapat merusak transistor yang ada pada rangkaian ini. Untuk mencegah kerusakan pada transistor tersebut sebuah dioda harus dihubungkan ke relay tersebut. Dioda dihubungkan secara terbalik sehingga secara normal dioda ini tidak menghantarkan. Penghantaran hanya terjadi ketika relay


(46)

dinonaktifkan, pada saat ini arus akan terus mengalir melalui kumparan dan arus ini akan dialirkan ke dioda. Tanpa adanya dioda arus sesaat yang besar itu akan mengalir ke transistor, yang mengakibatkan kerusakan pada transistor.

Program yang harus diisikan untuk mengaktifkan transistor yang akan mengaktifkan relay, sehingga lampu hidup adalah

Setb P0.2

Dan untuk mematikan lampu maka program yang harus diisikan adalah Clr P0.2

Dengan demikian kita sudah dapat menghidupkan dan mematikan pompa melalui program.


(47)

BAB 4

PEMBAHASAN RANGKAIAN DAN PROGRAM

4.1 Rangkaian minimum mikrokontroller AT89S51

Pengujian rangkaian mikrokontroler dilakukan dengan menghubungkan rangkaian ini dengan sebuah transistor A733 yang dihubungkan dengan sebuah LED indikator, dimana transistor disini berfungsi sebagai saklar untuk mengendalikan hidup/mati LED. Dengan demikian LED akan menyala jika transistor aktif dan sebaliknya LED akan mati jika transistor tidak aktif. Tipe transistor yang digunakan adalah PNP A733, dimana transistor ini akan aktif (saturasi) jika pada basis diberi tegangan 0 volt (logika low) dan transistor ini akan tidak aktif jika pada basis diberi tegangan 5 volt (logika high). Basis transistor ini dihubungkan ke pin I/O mikrokontroler yaitu pada kaki 8 (P3.7).


(48)

4.2 Pemrograman

Untuk mengetahui apakah rangkaian mikrokontroler AT89S51 telah bekerja dengan baik, maka dilakukan pengujian. Pengujian bagian ini dilakukan dengan memberikan program sederhana pada mikrokontroler AT89S51.

Programnya adalah sebagai berikut : Loop:

Cpl P3.7 Acall tunda sjmp loop tunda:

mov r7,#255 tnd:

mov r6,#255 djnz r6,$ djnz r7,tnd ret


(49)

Alarm Bit P0.7 relay_Isi Bit P1.0 Relay_Kosong Bit P1.1 Atas Bit P1.2 tengah Bit P1.3 bawah Bit P1.4 Tombol_Isi Bit P0.0 Tombol_Half Bit P0.1 Tombol_Kosong Bit P0.2 Clr Alarm

Clr Relay_Isi Clr Relay_Kosong Utama:

Clr Relay_Isi Clr Relay_Kosong acall Cek_Suhu

Jb Tombol_Isi,Cek_Tombol_Half Isi_Penuh:

Setb Relay_Isi Jnb Atas,Isi_Penuh


(50)

Clr Relay_Isi Setb Alarm

acall tunda_Alarm Clr alarm

acall tunda_Alarm Setb Alarm

acall tunda_Alarm Clr alarm

sjmp utama Cek_Tombol_Half:

Jb Tombol_Half,Cek_Tombol_kosong Setengah:

Setb Relay_Kosong Jb tengah,Setengah Clr Relay_Kosong sjmp utama

Cek_Tombol_kosong:

Jb Tombol_kosong,Utama Kosongkan:


(51)

Jb bawah,Kosongkan Clr Relay_Kosong Setb Alarm

acall tunda_Alarm Clr alarm

acall tunda_Alarm Setb Alarm

acall tunda_Alarm Clr alarm

sjmp utama Tunda_Alarm: mov r7,#5 tnd_Alarm: mov r6,#255 td_Alarm:

Mov r5,#255 djnz r5,$

djnz r6,td_Alarm Djnz r7,tnd_alarm Ret


(52)

Program di atas akan mengubah logika yang ada pada P3.7 selama selang waktu tunda. Jika logika pada P3.7 high maka akan diubah menjadi low, demikian jiga sebaliknya jika logika pada P3.7 low maka akan diubah ke high, demikian seterusnya. Logika low akan mengaktifkan transistor sehingga LED akan menyala dan logika high akan menonaktifkan transistor, sehingga LED padam. Dengan demikian program ini akan membuat LED berkedip terus-menerus. Jika LED telah berkedip terus menerus sesuai dengan program yang diinginkan, maka rangkaian mikrokontroler telah berfungsi dengan baik.


(53)

BAB 5

PENUTUP

5.1 Kesimpulan

1. Pada rangkaian ini digunakan mikrokontroler AT89S51 sebagai mikrokomputer CMOS 8 bit dengan 8 Kb Flash Programmable dan Erasable Read Only Memory (PEROM).

2. Pada alat ini menggunakan sensor air yang berfungsi untuk menentukan batas ketinggian cairan. Sensor air yang digunakan adalah dengan memanfaatkan dua buah kabel yang berdampingan yang mana apabila air menyentuh kedua kabel tersebut maka akan ada arus yang mengalir dari positif ke negatif.

3. Penggunaan alat ini dapat diaplikasikan untuk mengisi dan mengosongkan cairan pada tangki-tangki besar industri baik secara manual maupun secara otomatis.


(54)

5.2 Saran

1. Agar alat ini dapat dikembangkan sehingga dapat mengukur berapa batas pengisian dan pengosongan suatu cairan dalam tangki sesuai dengan yang kita inginkan.

2. Agar dilakukan peningkatan kemampuan alat sehingga makin cerdas dengan mengkombinasikan sensor lain sehingga hasil yang diperoleh lebih teliti.


(55)

DAFTAR PUSTAKA

Afgianto,2004. Belajar Mikrokontroler AT89C51/52/55 Teori dan Aplikasi. Edisi kedua. Penerbit : Gava Media. Yogyakarta.

Andi,2003. Panduan Praktis Teknik Antarmuka dan Pemrograman AT89C51. Jakarta : Penerbit PT.Elex Media Komputindo.

Barry, Woolard.2003. Elektronika Praktis. Cetakan Kelima. Jakarta : PT. Pradnya Paramtiha.

Malvino, Albert Paul. 2003. Prinsip-Prinsip Elektronika, Jilid 1 dan 2. Edisi Pertama. Jakarta : Penerbit : Salemba Teknika.

Sutanto.1989. Dasar Elektronika. Jakarta : Universitas Indonesia (UI-PRESS).


(1)

Clr Relay_Isi Setb Alarm

acall tunda_Alarm Clr alarm

acall tunda_Alarm Setb Alarm

acall tunda_Alarm Clr alarm

sjmp utama Cek_Tombol_Half:

Jb Tombol_Half,Cek_Tombol_kosong Setengah:

Setb Relay_Kosong Jb tengah,Setengah Clr Relay_Kosong sjmp utama

Cek_Tombol_kosong:

Jb Tombol_kosong,Utama Kosongkan:


(2)

Jb bawah,Kosongkan Clr Relay_Kosong Setb Alarm

acall tunda_Alarm Clr alarm

acall tunda_Alarm Setb Alarm

acall tunda_Alarm Clr alarm

sjmp utama Tunda_Alarm: mov r7,#5 tnd_Alarm: mov r6,#255 td_Alarm:

Mov r5,#255 djnz r5,$

djnz r6,td_Alarm Djnz r7,tnd_alarm Ret


(3)

Program di atas akan mengubah logika yang ada pada P3.7 selama selang waktu tunda. Jika logika pada P3.7 high maka akan diubah menjadi low, demikian jiga sebaliknya jika logika pada P3.7 low maka akan diubah ke high, demikian seterusnya. Logika low akan mengaktifkan transistor sehingga LED akan menyala dan logika high akan menonaktifkan transistor, sehingga LED padam. Dengan demikian program ini akan membuat LED berkedip terus-menerus. Jika LED telah berkedip terus menerus sesuai dengan program yang diinginkan, maka rangkaian mikrokontroler telah berfungsi dengan baik.


(4)

BAB 5

PENUTUP

5.1 Kesimpulan

1. Pada rangkaian ini digunakan mikrokontroler AT89S51 sebagai mikrokomputer CMOS 8 bit dengan 8 Kb Flash Programmable dan Erasable Read Only Memory (PEROM).

2. Pada alat ini menggunakan sensor air yang berfungsi untuk menentukan batas ketinggian cairan. Sensor air yang digunakan adalah dengan memanfaatkan dua buah kabel yang berdampingan yang mana apabila air menyentuh kedua kabel tersebut maka akan ada arus yang mengalir dari positif ke negatif.

3. Penggunaan alat ini dapat diaplikasikan untuk mengisi dan mengosongkan cairan pada tangki-tangki besar industri baik secara manual maupun secara otomatis.


(5)

5.2 Saran

1. Agar alat ini dapat dikembangkan sehingga dapat mengukur berapa batas pengisian dan pengosongan suatu cairan dalam tangki sesuai dengan yang kita inginkan.

2. Agar dilakukan peningkatan kemampuan alat sehingga makin cerdas dengan mengkombinasikan sensor lain sehingga hasil yang diperoleh lebih teliti.


(6)

DAFTAR PUSTAKA

Afgianto,2004. Belajar Mikrokontroler AT89C51/52/55 Teori dan Aplikasi. Edisi kedua. Penerbit : Gava Media. Yogyakarta.

Andi,2003. Panduan Praktis Teknik Antarmuka dan Pemrograman AT89C51. Jakarta : Penerbit PT.Elex Media Komputindo.

Barry, Woolard.2003. Elektronika Praktis. Cetakan Kelima. Jakarta : PT. Pradnya Paramtiha.

Malvino, Albert Paul. 2003. Prinsip-Prinsip Elektronika, Jilid 1 dan 2. Edisi Pertama. Jakarta : Penerbit : Salemba Teknika.

Sutanto.1989. Dasar Elektronika. Jakarta : Universitas Indonesia (UI-PRESS).