Anda di halaman 1dari 46

BAB I

PENDAHULUAN

1.1. Latar Belakang Masalah


Sumber daya alam yang bermanfaat bagi kehidupan manusia sangatlah banyak
tersedia di bumi ini. Baik itu sumber daya alam yang dapat diperbaharui maupun sumber daya
alam yang tidak diperbaharui. Gas LPG merupakan salah satu hasil dari sumber daya alam
yang tidak dapat diperbaharui.Peranan Gas LPG pada saat ini sangatlah penting bagi
kehidupan manusia. Teringat, semakin menipisnya persediaan minyak dibumi ini perlahan
lahan Gas LPG mulai menggantikan peranan utama dari minyak bumi sebagai bahan bakar
altetnatif baik itu dalam bidang industri, rumah tangga, maupun transportasi.
Terkadangkala manusia terbuai akan kayanya sumber daya alam ini. Disaat sengaja
maupun tidak sengaja, Gas LPG menjadi dampak negatif terhadap kesehatan manusia bahkan
menimbulkan kerugian yang cukup besar apabila tidak digunakan dengan hati hati terutama
bila tidak diketahui telah terjadinya kebocoran dari tabung atau tempat penyimpanan Gas
LPG. Seharusnya, Gas LPG tersebut sesuatu yang dapat mempermudah kelangsungan hidup
manusia tetapi menjadi kerugian manusia.
Untuk itu, berdasarkan latar belakang masalah tersebut perlu dilakukan suatu
penanganan khusus, guna mencegah kerugian yang ditimbulkan oleh Gas LPG tersebut.
Penulis merancang suatu alat dengan judul RANCANG BANGUN ALAT PENDETEKSI
KEBOCORAN

GAS

LPG

MIKCROKONTROLER AT89S51 .

DENGAN

SENSOR

TGS2610

BERBASIS

1.2 Rumusan masalah


Berdasarkan permasalahan di atas,maka penulis mencoba merancang suatu alat yang
dapat mendeteksi kebocoran gas LPG pada suatu ruangan. Alat ini akan memberitahukan
kepada pemilik rumah dengan cara membunyikan alarm dan menampilkan pesan yang tertera
pada display apabila telah terajadi kebocoran gas LPG di dalam ruangan tersebut. Selain itu
alat ini juga dlengkapi degan kipas untuk membuang gas LPG yang masih terdapat di dalam
ruangan tersebut agar udara yang terdapat di dalam ruangan tersebut tidak lagi tercemar oleh
gas LPG
Pada alat ini digunakan sensor LP Gas TGS2610 sebagai pendeteksi ada atau tidaknya
gas LPG yang masuk ke dalam ruangan. Mikrokontroller AT89S51 digunakan sebagai otak
dari seluruh system dan mengolah data yang dihasilkan oleh sensor kemudian membunyikan
alarm dan menghidupkan kipas

1.3 Tujuan Penulisan


Tujuan dilakukan Tugas Akhir ini adalah sebagai berikut:
1. merancang suatu alat yang dapat mendeteksi kebocoran gas LPG
2. Memanfaatkan mikrokontroller sebagai alat pengolah data yang diberikan oleh sensor.
3. merancang suatu alat yang user friendly
4. studi lebih lanjut tentang aplikasi mikrokontroller AT89S51

1.4 Batasan Masalah


Mengacu pada hal diatas, penulis akan merancang alat pendeteksi kebocoran gas LPG
berbasis mikrokontroler AT89S51, dengan batasan-batasan sebagai berikut :
1. Mikrokontroler yang digunakan adalah jenis AT89S51.
2. sensor yang digunakan adalah sensor LP Gas TGS2610.
3. alat ini hanya mendeteksi keberadaan gas LPG tidak mendeteksi asal kebocoran
4. untuk menetralkan udara dalam ruangan digunakan kipas

1.5 Sistematika Penulisan


Untuk mempermudah pembahasan dan pemahaman maka penulis membuat
sistematika pembahasan bagaimana sebenarnya prinsip kerja dari alat pendeteksi kebocoran
gas LPG dengan menggunakan sensor gas TGS2610 berbasis mikrokontroler AT89S51, maka
penulis menulis laporan ini sebagai berikut:
BAB I.PENDAHULUAN
Dalam bab ini berisikan mengenai latar belakang, rumusan masalah, tujuan penulisan,
batasan masalah, serta sistematika penulisan.

BAB II.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 mikrokontroler AT89S51 (hardware dan software), sensor gas TGS2610,ADC
bahasa program yang digunakan. serta karekteristik dari komponen-komponen
pendukung.

BAB III. PERANCANGAN ALAT DAN PROGRAM


Pada bagian ini akan dibahas

perancangan dari alat, yaitu diagram blok dari

rangkaian, skematik dari masing-masing rangkaian dan diagram alir dari program
yang akan diisikan ke mikrokontroler AT89S51.

BAB IV. ANALISA RANGKAIAN DAN SISTEM KERJA ALAT


Pada bab ini akan dibahas hasil analisa dari rangkaian dan sistem kerja alat, penjelasan
mengenai program-program yang digunakan untuk mengaktipkan rangkaian,
penjelasan mengenai program yang diisikan ke mikrokontroler AT89S51.

BAB V.KESIMPULAN DAN SARAN


Bab ini merupakan penutup yang 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.

BAB II
DASAR TEORI
2.1

SENSOR
2.1.1

Pengertian Umum Sensor

Sebenarnya sensor secara umum didefinisikan sebagai alat yang mampu menangkap
fenomena fisika atau kimia kemudian mengubahnya menjadi sinyal elektrik baik arus listrik
ataupun tegangan. Fenomena fisik yang mampu menstimulus sensor untuk menghasilkan
sinyal elektrik meliputi temperatur, tekanan, gaya, medan magnet cahaya, pergerakan dan
sebagainya. Sementara fenomena kimia dapat berupa konsentrasi dari bahan kimia baik cairan
maupun gas.
Dengan definisi seperti ini maka sensor merupakan alat elektronik yang begitu banyak
dipakai dalam kehidupan manusia saat ini. Bagaimana tekanan jari kita pada key board
computer, remote televisi, lantai lift yang kita tuju, menghasilkan perubahan pada layar
computer atau televisi, serta gerakan pada lift adalah contoh mudah sensor secara luas. Atau
sensor temperatur yang banyak digunakan dalam mengontrol temperatur ruangan pada AC.
Demikian pula sensor pengukur cairan oksigen ataupun gas lainnya yang sering digunakan di
rumah sakit. Hampir seluruh kehidupan sehari hari saat ini tidak ada yang tidak melibatkan
sensor. Tidak mengherankan jika sensor (atau juga ada yang menyebutnya dengan transducer)
banyak disebut juga sebagai panca indera-nya alat elektronik modern.
2.1.2

Cara Kerja Sensor Gas Secara Umum

Terbentuk pada permukaan luar kristal. Tegangan permukaan yang terbentuk akan
menghambat laju aliran electron seperti tampak pada ilustrasi Gambar.

Ilustrasi penyerapan O2 oleh sensor

Di dalam sensor, arus elektrik mengalir melewati daerah sambungan(grain boundary)


