Anda di halaman 1dari 18

BAB 2

LANDASAN TEORI

Sebelum merangkai flood detector kita harus mengetahui apa saja
komponen penyusunnya dan fungsi dari tiap komponenya serta cara
penggunaannya agar alat dapat bekerja dengan baik. Diantara komponen
penyusunnya yaitu mikrokontroler, led, buzzer, resistor, kapasitor dan juga yang
lainya akan dijelaskan pada bagian ini secara bertahap.
2.1 IC Mikrokontroler
Mikrokontroler adalah salah satu dari bagian dasar dari suatu sistem
komputer. Meskipun mempunyai bentuk yang jauh lebih kecil dari suatu
komputer pribadi dan komputer mainframe, mikrokontroler dibangun dari
elemen-elemen dasar yang sama. Secara sederhana, komputer akan menghasilkan
output spesifik berdasarkan inputan yang diterima dan program yang dikerjakan.
Seperti umumnya komputer, mikrokontroler adalah alat yang mengerjakan
instruksi-instruksi yang diberikan kepadanya. Artinya, bagian terpenting dan
utama dari suatu sistem terkomputerisasi adalah program itu sendiri yang dibuat
oleh seorang programmer. Program ini menginstruksikan komputer untuk
melakukan jalinan yang panjang dari aksiaksi sederhana untuk melakukan tugas
yang lebih kompleks yang diinginkan oleh programmer.
2.1.1 Mikrokontroler AT89S51
Mikrokontroler tipe AT89S51 merupakan mikrokontroler keluarga MCS-
51 dengan konfigurasi yang sama persis dengan AT89C51 yang cukup terkenal,
hanya saja AT89S51 mempunyai fitur ISP (In-System Programmable Flash
Memory). Fitur ini memungkinkan mikrokontroler dapat diprogram langsung


dalam suatu sistem elektronik tanpa melalui Programmer Board atau Downloader
Board. Mikrokontroler dapat diprogram langsung melalui kabel ISP yang
dihubungkan dengan paralel port pada suatu Personal Computer.
Pada awal perkembangannya, mikroprosesor dibuat berdasarkan
kebutuhan aplikasi yang lebih spesifik, dalam hal ini mikroprosesor
dibagiimenjadi beberapa jenis, yaitu :
Mikroprosesor RISC (Reduced Instruction Set of Computing) dan CISC
(Complex Instruction Set of Computing). Jenis ini yang digunakan untuk
pengolahan informasi dengan perangkat lunak yang rumit dan digunakan
untuk kebanyakan PC saat ini.

Gambar 2.1 : IC Mikrokontroller AT89S51
Pengolah Sinyal Digital, DSP (Digital Signal Processor). Memiliki
perangkat lunak dan perangkat keras yang ditujukan untuk mempermudah
proses pengolahan sinyal-sinyal digital. DSP digunakan pada perangkat
audio dan video modern seperti VCD, DVD, Home Theatre dan juga pada
kartu-kartu multimedia di computer.Dalam perkembangan yang begitu
cepat, batasan-batasan tersebut menjadi kabur, seperti definisi mini, mikro
dan mainframe computer. Beberapa mikrokontroller disebut embedded
processor, artinya prosesor yang diberikan program khusus yang
selanjutnya diaplikasikan untuk akumulasi data dan kendali khusus, serta
bisa diprogram ulang. Beberapa mikrokontroller modern juga dilengkapi
dengan DPS atau terdapat pula mikrokontroler yang terfolong RISC
seperti mikrokontroler AVR (Alf Egil Bogen and Vegard Wollman s Risc
procecor).
Mikrokontroller adalah suatu chip yang dibuat dengan cirri khasnya, umumnya
adalah :
Memiliki memori yang relatif sedikit. Penggunaan mikrokontroller untuk
keperluan instrumentasi khusus membuatnya tidak efisien jika
menggunakan memori yang besar namun tidak terpakai.
Memiliki unit I/O langsung. Berbeda dengan mkrokomputer yang unit I/O-
nya dapat dikonfigurasi lebih lanjut, mikrokontroller memiliki unit I/O
yang terintregasi dan berhubungan langsung dengan mikroprosesornya.
Sedangkan dalam hal aplikasi, mikrokontroler memiliki karakteristiksebagai
berikut:
Program relative lebih kecil dari pada program PC.
Konsumsi daya kecil
Rangkaian sederhana dan kompak.
Murah, karena komponen ynag digunakan sedikit.
Unit I/O yang sederhana, missalnya keypad, LCD, LED, latch
Lebih taghan terhadap kondisi lingkungan ekstrim misalnya temperature,
tekanan, kelembaban dan sebagainya
2.1.2 Pin-Pin Mikrokontroler AT89S51
Mikrokontroler AT89S51 memiliki pin berjumlah 40 dan umumnya
dikemas dalam DIP (Dual Inline Package). Masing-masing pin pada
mikrokontroler AT89S51 mempunyai kegunaan sebagai berikut:



Gambar 2.2: Pin Mikrokontroller AT89S51
Port 0 (Pin 32 sampai 39)
Port 0 merupakan port dua fungsi yang berada pada pin 32-39 dari
AT89S51. Dalam rancangan sistem sederhana port ini sebagai port I/O serbaguna.
Untuk rancangan yang lebih komplek dengan melibatka nmemori eksternal jalur
ini dimultiplek untuk bus data dan bus alamat.
Port 1 (Pin 1 sampai 8)
Port 1 disediakan sebagai port I/O dan berada pada pin 1-8. Beberapa pin
pada port ini memiliki fungsi khusus yaitu P1.5 (MOSI), P1.6 (MISO), P1.7
(SCK) yang digunakan untuk jalur download program.
Port 2 (Pin 21 sampai 28)
Port 2 ( pin 21-28 ) merupakan port dua fungsi yaitu sebagai I/O
serbaguna, atau sebagai bus alamat byte tinggi untuk rancangan yang
melibatkan memori eksternal.
Port 3 (Pin 10 sampain 17)
Port 3 adalah port dua fungsi yang berada pada pin 10-17, port ini
memiliki multi fungsi, seperti berikut ini :
BIT NAME BIT ADDRESS ALTERNATE FUNCTION
P3.0 RXD B0h Receive data for serial port
P3.1 TXD B1h Transmit data for serial port
P3.2 INT0 B2h External interrupt 0
P3.3 INT1 B3h External interrupt 1
P3.4 T0 B4h Timer/counter 0 external input
P3.5 T1 B5h Timer/counter 1 external input
P3.6 WR B6h External data memory write strobe
P3.7 RD B7h External data memory read strobe
PSEN (Program Store Enable)
Sebuah sinyal keluaran yang terdapat pada pin 29. Fungsinya adalah
sebagai sinyal kontrol untuk memungkinkan mikrokontroler membaca program
(code) dari memori eksternal. Biasanya pin ini dihubungkan ke pin EPROM. Jika
eksekusi program dari ROM internal atau dari flash memori (ATMEL AT89SXX)
, maka berada pada kondisi tidak aktif (high).
ALE (Address Latch Enable)
Sinyal output ALE yang berada pada pin 30 fungsinya sama dengan ALE
pada microprocessor INTEL 8085, 8088 atau 8086. Sinyal ALE dipergunakan
untuk demultiplek bus alamat dan bus data. Sinyal ALE membangkitkan pulsa
sebesar 1/6 frekuensi oscillator dan dapat dipakai sebagai clock yang dapat
dipergunakan secara umum
EA (External Access)
Masukan sinyal terdapat pada pin 31 yang dapat diberikan logika rendah
(ground) atau logika tinggi (+5V). Jika diberikan logika tinggi maka


