rangkaian-adc-analog-to-digital-converter.pdf

Upload: guna-monda-wicaksana

Post on 02-Mar-2016

192 views

Category:

Documents


0 download

TRANSCRIPT

  • 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 DENGAN SENSOR TGS2610 BERBASIS

    MIKCROKONTROLER AT89S51 .

  • 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.

    KonversiA/D

    & Kontrol

    0/1Ke INT CPU

    PB7-PB0

    Ke parallelInput port

    S/H

    Inputanalog

    0/1

    START Konversi, SOC

    Chip Select, CE

    END Konversi, EOC

    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 Port Pin Nama Port Fungsi Alternatif10 P3.0 RXD Menerima data untuk port serial11 P3.1 TXD Mengirim data untuk port serial12 P3.2 INT 0 Interrupt 0 eksternal13 P3.3 INT 1 Interrupt 1 eksternal14 P3.4 T0 Timer 0 input eksternal15 P3.5 T1 Timer 1 input eksternal16 P3.6 WR Memori data eksternal write

    strobe17 P3.7 RD 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 di-

    drive 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 fungsi1 VSS Ground voltage2 VCC +5V3 VEE Contrast voltage

    4 RSRegister Select0 = Instruction Register1 = Data Register

    5 R/WRead/ Write, to choose write or read mode0 = write mode1 = read mode

    6 EEnable0 = start to lacht data to LCD character1= disable

    7 DB0 LSB8 DB1 -9 DB2 -10 DB3 -11 DB4 -12 DB5 -13 DB6 -14 DB7 MSB15 BPL Back Plane Light16 GND Ground voltage

    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

    sumber.

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

    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

    Blok Kipas 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

    uC AT89S51

    SENSOR TGS2610

    ADC ( Analog to Digital

    Converter )

    DRIVER KIPAS

    DRIVER ALARM

    KIPAS

    ALARM

    Display

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

    Display Menampilkan pesan ada tidaknya gas

    3.1 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. Pin 18 dan 19

    dihubungkan ke XTAL 12 MHz dan capasitor 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 karaktercall 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: faktor

    ADC

    VVin

    Output =

    sedangkan Vfaktor adalah : VoltVoltVccV faktor 0196,052551

    2551

    ===

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

    30,150196,0

    3,0==

    VoltVoltOutput , 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

    Keadaan Out Sensor (V) Out ADC Biner

    Tidak ada Gas 2.5 127.55 01111111A

    da G

    as2.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

    Tabel :

    PENGUJIAN SENSOR DAN ADC

    100110120130140150160170180190200210220230240250260

    2.5 2.7 3.0 3.3 3.6 3.9 4.2 4.5 4.8 5.0

    Data Out Sensor

    Data

    Out

    ADC

    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 bit p2.2rw bit p2.1en bit p2.0

    kipas1 bit p0.0kipas2 bit p0.1alarm bit p0.2

    intrupt bit p2.7; = = = scan dulu = = = ;start:

    clr alarmsetb kipas1setb kipas2acall tunda_5detikclr kipas1clr kipas2clr alarm

    ;=tampil pesan pembuka=;

    mov a,#38hacall data_scanacall data_penampilacall polmedacall kristinaacall 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_dataacall delaymov a,#'O'acall kirim_dataacall delaymov a,#'L'acall kirim_dataacall delaymov a,#'I'acall kirim_dataacall delaymov a,#'T'acall kirim_dataacall delaymov a,#'E'acall kirim_dataacall delaymov a,#'K'acall kirim_dataacall delaymov a,#'N'acall kirim_dataacall delaymov a,#'I'acall kirim_dataacall delaymov a,#'K'acall kirim_dataacall delay

    ;= = = tulis baris bawah = = =;mov a,#0c2hacall data_scan; = = = = = = = = = = = = = = ; mov a,#'N'

  • acall kirim_dataacall delaymov a,#'E'acall kirim_dataacall delaymov a,#'G'acall kirim_dataacall delaymov a,#'E'acall kirim_dataacall delaymov a,#'R'acall kirim_dataacall delaymov a,#'I'acall kirim_dataacall delaymov a,#' 'acall kirim_dataacall delaymov a,#'M'acall kirim_dataacall delaymov a,#'E'acall kirim_dataacall delaymov a,#'D'acall kirim_dataacall delaymov a,#'A'acall kirim_dataacall delaymov a,#'N'acall kirim_dataacall delayacall tunda_5detikacall clear_screenret

    kristina:acall data_penampil2acall delaymov a,#'K'acall kirim_dataacall delaymov a,#'R'acall kirim_dataacall delaymov a,#'I'acall kirim_dataacall delaymov a,#'S'

    acall kirim_dataacall delaymov a,#'T'acall kirim_dataacall delaymov a,#'I'acall kirim_dataacall delaymov a,#'N'acall kirim_dataacall delaymov a,#'A'acall kirim_dataacall delaymov a,#' 'acall kirim_dataacall delaymov a,#'S'acall kirim_dataacall delaymov a,#'I'acall kirim_dataacall delaymov a,#'R'acall kirim_dataacall delaymov a,#'E'acall kirim_dataacall delaymov a,#'G'acall kirim_dataacall delaymov a,#'A'acall kirim_dataacall delaymov a,#'R'acall kirim_dataacall delay

    ;= = = tulis baris bawah = = =;mov a,#0c0hacall data_scan; = = = = = = = = = = = = = = ;

    mov a,#'N'acall kirim_dataacall delaymov a,#'I'acall kirim_dataacall delaymov a,#'M'acall kirim_data

  • acall delaymov a,#' 'acall kirim_dataacall delaymov a,#':'acall kirim_dataacall delaymov a,#' 'acall kirim_dataacall delaymov a,#'0'acall kirim_dataacall delaymov a,#'6'acall kirim_dataacall delaymov a,#'2'acall kirim_dataacall delaymov a,#'3'acall kirim_dataacall delaymov a,#'0'acall kirim_dataacall delaymov a,#'4'acall kirim_dataacall delaymov a,#'1'acall kirim_dataacall delaymov a,#'7'acall kirim_dataacall delaymov a,#'9'acall kirim_dataacall delayacall tunda_5detikacall clear_screenret

    juli:acall data_penampil2acall delaymov a,#'J'acall kirim_dataacall delaymov a,#'U'acall kirim_dataacall delaymov a,#'L'acall kirim_dataacall delay

    mov a,#'I'acall kirim_dataacall delaymov a,#'A'acall kirim_dataacall delaymov a,#'N'acall kirim_dataacall delaymov a,#'I'acall kirim_dataacall delaymov a,#' 'acall kirim_dataacall delaymov a,#'T'acall kirim_dataacall delaymov a,#'A'acall kirim_dataacall delaymov a,#'M'acall kirim_dataacall delaymov a,#'B'acall kirim_dataacall delaymov a,#'U'acall kirim_dataacall delaymov a,#'N'acall kirim_dataacall delaymov a,#'A'acall kirim_dataacall delaymov a,#'N'acall kirim_dataacall delay

    ;= = = tulis baris bawah = = =;mov a,#0c0hacall data_scan; = = = = = = = = = = = = = = ;

    mov a,#'N'acall kirim_dataacall delaymov a,#'I'acall kirim_dataacall delaymov a,#'M'acall kirim_data

  • acall delaymov a,#' 'acall kirim_dataacall delaymov a,#':'acall kirim_dataacall delaymov a,#' 'acall kirim_dataacall delaymov a,#'0'acall kirim_dataacall delaymov a,#'6'acall kirim_dataacall delaymov a,#'2'acall kirim_dataacall delaymov a,#'3'acall kirim_dataacall delaymov a,#'0'acall kirim_dataacall delaymov a,#'4'acall kirim_dataacall delaymov a,#'1'acall kirim_dataacall delaymov a,#'7'acall kirim_dataacall delaymov a,#'8'acall kirim_dataacall delayacall tunda_5detikacall clear_screenret

    pesan1:

    ; = = = kirim karakter = = = ;

    acall data_penampil2mov b,#'P'acall kirim_dataacall delaymov b,#'E'

    acall kirim_dataacall delaymov b,#'R'acall kirim_dataacall delaymov b,#'I'acall kirim_dataacall delaymov b,#'N'acall kirim_dataacall delaymov b,#'G'acall kirim_dataacall delaymov b,#'A'acall kirim_dataacall delaymov b,#'T'acall kirim_dataacall delaymov b,#'A'acall kirim_dataacall delaymov b,#'N'acall kirim_dataacall delayacall tunda_5detikacall clear_screenmov b,#38hacall data_scanacall data_penampilmov b,#'T'acall kirim_dataacall delaymov b,#'e'acall kirim_dataacall delaymov b,#'l'acall kirim_dataacall delaymov b,#'a'acall kirim_dataacall delaymov b,#'h'acall kirim_dataacall delaymov b,#' 'acall kirim_dataacall delaymov b,#'t'acall kirim_dataacall delaymov b,#'e'

  • acall kirim_dataacall delaymov b,#'r'acall kirim_dataacall delaymov b,#'j'acall kirim_dataacall delaymov b,#'a'acall kirim_dataacall delaymov b,#'d'acall kirim_dataacall delaymov b,#'i'acall kirim_dataacall delay

    ;= = = tulis baris bawah = = =;mov b,#0c0hacall data_scan; = = = = = = = = = = = = = = ; mov b,#'K'

    acall kirim_dataacall delaymov b,#'e'acall kirim_dataacall delaymov b,#'b'acall kirim_dataacall delaymov b,#'o'acall kirim_dataacall delaymov b,#'c'acall kirim_dataacall delaymov b,#'o'acall kirim_dataacall delaymov b,#'r'acall kirim_dataacall delaymov b,#'a'acall kirim_dataacall delaymov b,#'n'acall kirim_dataacall delaymov b,#' 'acall kirim_dataacall delaymov b,#'G'

    acall kirim_dataacall delaymov b,#'a'acall kirim_dataacall delaymov b,#'s'acall kirim_dataacall delayacall clear_screenret

    pesan2:acall data_penampil3acall delaymov a,#'t'acall kirim_dataacall delaymov a,#'i'acall kirim_dataacall delaymov a,#'d'acall kirim_dataacall delaymov a,#'a'acall kirim_dataacall delaymov a,#'k'acall kirim_dataacall delaymov a,#' 'acall kirim_dataacall delaymov a,#'a'acall kirim_dataacall delaymov a,#'d'acall kirim_dataacall delaymov a,#'a'acall kirim_dataacall delaymov a,#' 'acall kirim_dataacall delay

    ;= = = tulis baris bawah = = =;mov a,#0c1hacall data_scan; = = = = = = = = = = = = = = ;

    mov a,#'k'acall kirim_dataacall delaymov a,#'e'

  • acall kirim_dataacall delaymov a,#'b'acall kirim_dataacall delaymov a,#'o'acall kirim_dataacall delaymov a,#'c'acall kirim_dataacall delaymov a,#'o'acall kirim_dataacall delaymov a,#'r'acall kirim_dataacall delaymov a,#'a'acall kirim_dataacall delaymov a,#'n'acall kirim_dataacall delaymov a,#' 'acall kirim_dataacall delaymov a,#'g'acall kirim_dataacall delaymov a,#'a'acall kirim_dataacall delaymov a,#'s'acall kirim_dataacall delayret

    data_penampil:mov a,#0chacall data_scanmov a,#06hacall data_scanmov a,#83hacall data_scanret

    data_penampil2:mov a,#0chacall data_scanmov a,#06hacall data_scanmov a,#80hacall data_scanret

    data_penampil3:mov a,#0chacall data_scanmov a,#06hacall data_scanmov a,#83hacall data_scanret

    data_scan:mov p3,Aclr rsclr rwsetb enacall delayclr enacall delayret

    kirim_data:mov p3,Asetb rsclr rwsetb enacall delayclr enacall delayret

    clear_screen:mov a,#01hacall data_scanret

    tunda_5detik:mov r7,#140

    td5dtk:mov r6,#100

    td5:mov r5,#100djnz r5,$djnz r6,td5djnz r7,td5dtkret

    delay:mov r7,#100

    dly:mov r6,#200djnz r6,$djnz r7,dlyret

    tadc:

  • mov r7,#80hadc: mov r6,#50h djnz r6,$ djnz r7,adc retend

  • TIDAK

    YA

    OFF Alarm

    ON Kipas

    Tunda 5 detik

    OFF Alarm & Kipas

    Tampil pesan "POLMED"

    Pesan"JULI"

    Pesan"KRISTINA"

    Ambil data ADC

    Tampil pesan"AMAN"

    OFF Kipas

    Matikan Alarm

    Tampil pesan"Peringatan"

    ON Alarm

    ON KipasAda GAS ???

    START

  • BAB VKESIMPULAN DAN SARAN

    5.1 Kesimpulan

    5.2 Saran

  • Rangkaian Alat Pendeteksi Kebocoran Gas LPG

  • 1.3 Tujuan Penulisan