dari kristal SnO2. Pada daerah sambungan, penyerapan oksigen mencegah muatan untuk
bergerak bebas. Jika konsentrasi gas menurun, proses deoksidasi akan terjadi, rapat
permukaan dari muatan negative oksigen akan berkurang, dan mengakibatkan menurunnya
ketinggian penghalang dari daerah sambungan, misal terdapat adanya gas CO yang terdeteksi
maka persamaan kimianya dapat digambarkan seperti tampak pada persamaan berikut ini.
CO + Oad(SnO2X) CO2 + (SnO2X)*(2)
Dengan menurunnya penghalang maka resistansi sensor akan juga ikut menurun.

Gambar 2

Ilustrasi ketika terdeteksi adanya gas


Sensor gas LPG TGS2610
Sensor gas LPG TGS2610 merupakan salah satu sensor utama dalam
penelitian ini. Sensor ini merupakan sebuah sensor kimia atau sensor gas. Sensor ini
mempunyai nilai resistansi Rs yang akan berubah bila terkena gas yang mewakili gas LPS di
udara yaitu gas metana dan ethanol. Sensor LPG TGS2610 mempunyai tingkat sensitifitas
yang tinggi terhadap dua jenis gas tersebut. Jika sensor tersebut mendeteksi keberadaan gas
gas tersebut di udara dengan tingkat konsentrasi tertentu, maka sensor akan menganggap
terdapat gas LPG di udara. Dan ketika sensor mendeteksi keberadaan gas gas tersebut maka
resistensi elektrik sensor tesebut akan menurun yang menyebakan tegangan yang dihasilkan
oleh output sensor akan semakin besar. Selain itu, sensor juga mempunyai sebuah pemanas
(heater) yang digunakan untuk membersihkan ruangan sensor dari kontaminasi udara luar
agar sensor dapat bekerja kembali secara efektif .secara umum bentuk dari sensor gas LPG
TGS2610 dapat dilihat dari gambar berikut:

2.1.3

Prinsip Kerja Sensor

Adapun prinsip kerja dari sensor ini adalah sebagai berikut, Sensor gas TGS 2610
hanya terdiri dari sebuah lapisan silikon dan dua buah elektroda pada masing-masing sisi
silikon. Hal ini akan menghasilkan perbedaan tegangan pada outputnya ketika lapisan silikon
ini dialiri oleh arus listrik. Tanpa adanya gas LPG yang terdeteksi, arus yang mengalir pada
silikon akan tepat berada ditengah-tengah silikon dan menghasilkan tegangan yang sama
antara elektrode sebelah kiri dan elektrode sebelah kanan, sehingga beda tegangan yang
dihasilkan pada output adalah sebesar 0 volt.

Gambar Prinsip kerja sensor, saat tidak ada gas LPG yang terdeteksi
Ketika terdapat gas LPG yang mempengaruhi sensor ini, arus yang mengalir akan
berbelok mendekati atau menjauhi salah satu sisi silikon.

Gambar Prinsip kerja sensor, saat dikenai gas LPG


Ketika arus yang melalui lapisan silikon tersebut mendekati sisi silikon sebelah kiri maka
terjadi ketidakseimbangan tegangan output dan hal ini akan menghasilkan beda tegangan di
outputnya. Begitu pula bila arus yang melalui lapisan silikon tersebut mendekati sisi silikon
sebelah kanan.
Semakin besar konsentrasi gas yang mempengaruhi sensor ini, pembelokan arus di dalam
lapisan silikon juga semakin besar, sehingga ketidakseimbangan tegangan antara kedua sisi
lapisan silikon pada sensor semakin besar pula. Semakin besar ketidakseimbangan tegangan
ini, beda tegangan pada output sensor juga semakin besar
2.2

ADC (Analog to Digital Converter)


Analog to Digital Converter (ADC) adalah sebuah piranti yang dirancang untuk

mengubah sinyal-sinyal analog menjadi sinyal - sinyal digital.. A/D Converter ini dapat
dipasang sebagai pengonversi tegangan analog dari suatu peralatan sensor ke konfigurasi
digital yang akan diumpankan ke suatu sistem minimum. Jenis ADC yang biasa digunakan
dalam perancangan adalah jenis successive approximation convertion (SAC) atau pendekatan
bertingkat yang memiliki waktu konversi jauh lebih singkat . IC ADC 0804 merupakan salah
satu dari sekian banyak pengubah data analog menjadi data digital
Jenis 0804 ini merupakan ADC yang simpel dan mudah digunakan .IC ADC 0804 ini
mempunyai 20 pin dengan konfigurasi seperti gambar berikut :

Gambar 2.9 konfigurasi pin IC ADC 0804


Pada ADC 0804 ini, terdapat dua jenis prinsip didalam melakukan konversi, yaitu free
running dan mode control. Pada mode free running, ADC akan mengeluarkan data hasil
pembacaan input secara otomatis dan berkelanjutan (continue). Prinsip yang kedua yaitu
mode control, pada mode ini ADC baru akan memulai konversi setelah diberi instruksi dari
mikrokontroler. Instruksi ini dilakukan dengan memberikan pulsa rendah kepada masukan
WR sesaat, kemudian membaca keluaran data ADC setelah keluaran INTR berlogika rendah.
Pada penelitian ini ,prinsip konversi yang digunakan adalah mode control. Prinsip kerja mode
control akan dijelaskan lebih lanjut sebagai berikut:
Secara umum Rangkaian di dalam IC ADC memiliki 2 bagian utama, yaitu:
1.

Bagian Sampling dan Hold, yang berfungsi menangkap atau menahan tagangan analog
input sesaat untuk seterusnya diumpankan ke rangkaian pengonversi.

2.

Rangkaian Konversi A/D (plus rangkaian kontrolnya).

Gambar dibawah ini menggambarkan bagaimana aliran sinyal analog diubah ke sinyal digital.

Gambar 2.10. Diagram ADC secara umum


Rangkaian di atas dioperasikan sebagai berikut. Pertama, kontroler, dalam hal ini
mikroprosesor / mikrokontroller menghubungi ADC dengan mengirim sinyal CE. Artinya,
ADC diaktifkan. Kemudian SOC (start of conversion) dikirimkan sehingga ADC mulai
melakukan sampling sinyal dan diikuti dengan konversi ke digital.
Bila konversi selesai maka ADC akan mengirimkan tanda selesai EOC (end of
conversion) yang artinya hasil konversi telah siap dibaca di (PB7-PB0). ). Program yang
sesuai harus dibuat mengikuti prosedur seperti di atas. Artinya, program utama mikroprosesor
harus dimuati dengan suatu program loop tertutup dan menunggu tanda untuk membaca data
dari ADC. Meski tanda ini tidak harus diperhatikan, tetapi berakibat data yang dipaksa dibaca
akan sering invalid karena CPU tidak dapat membedakan keadaan ambang (ketika ADC
tengah melakukan konversi) dengan keadaan data siap (valid). Agar lebih efektif, fungsi

interrupt harus diaktifkan untuk menghindari terjebaknya CPU dalam loop saat menunggu
ADC siap. Dengan demikian CPU hanya akan membaca data bila mendapatkan interrupt.
Secara singkat, ADC memerlukan bantuan sekuensi kontrol untuk menangkap dan
mengkonversi sinyal. Seberapa lama ADC dapat sukses mengkonversi suatu nilai sangat
tergantung dari kemampuan sampling dan konversi dalam domain waktu. Makin cepat
prosesnya, makin berkualitas pula ADC tersebut. Karena inilah maka karakteristik ADC yang
paling penting adalah waktu konversi (conversion time). Namun demikian, kemampuan riil
ADC dalam kontrol loop tertutup dalam sebuah sistem lengkap justru sangat dipengaruhi oleh
kemampuan kontroler atau prosesor dalam mengolah data input-output secara cepat, dan
bukan hanya karena kualitas ADC-nya.
2.3