mikrokontroler akan mengakses program dari ROM internal (EPROM/flash
memori). Jika diberi logika rendah maka mikrokontroler akan mengakses program
dari memori eksternal.
RST (Reset)
Input reset pada pin 9 adalah reset master untuk AT89S51. Pulsa transisi
dari tinggi selama 2 siklus ke rendah akan mereset mikrokontroler.
Oscillator
Oscillator yang disediakan pada chip dikemudikan dengan XTAL yang
dihubungkan pada pin 18 dan pin 19. Diperlukan kapasitor penstabil sebesar 30
pF. Besar nilai XTAL sekitar 3 MHz sampai 33 MHz. XTAL1 adalah input ke
pembalikan penguat osilator (inverting oscillator amplifier) dan input ke clock
internal pengoperasian rangkaian. Sedangkan XTAL2 adalah output dari
pembalikan penguat osilator.
Power
AT89S51 dioprasikan pada tegangan power supplay +5V, pin VCC berada
pada pin 40 dan VSS (ground) pada pin 20.
Mikrokontroller tidak dapat bekerja bila tidak diberikan program
kepadanya, sistem kerja mikrokontroller dapat dirubah setiap saat sesuaii dengan
program yang diberikan kepadanya. Instruksi perangkat lunak berbeda untuk
masing-masing jenis mkrokontroler.
Mikrokontroller tidak dapat memahami instruksi Yang berlaku pada
mikrokontroller jenis lain, contohnya Mikrokontroller buatan INTEL memiliki
intruksi yang berbeda dengan mikrokontroller buatan ZILOG.
Bahasa pemrograman yang digunakan untuk memprogram MCS51
adalah bahasa assembler, bahasa assembler berkaitan erat dengan bilangan,
bilangan tersebut digunakan untuk pemberian alamat pada port dan registry.
2.1.3 Perintah Dasar MCS-51
Dasar-dasar perintah yang biasa digunakan pada mikrokontroller MCS-51
adalah sebagai berikut.
a. Clr : mereset atau memberi nilai 00h.
b. Mov : menyalin suatu nilai.
c. Setb : memberikan logika 1 pada port.
d. Call : memanggil perintah program yang ditentukan.
e. Sjmp : lompat ke label program dan langsung menjalankan.
f. Djnz: mengurangi nilai pada register, bila belum mencapai 0 maka
akan dilakukan lompatan ke label sub program.
g. Jnb : lompat ke label subprogram bila nilai port berlogika LOW.
h. Cjne: bandingkan, bila nilai port tidak sama maka lompat.
i. rr / rl: geser kanan 1 bit pada isi akumulator / kiri 1bit
j. inc /dec : menambahkan nilai 1 bit pada akumulator / mengurangi
nilai 1 bit pada akumulator.
Format penulisan standar bahasa assembly MCS-51 :
$mod51
Org 0h
Mov P1,#11111111b
Mov P2,#11111111b
Mov P3,#11111111b


Mov P4,#11111111b
;
main program
;
End
Keterangan:
$mod51 : sebagai inisialisasi bahwa program akan dijalankan dengan bahasa
assembly
Org 0h : menunjukan bahwa program akan dimulai dari alamat 0 hexa
Mov P1,#11111111b : menset port1 (member logika1)
Main program : berisi program utama
End : mengakhiri program
2.1.4 Jenis-Jenis Instruksi Transfer Data
a. ACCUMULATOR / REGISTER
Metode ini adalah menyalin data dari suatu Register ( R0 R4 )
keAccumulator (A)
Contoh : MOV A,R0
MOV A,R1
MOV A,R2
MOV A,R3
MOV A,R4
b. REGISTER / ACCUMULATOR
Metode ini adalah menyalin data yang berada di Accumulator ( A )ke
suatu Register ( R0 R5 )
Contoh :
MOV R0,A
MOV R1,A
MOV R2,A
MOV R3,A
MOV R4,A
MOV R5,A
c. ACCUMULATOR / DATA ( IMMEDIATE )
Metode ini adalah untuk mengisi data ke dalam Accumulator ( A )dengan
data 8 bit secara langsung. Pada metode ini digunakan tanda #pada data yang akan
diisikan.
Contoh : MOV A,#24H
MOV A,#7FH
MOV A,#0FEH
MOV A,#0F8H
MOV A,#100
MOV A,#255
MOV A,#0FFH



d. REGISTER / DATA ( IMMEDIATE )
Metode ini adalah untuk mengisi data ke dalam suatunRegister(R0R5)
dengan data 8 bit secara langsung. Pada metode ini digunakan tanda # pada data
yang akan diisikan.
Contoh : MOV R0,#24H
MOV R1,#7FH

e. REGISTER / REGISTER
Metode ini adalah mengkopi data yang berada di Register (R0-R7)kesuatu
Register (R0-R5) yang lain.
Contoh : MOV R0,R5
MOV R4,R0
MOV R2,R1
MOV R6,R2
MOV R4,R7
MOV R5,R1
f. ACCUMULATOR / DIRECT
Instruksi ini akan memindahkan data dari sebuah alamat internal RAM ke
Accumulator tanpa melalui register lainnya.
Contoh : MOV A,20H
MOV A,21H
MOV A,22H
MOV A,23H

