Page 1
i
DESAIN
PENGATURAN OTOMATIS
POMPA AIR LISTRIK BERBASIS MIKROKONTROLLER
AT89S51
HALAMAN JUDUL
SKRIPSI
Untuk memenuhi sebagian persyaratan
Mencapai derajat Sarjana S-1
Diajukan oleh :
MARSUDI
06519038
PROGRAM STUDI TEKNIK ELEKTRO
FAKULTAS TEKNIK DAN ILMU KOMPUTER
UNIVERSITAS MERCU BUANA
YOGYAKARTA
2009
Page 2
ii
HALAMAN P ERSETUJUAN
Skripsi
Desain Pengaturan Otomatis
Pompa Air Listrik Berbasis Mikrokontroller AT89S51
Dipersiapkan dan disusun oleh
Marsudi (06519038)
Telah dipertahankan di depan tim Penguji
Pada tanggal Juni 2009
Susunan Tim Penguji
Dosen Pembimbing I
Supatman, S.T., M.T.
Dosen Pembimbing II
Yudianingsih, S.T., M.T.
Penguji
Nama Penguji
Skripsi ini telah diterima sebagai salah satu persyaratan
Untuk memperoleh gelar Sarjana Teknik
Dekan Fakultas Teknik dan Ilmu Komputer,
Dr. Ir. Sasongko Pramono Hadi, DEA.
Page 3
iii
HALAMAN PERSEMBAHAN
Persembahanku…
Aku Bersembah sujud hanya kepada-Mu
Hanya Engkau yang patut disembah… Allah SWT
Untukmu…
Ayah dan Ibunda tercinta...yang selalu mengasihi dan menyanyangiku
Page 4
iv
HALAMAN MOTO
Tingkatan ilmu seseorang Dapat dilihat dari perilakunya Bukan dari kata-katanya
Bangkit dan lakukanlah Karena kewajiban kita adalah tanggungjawab kita
Bukan orang lain
Dimana ada usaha Di situ pasti ada jalan Hambatan bukanlah sesuatu yang harus kita hindari Melainkan tantangan yang harus kita hadapi
Page 5
v
INTI SARI
Kemajuan ilmu pengetahuan dan teknologi berperan mewujudkan
kehidupan yang lebih baik. Teknologi elektronika merupakan salah satu teknologi
yang telah melekat di dalam kehidupan manusia, berbagai alat elektronika praktis
dan fleksibel telah banyak diciptakan sehingga membantu memudahkan manusia
dalam memenuhi kebutuhannya. Berbagai macam peralatan dengan sistem
pengoperasian secara manual semakin ditinggalkan beralih pada peralatan yang
serba otomatis, sehingga peralatan otomatis lebih mendominasi dalam kehidupan
manusia.
Alat bantu Desain Pengaturan Otomatis Pompa Air Listrik Berbasis
Mikrokontroller AT89S51didesain dengan operasional yang sederhana sehingga
mudah pengoperasiannya Setelah kabel konektor AC dihubungkan ke jala-jala
listrik 220Volt AC maka alat ini akan bekerja yaitu mengendalikan secara
otomatis mesin listrik pompa air. Alat ini berfungsi untuk menghidupkan atau
mematikan mesin listrik pompa air, jika air pada bak penampung kosong maka
alat ini akan menghidupkan mesin listrik pompa air dan jika air pada bak
penampung airnya penuh maka alat ini akan mematikan mesin listrik pompa air.
Dengan alat yang merupakan Desain Pengaturan Otomatis Pompa Air
Listrik Berbasis Mikrokontroller AT89S51diharapkan mesin listrik pompa air
dapat bekerja secara otomatis. Alat ini dilengkapi dengan saklar Full Half, jika
saklar pada posisi Full maka mesin listrik pompa air akan mengisi air sampai bak
penampung penuh, jika saklar pada posisi Half maka mesin listrik pompa air akan
mengisi bak penampung air 50% saja, hal ini diperlukan pada saat musim
kemarau yang biasanya debit air menurun.
Kata Kunci : mikrokontroller, otomatis, pompa air
Page 6
vi
KATA PENGANTAR
Alhamdulillah, puji syukur penulis panjatkan ke hadirat Allah SWT yang
telah melimpahkan Rahmat dan Karunia-Nya sehingga penulis dapat
melaksanakan dan menyusun laporan Tugas Akhir Skripsi dengan judul “ Desain
Pengaturan Otomatis Pompa Air Listrik Berbasis Mikrokontroller AT89S51”
dengan baik.
Skripsi ini merupakan salah satu syarat untuk menyelesaikan pendidikan
program S-1 di Fakultas Teknik dan Ilmu Komputer Universitas Mercu Buana
Yogyakarta.
Dalam penulisan laporan proyek akhir ini, penulis mendapatkan banyak
bantuan dan bimbingan serta saran dari berbagai pihak, maka pada kesempatan ini
penulis mengucapkan banyak terima kasih kepada :
1. Bapak Prof. Dr. Djoko Wahyono, M.Si., Apt., selaku Rektor Universitas
Mercu Buana Yogyakarta.
2. Bapak Dr. Ir.Sasongko Pramono Hadi, DEA., selaku Dekan Fakultas Teknik
dan Ilmu Komputer Universitas Mercu Buana Yogyakarta.
3. Bapak Supatman, S.T., M.T. selaku dosen pembimbing utama Fakultas
Teknik dan Ilmu Komputer Universitas Mercu Buana Yogyakarta.
4. Ibu Yudianingsih, ST., MT. selaku dosen pembimbing pendamping Fakultas
Teknik dan Ilmu Komputer Universitas Mercu Buana Yogyakarta.
Page 7
vii
5. Seluruh Dosen dan karyawan pada Fakultas Teknik dan Ilmu Komputer
Universitas Mercu Buana Yogyakarta.
6. Dan tidak lupa semua rekan mahasiswa pada Fakultas Teknik dan Ilmu
Komputer Universitas Mercu Buana Yogyakarta, yang telah memberikan
dukungan dan motivasi kepada penulis.
7. Semua pihak yang tidak mampu penulis sebutkan, yang telah membantu
dalam penelitian dan dalam penyusunan skripsi.
Penulis menyadari bahwa dalam penyusunan laporan ini tidak lepas dari
kesalahan dan kekurangsempurnaan, maka kritik dan saran yang konstruktif dari
semua pihak, akan penulis terima dengan senang hati untuk kesempurnaan
laporan ini. Akhirnya penulis berharap semoga laporan ini bermanfaat bagi
penulis dan semua pihak yang membutuhkan serta dapat menjadi amal ibadah
yang diterima di sisi-Nya. Amien.
Yogyakarta, Mei 2009
Penulis
Page 8
viii
DAFTAR ISI
HALAMAN JUDUL ................................................................................................ i
HALAMAN PERSETUJUAN ................................................................................ ii
HALAMAN PERSEMBAHAN ............................................................................. iii
HALAMAN MOTO ............................................................................................... iv
INTI SARI ............................................................................................................... v
KATA PENGANTAR ............................................................................................ vi
DAFTAR ISI ........................................................................................................ viii
DAFTAR GAMBAR ............................................................................................. xi
DAFTAR TABEL ................................................................................................. xii
DAFTAR LAMPIRAN ........................................................................................ xiii
BAB I PENDAHULUAN ....................................................................................... 1
1.1. Latar Belakang Masalah ................................................................. 1
1.1.1. Permasalahan ................................................................................... 2
1.1.2. Keaslian Penelitian .......................................................................... 2
1.2. Batasan Masalah ............................................................................ 3
1.3. Manfaat yang Diharapkan .............................................................. 3
1.4. Tujuan Penelitian ........................................................................... 4
1.5. Sistematika Penulisan .................................................................... 4
BAB II TINJAUAN PUSTAKA ............................................................................ 6
2.1. Tinjauan Pustaka ............................................................................ 6
2.2. Landasan Teori ............................................................................... 7
2.2.1. Mikrokontroller ............................................................................... 7
2.2.1.1. Hardware Mikrokontroller ....................................................... 8
2.2.1.2. Instruksi MCS-51.................................................................... 11
2.2.1.3. Sistem Interupsi AT89S51 ...................................................... 14
2.2.1.4. Sistem Timer AT89S51 .......................................................... 15
2.2.2. Saklar dan Rile .............................................................................. 20
Page 9
ix
2.2.2.1. Saklar ...................................................................................... 20
2.2.2.2. Rile ...................................................................................... 21
2.2.3. LED ............................................................................................... 24
2.2.4. Transistor Sebagai Saklar .............................................................. 25
2.2.5. Flow Chart ..................................................................................... 27
2.3. Hipotesis ....................................................................................... 28
BAB III METODOLOGI PENELITIAN ............................................................. 29
3.1. Bahan dan Alat Penelitian ............................................................ 29
3.1.1. Bahan Penelitian ............................................................................ 29
3.1.1.1. Sistem Minimum Mikrokontroller AT89S51 ......................... 29
3.1.1.2. Transistor ................................................................................ 29
3.1.1.3. Saklar ...................................................................................... 29
3.1.1.4. Rile ...................................................................................... 30
3.1.1.5. Pompa Air ............................................................................... 30
3.1.1.6. Catu Daya Teregulasi ............................................................. 30
3.1.2. Alat Penelitian ............................................................................... 30
3.1.2.1. Komputer ................................................................................ 30
3.1.2.2. Kabel ISP Programmer ........................................................... 31
3.1.2.3. Multimeter .............................................................................. 31
3.2. Langkah Penelitian ....................................................................... 32
3.2.1. Perancangan Alat ........................................................................... 32
3.2.1.1. Perancangan Hardware .......................................................... 32
3.2.1.2. Perancangan Software ............................................................. 40
3.2.2. Realisasi Sistem ............................................................................. 44
BAB IV PENGUJIAN DAN PEMBAHASAN .................................................... 45
4.1. Hasil Pengujian ............................................................................ 45
4.1.1. Sistem Minimum AT89S51 dan Output Rile ......................... 45
4.1.2. Water level Sensor .................................................................. 46
4.1.3. Saklar Mode ............................................................................ 46
4.1.4. Pengujian Sistem .................................................................... 47
4.2. Pembahasan .................................................................................. 48
Page 10
x
4.2.1. Analisis Perangkat Keras ............................................................... 48
4.2.1.1. Sistem Minimum dan Output Rile .......................................... 48
4.2.1.2. Water Level Sensor dan Saklar Mode ..................................... 48
4.2.2. Analisis Program ........................................................................... 49
4.2.3. Analisis Sistem Keseluruhan ......................................................... 53
BAB V KESIMPULAN ........................................................................................ 55
5.1. Kesimpulan .................................................................................. 55
5.2. Saran ............................................................................................. 55
DAFTAR PUSTAKA ........................................................................................... 56
Page 11
xi
DAFTAR GAMBAR
Gambar 2.1. Diagram Blok Mikrokontroller AT89S51 .......................................... 9
Gambar 2.2. Konfigurasi Pena AT89S51 (40-lead PDIP) .................................... 10
Gambar 2.3. Denah susunan bit dalam register TMOD ........................................ 18
Gambar 2.4. Denah susunan bit dalam register TCON ......................................... 19
Gambar 2.5. (a) Simbol push button saat OFF dan (b) Simbol push button saat
OFF ON ........................................................................................... 20
Gambar 2.6. Bentuk fisik salah satu saklar push button ....................................... 21
Gambar 2.7. Simbol Saklar ................................................................................... 21
Gambar 2.8. Bentuk fisik salah satu Saklar .......................................................... 21
Gambar 2.9. Simbol dan Prinsip Kerja Rile SPDT .............................................. 23
Gambar 2.10. Simbol dan Prinsip Kerja Rile DPDT ............................................ 23
Gambar 2.11. Bentuk fisik dan simbol lampu LED .............................................. 24
Gambar 2.12. (a) Transistor pada daerah saturasi. (b) Ekuivalen transistor
sebagai saklar on (Malvino, 1985: 123) ..................................... 26
Gambar 2.13. Transistor pada daerah cut off (Malvino, 1985:124) ...................... 26
Gambar 2.14. Simbol-simbol Flow Chart ............................................................ 27
Gambar 3.1. Diagram Blok Pemanfaatan Mikrokontroller AT89S51 ................. 32
Gambar 3.2. Rangkaian regulator Catu Daya +12V dan +5V ............................. 33
Gambar 3.3. Water level Sensor ........................................................................... 34
Gambar 3.4. Saklar Mode Pengisian (Full / Half) ............................................... 35
Gambar 3.5. Rangkaian Output Rile .................................................................... 35
Gambar 3.6. Rangkaian reset ............................................................................... 37
Gambar 3.7. Sistem Minimum AT89S51 ........................................................... 37
Gambar 3.8. Sistem Kontrol Pemanfaatan Mikrokontrol AT89S51 Sebagai
Pengendali Otomatis Mesin Listrik Pompa Air ............................ 39
Gambar 3.9. Bentuk Program Assembler ........................................................... 41
Gambar 3.10. Flow Chart Program Pengatur Otomatis Pompa Air Listrik
Berbasis Mikrokontroller AT89S51 .............................................. 42
Page 12
xii
DAFTAR TABEL
Tabel 4.1. Titik Kerja Transistor Sensor 1 Q1 ...................................................... 46
Tabel 4.2. Titik Kerja Transistor Sensor 2 Q2 ...................................................... 46
Tabel 4.3. Titik Kerja Transistor Sensor 3 Q3 ...................................................... 46
Tabel 4.4. Kebenaran Kontrol Pompa Air Otomatis f(input) = output ............ 49
Page 13
xiii
DAFTAR LAMPIRAN
Lampiran 1. Gambar Rangkaian Sistem Kontrol ................................................ 57
Lampiran 2. Lay out Komponen dan PCB Sistem Kontrol ................................. 58
Lampiran 3. Source Code Program Assembly Mikrokontroller AT89S51 ......... 59
Lampiran 5. Datasheet AT89S51 ........................................................................ 60
Page 14
1
BAB I
PENDAHULUAN
1.1. Latar Belakang Masalah
Kebutuhan teknologi tepat guna dan sepadan tidak hanya di industri.,
tetapi juga pada alat-alat rumah tangga. Pada implementasinya teknologi yang
sederhana sudah banyak merambah pada alat-alat rumah tangga, alat bantu dalam
rumah tangga biasanya sangat sederhana, dengan sentuhan teknologi sedikit alat
yang sangat sederhana bisa mempunyai kemampuan yang sangat besar, misalnya
dengan menambahkan sistem otomasi pada alat tersebut.
Pada mesin listrik pompa air yang digunakan untuk mengambil air tanah
dalam sumur, biasanya dioperasikan secara manual, dengan menghidupkan dan
mematikan saklar manual. Proses ini tentu cukup merepotkan disamping
memerlukan tenaga juga membutuhkan waktu, kemungkinan air yang dimasukkan
dalam bak penampung dapat tumpah karena melebihi kapasitas.
Mesin listrik pompa air ini sebenarnya bisa dioperasikan secara otomatis
dengan sedikit sentuhan teknologi, dengan menggunakan peralatan yang otomatis
dan sederhana dalam mengoperasikan, sehingga dapat meringankan tenaga dan
menghemat waktu untuk memenuhi kebutuhan air dalam rumah tangga.
Kebutuhan peralatan yang dapat dioperasikan secara otomatis sangat
diperlukan dalam rumah tangga, seiring dengan kemajuan teknologi, maka perlu
diusahakan suatu alat Penerapan Mikrokontroller AT89S51 sebagai pengendali
otomatis mesin listrik pompa air.
Page 15
2
1.1.1. Permasalahan
Berdasarkan latar belakang di atas permasalahan yang dapat dirumuskan
adalah :
1. Kebanyakan mesin listrik pompa air yang ada di pasaran dioperasikan
secara manual.
2. Mesin listrik pompa air yang dioperasikan secara manual untuk mengambil
air tanah, dalam memenuhi kebutuhan rumah tangga kadang-kadang pada
saat dibuka kran air tidak mengalir. Hal ini dikarenakan bak penampungan
air kosong, sehingga harus menghidupkan mesin listrik pompa air terlebih
dahulu sebelum menggunakan air. Untuk keperluan tersebut diperlukan
waktu dan tenaga.
3. Mesin listrik pompa air yang dioperasikan secara manual jika dihidupkan
akan mengisi bak penampung air secara terus menerus. Jika bak
penampung sudah tidak mempu menampung air dan mesin tidak segera
dimatikan maka air akan meluap, hal ini termasuk dalam kategori
pemborosan.
4. Di pasaran belum ada alat yang menerapkan mikrokontroller AT89S51
sebagai pengendali otomatis pompa air.
1.1.2. Keaslian Penelitian
Desain Pengaturan Otomatis Pompa Air Listrik Berbasis Mikrokontroller
AT89S51yang akan dilaksanakan belum pernah dilakukan, kecuali sumber lain
yang digunakan sebagai referensi terdapat dalam daftar pustaka.
Page 16
3
1.2. Batasan Masalah
Batasan masalah dari penelitian ini adalah :
1. Perancangan perangkat keras pada penerapan mikrokontroller AT89S51
sebagai pengendali otomatis mesin listrik pompa air
2. Perancangan perangkat lunak pada penerapan mikrokontroller AT89S51
sebagai pengendali otomatis mesin listrik pompa air
1.3. Manfaat yang Diharapkan
Jika penelitian ini berhasil dengan baik dan dikembangkan, manfaat yang
bias diharapkan adalah sebagai berikut :
1. Untuk ilmu pengetahuan dan teknologi, keberhasilan penelitian Penerapan
Mikrokontroller AT89S51 sebagai pengendali otomatis mesin listrik
pompa air, dapat digunakan sebagai salah satu bahan referensi dalam
perancangan peralatan otomatis berbasis mikrokontrol, untuk alat bantu
rumah tangga dan industri kecil.
2. Untuk pembangunan negara, Penerapan Mikrokontroller AT89S51
sebagai pengendali otomatis mesin listrik pompa air, dapat digunakan
sebagai salah satu bahan pembelajaran bagi para mahasiswa dan siswa
dalam perancangan peralatan otomatis berbasis mikrokontrol untuk
industri kecil, menengah dan industri rumah tangga.
Page 17
4
1.4. Tujuan Penelitian
Penelitian ini bertujuan untuk :
1. Mengetahui unjuk kerja proses pengoperasian mesin listrik pompa air
secara manual.
2. Mengetahui proses pengoperasian mesin listrik pompa air menggunakan
peralatan yang otomatis akan berpengaruh terhadap penyediaan kebutuhan
air dalam rumah tangga.
1.5. Sistematika Penulisan
Pembahasan skripsi ini menggunakan sistematika penulisan sebagai
berikut :
BAB I : PENDAHULUAN
Pada bagian ini membahas, latar belakang, permasalahan, keaslian
penelitian, faedah yang dapat diharapkan, tujuan penelitian, batasan
masalah, metodologi, dan sistematika penulisan.
BAB II : TINJAUAN PUSTAKA
Pada bagian ini membahas, teori penunjang yang berkaitan dengan
pembuatan alat dan teori mikrokontrol AT89S51.
BAB III : PERENCANAAN DAN PEMBUATAN ALAT
Pada bagian ini membahas, pembuatan perangkat keras dan pembuatan
perangkat lunak.
Page 18
5
BAB IV : PENGUJIAN DAN ANALISA
Pada bagian ini membahas, pengujian alat secara keseluruhan yang
meliputi perangkat keras, perangkat lunak dan menganalisa data
pengujian alat.
BAB V : KESIMPULAN DAN SARAN
Pada bagian ini membahas berdasarkan hasil pengujian dan analisa
data kemudian diambil kesimpulan dari kinerja alat tersebut.
Page 19
6
BAB II
TINJAUAN PUSTAKA
2.1. Tinjauan Pustaka
Penelitian yang dilakukan oleh Djunanda Mieke pada tahun 2003 dengan
judul Sistem Pengendalian Aquarium Berbasis Mikrokontroler Dengan
Menggunakan SMS dari Hand Phone. Memelihara ikan dalam aquarium
merupakan hal yang biasa dan mudah, tetapi akan memerlukan waktu khususnya
bagi orang yang sibuk tetapi mempunyai hobi memelihara ikan terutama dalam
proses perawatan ikan mulai dari pemberian makan, mengganti air, menjaga suhu
air dan lain-lain. Oleh karena itu dikembangkan metode pemeliharaan ikan dalam
aquarium dari jarak jauh yang dapat dikontrol melalui SMS dari Hand Phone.
Sistem ini memberi keuntungan bagi mereka yang sibuk bekerja namun senang
memelihara ikan dalam aquarium.
Penelitian yang dilakukan oleh Samsu Rizal pada tahun 2005 dengan judul
Pemanfaatan Mikrokontroler AT89C51 Sebagai PLC (Programable Logic
Controller) salah satu aplikasi yang merupakan perpaduan antara perangkat keras
dan parangkat lunak. Rangkaian elektronik yang berbasis mikrokontroler adalah
perangkat kerasnya, sedang Bahasa Pemrograman Assembler sebagai perangkat
lunaknya.
Penelitian yang dilakukan oleh Imron Muhammad pada tahun 2007
dengan judul Sistem Pengamanan Tambak Ikan Berbasis Mikrokontroler
merupakan suatu peralatan pengamanan yang digunakan untuk mengamankan
Page 20
7
tambak ikan. Peralatan sistem ini terdiri dari detektor atau sensor, Rile dan alarm
yang dihubungkan ke mikrokontroler. LDR yang merupakan komponen detektor
cahaya ditempatkan di sekeliling tambak, jika ada obyek yang melewati detektor
pada waktu tertentu maka mikrokontroler akan mengaktifkan rile yang
dihubungkan ke lampu dan alarm sehingga lampu akan menyala dan alarm akan
berbunyi. Mikrokontroler yang merupakan rangkaian utama pada alat ini
dihubungkan ke telepon seluler yang akan mengirim teks singkat kepada pemilik
tambak. Hasil yang didapat menunjukkan bahwa alat ini dapat bekerja dengan
baik, sehingga alat ini dapat menjadi sistem pengamanan yang efektif
2.2. Landasan Teori
Untuk membuat suatu sistem pemanfaatan mikrokontroller AT89S51
sebagai pengendali otomatis mesin listrik pompa air, diperlukan beberapa
komponen elektronika seperti LED, transistor, saklar, rile dan mikrokontroler.
Berikut ini merupakan teori dasar dari masing-masing komponen yang diperlukan.
2.2.1. Mikrokontroller
Mikrokontroller merupakan perkembangan dari mikroprosesor. Dalam
sebuah chip mikrokontroller telah terintegrasi memori, CPU dan I/O. Hal tersebut
membuat mikrokontroller dapat langsung dibuat sistem dengan menambahkan
sedikit peripheral lain. Sifat mikrokontroller yang mampu diprogram
(programmable) menyebabkan mikrokontroller mempunyai kemampuan aplikasi
yang sangat luas.
Page 21
8
2.2.1.1. Hardware Mikrokontroller
2.2.1.1.1. Spesifikasi
AT89S51 adalah salah satu jenis mikrokontroller buatan Atmel dan
merupakan keluarga MCS-51. AT89S51 merupakan mikrokontroller 8-bit dengan
spesifikasi sebagai berikut :
1) Kompatibel dengan produk MCS-51
2) 8 Kbytes memori flash internal yang dapat diprogram ulang sampai 1000
kali tulis/hapus.
3) Cakupan tegangan operasi 4,0Volt – 5,5Volt
4) Beroperasi secara penuh pada frekuensi 0 sampai 33 MHz
5) Memiliki tiga tahap penguncian program.
6) 256 X 8-bit RAM internal.
7) Memiliki jalur I/O 32 bit yang dapat diprogram.
8) Dua buah 16 bit Timer/Couters.
9) Memiliki delapan sumber interupsi.
10) Memiliki serial UART yang dapat diprogram.
11) Pengembalian interupt dari mode daya rendah
12) Memiliki Watchdog Timer.
13) Mempunyai 2 data pointer
14) Power-Off flag
15) Pemrograman yang cepat
Page 22
9
Gambar 2.1. Diagram Blok Mikrokontroller AT89S51
(http://www.atmel.com)
Page 23
10
2.2.1.1.2. Konfigurasi Pin
Gambar 2.2. Konfigurasi Pena AT89S51 (40-lead PDIP)
(http://www.atmel.com)
1) Port 0.0/AD0 – port 0.7/AD7 (kaki 32-39). Pada perancangan komponen
minimum, port ini dapat digunakan untuk port I/O tujuan umum. Untuk
perancangan yang lebih besar (dengan memori luar), port ini menjadi bus
data dan alamat multipleks.
2) Port 1 (kaki 1-8). Port ini dipakai untuk port I/O. Pin-pin ini dirancang
sebagai P1.0 - P1.7 untuk antarmuka dengan peralatan luar dan jalur
Flash-Programer pada P1.5 (MOSI), P1.6 (MISO), dan P1.7 (SCK).
3) Port 2.0/A8 – port 2.7/A15 (kaki 21-28). Port ini dipakai untuk I/O atau
sebagai bus byte tinggi alamat untuk rancangan dengan memori luar.
4) Port 3 (kaki 10-17). Port ini dipakai untuk I/O tujuan umum atau untuk
fungsi khusus.
Page 24
11
5) PSEN (Program store enable, kaki 29). PSEN merupakan keluaran untuk
sinyal kendali yang mengijinkan memori program (kode) luar dan
biasanya dihubungkan dengan kaki (Output Enable) EPROM yang
mengijinkan pembacaan byte-byte program.
6) ALE (Address Latch Enable, kaki 30). Sinyal keluaran ALE untuk
demultiplexing bus data dan alamat. Jika port 0 digunakan sebagai bus
data dan bus byte rendah alamat, ALE mengunci alamat ke register luar
selama setengah pertama siklus memori. Selanjutnya selama setengah
kedua siklus memori, jalur-jalur port 0 disediakan untuk data masukan
atau keluaran ketika perpindahan data sedang dilakukan.
7) EA (External Access, kaki 31). Untuk eksekusi program dari memori luar
maka kaki ini harus diberi tegangan rendah.
8) RST (Reset, kaki 9). Jika diberikan tegangan tinggi selama paling sedikit
2 siklus mesin, maka register internal akan diisi dengan harga tertentu
untuk kondisi awal sistem.
2.2.1.2. Instruksi MCS-51
Seperti pada mikrokontroller pada umumnya, AT89S51 mempunyai
instruksi MCS-51 dan beberapa fasilitas yang berguna untuk pemrograman.
Secara keseluruhan MCS-51 memiliki 255 macam instruksi yang dibagi menjadi 5
kelompok meliputi: instruksi aritmatika, instruksi logika, instruksi transfer data,
instruksi manipulasi bit variabel dan instruksi percabangan. Masing-masing
kelompok akan dijelaskan sebagai berikut:
Page 25
12
2.2.1.2.1. Kelompok Instruksi Aritmatika
Kelompok perintah ini dipakai untuk melakukan operasi aritmatika yang
meliputi penjumlahan (kode operasi ADD), penjumlahan dengan menyertai
sisa/carry (kode operasi ADDC), pejumlahan satu (kode operasi INC),
pengurangan dengan menyertai pinjaman/borrow (kode operasi SUBB),
pengurangan satu (kode operasi DEC), penyetelan desimal pada akumulator (kode
operasi DA), perkalian (kode operasi MUL) dan pembagian (kode operasi DIV).
2.2.1.2.2. Kelompok Instruksi Logika
Kelompok perintah ini dipakai untuk melakukan operasi logika. Operasi
logika yang dapat dilakukan adalah operasi OR (kode operasi ORL), operasi AND
(kode operasi ANDL), operasi Exclusive OR (kode operasi XRL), menghapus
akumulator (kode operasi CLR), negasi akumulator (kode operasi CPL),
pergeseran bit akumulator (kode operasi RL, RLC, RR, RRC dan SWAP).
2.2.1.2.3. Kelompok Instruksi Transfer Data
Kelompok perintah ini dipakai untuk memindahkan dan penukaran
(exchange) data. Operasi pemindahan data yang dapat dilakukan adalah
pemindahan data antara register dengan register (kode operasi MOV), memori
dengan memori (kode operasi MOV), register dengan memori (kode operasi
MOV), memori eksternal dengan akumulator (kode operasi MOVX) dan
pemindahan data langsung (direct byte) ke stack/tumpukan (PUSH dan POP).
Operasi penukaran data yang dapat dilakukan adalah penukaran data antara
akumulator dengan register (kode operasi XCH) , antara akumulator dengan
Page 26
13
internal RAM (kode operasi XCH), nible rendah (D0–D3) akumulator dengan
nible rendah (D0–D3) internal RAM (kode operasi XCHD).
2.2.1.2.4. Kelompok Instruksi Manipulasi Bit
Operasi manipulasi bit yang dapat dilakukan adalah menghapus carry dan
bit (kode operasi CLR), mengeset carry dan bit (kode operasi SETB),
mengkomplemen carry dan bit (kode operasi CPL), operasi AND antara carry dan
bit (kode operasi ANL), operasi OR antara carry dan bit (kode operasi ORL), dan
memindahkan data dari bit ke carry atau sebaliknya (kode operasi MOV).
2.2.1.2.5. Kelompok Intruksi Percabangan
Instruksi ini dapat digunakan saat program yang sedang dilaksanakan akan
melompat ke suatu alamat tertentu. Instruksi percabangan dapat dibedakan atas
percabangan bersyarat dan percabangan tanpa syarat.
1) Instruksi percabangan bersyarat, yang termasuk kelompok ini adalah: CJNE @Rn,#data,alamat kode
CJNE A,#data,alamat kode
CJNE A,alamat data,alamat kode
CJNE Rn,#data,alamat kode
DJNZ Rn,alamat kode
DJNZ alamat data,alamat kode
JB alamat bit,alamat kode
JNB alamat bit,alamat kode
JBC alamat bit,alamat kode
JC alamat kode
JNC alamat kode
JZ alamat kode
JNZ alamat kode
2) Instruksi percabangan tanpa syarat, yang termasuk kelompok ini adalah: ACALL alamat kode
LCALL alamat kode
SJMP alamat kode
AJMP alamat kode
LJMP alamat kode
JMP @A+DPTR
RET
RETI
Page 27
14
2.2.1.3. Sistem Interupsi AT89S51
Setiap mikrokontroller biasanya memiliki saluran interupsi. Interupsi
adalah peristiwa perangkat keras yang dipakai untuk mengatur kerja dari
perangkat lunak mikrokontroller. AT89S51 mempunyai 8 sumber interupsi, yakni
Interupsi Eksternal (External Interrupt) yang berasal dari kaki INT0, INT1 dan T2
Ext, Interupsi Pewaktu (Timer Interrupt) yang berasal dari Timer 0 , Timer 1,
maupun Timer 2, Interupsi Port Seri (Serial Port Interrupt) yang berasal dari
bagian penerima dan bagian pengirim Port Seri.
Semua sumber permintaan interupsi yang dibahas di atas, masing-masing
bisa diaktifkan atau di-nonaktifkan secara tersendiri lewat bit-bit yang ada dalam
register IE (Interrupt Enable Register).
Bit EX0 dan EX1 untuk mengatur interupsi eksternal INT0 dan INT1,
sedangkan bit ET0 dan ET1 untuk mengatur interupsi timer 0 dan timer 1, bit ES
untuk mengatur interupsi port seri. Di samping itu ada pula bit EA yang bisa
dipakai untuk mengatur semua sumber interupsi sekaligus.
Setelah reset, semua bit dalam register IE bernilai “0”, artinya sistem
interupsi dalam keadaan non-aktif. Untuk mengaktifkan salah satu sistem
interupsi, bit pengatur interupsi bersangkutan diaktifkan dan juga EA yang
mengatur semua sumber interupsi. Misalnya instruksi yang dipakai untuk
mengaktifkan interupsi ekternal INT0 adalah SETB EX0 disusul dengan SETB
EA.
Saat AT89S51 menanggapi permintaan interupsi, Program Counter diisi
dengan sebuah nilai yang dinamakan sebagai vektor interupsi. Vektor interupsi
Page 28
15
merupakan nomor awal dari memori-program yang menampung ISR (Interrupt
Service Routine) untuk melayani permintaan interupsi tersebut. Vektor interupsi
itu dipakai untuk melaksanakan instruksi LCALL, ACALL, AJMP atau LJMP
yang diaktifkan secara perangkat keras.
Vektor interupsi untuk interupsi eksternal INT0 adalah 0003H, untuk
interupsi timer 0 adalah 000BH, untuk interupsi ekternal INT1 adalah 0013H,
untuk interupsi timer 1 adalah 001BH dan untuk interupsi port seri adalah 0023H.
Jarak vektor interupsi satu dengan lainnya sebesar 8, atau hanya tersedia 8
byte untuk setiap ISR. Jika sebuah ISR memang hanya pendek saja, tidak lebih
dari 8 byte, maka ISR tersebut bisa langsung ditulis pada memori-program yang
disediakan untuknya. ISR yang lebih panjang dari 8 byte ditulis ditempat lain, tapi
pada memori-program yang ditunjuk oleh vektor interupsi diisikan instruksi
JUMP ke arah ISR bersangkutan.
2.2.1.4. Sistem Timer AT89S51
Timer 0 dibentuk dengan register TL0 (timer 0 low byte, alamatnya pada
RAM internal adalah 6AH) dan register TH0 (timer 0 high byte, alamatnya 6BH).
Sedangkan timer 1 dibentuk dengan register TL1 (timer 1 low byte, alamatnya
6CH) dan register TH1 (timer 1 high byte, alamatnya 6DH).
Untuk mengatur kerja timer/counter dipakai 2 register tambahan yang
dipakai bersama oleh timer 0 dan timer 1. Register tambahan tersebut adalah
register TCON (timer control register, alamatnya 88H dan bisa dialamat secara
bit) dan register TMOD (timer mode register, alamatnya adalah 89H).
Page 29
16
TLO, THO, TL1 dan TH1 merupakan SFR (Special Function Register)
yang dipakai untuk membentuk pencacah biner Timer 0 dan Timer 1. Kapasitas
keempat register tersebut masing-masing 8 bit, bisa disusun menjadi 4 macam
mode (mode 0, mode 1, mode 2 dan mode3) pencacah biner.
Pada Mode 0, Mode 1 dan Mode 2 Timer 0 dan Timer 1 masing-masing
bekerja sendiri, artinya bisa dibuat Timer 0 bekerja pada Mode I dan Timer 1
bekerja pada Mode 2, atau kombinasi mode lainnya sesuai dengan keperluan.
Pada Mode 3 TLO, THO, TL1 dan TH1 dipakai bersama-sama untuk
menyusun sistem timer yang tidak bisa dikombinasi lain. Susunan TLO, THO,
TL1 dan TH1 pada masing-masing mode sebagai berikut:
2.2.1.4.1. Mode 0 Pencacah Biner 13 bit
Pencacah biner dibentuk dengan TLX (maksudnya bisa TLO atau TL1)
sebagai pencacah biner 5 bit (meskipun kapasitas sesungguhnya 8 bit), limpahan
dan pencacah biner 5 bit ini dihubungkan ke THx (maksudnya bisa THO atau
TH1) membentuk sebuah untaian pencacah biner 13 bit, limpahan dan pencacah
13 bit ini ditampung di flip-flop TFX (maksudnya bisa TFO atau TF1) yang
berada di dalam register TCON.
Mode ini meneruskan sarana timer yang ada pada mikrokontroller MCS48
(mikrokontroller pendahulu MCS51), dengan maksud rancangan alat yang dibuat
dengan MCS48 bisa dengan mudah diadaptasikan ke MCS5 1. Mode ini tidak
banyak dipakai lagi.
Page 30
17
2.2.1.4.2. Mode 1 Pencacah Biner 16 bit
Mode ini sama dengan Mode 0, hanya saja register TLX dipakai
sepenuhnya sebagai pencacah biner 8 bit, sehingga kapasitas pencacah biner yang
tersbentuk adalah 16 bit. Seiring dengan sinyal denyut, kedudukan pencacah biner
16 bit ini akan bergerak dari 0000H (biner 0000 0000 0000 0000), 0001H, 0002H
... sampai FFFFH (biner 1111 1111 1111 1111), kemudian melimpah kembali
menjadi 0000H.
2.2.1.4.3. Mode 2 Pencacah Biner 8 bit dengan isi ulang
TLx dipakai sebagai pencacah biner 8 bit, sedangkan THx dipakai untuk
menyimpan nilai yang diisikan ulang ke TLx setiap kali kedudukan TLx
melimpah (berubah dan FFH menjadi 00H). Dengan cara ini bisa didapatkan
sinyal limpahan yang frekuensinya ditentukan oleh nilai yang disimpan dalam
TH0.
2.2.1.4.4. Mode 3 Gabungan Pencacah Biner 16 bit dan 8 bit
Pada Mode 3 TL0, TH0, TL1 dan TH1 dipakai untuk membentuk 3
untaian pencacah. Yang pertama adalah untaian pencacah biner 16 bit tanpa
fasiltas pemantau sinyal limpahan yang dibentuk dengan TL1 dan TH1. Yang
kedua adalah TL0 yang dipakai sebagai pencacah biner 8 bit dengan TF0 sebagai
sarana pemantau limpahan. Pencacah biner ketiga adalah TH0 yang dipakai
sebagai pencacah biner 8 bit dengan TF1 sebagai sarana pemantau limpahan.
Page 31
18
Register TMOD dan register TCON merupakan register pembantu untuk
mengatur kerja Timer 0 dan Timer 1, kedua register ini dipakai bersama oleh
Timer 0 dan Timer 1.
a. TMOD (Timer Mode Register)
Register TMOD dibagi menjadi 2 bagian secara simetris, bit
0 sampai 3 register TMOD (TMOD bit 0 s.d. TMOD bit 3) dipakai
untuk mengatur Timer 0, bit 4 sampai 7 register TMOD (TMOD bit 4
s.d. TMOD bit 7) dipakai untuk mengatur Timer 1.
Gambar 2.3. Denah susunan bit dalam register TMOD
(http://alds-stts.edu/digital/timer.htm)
Pemakaian dari register TMOD adalah:
1) Bit M0/M1 dipakai untuk menentukan Mode timer seperti yang
terlihat dalam tabel.
2) Bit C/T* dipakai untuk mengatur sumber sinyal denyut yang
diumpankan ke pencacah biner. Jika C/T* = 0 sinyal denyut
diperoleh dari osilator kristal yang frekuensinya sudah dibagi 12,
sedangkan jika C/T* = 1 maka sinyal denyut diperoleh dari kaki T0
(untuk Timer 0) atau kaki T1 (untuk Timer 1).
3) Bit GATE merupakan bit pengatur saluran sinyal denyut. Bila bit
GATE = 0 saluran sinyal denyut hanya diatur oleh bit TRx
(maksudnya adalah TR0 atau TR1 pada register TCON). Bila bit
Page 32
19
GATE = 1 kaki INT0 (untuk Timer 0) atau kaki INTl (untuk Timer
1) dipakai juga untuk mengatur saluran sinyal denyut.
b. TCON (Timer Control Register)
Register TCON dibagi menjadi 2 bagian, 4 bit pertama (bit 0
s.d. bit 3) dipakai untuk keperluan mengatur kaki INT0 dan INT1.
Gambar 2.4. Denah susunan bit dalam register TCON
(http://alds-stts.edu/digital/timer.htm)
Sisa 4 bit dari register TCON (bit 4 s.d. bit 7) dibagi menjadi
2 bagian secara simetris yang dipakai untuk mengatur Timer 0 dan
Timer 1, sebagai berikut:
1) Bit TFx (maksudnya adalah TF0 atau TF1) merupakan bit
penampung limpahan, TFx akan menjadi „1‟ setiap kali pencacah
biner yang terhubung padanya melimpah (kedudukan pencacah
berubah dari FFFFH kembali menjadi 0000H). Bit TFx dinolkan
dengan instruksi CLR TFO atau CLR TF1. Jika sarana interupsi
dari interupsi dari Timer 0/Timer 1 dipakai, TRx dinolkan saat
MCS51 menjalankan rutin layanan interupsi (ISR – Interupt
Service Routine).
2) Bit TRx (maksudnya adalah TR0 atau TR1) merupakan bit
pengatur saluran sinyal denyut, bila bit ini = 0 sinyal denyut tidak
disalurkan ke pencacah biner sehingga pencacah berhenti
Page 33
20
mencacah. Bila bit GATE pada register TMOD = 1, maka saluran
sinyal denyut ini diatur bersama oleh TRx dan sinyal pada kaki
INT0/INTl.
2.2.2. Saklar dan Rile
2.2.2.1. Saklar
Saklar adalah piranti elektronika yang berfungsi untuk menghidupkan
atau mematikan sumber (ON/OFF) dengan efek mekanik, didalam ilmu
elektronika, 2 macam jenis saklar push button, antara lain :
1. Push On
Saklar ini apabila ditekan maka akan menghasilkan pulsa 1, dan kemudian
apabila dilepaskan maka akan kembali nol.
2. Push Off
Saklar ini apabila ditekan maka akan menghasilkan pulsa 0, dan kemudian
apabila di lepaskan maka akan kembali 1.
Konstruksi dari saklar ini adalah dengan menghubungkan pegas yang
terdapat didalam saklar tersebut. Pegas tersebut apabila dilepaskan maka akan
kembali ke posisi semula.
Gambar 2.5. (a) Simbol push button saat OFF dan
(b) Simbol push button saat OFF ON
(a) (b)
Page 34
21
Gambar 2.6. Bentuk fisik salah satu saklar push button
Selain saklar di atas juga masih ada lagi skalar ON/OFF berbentuk
switch. Prinsip dari saklar ini adalah saklar yang jika ditekan akan berubah
keadaan dari OFF menjadi ON, dan untuk mengembalikan keadaan menjadi OFF
lagi perlu dilakukan penekanan lagi.
Gambar 2.7. Simbol Saklar
Gambar 2.8. Bentuk fisik salah satu Saklar
2.2.2.2. Rile
Rile adalah saklar magnetis yang dapat menghubungkan rangkaian
beban ON dan OFF dengan memberi energi elektromagnetis, yang akan membuka
atau menutup kontak pada rangkaian, rile mempunyai variasi aplikasi yang luas
baik pada rangkaian listrik maupun elektronis. (Frank D Petruzella 2001:371).
Sewaktu arus kontrol melewati kumparan, inti besi lunak akan dimagnetisasi.
Page 35
22
Armature ditarik oleh inti yang dimagnetisasi. Gerakan armature ini akan
menutup kontak 3 dan 4 dan akan membuka kontak 3 dan 5. dengan kata lain
gerakan armature tadi telah mengubah posisi kontak 3 (lihat gambar 2.9
dibawah). Kontak–kontak ini dapat digunakan mengontrol arus yang lebih besar
dalam rangkaian. Pada pengoperasian dari rile ini tidak membutuhkan tegangan
dan arus yang besar apabila tidak disertai beban. Fungsi utama rile adalah
mengontrol arus yang lebih besar dalam rangkaian dengan arus kecil yang
melewati kumparan. Simbol rile terdiri atas sebuah kumparan dan 2 set kontak,
dalam rile mempunyai 2 keadaan yaitu pada saat terbuka (Normally Open atau
NO) dan tertutup (Normally Close atau NC). Sewaktu arus lewat kumparan,
kontak NO tertutup, sebaliknya kontak NC terbuka. ( Frank D Petruzella
2001:372).
Rile terdiri dari kawat penghantar yang digulung pada silinder berinti.
Jangkar atau armatur bertumpu pada sebuah batang yang ujungnya tajam dan
dengan bantuan sebuah pegas ringan dan baut, sehingga jangkar dapat bertahan
pada tumpuannya. Apabila kumparan dialiri arus maka akan menimbulkan medan
magnet. Gaya magnetis akan menarik jangkar untuk mendekati inti. Ujung
jangkar yang lain akan mendorong pegas kontak sehingga kontak terhubung. Bila
kemudian arus menghilang dari kumparan, jangkar akan dilepas dan kontak
terputus.
Terdapat beberapa variasi rile baik bentuk, ukuran maupun konfigurasi
pensaklaran (kontak). Penggunaan rile disesuaikan dengan keperluan. Konfigurasi
atau tipe pensaklaran diidentifikasi sesuai jumlah kutub (p, pole) dan banyaknya
Page 36
23
posisi saklar (T, throw). Jumlah kutub dan posisi ini dapat didahului dengan huruf
(S, untuk single dan D untuk double) atau dengan angka.
Secara umum ada dua buah konfigurasi rile yaitu :
1. SPDT (satu kutub dua posisi) yaitu rile yang mempunyai dua posisi
kontak. Tipe ini mempunyai hubungan kontak kaki 3 dengan kaki 5 dan
ketika kumparan diberi arus, hubungan kontak akan berpindah ke kaki 3
dengan kaki 4.
Gambar 2.9. Simbol dan Prinsip Kerja Rile SPDT
2. DPDT (dua kutub dua posisi) yaitu tipe rile yang mempunyai dua kontak
terpisah dari tipe pemindah hubungan (kontak), dan digerakkan oleh
jangkar melalui batang isolator.
Gambar 2.10. Simbol dan Prinsip Kerja Rile DPDT
Tegangan kerja kumparan rile biasanya 6V, 12V, 24V. Tegangan
tersebut menunjukkan kerja yang diperlukan untuk menggerakkan rile.
Page 37
24
2.2.3. LED
LED (Light Emitting Diode) merupakan sebuah lampu yang mempunyai
daya kecil dan biasanya digunakan sebagai lampu indikator. Daya yang kecil
inilah yang menjadi alasan mengapa LED digunakan sebagai lampu indikator
pada modul mikrokontroller. LED ini digunakan sebagai indikator keluaran pada
pemrograman mikrokontroller. Sebenarnya keluaran juga bisa dilihat pada
simulator ketika melakukan simulasi program, tetapi kelemahan simulator adalah
tidak bisa dilihat secara langsung hasilnya, karena antara hasil praktik dengan
teori jauh berbeda. Artinya bahwa program belum tentu jalan ketika dimasukan
ke dalam memori mikrokontroller walaupun telah disimulasikan dengan baik, hal
ini bisa juga disebabkan karena hardware yang dibuat ada kesalahan.
Gambar 2.11. Bentuk fisik dan simbol lampu LED
Bentuk-bentuk lampu LED bermacam-macam warnanya dan ukurannya.
Tujuannya adalah untuk memenuhi kebutuhan baik mengenai warna, ukurannya
maupun dayanya. Bahkan sekarang ini telah muncul beberapa lampu LED yang
dapat menampilkan nyala yang berwarna-warni. Warna ini disebabkan oleh bahan
pembuatnya.
Page 38
25
Untuk menyalakan LED diperlukan arus yang cukup. Besarnya arus yang
melewati LED menentukan intensitasnya. Umumnya arus yang mengalir pada
LED sebesar 2 sampai 20 mA. Sedangkan penurunan tegangan LED sebesar 1,2 V
sampai 2,4 V. Di bawah ini adalah rumus untuk menentukan peggunaan resistor
sebagai pembatas tegangan.
R =led
led
I
VVcc
(Persamaan 2. 1)
Dimana :
VCC = Sumber tegangan
VLed = Tegangan kerja LED
ILed = Arus kerja Led
R = Nilai resistansi
2.2.4. Transistor Sebagai Saklar
Transistor adalah salah satu komponen yang dapat digunakan sebagai
saklar elektronik. Komponen ini memiliki impedansi yang tinggi saat bersifat
sebagai penghantar. Transistor ini bekerja pada daerah jenuh (saturasi) sebagai
saklar tertutup (on) dan daerah mati (cut off) sebagai sklar terbuka (off). Pada
daerah saturasi arus mengalir tanpa halangan dari terminal kolektor menuju emitor
(VCE = 0) dan arus kolektor jenuh IC sat = VCC / RC.. Kondisi seperti ini
menyerupai saklar mekanik dalam keadaan tertutup (on). Untuk membuat
transistor induksi diperlukan arus basis yang minimal besarnya IB > IC / .
Page 39
26
Gambar 2.12. (a) Transistor pada daerah saturasi.
(b) Ekuivalen transistor sebagai saklar on
(Malvino, 1985: 123)
pada saat transistor bersifat bukan penghantar (cut off) berlaku ketentuan
VCE = VCC, IC = 0. dalam hal ini transistor menyerupai saklar mekanik dalam
keadaan terbuka (off). Kondisi demikian dapat direalisasikan dengan memberikan
bias basis IB = 0 atau pada terminal basis diberi tegangan mundur terhadap emitor.
Gambar 2.13. Transistor pada daerah cut off (Malvino, 1985:124)
Analisis perhitungan untuk kondisi saklar secara teori adalah sebagai
berikut :
Kondisi cut off
VCE = VCC – IC . RC karena IC = 0 (Persamaan 2. 2)
Maka VVE = VCC
Besar arus basis IB adalah : IB = IC / karena IC = 0, maka IB = 0 A
(a) (b)
Page 40
27
Kondisi saturasi (jenuh)
VCE = VCC – IC . RC (Persamaan 2. 3)
karena VCE = 0,
maka IC = VCC / RC (Persamaan 2. 4)
Besar tahanan basis RB untuk mendapatkan arus basis IB pada kondisi benar-
benar saturasi adalah :
RB = (VBB – VBE) / IB sat (Persamaan 2. 5)
adalah
. IB > IC atau IB sat > IC /
2.2.5. Flow Chart
Flow Chart atau diagram alir adalah suatu cara yang sangat sederhana
untuk mensistemkan aliran proses sebuah program. Untuk menyajikan jenis
operasi sebuah program digunakan simbol-simbol. Ada delapan simbol yang
sering digunakan untuk menyusun Flow Chart.
SUB ROUTIN
PROSES INPUT
KEPUTUSAN TERMINAL
KONEKTOR AKHIR
HALAMANKONEKTOR
START
Gambar 2.14. Simbol-simbol Flow Chart
Page 41
28
2.3. Hipotesis
Berdasarkan tinjauan pustaka dan landasan teori, maka pemanfaatan
mikrokontroller AT89S51 sebagai pengendali otomatis mesin pompa air dapat
diambil hipotesis sebagai berikut :
1. Mikrokontroller dapat digunakan sebagai pengendali otomatis mesin
listrik pompa air.
2. Penggunaan peralatan yang otomatis akan memudahkan manusia terhadap
proses pengisian tangki air.
Page 42
29
BAB III
METODOLOGI PENELITIAN
3.1. Bahan dan Alat Penelitian
Pada penelitian yang berjudul Pemanfaatan Mikrokontroller AT89S51
Sebagai Pengendali Otomatis Mesin Listrik Pompa Air ini memerlukan beberapa
bahan dan alat pendukung yang digunakan, antara lain :
3.1.1. Bahan Penelitian
3.1.1.1. Sistem Minimum Mikrokontroller AT89S51
Sistem minimum Mikrokontroller AT89S51 digunakan untuk pengendali
utama dari alat ini. Fungsi utama adalah mengolah data dari hasil pembacaan
water level sensor untuk mengatur rile.
3.1.1.2. Transistor
Transistor pada rangkaian ini digunakan sebagai saklar untuk
mengendalikan rile dan sensor water level. Transistor yang digunakan adalah
transistor D400 berjenis NPN.
3.1.1.3. Saklar
Saklar digunakan untuk pemilihan mode pengisian, yaitu mode full dan
half. Saklar yang digunakan adalah saklar dip switch.
Page 43
30
3.1.1.4. Rile
Rile SPDT (satu kutub dua posisi) DC 12 Volt berfungsi sebagai
penghubung atau pemutus tegangan 220V AC dengan mesin listrik pompa air.
3.1.1.5. Pompa Air
Pompa air aquarium AC 220V digunakan untuk memompa air ke dalam
tangki penampungan air. Pompa air inilah yang dikendalikan secara otomatis oleh
alat yang dibuat.
3.1.1.6. Catu Daya Teregulasi
Catu daya teregulasi digunakan sebagi sumber tegangan untuk mencatu
rangkaian. Tegangan yang diperlukan adalah +5V dan +12V, digunakan catu daya
teregulasi menggunakan IC LM7805 dan LM7812 sehingga diperoleh tegangan
yang stabil.
3.1.2. Alat Penelitian
3.1.2.1. Komputer
Komputer digunakan untuk perancangan sistem meliputi desain rangkaian,
PCB, dan Program Pemanfaatan Mikrokontroller AT89S51 Sebagai Pengendali
Otomatis Mesin Pompa Air.
Spesifikasi :
a. Processor AMD Athlon X2
b. RAM (Random Acces Memory ) 1 Gbyte
c. Harddisk 80 Gbyte
Page 44
31
d. Sistem Operasi Windows XP
e. Tersedia DB-25 Parallel Port
Text Editor
Text editor berfungsi sebagai media penulisan teks program yang akan
dimasukkan ke dalam mikrokontroller AT89S51. Text editor ini telah tersedia
pada fasilitas yang disediakan Windows berupa notepad.
Compiller Assembler kompatible ASM51
Compiller Assembler adalah software untuk mengubah set instruksi dalam
bahasa assembly ( *.asm ) menjadi bahasa mesin ( *.hex ). Software yang
digunakan adalah MCS51.
Program Downloader
Program downloader adalah Software untuk mentransfer program dalam
bahasa mesin ( *.hex ) dari komputer ke mikrokontroller. Software yang
digunakan adalah Aec_ISP.
3.1.2.2. Kabel ISP Programmer
Kabel programmer digunakan untuk menghubungkan antara komputer
dan rangkaian Mikrokontroller AT89S51. Mikrokontroller diprogram secara in
system programming sehingga program dapat langsung didownload pada
rangkaian tanpa menggunakan programmer.
3.1.2.3. Multimeter
Multimeter Sanwa YX-360TRE digunakan untuk menguji komponen dan
mengukur tegangan dari rangkaian baik catu daya maupun rangkaian pengendali.
Page 45
32
3.2. Langkah Penelitian
Penelitian terdiri dari perancangan alat, realisasi sistem, dan pengujian.
Secara prinsip alat Pemanfaatan Mikrokontroller AT89S51 Sebagai Pengendali
Otomatis Mesin Pompa Air dapat dipisahkan menjadi beberapa bagian yaitu :
Rangkaian input berupa water level sensor dan switch mode pengisian, rangkaian
kontrol utama berupa mikrokontroller AT89S51, dan rangkaian output berupa rile
untuk mengatur hidup dan matinya pompa air. Untuk lebih jelasnya dapat dilihat
pada diagram blok dibawah ini.
Gambar 3.1. Diagram Blok Pemanfaatan Mikrokontroller AT89S51
Sebagai Pengendali Otomatis Mesin Pompa Air
3.2.1. Perancangan Alat
3.2.1.1. Perancangan Hardware
Perancangan hardware adalah penentuan rangkaian yang akan digunakan
dalam alat Pemanfaatan Mikrokontroller AT89S51 Sebagai Pengendali Otomatis
Mesin Listrik Pompa Air. Perancangan sesuai dengan diagram blok pada
Gambar.3.1.
Sistem Minimum
AT89S51
(Kontrol Utama)
Water level
Sensor
Mode
Pengisian
Output
Relay
Catu Daya
Teregulasi
M
Pompa Air
AC 220V
Page 46
33
3.2.1.1.1. Catu Daya Teregulasi
Rangkaian Pemanfaatan Mikrokontrol AT89S51 sebagai Pengendali
Otomatis Mesin Listrik Pompa Air ini tentu saja membutuhkan sumber tegangan.
Untuk menghasilkan tegangan yang stabil, maka catu daya-nya menggunakan IC
regulator seri LM 7812 dan LM 7805. IC LM 7812 berfungsi untuk menghasilkan
tegangan output sebesar 12 Volt untuk mencatu rile sehingga dapat bekerja. IC
LM 7805 berfungsi untuk menghasilkan tegangan output sebesar 5V hal ini
dikarenakan pada sistem mikrokontroller membutuhkan tegangan kerja antara 4V
– 5,5 V. Agar tidak terjadi perubahan tegangan yang dapat merugikan
mikrokontroller AT89S51. Untuk lebih jelasnya dapat dilihat pada rangkaian
dibawah ini :
Gambar 3.2. Rangkaian regulator Catu Daya +12V dan +5V
Sebelum tegangan AC 220V AC masuk ke rangkaian regulator, terlebih
dahulu tegangan AC 220V AC diturunkan menjadi 12 V dengan menggunakan
transformator step down kemudian disearahkan dengan menggunakan dioda
bridge (jembatan), tegangan ripple akan diratakan dengan menggunakan
kapasitor polar (2200uF/25V).
Page 47
34
U2 LM 7812 adalah IC regulator tegangan 12V DC dan U3 LM 7805
adalah IC regulator (penstabil) tegangan 5 VDC tegangan kerja yang dibutuhkan
oleh mikrokontroller.
3.2.1.1.2. Water level Sensor
Water level sensor adalah rangkaian untuk mendeteksi ketinggian air
dalam tangki. Sensor didesain untuk mendeteksi tiga level ketinggian air yaitu
kosong (empty), setengah (half), dan penuh (full) sehingga diperlukan tiga buah
sensor. Sensor water level tersusun dari tiga buah transistor yang difungsikan
sebagai saklar. Pada dasar air diberi tegangan +12V DC sebagai tegangan sumber,
sedangkan basis dari masing-masing diletakan pada titik – titik tertentu (dasar,
tengah dan atas) pada tangki.
Gambar 3.3. Water level Sensor
Page 48
35
Output sensor satu dihubungkan ke Port 1.0 sebagai sensor level atas
(full). Output sensor dua dihubungkan dengan Port 1.1 sebagai sensor level tengah
(half). Output sensor tiga dihubungkan dengan Port 1.2 sebagai sensor dasar
tangki (empty).
3.2.1.1.3. Saklar Mode Pengisian
Saklar mode pengisian, berfungsi untuk mengatur jika diinginkan
pengisian setengah tangki atau penuh. Saklar dihubungkan ke Port 1.3.
Gambar 3.4. Saklar Mode Pengisian (Full / Half)
3.2.1.1.4. Output Rile
Rangkaian output rile berfungsi sebagai saklar pompa air. Menggunakan
prinsip transistor sebagai saklar dihubungkan dengan P0.0.
Gambar 3.5. Rangkaian Output Rile
Page 49
36
3.2.1.1.5. Sistem Minimum AT89S51
Mikrokontroller AT89S51 digunakan sebagai pengendali utama motor
listrik pompa air. Penggunaan AT89S51 pada sistem ini karena mikrokontroller
jenis ini banyak beredar di pasaran dan harganya relatif lebih murah dari
mikrokontroller jenis lainnya. Hal ini sesuai dengan hukum ekonomi, dimana
semakin banyak barang yang beredar di pasar, maka semakin murah harga barang
tersebut. Selain hal tersebut juga dikarenakan pemrogramannya mudah serta
tersedianya alat (emulator) yang digunakan untuk mengisikan (up-load) program
ke dalam flash memori-nya.
Sistem minimum mikrokontroller AT89S51 mempunyai 4 buah port yang
dapat digunakan sebagai masukan atau keluaran. Agar dapat bekerja, AT89S51
membutuhkan sinyal detak (clock) yang dalam rangkaian ini memanfaatkan
osilator internal. Rangkaian ini dapat menggunakan kristal 0 MHz–33 MHz dan 2
buah kapasitor 30 pF. Untuk perancangan sistem ini menggunakan kristal
11,0592 MHz dan 2 buah kapasitor 30 pF yang terhubung ke pin 18 (XTAL2) dan
pin 19 (XTAL1).
Untuk rangkaian power on reset ini diperlukannya 1 buah resistor 10 kΩ,
1 buah kapasitor 10 µF elektrolit dan tombol berupa mikroswitch yang dipasang
paralel dengan kapasitornya dan Vcc. Tombol reset ini dihubungkan ke kaki RST
( pin 9 ). Untuk menanggapi reset tersebut, pada pin 9 menerima pulsa transisi
dari rendah ke tinggi, sehingga jika saklar ditekan maka rangkaian akan memberi
interupsi reset untuk kembali ke keadaan awal.
Page 50
37
Gambar 3.6. Rangkaian reset
Tegangan reset minimal adalah sebesar 0,7 Vcc atau sebesar 3,5 Volt,
sehingga diperoleh besarnya waktu reset, yaitu :
Vcc = Vc + Vrst
5 V = Vc + 3,5 V
Vc = 1,5 V
Vc = RCtev /1
1,5 = 54 10.10/15 te
1,5 = te 1015
1,5 = te 1055 te 105 = 3,5
te 10 = 0,7
-10 t = ln 0,7
-10 t = -0,35667
t = 35,667 ms
Jadi waktu tunda yang dibutuhkan untuk pengosongan kapasitor adalah sebesar
35,667 ms.
Gambar 3.7. Sistem Minimum AT89S51
VCC
RE
SE
T
+10 uF
R110 K
ResetVrst
Vc
Page 51
38
Perancangan sistem ini menggunakan 3 buah port, yaitu :
a. Port 0 digunakan untuk output rile terhubung dengan P0.0
b. Port 1 digunakan untuk input water level sensor dan saklar mode
pengisian. P1.0 dihubungkan dengan ouput sensor 1, P1.1 dihubungkan
dengan ouput sensor 2 , P1.2 dihubungkan dengan ouput sensor 3, dan
P1.3 dihubungkan dengan saklar mode pemilih.
3.2.1.1.6. Sistem Keseluruhan
Dari semua bagian diatas disusun menjadi dua buah rangkaian, yaitu :
Rangkaian kontrol utama dan rangkaian catu daya teregulasi. Gambar 3.8
menunjukkan rangkaian keseluruhan dari sistem kontrol pemanfaatan
mikrokontrol AT89S51 sebagai pengendali otomatis mesin listrik pompa air.
Page 52
39
Gambar 3.8. Sistem Kontrol Pemanfaatan Mikrokontrol AT89S51
Sebagai Pengendali Otomatis Mesin Listrik Pompa Air
Page 53
40
3.2.1.2. Perancangan Software
Perangkat lunak adalah program yang diperlukan untuk mengatur sistem
kerja dari perangkat keras (Hardware). Program merupakan urutan instruksi untuk
melaksanakan tugas tertentu. Dalam pembuatan program pemanfaatan
mikrokontrol AT89S51 sebagai kendali otomatis mesin listrik pompa air ini
menggunakan metode Douglas, yaitu menggunakan empat langkah sbb :
a. Pendefinisian permasalahan
Langkah pertama yang harus dilakukan adalah memikirkan secara cermat
permasalahan yang ingin diselesaikan menggunakan program. Dalam hal
ini permasalahan yang akan diselesaikan adalah membuat program untuk
mengendalikan mesin listrik pompa air sehingga dapat digunakan untuk
mengisi tangki air secara otomatis.
b. Representasi kerja program
Sekuen atau formula kerja yang digunakan untuk mengendalikan mesin
listrik pompa air sehingga dapat digunakan untuk mengisi tangki air secara
otomatis ini disebut Algoritma program. Algoritma berisi urutan-urutan
pekerjaan yang harus dijalankan sehingga tujuan dari pembuatan program
dapat tercapai dengan baik.
Flow Chart atau diagram alir adalah cara yang sangat sederhana untuk
menunjukkan aliran proses sebuah program. urutan proses yang dijalankan
dituliskan dalam bentuk-bentuk grafis sehingga lebih mudah dalam
melihat urutan proses yang harus dijalankan.
c. Penemuan instruksi – instruksi yang benar
Page 54
41
d. Penulisan program
Program yang dimengerti oleh mikrokontroller dan dieksekusi secara
langsung adalah program bahasa mesin. Instruksi ditulis dalam bahasa assembly
MCS-51. Instruksi tersebut di-compile kedalam bentuk bilangan hexa-decimal
yang disebut op-code (operation code).
Gambar 3.9. Bentuk Program Assembler
Mikrokontroller memiliki bahasa assembler khusus, dengan bentuk umum
semua instruksinya adalah :
1. Label, merupakan suatu simbol dapat berupa suatu tanda yang
mensistemkan nama dari suatu alamat.
2. Mnemonic, merupakan simbol operasi dari suatu instruksi.
3. Operand, merupakan penyedia informasi yang dibutuhkan operasi untuk
melakukan fungsinya.
4. Comment, merupakan pemberi keterangan pada instruksi program.
Program pada perancangan rangkaian Pemanfaatan mikrokontrol
AT89S51 sebagai pengendali otomatis mesin listrik pompa air merupakan
program yang menjalankan fungsi mikrokontroller AT89S51 sebagai pengendali
utama. Alur berpikirnya adalah sebagai berikut :
Page 55
42
a. Algoritma
Step 1. Start
Step 2. Seting kondisi awal (default)
Step 3. Baca Water level Sensor dan Saklar Mode Pengisian
Step 4. Apakah semua sensor tidak terendam
Step 5. Jika ya lompat ke step 13
Step 6. Apakah Mode Half, dan semua sensor tidak terendam
Step 7. Jika ya, lompat ke step 13
Step 8. Apakah semua sensor terendam
Step 9. Jika ya lompat ke step 15
Step 10. Apakah Mode Half, dan sensor bawah dan sensor tengah terendam
Step 11. Jika ya, Lompat ke step 15
Step 12. Kembali ke step 3
Step 13. Hidupkan Pompa Air
Step 14. Kembali ke step 3
Step 15. Matikan Pompa Air
Step 16. Stop
b. Flow Chart
START
BACA P1 SIMPAN DI REG A
AND KAN DENGAN 00001111
P 0.0 = RELAY
A ≠ 00000000
MATIKAN RELAY
A ≠ 00001001A ≠ 00000111A ≠ 00001111
HIDUPKAN RELAY
STOP
Y
NN
N N
YYY
Gambar 3.10. Flow Chart Program
Pengatur Otomatis Pompa Air Listrik Berbasis Mikrokontroller AT89S51
Page 56
43
c. Source Code
;===================================================== ; PEMANFAATAN MIKROKONTROLLER AT89S51 ; SEBAGAI PENGENDALI OTOMATIS MESIN LISTRIK POMPA AIR ; OLEH : MARSUDI ;===================================================== ;----------------------------------------------------- ; INISIALISASI PIN - PIN IC ;----------------------------------------------------- RILE BIT P0.0 ; AKTIF HIGH ;----------------------------------------------------- ;SETING KONDISI AWAL (DEFAULT) ;----------------------------------------------------- ORG 00H MATIKAN: CLR RILE ; MATIKAN RILE ;------------------------------------------------------ ;PROGRAM UTAMA ;------------------------------------------------------ START: MOV A,P1 ANL A,#00001111B CEK1: CJNE A, #00001111B, CEK2 SJMP HIDUPKAN CEK2: CJNE A, #00000111B, CEK3 SJMP HIDUPKAN CEK3: CJNE A, #00000000B, CEK4 SJMP MATIKAN CEK4: CJNE A, #00001001B, START SJMP MATIKAN ;------------------------------------------------------- ;FUNGSI MENGHIDUPKAN POMPA AIR ;------------------------------------------------------- HIDUPKAN: SETB RILE SJMP START END
Page 57
44
3.2.2. Realisasi Sistem
Dalam penyelesaiannya rancang bangun Pemanfaatan Mikrokontroller
AT89S51 Sebagai Pengendali Otomatis Mesin Listrik Pompa Air ini melalui
beberapa langkah kerja sebagai berikut :
1. Merancang layout pada komputer menggunakan PCB Designer 1.5
2. Mencetak layout yang telah dirancang ke transparasi
3. Membuat layout dalam PCB dengan menggunakan setrika
4. Melarutkan tembaga PCB dengan menggunakan larutan Ferry Clorida
5. Mengumpulkan komponen dan bahan-bahan yang diperlukan
6. Pengujian komponen – komponen yang diperlukan
7. Pengeboran PCB, pemasangan, penyolderan, dan pengawatan
8. Membuat software (program) dengan bahasa assembly
9. Uji coba tiap blok rangkaian untuk mengetahui karakeristik fungsinya
10. Uji coba keseluruhan alat untuk kinerja alat sampai sesuai dengan yang
diharapkan.
11. Pemasangan rangkaian ke dalam box.
12. Mengamati cara kerja rangkaian
13. Manganalisa hasil pengujian
14. Membuat laporan
Page 58
45
BAB IV
PENGUJIAN DAN PEMBAHASAN
4.1. Hasil Pengujian
4.1.1. Sistem Minimum AT89S51 dan Output Rile
Pengujian sistem minimum dengan memberi program sederhana pada
mikrokontroller berupa flip-flop untuk mengatur rile yang terhubung dengan P0.0.
Pengujian output rile dilakukan dengan mengontrol lama hidup dan lama mati
pompa air. Adapun program dalam mikrokontroller sebagai berikut :
;----------------------------------------------------------------- ; PROGRAM UJI RILE ;-----------------------------------------------------------------
ORG 0H MULAI:
SETB P0.0 CALL DELAY CLR P0.0 CALL DELAY
JMP MULAI DELAY:MOV R0,#10 DEL1 : MOV R1,#255 DEL2 : MOV R2,#255 DJNZ R2,$ DJNZ R1,DEL2 DJNZ R0,DEL1 RET
Setelah program dijalankan pada mikrokontroller maka rangkaian output
rile yang terhubung dengan pompa air aquarium menyala selama beberapa saat
kemudian mati beberapa saat. Dari hasil pengujian itu telah didapatkan
kesimpulan rangkaian sistem minimum AT89S51 dan output rile dapat digunakan
untuk mengendalikan pompa air.
Page 59
46
4.1.2. Water level Sensor
Water level sensor memanfaatkan transistor sebagai saklar, sehingga untuk
melakukan pengujian sensor ini harus dilakukan pengukuran titik kerja masing-
masing transistor.
Tabel 4.1. Titik Kerja Transistor Sensor 1 Q1
Kondisi VB VRC VC IC V out
Menggantung 0 V 0,5 V 11,5 V 0,05 mA 4 V
Terendam 2 V 11,5 V 0,5 V 1,15 mA 0,0 V
Tabel 4.2. Titik Kerja Transistor Sensor 2 Q2
Kondisi VB VRC VC IC V out
Menggantung 0 V 0,5 V 11,5 V 0,05 mA 4 V
Terendam 2 V 11,5 V 0,5 V 1,15 mA 0,0 V
Tabel 4.3. Titik Kerja Transistor Sensor 3 Q3
Kondisi VB VRC VC IC V out
Menggantung 0 V 0,5 V 11,5 V 0,05 mA 4 V
Terendam 2 V 11,5 V 0,5 V 1,15 mA 0,0 V
Dari hasil pengukuran titik kerja transistor dan tegangan output sensor
dapat diambil kesimpulan water level sensor sudah bekerja dengan memberi nilai
logika digital untuk mikrokontroller.
4.1.3. Saklar Mode
Rangkaian input ini hanya terdiri saklar sehingga hanya perlu mengukur
tegangan pin yang terhubung dengan saklar. Setelah dilakukan pengukuran saat
kondisi saklar OFF tegangan dari Port 1.3 adalah sama sebesar 0 Volt dan pada
saat saklar ON tegangan sama dengan 5 Volt. Dari hasil pengukuran dapat
disimpulkan rangkaian input sudah bekerja.
Page 60
47
4.1.4. Pengujian Sistem
Pada saat saklar mode posisi half, bak belum terisi air, catu daya
dihidupkan. Pompa air hidup dan air mengalir dan mengisi bak penampungan air.
volume air pada bak penampung semakin naik, sehingga sensor 3 (bawah) akan
terendam. Ketika ketinggian air mencapai sensor 2 (tengah) mesin listrik pompa
air mati. Jika kran dihidupkan air akan mengalir dari bak penampung, sehingga
volume air akan berkurang ketika sensor tengah tidak terendam mesin listrik
pompa air tetap mati dan ketika sensor bawah tidak terendam pompa air menyala.
Pada saat saklar mode posisi full, bak belum terisi air, catu daya
dihidupkan. Pompa air hidup dan air mengalir dan mengisi bak penampungan air.
volume air pada bak penampung semakin naik, sehingga sensor bawah akan
terendam. Ketika ketinggian air mencapai sensor tengah mesin listrik pompa air
tetap menyala dan ketika semua sensor terendam mesin listrik pompa air mati.
Jika kran dihidupkan air akan mengalir dari bak penampung, sehingga volume air
akan berkurang ketika sensor tengah tidak terendam mesin listrik pompa air
masih tetap mati dan ketika semua sensor tidak terendam pompa air menyala.
Dari hasil pengujian diatas dapat diambil kesimpulan bahwa sistem
pemanfaatan mikrokontroller AT89S51 sebagai pengendali mesin listrik pompa
air sudah bekerja sesuai dengan perencanaan.
Page 61
48
4.2. Pembahasan
4.2.1. Analisis Perangkat Keras
Berdasarkan hasil pengujian alat baik pengujian perbagian maupun secara
keseluruhan maka dapat diuraikan beberapa permasalahan yang berhubungan
dengan kinerja alat :
4.2.1.1. Sistem Minimum dan Output Rile
Sistem minumum yang sudah terhubung dengan interface output rile
sudah bekerja sesuai dengan rencana. Hal ini diketahui dari hasil percobaan
mengendalikan mesin listrik pompa air menghidupkan dan mematikan beberapa
saat. Dengan memanfaatkan program yang telah disusun dan diterapkan pada
mikrokontroler yang berupa lampu flip-flop. Ternyata maksud yang diinginkan
penulis berhasil sesuai dengan rencana
4.2.1.2. Water Level Sensor dan Saklar Mode
Water level sensor digunakan untuk mendeteksi ketinggian air dalam bak
penampungan air. Dari hasil pengujian yang dilakukan dapat diambil kesimpulan
bahwa sensor sudah bekerja sesuai dengan rencana. Hal ini diketahui dari hasil
pengukuran output sensor yang sudah dapat memberi logika digital mewakili
keadaan sensor terendam air dan tidak terendam air. Ketika sensor terendam maka
sensor memberi logika 0 dan ketika tidak terendam akan memberi logika 1.
Saklar mode sudah bekerja sesuai dengan rencana, hal ini dibuktikan dari
hasil pengujian bahwa saklar mode sudah dapat memberi logika digital mewakili
pemilihan mode full/half.
Page 62
49
4.2.2. Analisis Program
Pada sistem pemanfaatan mikrokontrol sebagai pengendali mesin pompa
air, dari 32 pin AT89S51 yang tersedia hanya ada 5 pin yang digunakan yaitu 4
pin sebagai input dan 1 pin sebagai output. Semua input diletakkan pada Port
yang sama bertujuan agar dalam mengakses input lebih mudah. Port yang
digunakan sebagai input adalah Port 1, konfigurasinya sbb:
P1.0 Sensor water level atas
P1.1 Sensor water level tengah
P1.2 Sensor water level bawah
P1.3 Saklar mode pengisian
Sehingga dari kombinasi input sensor dan saklar mode dapat disusun tabel
kebenaran sistem kontrol pemanfaatan mikrokontrol sebagai pengendali otomatis
mesin listrik pompa air dibawah ini.
Tabel 4.4. Kebenaran Kontrol Pompa Air Otomatis f(input) = output
NO
Input Output Pompa
Air keterangan Saklar
Mode
Water level Sensor
Bawah Tengah Atas
1 0 0 0 0 0 Saklar Mode :
0 = Mode Full 1 = Mode Half
Sensor :
0 = Terendam
1 = Menggantung
Pompa Air : 0 = Mati
1 = Hidup
x = Tidak tentu
2 0 0 0 1 x
3 0 0 1 0 x
4 0 0 1 1 x
5 0 1 0 0 x
6 0 1 0 1 x
7 0 1 1 0 x
8 0 1 1 1 1
9 1 0 0 0 x
10 1 0 0 1 0
11 1 0 1 0 x
12 1 0 1 1 x
13 1 1 0 0 x
14 1 1 0 1 x
15 1 1 1 0 x
16 1 1 1 1 1
Page 63
50
Dari 16 kemungkinan input mikrokontrol hanya ada empat kemungkinan
yang akan mengubah kondisi pompa air. Empat kemungkinan tersebut dapat
dikelompokkan menjadi dua yaitu : kondisi input yang menyebabkan mesin
pompa air hidup dan mati.
Agar didapatkan sistem pengendalian sesuai tabel kebenaran diatas,
program dibuat program yang tercantum di bab 3 pada perancangan software.
Secara prinsip program control pemanfaatan mikrokontroller sebagai pengendali
mesin listrik pompa air secara otomatis dapat dibagi menjadi empat bagian, yaitu :
1. Definisi awal program ( kondisi default )
2. Pembacaan input ( sensor )
3. Pengujian ( Pengujian 1, 2, 3 dan 4 )
4. Pengambilan keputusan (menghidupkan/mematikan Pompa air)
Untuk lebih jelasnya program dapat dijelaskan sebagai berikut :
Program didahului dengan deklarasi fungsi Pin P0.0 sebagai output rile.
Hal ini dilakukan agar rile mudah diakses tanpa harus mengingat alamat pin rile.
Kondisi Default
Seting kondisi awal adalah pengaturan keadaan mikrokontrol. Mengeset
alamat memori awal program ORG 00H jadi program dimulai dari alamat memori
00H. Kondisi pompa air harus dipastikan mati sehingga tidak terjadi kesalahan
kontrol pada saat dihidupkan.
ORG 00H MATIKAN : CLR RILE ; MATIKAN RILE
Page 64
51
Setelah melalui seting kondisi awal program masuk ke program utama.
Disinilah program akan mengolah data input dari water level sensor dan saklar
mode untuk memberi keputusan.
Pembacaan Input
Pembacaan input dilakukan dengan membaca Port 1, hasil akan disimpan
di register Accumulator. Data yang didapat adalah data 8 bit, karena yang
dibutuhkan hanya 4 bit terakhir maka dilakukan operasi logika AND dengan
00001111b. Data di Accumulator menjadi 0000 XXXXb, 4 bit MSB dapat
dipastikan nol sedangkan 4 bit LSB tidak akan berubah sesuai dengan pembacaan.
START: MOV A,P1 ; Pembacaan input ANL A, #00001111B ; Memastikan data
Fungsi Pengujian Pertama
Pengujian pertama dilakukan apakah mode half dan air kosong ( semua
sensor dalam kondisi menggantung ). Sehingga nilai pembandingnya adalah
00001111b. Jika datanya sama, program akan menuju fungsi menghidupkan
mesin pompa air, tangki mulai mengisi. Jika datanya tidak sama program akan
melanjutkan ke fungsi pengujian kedua (label CEK2).
CEK1: CJNE A, #00001111B, CEK2 ; Pengujian SJMP HIDUPKAN : Pengambilan Keputusan
Fungsi Pengujian Kedua
Pengujian kedua dilakukan apakah mode full dan air kosong ( semua
sensor dalam kondisi menggantung ). Sehingga nilai pembandingnya adalah
Page 65
52
00000111b. Jika datanya sama, program akan menuju fungsi menghidupkan
mesin pompa air, tangki mulai mengisi. Jika datanya tidak sama program akan
melanjutkan ke fungsi pengujian ketiga (label CEK3).
CEK2: CJNE A, #00000111B, CEK3 ; Pengujian SJMP HIDUPKAN ; Pengambilan Keputusan
Fungsi Pengujian ketiga
Pengujian ketiga dilakukan apakah mode full dan air penuh ( semua sensor
dalam kondisi terendam ). Sehingga nilai pembandingnya adalah 00000000b. Jika
datanya sama, program akan menuju fungsi mematikan mesin pompa air, tangki
berhenti mengisi. Jika datanya tidak sama program akan melanjutkan ke fungsi
pengujian keempat (label CEK4).
CEK3: CJNE A, #00000000B, CEK4 ; Pengujian SJMP MATIKAN ; Pengambilan Keputusan
Fungsi Pengujian Keempat
Pengujian keempat dilakukan apakah mode half dan air 50% ( sensor
bawah dan tengah terendam ). Sehingga nilai pembandingnya adalah 00001001b.
Jika datanya sama, program akan menuju fungsi mematikan mesin pompa air,
tangki berhenti mengisi. Jika datanya tidak sama program akan mengulangi
pembacaan input sensor dan saklar.
CEK4: CJNE A, #00001001B, START ; Pengujian SJMP MATIKAN ; Pengambilan Keputusan
Page 66
53
Fungsi Menghidupkan Mesin Pompa Air
Fungsi menghidupkan mesin pompa air akan menghidupkan rile dengan
memberi logika satu pada Pin P0.0. Setelah menghidupkan rile program akan
kembali membaca input sensor dan saklar.
HIDUPKAN: SETB RILE ; Menghidupkan Pompa Air SJMP START ; Kembali membaca input
4.2.3. Analisis Sistem Keseluruhan
Mikrokontroller AT89S51 berfungsi sebagai pengendali dari seluruh
sistem mesin listrik pompa air. Kontrol ini dapat digolongkan ke dalam sistem
kontrol tertutup (close loop). Plant berupa mesin listrik pompa air yang
mempunyai tujuan mengisi air ke tangki, dengan adanya water level sensor
sebagai sensor yang akan memberi koreksi kepada kontrol (plant) sehingga
didapat pengendalian secara otomatis.
Mikrokontrol akan mengolah hasil koreksi dari water level sensor yang
nantinya akan memberikan keputusan untuk menghidupkan atau mematikan
mesin pompa air. Secara prinsip kerja dari mikrokontrol adalah sebagai berikut :
ketika semua water level sensor tidak terendam (tangki kosong) mikrokontrol
akan menghidupkan pompa air sehingga tangki akan terisi air. Sistem akan terus
melakukan scaning sensor dan menunggu sampai semua sensor terendam (tangki
penuh). Bersamaan dengan terendamnya semua sensor, mikrokontrol akan
mematikan mesin pompa air. Pada posisi ini mikrokontrol akan melakukan
scaning sensor kembali, dan menunggu sampai air dalam tangki habis (semua
Page 67
54
water level sensor tidak terendam). Proses ini akan dilakukan terus menerus
sehingga air dalam tangki tidak akan pernah habis ataupun meluap.
Pengendali otomatis mesin listrik pompa air juga menyediakan menu
Mode Pengisian (Full / Half). Jika saklar dipasang pada mode Full tangki air
akan selalu terisi penuh. Sedangkan pada mode Half maka tangki air akan terisi
setengahnya.
Page 68
55
BAB V
KESIMPULAN
5.1. Kesimpulan
Berdasarkan data hasil pengujian Pemanfaatan Mikrokontroller AT89S51
Sebagai Pengendali Otomatis Mesin Listrik Pompa Air, dapat diambil beberapa
kesimpulan sebagai berikut :
1. Mikrokontroller dapat digunakan sebagai pengatur otomatis pompa air
listrik.
2. Saklar mode pengisian berfungsi untuk menghentikan pengisian air sesuai
posisi saklar, jika posisi saklar pada half pengisian air pada bak
penampung berhenti setelah volume air 50%, jika saklar mode pada posisi
full pengisian air berhenti setelah volume air 100% (penuh).
5.2. Saran
Untuk pengembangan lebih lanjut atau penelitian berikutnya yang akan
mengacu pada penelitian ini disarankan :
1. Menambah Sensor water level sehingga didapat hasil pengukuran yang
presisi dan lebih banyak mode pengisian.
2. Memodifikasi Sensor water level sehingga volume air dapat diketahui.
3. Menambah Indikator yang lebih baik sehingga hasil pengukuran dapat
ditampilkan dengan jelas dan menarik.
4. Sensor dilapisi dengan bahan anti karat
Page 69
56
DAFTAR PUSTAKA
Agfianto ,Eko Putra. 2002 : Belajar Mikrokontroller AT89S51/52/55 (Teori dan
Aplikasi). Gava Media. Yogyakarta
Atmel. 2005 : 8-bit Microcontroller with 4K Bytes In-Sistem Programmable Flash AT89S51. www.atmel.com/literature , 5 Mei 2009
Budhy Sutanto. 2001: Timer dan Counter dalam MCS51.
http://alds.stts.edu/digital/timer.htm , 5 Mei 2009
Budhy Sutanto. 2001. Menghubungkan MCS51 ke dunia Analog.
http://alds.stts.edu/DIGITAL/DA-ADC.htm , 5 Mei 2009
Istiyanto, J.E, dan Y. Efendy, 2004: Rancangan dan Implementasi Prototipe
Sistem Kendali Jarak Jauh Berbasis Mikrokontroller AT89S51 dan SMS
GSM, Jurnal Ilmu Dasar, FMIPA Universitas Jember.
Page 70
57
Lampiran 1. Gambar Rangkaian Sistem Kontrol
Page 71
58
Lampiran 2. Lay out Komponen dan PCB Sistem Kontrol
Page 72
59
Lampiran 3. Source Code Program Assembly Mikrokontroller AT89S51
;===================================================== ; PEMANFAATAN MIKROKONTROLLER AT89S51 ;SEBAGAI PENGENDALI OTOMATIS MESIN LISTRIK POMPA AIR ; OLEH : MARSUDI ;===================================================== ;----------------------------------------------------- ; INISIALISASI PIN - PIN IC ;----------------------------------------------------- RILE BIT P0.0 ; AKTIF HIGH ;----------------------------------------------------- ;SETING KONDISI AWAL (DEFAULT) ;----------------------------------------------------- ORG 00H MATIKAN: CLR RILE ; MATIKAN RILE ;------------------------------------------------------ ;PROGRAM UTAMA ;------------------------------------------------------ START: MOV A,P1 ANL A,#00001111B CEK1: CJNE A, #00001111B,CEK2 SJMP HIDUPKAN CEK2: CJNE A, #00000111B,CEK3 SJMP HIDUPKAN CEK3: CJNE A, #00000000B,CEK4 SJMP MATIKAN CEK4: CJNE A, #00001001B,START SJMP MATIKAN ;------------------------------------------------------- ;FUNGSI MENGHIDUPKAN POMPA AIR ;------------------------------------------------------- HIDUPKAN: SETB RILE SJMP START END
Page 73
60
Lampiran 4. Datasheet AT89S51