Mikrokontroler
Mikrokontroler adalah single chip computer yang memiliki kemampuan untuk

diprogram dan digunakan untuk tugas-tugas yang berorientasi kontrol. Mikrokontroler


berkembang dengan dua alasan utama, yaitu kebutuhan pasar (market needed) dan
perkembangan teknologi baru. Yang dimaksud dengan kebutuhan pasar yaitu kebutuhan
manusia yang semakin besar terhadap alat-alat elektronik dengan perangkat pintar sebagai
pengontrol dan pemroses data. Sedangkan yang dimaksud dengan perkembangan teknologi
baru adalah perkembangan teknologi semikonduktor yang memungkinkan pembuatan chip
dengan kemampuan komputasi yang sangat cepat, bentuk yang semakin mungil, dan harga
yang semakin murah.
2.3.1

Mikrokontroler AT89S51

Mikrokontroler seri 8051 merupakan salah satu seri mikrokontroler yang paling
banyak digunakan di seluruh dunia karena memiliki fasilitas onchip memory. Perusahaan
ATMEL membuat seri ini dengan nama AT89S51. Mikrokontroler AT89S51 memiliki fitur
sebagai berikut:
4K byte ROM
ROM atau Read Only Memory adalah tempat penyimpanan program yang diisikan pada
mikrokontroler. ROM hanya bisa dibaca. ROM biasanya berisi kode/ program untuk
mengontrol kerja mikrokontroler. Kapasitas memori yang disediakan oleh AT89S51 ini
adalah 4 kilobyte
128 bytes RAM

RAM atau Random Access Memory adalah memori yang berisi data yang akan dieksekusi
oleh mikrokontroler. RAM bisa ditulis dan dibaca, bersifat volatile (isinya hilang jika
power/ sumber tegangan dihilangkan). Kapasitas memori yang disediakan oleh AT89S51
adalah 128 bytes.
4 buah 8-bit I/O (Input/Output) port
Port ini berfungsi sebagai terminal input dan output. Selain itu, dapat digunakan sebagai
terminal komunikasi paralel, serta komunikasi serial (pin10 dan 11).
2 buah 16 bit timer
Interface komunikasi serial
64K pengalamatan code (program) memori
64K pengalamatan data memori
Prosesor Boolean (satu bit-satu bit)
Dengan fitur ini, mikrokontroler dapat melakukan operasi logika seperti AND, OR, EXOR,
dan lain-lain.
210 lokasi bit-addressable, dan
4 s operasi pengkalian atau pembagian
Arsitektur hardware mikrokontroler AT89S51 dari perspektif luar atau biasa disebut
pinout digambarkan pada gambar 2.8 di bawah ini:

Gambar 2.11. Pin-Out mikrokontroler AT89S51


Berikut adalah penjelasan mengenai fungsi dari tiap-tiap pin (kaki) yang ada pada
mikrokontroler AT89S51.

Port 0
Merupakan dual-purpose port (port yang memiliki dua kegunaan). Pada disain yang
minimum (sederhana), port 0 digunakan sebagai port Input/Output (I/O). Sedangkan pada
disain lebih lanjut pada perancangan dengan memori eksternal digunakan sebagai data dan
address (alamat) yang di-multiplex. Port 0 terdapat pada pin 32-39.

Port 1
Merupakan port yang hanya berfungsi sebagai port I/O (Input/Output). Port 1 terdapat
pada pin 1-8.

Port 2
Merupakan dual-purpose port. Pada disain minimum digunakan sebagai port I/O
(Input/Output). Sedangkan pada disain lebih lanjut digunakan sebagai high byte dari
address (alamat). Port 2 terdapat pada pin 21-28.

Port 3
Merupakan dual-purpose port. Selain sebagai port I/O (Input/Output), port 3 juga
mempunyai fungsi khusus. Fungsi khusus tersebut diperlihatkan pada tabel 2.1. Port 3
terdapat pada pin 10-17.
No. Pin
10
11
12
13
14
15
16

Port Pin
P3.0
P3.1
P3.2
P3.3
P3.4
P3.5
P3.6

Nama Port
RXD
TXD
INT 0
INT 1
T0
T1
WR

17

P3.7

RD

Fungsi Alternatif
Menerima data untuk port serial
Mengirim data untuk port serial
Interrupt 0 eksternal
Interrupt 1 eksternal
Timer 0 input eksternal
Timer 1 input eksternal
Memori data eksternal write
strobe
Memori data eksternal read strobe

Tabel 2.3. Fungsi khusus Port 3

PSEN (Program Store Enable)


PSEN adalah sinyal kontrol yang mengizinkan untuk mengakses program (code) memori
eksternal. Pin ini dihubungkan ke pin OE (Output Enable) dari EPROM. Sinyal PSEN
akan 0 (LOW) pada tahap fetch (penjemputan) instruksi. PSEN akan selalu bernilai 1
(HIGH) pada pembacaan program memori internal. PSEN terdapat pada pin 29.

ALE (Address Latch Enable)


ALE digunakan untuk men-demultiplex address (alamat) dan data bus. Ketika
menggunakan program memori eksternal, port 0 akan berfungsi sebagai address (alamat)
dan data bus. Pada setengah paruh pertama memori cycle ALE akan bernilai 1 (HIGH)
sehingga mengizinkan penulisan address (alamat) pada register eksternal. Dan pada
setengah paruh berikutnya akan bernilai 1 (HIGH) sehingga port 0 dapat digunakan
sebagai data bus. ALE terdapat pada pin 30.

EA (External Access)
Jika EA diberi input 1 (HIGH), maka mikrokontroler menjalankan program memori
internal saja. Jika EA diberi input 0 (LOW), maka AT89S51 menjalankan program
memori eksternal (PSEN akan bernilai 0). EA terdapat pada pin 31.

RST (Reset)
RST terdapat pada pin 9. Jika pada pin ini diberi input 1 (HIGH) selama minimal 2
machine cycle, maka sistem akan di-reset ( kembali ke awal )

On-Chip oscillator
AT89S51 telah memiliki on-chip oscillator yang dapat bekerja jika didrive menggunakan
kristal. Tambahan kapasitor diperlukan untuk menstabilkan sistem. Nilai kristal yang biasa
digunakan pada AT89S51 ini adalah 12 MHz. On-chip oscillator tidak hanya dapat didrive dengan menggunakan kristal, tetapi juga dapat dengan menggunakan TTL
Oscillator.

Koneksi power
AT89S51 beroperasi pada tegangan 5 volt. Pin Vcc terdapat pada pin 40, sedangkan pin
Vss (ground) terdapat pada pin 20.

2.4

Display LCD Character 2x16


Display LCD 2x16 berfungsi sebagai penampil nilai kuat induksi medan

elektromagnetik yang terukur oleh alat. LCD yang digunakan pada alat ini mempunyai lebar

display 2 baris 16 kolom atau biasa disebut sebagai LCD Character 2x16, dengan 16 pin
konektor, yang didifinisikan sebagai berikut:

PIN

Nama

fungsi

VSS

Ground voltage

VCC

+5V

VEE

Contrast voltage

RS

R/W

DB0

LSB

DB1

DB2

10

DB3

11

DB4

12

DB5

13

DB6

14

DB7