g. DIRECT / ACCUMULATOR
Instruksi ini akan memindahkan data dari Accumulator ke sebuah alamat
internal RAM tanpa melalui register lainnya.
Contoh : MOV 20H,A
MOV 21H,A
MOV 22H,A
MOV 23H,A
MOV 24H,A
MOV 25H,A
MOV 2FH,A
h. ACCUMULATOR / INDIRECT
Type instruksi ini hanya dapat menggunakan register R0 dan R1 sebagai
pointer
Contoh : MOV A,@R0
MOV A,@R1
i. INDIRECT / ACCUMULATOR
Type instruksi ini hanya dapat menggunakan register R0 dan R1sebagai
pointer
Contoh : MOV @R0,A
MOV @R1,A
j. REGISTER / DIRECT
Instruksi ini akan memindahkan data dari sebuah alamat internalRAM ke
Register-register yang berada di Mikrokontroller.


Contoh : MOV R0,20H
MOV R1,21H
MOV R2,22H
MOV R3,23H
MOV R4,24H
MOV R5,25H
MOV R6,29H
k. DIRECT / REGISTER
Instruksi ini akan memindahkan data dari sebuah Register ke sebuah
alamat internal RAM yang berada di Mikrokontroller.
Contoh :
MOV 22H,R0
MOV 24H,R1
MOV 25H,R2
l. DIRECT / DIRECT
Instruksi ini akan memindahkan data dari sebuah alamat internalRAM ke
sebuah alamat internal RAM juga.




Contoh : MOV 22H,20H
MOV 24H,21H
MOV 25H,23H
MOV 28H,26H
MOV 2AH,20H
MOV 2CH,29H
MOV 2DH,2FH
m. DIRECT / DATA
Pada instruksi ini akan mengisi data pada sebuah alamat internal RAM
secara langsung dengan cara memasukkan data delapan bit.
MOV 22H,#0FEH
MOV 24H,#7EH
MOV 25H,#23H
MOV 28H,#9FH
MOV 2AH,#0D5H
MOV 2CH,#0B4H
MOV 2DH,#22H


n. INDIRECT DATA
Pada instruksi yang dipakai disini menggunakan register INDIRECT
sebagai register pemrosesnya dengan diisi data secara langsung.
o. INDIRECT DIRECT
Pada instruksi yang dipakai disini menggunakan register INDIRECT
sebagai register pemrosesnya dengan diisi data dari alamat internal RAM
2.2 Xtal

gambar 2.3: Xtal


Mikrokontroler keluarga MCS51 didaalamnya mempunyai rangkaian
osilator (Build in). orang sering menggunakan osilator sebagai sumber detak
mikrokontroller dengan kristal 12 MHz. Sumber detak (clock) ini yang
menentukan besarnya atau kecepat siklus mesin yang di perlukan guna membaca
setiap satu perintah.
Satu siklus mesin akan menjalankan satu perintah mikrokontroler, tidak
menutup kemungkinan satu perintah membutuhkan dua siklus mesin. Apabila
digunakan kristal 12 MHz, maka waktu yang diperlukan setiap satu siklus mesin
adalah 1 detik.
Frekuensi kristal = 12 MHz t = 1 / f
t = 1 / 12 MHz = 8,333333333-8
t = 8,333333333-8 x 1000000 = 0,083333333 detik sehingga satu periode
gelombang kotak
periode = 0,083333333 / 2 = 0,04166 detik
Satu siklus mesin terbagi menjadi 6 kelompok dengan setiap satu
kelompok membutuhkan dua periode gelombang kotak, maka satu siklus mesin
adalah : satu siklus mesin = 0,083333333 x 2 x 6 = 1 detik
2.3 Kapasitor
Kapasitor (Kondensator) yang dalam rangkaian elektronika dilambangkan
dengan huruf C adalah suatu alat yang dapat menyimpan energi/muatan listrik
di dalam medan listrik, dengan cara mengumpulkan ketidakseimbangan internal
dari muatan listrik. Kapasitor ditemukan oleh Michael Faraday (1791-1867).
Satuan kapasitor disebut Farad (F). Satu Farad = 9 x 1011 cm
2
yang artinya luas
permukaan kepingan tersebut.