MSB

15

BPL

Back Plane Light

16

GND

Ground voltage

Register Select
0 = Instruction Register
1 = Data Register
Read/ Write, to choose write or read mode
0 = write mode
1 = read mode
Enable
0 = start to lacht data to LCD character
1= disable

Tabel 3.1 fungsi pinLCD character 2x16

Gambar 3.4 LCD character 2x16


Modul LCD terdiri dari sejumlah memory yang digunakan untuk display. Semua teks
yang kita tuliskan ke modul LCD akan disimpan didalam memory ini, dan modul LCD secara
berturutan membaca memory ini untuk menampilkan teks ke modul LCD itu sendiri.

Gambar 3.5 Peta memory LCD character 2x16


Pada peta memori diatas, daerah yang berwarna biru ( 00 s/d 0F dan 40 s/d 4F ) adalah
display yang tampak. jumlahnya sebanyak 16 karakter per baris dengan dua baris. Angka pada
setiap kotak adalah alamat memori yang bersesuaian dengan posisi dari layar. Dengan
demikian dapat dilihat karakter pertama yang berada pada posisi baris pertama menempati
alamat 00h. dan karakter kedua yang berada pada posisi baris kedua menempati alamat 40h
Agar dapat menampilkan karakter pada display maka posisi kursor harus terlebih
dahulu diset. Instruksi Set Posisi Kursor adalah 80h. dengan demikian untuk menampilkan
karakter, nilai yang terdapat pada memory harus ditambahkan dengan 80h.
Sebagai contoh, jika kita ingin menampilkan huruf B pada baris kedua pada posisi
kolom kesepuluh.maka sesuai dengan peta memory, posisi karakter pada kolom 10 dari baris
kedua mempunyai alamat 4Ah, sehingga sebelum kita menampilkan huruf B pada LCD,
kita harus mengirim instruksi set posisi kursor, dan perintah untuk instruksi ini adalah 80h
ditambah dengan alamat 80h + 4Ah =0Cah. Sehingga dengan mengirim perintah 0Cah ke
LCD, akan menempatkan kursor pada baris kedua dan kolom ke 11.
2.5

Software
Perangkat lunak (software) adalah seperangkat intruksi yang disusun menjadi sebuah

program untuk memerintahkan microcomputer melakukan suatu pekerjaan. Sebuah instruksi


selalu berisi kode operasi (op-code), kode pengoperasian inilah yang disebut dengan bahasa
mesin yang dapat dimengerti oleh mikrokontroller. Instruksi-instruksi yang digunakan dalam
memprogram suatu program yang diisikan pada AT89S51 adalah instruksi bahasa
pemograman assembler atau sama dengan intruksi pemograman pada IC mikrokontrller 8031
dan MCS51.
2.5.1

Instruksi Transfer Data

Instruksi transfer data terbagi menjadi dua kelas operasi sebagai berikut :

Transfer data umum ( General Purpose Transfer ), yaitu : MOV, PUSH dan POP.

Transfer spedifik akumulator ( Accumulator Specific Transfer ), yaitu : XCH,


XCHD, dan MOVC.
Instruksi transfer data adalah intruksi pemindahan /pertukaran data antara operand

sumber dengan operand tujuan. Operand-nya dapat berupa register, memori atau lokasi suatu
memori. Penjelasan instruksi transfer data tersebut dapat dijelaskan sebagai berikut.
MOV

: Transfer data dari Register satu ke Register yang lainnya, antara Register dengan
Memory.

PUSH

: Transfer byte atau dari operand sumber ke suatu lokasi dalam stack yang
alamatnya ditunjuk oleh register penunjuk.

POP

: Transfer byte atau dari dalam stack ke operand tujuan.

XCH

: Pertukaran data antara operand akumulator dengan operand

XCHD

: Pertukaran nibble orde rendah antara RAM internal ( lokasinya ditunjukkan oleh

sumber.

R0 dan R1 )
2.5.2. Instruksi Logika
Mikrokontroller AT89S51 dapat melakukan operasi logika bit maupun operasi logika
byte. Operasi logika tersebut dibagi atas dua bagian yaitu :

Operasi logika operand tunggal, yang terdiri dari CLR, SETB, CPL, RL, RR, dan

SWAP.
Operasi logika dua operand seperti : ANL, ORL, dan XRL.

Operasi yang dilkukan oleh AT89S51 dengan pembacaan instruksi logika tersebut dijelaskan
dibawah ini :
CLR

: Menghapus byte atau bit menjadi nol.

SETB

: Menggeser bit atau byte menjadi satu.

CPL

: Mengkomplemenkan akumulator.

RL

: Rotasi akumulator 1 bit ke kiri.

RR

: Rotasi akumulator ke kanan.

SWAP

: Pertukaran nibble orde tinggi.

2.5.3

Instruksi Transfer Kendali

Instruksi transfer kendali (control transfer) terdiri dari (3) tiga kelas operasi yaitu :

Lompatan tidak bersyarat ( Unconditional Jump ) seperti : ACALL, AJMP,

LJMP,SJMP
Lompatan bersyarat ( Conditional Jump ) seperti : JZ, JNZ, JB, CJNE, dan DJNZ.
Insterupsi seperti : RET dan RET1.

Penjelasan dari instruksi diatas sebagai berikut :


ACALL

Instruksi pemanggilan subroutine bila alamat subroutine tidak lebih dari


2 Kbyte.

LCALL

Pemanggilan subroutine yang mempunyai alamat antara 2 Kbyte 64


Kbyte.

AJMP

Lompatan untuk percabangan maksimum 2 Kbyte.

LJMP

Lompatan untuk percabangan maksimum 64 Kbyte.

JNB

Percabangan bila bit tidak diset.

JZ

Percabangan akan dilakukan jika akumulator adalah nol.

JNZ

Percabangan akan dilakukan jika akumulator adalah tidak nol.

JC

Percabangan terjadi jika CY diset 1.

CJNE

Operasi perbandingan operand pertama dengan operand kedua, jika


tidak sama akan dilakukan percabangan.

DJNZ

Mengurangi nilai operand sumber dan percabangan akan dilakukan


apabila isi operand tersebut tidak nol.

RET

Kembali ke subroutine.

RET1

Kembali ke program interupsi utama

BAB III
PERANCANGAN ALAT DAN CARA KERJA RANGKAIAN

3.1

Perancangan Blok Diagram

SENSOR
TGS2610

ADC

KIPAS

DRIVER
KIPAS

ALARM

DRIVER
ALARM

Display

( Analog to Digital
Converter )

Blok Kipas

uC AT89S51

Menetralisir kadar gas pada ruangan dengan

menghembuskan udara ke dalam ruangan

Blok Buzzer

Indikator atau peringatan untuk menandakan

adanya kebocoran gas pada ruangan

Blok Driver

Mengatur hidup atau matinya buzzer, kipas

Blok Mikrokontroller

Membaca data dari ADC, mengolah data,

memproses, dan mengaktifkan buzzer, kipas, LCD

Blok ADC

Mengubah data analog menjadi data digital

sehingga data dari sensor dapat dibaca oleh mikrokontroller

Blok Sensor Gas TGS2610

Mendeteksi kebocoran gas dalam

ruangan sehingga data akan dikirimkan ke ADC dan diproses oleh mikrokontroller.

3.1

Display

Menampilkan pesan ada tidaknya gas

Rangkaian Power Supplay Adaptor ( PSA )


Rangkaian ini berfungsi untuk memberikan supply 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 relay. Rangkaian power supplay
ditunjukkan pada gambar 3.2 berikut ini :

Gambar 3.1 Rangkaian Power Supplay Adaptor (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 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.2

Rangkaian mikrokontroller AT89S51


Rangkaian mikrokontroller AT89S51 ini merupakan sistem kontrol yang mengatur

fungsi kerja sistem pengukuran. Dalam penelitian ini, mikrokontroler digunakan sebagai
sistem kontrol input dan output saja. Input (masukan) pada rangkaian sistem kontrol ini
dihubungkan dengan sensor medan magnetik. Sedangkan output (keluaran) dihubungkan
dengan piranti tampilan, dalam hal ini dot matrix LCD. Rangkaian mikrokontroler
ditunjukkan pada gambar berikut ini:

Gambar 3.3 rangkaian minimum mikrokontroller AT89S51


Pada rangkaian, Pin 31 External Access Enable (EA) diset high (H). Ini dilakukan
karena mikrokontroller AT89S51 tidak menggunakan memori eskternal.
dihubungkan ke XTAL 12 MHz dan capasitor

Pin 18 dan 19

33 pF. XTAL ini akan mempengaruhi

kecepatan mikrokontroller AT89S51 dalam mengeksekusi setiap perintah dalam program. Pin
9 merupakan masukan reset (aktif tinggi). Pulsa transisi dari rendah ke tinggi akan me-reset
mikrokontroller ini. Pin 32 sampai 39 adalah Port 0 yang merupakan saluran/bus I/O 8 bit
open collector dapat juga digunakan sebagai multipleks bus alamat rendah dan bus data
selama adanya akses ke memori program eksternal. Pada Port 0 ini masing masing pin
dihubungkan dengan resistor 4k7 ohm. Resistor 4k7 ohm yan dihubungkan ke port 0 befungsi
sebagai pull up( penaik tegangan ) agar output dari mikrokontroller dapat mntrigger transistor.
Pin 1 sampai 8 adalah Port 1. Pin 21 sampai 28 adalah Port 2. Dan Pin 10 sampai 17 adalah
Port 3. Pin 20 merupakan ground dihubungkan dengan ground pada power supplay. Pin 40
merupakan sumber tegangan positif dihubungkan dengan + 5 volt dari power supplay.

3.3

Rangkaian ADC ( Analog to Digital Converter )


Rangkaian ADC ini berfungsi untuk merubah data analog yang dihasilkan oleh sensor

gas LPG TGS2610 menjadi bilangan digital. Output dari ADC dihubungkan ke
mikrokontroler, sehingga mikrokontroler dapat mengetahui dan mendeteksi keberadaan gas
LPG yang terdapat di dalam ruangan. Dengan demikian proses pendeteksian gas LPG dapat
dilakukan. Gambar rangkaian ADC ditunjukkan pada gambar di bawah ini:

Tegangan pada output sensor akan dideteksi oleh ADC. Agar output yang dihasilkan
oleh ADC bagus, maka tegangan refrensi ADC harus benar-benar stabil, karena perubahan
tegangan refrensi pada ADC akan merubah output ADC tersebut. Oleh sebab itu pada
rangkaian ADC di atas tegangan masukan 12 volt dimasukkan ke dalam IC regulator
tegangan 9 volt ( 7809) agar keluarannya menjadi 9 volt, kemudian keluaran 9 volt ini
dimasukkan kedalam regulator tegangan 5 volt (7805), sehingga keluarannya menjadi 5 volt.
Tegangan 5 volt inilah yang menjadi tegangan refrensi ADC.
Dengan demikian walaupun tegangan masukan turun setengahnya, yaitu dari 12 volt
menjadi 6 volt, tegangan refrensi ADC tetap 5 volt.
Output dari ADC dihubungkan ke mikrokontroler, sehingga setiap perubahan output ADC
yang disebabkan oleh perubahan inputnya akan diketahui oleh mikrokontoler

3.4

Rangkaian Pengendali Kipas


Rangkaian pengendali kipas pada alat ini berfungsi untuk memutuskan atau

menghubungkan sumber tegangan 12 volt dengan kipas. Gambar rangkaian pengendali kipas
ini ditunjukkan pada gambar berikut ini:

gambar 3.4 Rangkaian Pengendali Kipas

Output dari relay yang satu dihubungkan ke sumber tegangan 12 volt dan yang
lainnya dihubungkan ke kipas. Hubungan yang digunakan adalah normally close. Prinsip
kerja rangkaian ini pada dasarnya memanfaatkan fungsi transistor sebagai saklar elektronik.
Tegangan atau sinyal pemicu dari transistor berasal dari mikrokontroler Port 3.5 (P3.5). Pada
saat logika pada port 3.5 adalah tinggi (high), maka transistor mendapat tegangan bias dari
kaki basis. Dengan adanya tegangan bias ini maka transistor akan aktip (saturation), sehingga
adanya arus yang mengalir ke kumparan relay. Hal ini akan menyebabkan saklar pada relay
menjadi tertutup, sehingga hubungan sumber tegangan 12 volt ke kipas akan terhubung dan
kipas akan menyala. Begitu juga sebaliknya pada saat logika pada P3.5 adalah rendah (low)
maka relay tidak dialiri arus. Hal ini akan menyebabkan saklar pada relay terputus, sehingga
sumber tegangan 12 volt dengan kipas akan terputus dan kipas tidak menyala

3.5

Rangkaian Alarm
Rangkaian alarm pada alat ini berfungsi untuk memutuskan atau menghubungkan

sumber tegangan 12 volt dengan buzzer. Gambar rangkaian alarm ini ditunjukkan pada
gambar 3.5 berikut ini:

Gbr 3.5 Rangkaian alarm


Output dari relay yang satu dihubungkan ke sumber tegangan 12 volt dan yang
lainnya dihubungkan ke buzzer. Hubungan yang digunakan adalah normally open. Prinsip
kerja rangkaian ini pada dasarnya memanfaatkan fungsi transistor sebagai saklar elektronik.
Tegangan atau sinyal pemicu dari transistor berasal dari mikrokontroler Port 0.1 (P0.1). Pada
saat logika pada port 0.1 adalah tinggi (high), maka transistor mendapat tegangan bias dari
kaki basis. Dengan adanya tegangan bias ini maka transistor akan aktip (saturation), sehingga
adanya arus yang mengalir ke kumparan relay. Hal ini akan menyebabkan sakar pada relay
menjadi tertutup, sehingga hubungan sumber tegangan 12 volt ke buzzer akan terhubung dan
buzzer akan berbunyi. Begitu juga sebaliknya pada saat logika pada P0.1 adalah rendah (low)
maka relay tidak dialiri arus. Hal ini akan menyebabkan saklar pada relay terputus, sehingga
sumber tegangan 12 volt dengan buzzer akan terputus dan buzzer tidak berbunyi

BAB IV
HASIL DAN PEMBAHASAN
4.1

Pengujian Rangkaian Mikrokontroller AT89S51


Pengujian pada rangkaian mikrokontroler AT89S51 ini dapat dilakukan dengan

menghubungkan rangkaian minimum mikrokontroler AT89S51 dengan power suplay sebagai


sumber tegangan. Kaki 40 dihubungkan dengan sumber tegangan 5 Volt, sedangkan kaki 20
dihubungkan dengan ground.

Gambar 4.1 pengujian rangkaian mikrokontroller AT89S51


Kemudian tegangan pada kaki 40 diukur dengan menggunakan Voltmeter. Dari hasil
pengujian didapatkan tegangan pada kaki 40 sebesar 4,9 Volt. Langkah selanjutnya adalah
dengan cara menghubungkan pin17 (P3.7) dengan sebuah transistor C945 yang dihubungkan
dengan sebuah LED indikator.
Transistor disini berfungsi sebagai saklar untuk mengendalikan hidup/mati LED.
Dengan demikian LED akan menyala jika transistor aktip dan sebaliknya LED akan mati jika
transistor tidak aktip. Tipe transistor yang digunakan adalah NPN C945, dimana transistor ini
akan aktif (saturasi) jika pada basis diberi tegangan 5 volt (logika high) dan transistor ini akan
tidak aktif jika pada basis diberi tegangan 0 volt (logika low).

Basis transistor ini

dihubungkan ke sebuah resistor 4k7 ohm. , resistor ini berfungsi agar arus yang dikeluarkan
oleh pin17 (P3.7) cukup besar untuk men-trigger transistor C945. selanjutnya program

sederhana diisikan pada mikrokontroler AT89S51. Program yang diisikan adalah sebagai
berikut :
Loop:
Setb p3.7
Call delay
Clr p3.7
Call delay
Jmp loop
Delay:
Mov r7,#255
Dly:
Mov r6,#255
Djnz r6,$
Djnz r7,dly
Ret
end

Program di atas bertujuan untuk menghidupkan LED yang terhubung ke P3.7


beberapa saat

dan kemudian mematikannya. Perintah Setb P3.7 akan menjadikan P3.7

berlogika high yang menyebabkan transistor C945 aktif dan LED akan menyala. Call delay
akan menyebabkan LED ini hidup selama beberapa saat. Perintah Clr P3.7 akan menjadikan
P3.7 berlogika low yang menyebabkan transistor tidak aktif dan LED akan mati. Perintah call
delay akan menyebabkan LED ini mati selama beberapa saat. Perintah jmp Loop akan
menjadikan program tersebut berulang, sehingga akan tampak LED tersebut berkedip.
Jika

program

tersebut

diisikan

ke

mikrokontroller

AT89S51,

kemudian

mikrokontroller dapat berjalan sesuai dengan program yang diisikan, maka rangkaian
minimum mikrokontroller AT89S51 telah bekerja dengan baik.

4.2

Interfacing LCD 2x16


Bagian ini hanya terdiri dari sebuah LCD dot matriks 2 x 16 karakter yang berfungsi

sebagai tampilan hasil pengukuran dan tampilan dari beberapa keterangan. LCD dihubungkan
langsung ke Port 0 dari mikrokontroler yang berfungsi mengirimkan data hasil pengolahan
untuk ditampilkan dalam bentuk alfabet dan numerik pada LCD.

Gambar 4.2 Interfacing LCD 2x16 dengan mikrokontroller AT89S51


Display

karakter

pada

LCD

diatur

oleh

pin

EN,

RS

dan

RW:

Jalur EN dinamakan Enable. Jalur ini digunakan untuk memberitahu LCD bahwa anda sedang
mengirimkan sebuah data. Untuk mengirimkan data ke LCD, maka melalui program EN harus
dibuat logika low 0 dan set ( high ) pada dua jalur kontrol yang lain RS dan RW. Jalur RW
adalah jalur kontrol Read/ Write. Ketika RW berlogika low (0), maka informasi pada bus data
akan dituliskan pada layar LCD. Ketika RW berlogika high 1, maka program akan
melakukan pembacaan memori dari LCD. Sedangkan pada aplikasi umum pin RW selalu
diberi logika low ( 0 )
berdasarkan keterangan di atas maka kita sudah dapat membuat progam untuk
menampilkan karaker pada display LCD. Adapun program yang diisikan ke mikrokontroller
untuk menampilkan karakter pada display LCD adalah sebagai berikut:
rs

bit

p2.0

rw

bit

p2.1

en

bit

p2.2

kirim_karakter:
call data_penampil
mov a,#'H'
call kirim_data
mov a,#'e'
call kirim_data
mov a,#'l'
call kirim_data
mov a,#'l'
call kirim_data
mov a,#'o'
call kirim_data
jmp kirim_karakter
data_penampil:
mov a,#80h

;posisi awal karakter

call data_scan
ret
kirim_data:
mov p0,a
setb rs
clr rw
clr en
call delay
ret
end

Program di atas akan menampilkan kata Hello di baris pertama pada display LCD 2x16.

4.3

Pengujian Rangkaian ADC ( Analog to Digital Converter )


Untuk mengetahui tingkat ketelitian ADC dalam mengkonversi input analog yang

diberikan maka terlebih dahulu ADC tersebut harus di uji ketelitiannya. Langkah yang
digunakan untuk menguji tigkat ketelitian ADC adalah dengan cara memberikan tegangan
analog yang presisi. Untuk mendapatkan Tegangan analog yang presisi ini dapat digunakan
power lab type LEADER DC Tracking Power Supply LPS152.
Setiap perubahan tegangan yang diberikan merupakan input bagi ADC yang akan
diubah menjadi data digital. Proses perubahan tegangan input menjadi data digital dilakukan
dengan cara:

Output

Vin ADC
V faktor

sedangkan Vfaktor adalah : V faktor

1
1
Vcc
5Volt 0,0196 Volt
255
255

dengan data output dapat dihitung, misalnya jika Vin ADC = 0,3 Volt, maka:
Output

0,3Volt
15,30 ,
0,0196 Volt

data yang diubah ke bilangan biner hanya bilangan bulatnya

saja. Berarti bilang biner yang dihasilkan oleh tegangan input ADC sebesar 0,3 Volt adalah
(0000 1111).pada rangkaian pengujian, Output ADC melalui kaki DB0-DB7 dihubungkan
dengan delapan buah led untuk mempermudah dalam pembacaan data.

Gambar 4.3 rangkaian pengujian ADC 0804

4.4

Pengujian Sensor & ADC


Out Sensor (V)

Out ADC

Biner

Tidak ada Gas

2.5

127.55

01111111

2.7

137.75

10001001

3.0

153.06

10011001

3.3

168.36

10101000

3.6

183.6

10110111

3.9

198.97

11000110

4.2

214.28

11010110

4.5

229.59

11100101

4.8

244.8

11110100

5.0

255

11111111

Ada Gas

Keadaan

Tabel :

Grafik :

4.4

Pengujian Rangkaian Alarm


Pengujian rangkaian alarm dapat dilakukan dengan memberikan tegangan 5 volt dan

0 volt pada basis transistor C945. Transistor C945 merupakan transistor jenis NPN, transistor
jenis ini akan aktip jika pada basis diberi tegangan > 0,7 volt dan tidak aktip jika pada basis
diberi tegangan < 0,7 volt. Aktipnya transistor akan mengaktipkan relay. Pada rangkaian ini
relay digunakan untuk memutuskan hubungan alarm dengan sumber tegangan 12 volt, dimana
hubungan yang digunakan adalah normally close(NC), dengan demikian jika relay aktip maka
hubungan alarm ke sumber tegangan akan terhubung, sebaliknya jika relay tidak aktip, maka
hubungan alarm ke sumber tegangan akan terputus.
Pengujian dilakukan dengan memberikan tegangan 5 volt pada basis transistor, jika
relay aktip dan buzzer berbunyi, maka rangkaian ini telah berfungsi dengan baik.
Pengujian selanjutnya dilakukan dengan menghubungkan input rangkaian ini ke
mikrokontroler pada P0.1

kemudian memberikan program sederhana pada mikrokontroler AT89S51. Program yang


diberikan adalah sebagai berikut:
Setb P0.1
. . . . . . . .
Perintah di atas akan memberikan logika high pada P0.1, sehingga P0.1 akan mendapatkan
tegangan 5 volt. Tegangan 5 volt ini akan mengaktipkan transistor C945, sehingga relay juga
menjadi aktip dan alarm berbunyi. Berikutnya memberikan program sederhana untuk
menonaktipkan relay. Programnya sebagai berikut:
Clr P0.1
. . . . . . . .
Perintah di atas akan memberikan logika low pada P0.1, sehingga P0.1 akan mendapatkan
tegangan 0 volt. Tegangan 0 volt ini akan menonaktipkan transistor C945, sehingga relay
juga menjadi tidak aktip dan alarm tidak berbunyi.

4.5

Rangkaian pengendali kipas


pengujian rangkaian pengendali kipas dapat dilakukan dengan memberikan tegangan 5

volt dan 0 volt pada basis transistor C945. Transistor C945 merupakan transistor jenis NPN,
transistor jenis ini akan aktip jika pada basis diberi tegangan > 0,7 volt dan tidak aktip jika
pada basis diberi tegangan < 0,7 volt. Aktipnya transistor akan mengaktipkan relay. Pada
rangkaian ini relay digunakan untuk memutuskan hubungan kipas dengan sumber tegangan 12
volt, dimana hubungan yang digunakan adalah normally close(NO), dengan demikian jika
relay aktip maka hubungan kipas ke sumber tegangan akan terhubung, sebaliknya jika relay
tidak aktip, maka hubungan kipas ke sumber tegangan akan terputus.
Pengujian dilakukan dengan memberikan tegangan 5 volt pada basis transistor, jika
relay aktip dan kipas menyala, maka rangkaian ini telah berfungsi dengan baik.
Pengujian selanjutnya dilakukan dengan menghubungkan input rangkaian ini ke
mikrokontroler pada P0.7

kemudian memberikan program sederhana pada mikrokontroler AT89S51. Program yang


diberikan adalah sebagai berikut:
Setb P0.7
. . . . . . . .

Perintah di atas akan memberikan logika high pada P0.0, sehingga P0.0 akan mendapatkan
tegangan 5 volt. Tegangan 5 volt ini akan mengaktipkan transistor C945, sehingga relay juga
menjadi aktip dan kipas menyala. Berikutnya memberikan program sederhana untuk
menonaktipkan relay. Programnya sebagai berikut:
Clr P0.7
. . . . . . . .
Perintah di atas akan memberikan logika low pada P0.7, sehingga P0.7 akan mendapatkan
tegangan 0 volt. Tegangan 0 volt ini akan menonaktipkan transistor C945, sehingga relay
juga menjadi tidak aktip dan kipas tidak menyala.

;
=
;
;
;
=

= = = = = = = = = = = = =
= = ;
list.program LPG detector
= = = = = = = = = = = = =
= = ;

; = = initialisasi port =
= ;
rs
rw
en

bit
bit
bit

kipas1
kipas2
alarm

p2.2
p2.1
p2.0
bit
bit
bit

p0.0
p0.1
p0.2

intrupt bit
p2.7
; = = = scan dulu = = = ;
start:
clr alarm
setb kipas1
setb kipas2
acall tunda_5detik
clr kipas1
clr kipas2
clr alarm
;=tampil pesan pembuka=;
mov a,#38h
acall data_scan
acall data_penampil
acall polmed
acall kristina
acall juli
mulai:
clr Intrupt
acall tadc
setb Intrupt
utama:
jb Intrupt,$
acall tadc
mov a,p1
mov 62h,a
mov a,62h

cjne
a,#255,udara_clean
acall clear_screen
acall pesan1
setb kipas2
setb alarm
jmp utama
udara_clean:
acall pesan2
clr kipas1
clr kipas2
clr alarm
jmp utama
polmed:
mov a,#'P'
acall kirim_data
acall delay
mov a,#'O'
acall kirim_data
acall delay
mov a,#'L'
acall kirim_data
acall delay
mov a,#'I'
acall kirim_data
acall delay
mov a,#'T'
acall kirim_data
acall delay
mov a,#'E'
acall kirim_data
acall delay
mov a,#'K'
acall kirim_data
acall delay
mov a,#'N'
acall kirim_data
acall delay
mov a,#'I'
acall kirim_data
acall delay
mov a,#'K'
acall kirim_data
acall delay
;= = = tulis baris bawah = =
=;
mov a,#0c2h
acall data_scan
; = = = = = = = = = = = = =
= ; mov a,#'N'

acall kirim_data
acall delay
mov a,#'E'
acall kirim_data
acall delay
mov a,#'G'
acall kirim_data
acall delay
mov a,#'E'
acall kirim_data
acall delay
mov a,#'R'
acall kirim_data
acall delay
mov a,#'I'
acall kirim_data
acall delay
mov a,#' '
acall kirim_data
acall delay
mov a,#'M'
acall kirim_data
acall delay
mov a,#'E'
acall kirim_data
acall delay
mov a,#'D'
acall kirim_data
acall delay
mov a,#'A'
acall kirim_data
acall delay
mov a,#'N'
acall kirim_data
acall delay
acall tunda_5detik
acall clear_screen
ret
kristina:
acall data_penampil2
acall delay
mov a,#'K'
acall kirim_data
acall delay
mov a,#'R'
acall kirim_data
acall delay
mov a,#'I'
acall kirim_data
acall delay
mov a,#'S'

acall kirim_data
acall delay
mov a,#'T'
acall kirim_data
acall delay
mov a,#'I'
acall kirim_data
acall delay
mov a,#'N'
acall kirim_data
acall delay
mov a,#'A'
acall kirim_data
acall delay
mov a,#' '
acall kirim_data
acall delay
mov a,#'S'
acall kirim_data
acall delay
mov a,#'I'
acall kirim_data
acall delay
mov a,#'R'
acall kirim_data
acall delay
mov a,#'E'
acall kirim_data
acall delay
mov a,#'G'
acall kirim_data
acall delay
mov a,#'A'
acall kirim_data
acall delay
mov a,#'R'
acall kirim_data
acall delay
;= = = tulis baris bawah = =
=;
mov a,#0c0h
acall data_scan
; = = = = = = = = = = = = =
= ;
mov a,#'N'
acall kirim_data
acall delay
mov a,#'I'
acall kirim_data
acall delay
mov a,#'M'
acall kirim_data

acall delay
mov a,#' '
acall kirim_data
acall delay
mov a,#':'
acall kirim_data
acall delay
mov a,#' '
acall kirim_data
acall delay
mov a,#'0'
acall kirim_data
acall delay
mov a,#'6'
acall kirim_data
acall delay
mov a,#'2'
acall kirim_data
acall delay
mov a,#'3'
acall kirim_data
acall delay
mov a,#'0'
acall kirim_data
acall delay
mov a,#'4'
acall kirim_data
acall delay
mov a,#'1'
acall kirim_data
acall delay
mov a,#'7'
acall kirim_data
acall delay
mov a,#'9'
acall kirim_data
acall delay
acall tunda_5detik
acall clear_screen
ret
juli:
acall data_penampil2
acall delay
mov a,#'J'
acall kirim_data
acall delay
mov a,#'U'
acall kirim_data
acall delay
mov a,#'L'
acall kirim_data
acall delay

mov a,#'I'
acall kirim_data
acall delay
mov a,#'A'
acall kirim_data
acall delay
mov a,#'N'
acall kirim_data
acall delay
mov a,#'I'
acall kirim_data
acall delay
mov a,#' '
acall kirim_data
acall delay
mov a,#'T'
acall kirim_data
acall delay
mov a,#'A'
acall kirim_data
acall delay
mov a,#'M'
acall kirim_data
acall delay
mov a,#'B'
acall kirim_data
acall delay
mov a,#'U'
acall kirim_data
acall delay
mov a,#'N'
acall kirim_data
acall delay
mov a,#'A'
acall kirim_data
acall delay
mov a,#'N'
acall kirim_data
acall delay
;= = = tulis baris bawah = =
=;
mov a,#0c0h
acall data_scan
; = = = = = = = = = = = = =
= ;
mov a,#'N'
acall kirim_data
acall delay
mov a,#'I'
acall kirim_data
acall delay
mov a,#'M'
acall kirim_data

acall delay
mov a,#' '
acall kirim_data
acall delay
mov a,#':'
acall kirim_data
acall delay
mov a,#' '
acall kirim_data
acall delay
mov a,#'0'
acall kirim_data
acall delay
mov a,#'6'
acall kirim_data
acall delay
mov a,#'2'
acall kirim_data
acall delay
mov a,#'3'
acall kirim_data
acall delay
mov a,#'0'
acall kirim_data
acall delay
mov a,#'4'
acall kirim_data
acall delay
mov a,#'1'
acall kirim_data
acall delay
mov a,#'7'
acall kirim_data
acall delay
mov a,#'8'
acall kirim_data
acall delay
acall tunda_5detik
acall clear_screen
ret

pesan1:
; = = = kirim karakter = = =
;
acall data_penampil2
mov b,#'P'
acall kirim_data
acall delay
mov b,#'E'

acall kirim_data
acall delay
mov b,#'R'
acall kirim_data
acall delay
mov b,#'I'
acall kirim_data
acall delay
mov b,#'N'
acall kirim_data
acall delay
mov b,#'G'
acall kirim_data
acall delay
mov b,#'A'
acall kirim_data
acall delay
mov b,#'T'
acall kirim_data
acall delay
mov b,#'A'
acall kirim_data
acall delay
mov b,#'N'
acall kirim_data
acall delay
acall tunda_5detik
acall clear_screen
mov b,#38h
acall data_scan
acall data_penampil
mov b,#'T'
acall kirim_data
acall delay
mov b,#'e'
acall kirim_data
acall delay
mov b,#'l'
acall kirim_data
acall delay
mov b,#'a'
acall kirim_data
acall delay
mov b,#'h'
acall kirim_data
acall delay
mov b,#' '
acall kirim_data
acall delay
mov b,#'t'
acall kirim_data
acall delay
mov b,#'e'

acall kirim_data
acall delay
mov b,#'r'
acall kirim_data
acall delay
mov b,#'j'
acall kirim_data
acall delay
mov b,#'a'
acall kirim_data
acall delay
mov b,#'d'
acall kirim_data
acall delay
mov b,#'i'
acall kirim_data
acall delay
;= = = tulis baris bawah = =
=;
mov b,#0c0h
acall data_scan
; = = = = = = = = = = = = =
= ; mov b,#'K'
acall kirim_data
acall delay
mov b,#'e'
acall kirim_data
acall delay
mov b,#'b'
acall kirim_data
acall delay
mov b,#'o'
acall kirim_data
acall delay
mov b,#'c'
acall kirim_data
acall delay
mov b,#'o'
acall kirim_data
acall delay
mov b,#'r'
acall kirim_data
acall delay
mov b,#'a'
acall kirim_data
acall delay
mov b,#'n'
acall kirim_data
acall delay
mov b,#' '
acall kirim_data
acall delay
mov b,#'G'

acall kirim_data
acall delay
mov b,#'a'
acall kirim_data
acall delay
mov b,#'s'
acall kirim_data
acall delay
acall clear_screen
ret
pesan2:
acall data_penampil3
acall delay
mov a,#'t'
acall kirim_data
acall delay
mov a,#'i'
acall kirim_data
acall delay
mov a,#'d'
acall kirim_data
acall delay
mov a,#'a'
acall kirim_data
acall delay
mov a,#'k'
acall kirim_data
acall delay
mov a,#' '
acall kirim_data
acall delay
mov a,#'a'
acall kirim_data
acall delay
mov a,#'d'
acall kirim_data
acall delay
mov a,#'a'
acall kirim_data
acall delay
mov a,#' '
acall kirim_data
acall delay
;= = = tulis baris bawah = =
=;
mov a,#0c1h
acall data_scan
; = = = = = = = = = = = = =
= ;
mov a,#'k'
acall kirim_data
acall delay
mov a,#'e'

acall kirim_data
acall delay
mov a,#'b'
acall kirim_data
acall delay
mov a,#'o'
acall kirim_data
acall delay
mov a,#'c'
acall kirim_data
acall delay
mov a,#'o'
acall kirim_data
acall delay
mov a,#'r'
acall kirim_data
acall delay
mov a,#'a'
acall kirim_data
acall delay
mov a,#'n'
acall kirim_data
acall delay
mov a,#' '
acall kirim_data
acall delay
mov a,#'g'
acall kirim_data
acall delay
mov a,#'a'
acall kirim_data
acall delay
mov a,#'s'
acall kirim_data
acall delay
ret
data_penampil:
mov a,#0ch
acall data_scan
mov a,#06h
acall data_scan
mov a,#83h
acall data_scan
ret
data_penampil2:
mov a,#0ch
acall data_scan
mov a,#06h
acall data_scan
mov a,#80h
acall data_scan
ret

data_penampil3:
mov a,#0ch
acall data_scan
mov a,#06h
acall data_scan
mov a,#83h
acall data_scan
ret
data_scan:
mov p3,A
clr rs
clr rw
setb en
acall delay
clr en
acall delay
ret
kirim_data:
mov p3,A
setb rs
clr rw
setb en
acall delay
clr en
acall delay
ret
clear_screen:
mov a,#01h
acall data_scan
ret
tunda_5detik:
mov r7,#140
td5dtk:
mov r6,#100
td5:
mov r5,#100
djnz r5,$
djnz r6,td5
djnz r7,td5dtk
ret
delay:
mov r7,#100
dly:
mov r6,#200
djnz r6,$
djnz r7,dly
ret
tadc:

adc:

end

mov r7,#80h
mov r6,#50h
djnz r6,$
djnz r7,adc
ret

START

OFF Alarm

ON Kipas

Tunda 5 detik

OFF Alarm &


Kipas

Tampil pesan
"POLMED"

Pesan
"JULI"

Pesan
"KRISTINA"
TIDAK

Ambil data ADC


YA
Ada GAS ???

Matikan Alarm

OFF Kipas

Tampil pesan
"AMAN"

ON Kipas

ON Alarm

Tampil pesan
"Peringatan"

BAB V
KESIMPULAN DAN SARAN

5.1

Kesimpulan

5.2

Saran

Rangkaian Alat Pendeteksi Kebocoran Gas LPG

Anda mungkin juga menyukai