Gambar 2.4: Jenis-jenis kapasitor
Berikut adalah tabel contoh konstanta (k) dari beberapa bahan
dielektrik yang disederhanakan :
Tabel 2.1 konstanta bahan (k)
Udara vakum K=1
Alumunium oksida K=8
Keramik K=100-1000
Gelas K=8
Polyethylene K=3
Untuk rangkaian elektronik praktis, satuan farad adalah sangat besar
sekali. Umumnya kapasitor yang ada di pasaran memiliki satuan :
F, nF dan pF.
1 Farad = 1.000.000 F (mikro Farad)
1 F = 1.000.000 pF (piko Farad)


1 F = 1.000 nF (nano Farad)
1 nF = 1.000 pF (piko Farad)
1 pF = 1.000 F (mikro-mikro Farad)
1 F = 10-6 F
1 nF = 10-9 F
1 pF = 10-12 F
Konversi satuan penting diketahui untuk memudahkan membaca besaran
sebuah kapasitor. Misalnya 0.047F dapat juga dibaca sebagai 47nF, atau contoh
lain 0.1nF sama dengan 100pF.
Kapasitor / kondensator diidentikkan mempunyai dua kaki dan dua kutub
yaitu positif dan negatif serta memiliki cairan elektrolit dan biasanya berbentuk
tabung.
2.4 LED
Yaitu jenis dioda yang mampu menghasilkan cahaya apabila pada dioda
tersebut bekerja tegangan 1.8V dan arus listrik 1.5mA dengan arah forward
bias / bias arus maju. Arus listrik juga akan bekerja hanya pada arus bias
maju. LED di design dengan rumah atau case dari bahan epoxy trasnparan. Warna
cahaya yang dihasilkan dapat dibuat sesuai dengan dopping bahan pada LED.
2.5 Resistor
Resistor adalah komponen dasar elektronika yang digunakan untuk
membatasi jumlah arus yang mengalir dalam satu rangkaian. Sesuai dengan
namanya resistor bersifat resistif dan umumnya terbuat dari bahan karbon. Dari
hukum Ohm yang diketahui bahwa resistansi berbanding terbalik dengan
jumlah arus yang mengalir melaluinya. Satuan resistansi dari suatu resistor
disebut Ohm atau dilambangkan dengan simbol ( Omega ). Jika Resistor tidak
dialiri arus, maka tegangan kedua ujungnya sama.



Gambar 2.5: Resistor
2.6 Buzzer
Fungsi dari buzzer adalah sama seperti speaker, yaitu untuk menghasilkan
suara, namun buzzer hanya mampu untuk menghasilkan suara berfrekuensi
tinggi, sedangkan speaker mampu untuk menghasilkan suara dalam berfrekuensi
tinggi dan rendah. Rangkaian dalam Buzzer merupakan komponen yang berisikan
lilitan dan 3 batang kawat yang berbentuk seperti switch. Apabila arus
dialirkan, maka kumparan akan menghasilkan medan magnetik, sehingga
menarik kawat (K3), dan memutuskan kawat (K2) dengan kawat (K1), tetapi
kalau arus dimatikan, maka kumparan akan kehilangan medan magnetnya
sehingga kawat K3 akan terlepas dari kumparan, dan kawat K2 berhubungan
dengan K1. Buzzer biasa dipakai pada alat-alat ringan yang membutuhkan daya
kecil.

Gambar 2.6: buzzer


2.7 Sensor Air

Rangkaian sensor air merupakan jalur pcb yang dirangkai sangat
berdekatan, namun tidak terhubung, dan dilapisi timah agar tembaga jalur pcb
tersebut tidak terkorosi oleh air hujan nantinya. Ketika air hujan menggenangi
jalur timah yang berdekatan tersebut, maka jalur tersebut menjadi terhubung satu
sama lain dikarenakan sifat air sebagai konduktor yang baik.




Gambar 2.7 Sensor Air

Di blok sensor ini terdapat sensor air. Sensor ini berfungsi sebagai
sumber inputan logika untuk AT89S51. Pada sensor air, jika sensor air terkena
air, maka sensor air akan menghasilkan logika LOW untuk inputan AT89S51, dan
logika HIGH jika sensor tidak terkena air.