Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas

(1)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

RANCANG BANGUN RANGKAIAN HANDSET PENGENDALI PADA RUMAH CERDAS

TUGAS AKHIR

AISYAH RANGKUTI

042408050

PROGRAM STUDI D-3 FISIKA INSTRUMENTASI DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

MEDAN 2007


(2)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

RANCANG BANGUN RANGKAIAN HANDSET PENGENDALI PADA RUMAH CERDAS

TUGAS AKHIR

Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Ahli Madya

AISYAH RANGKUTI 042408050

PROGRAM STUDI D-3 FISIKA INSTRUMENTASI DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

MEDAN 2007


(3)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

PERSETUJUAN

Judul : RANCANG BANGUN RANGKAIAN

HANDSET PENGENDALI PADA RUMAH CERDAS

Kategori : TUGAS AKHIR

Nama : AISYAH RANGKUTI

Nomor Induk Mahasiswa : 042408050

Program Studi : D3 FISIKA INSTRUMENTASI Departemen : FISIKA

Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN

ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA

Diluluskan di Medan, Juli 2007

Ketua Program Studi Dosen Pembimbing

D3 Fisika Instrumentasi

Dr. Marhaposan Situmorang. M.Sc Ir. Zulham


(4)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

PERNYATAAN

RANCANG BANGUN RANGKAIAN HANDSET

PENGENDALI PADA RUMAH CERDAS

TUGAS AKHIR

Saya mengaku bahwa Laporan Akhir Studi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing – masing disebutkan sumbernya.

Medan, Juli 2007

AISYAH RANGKUTI NIM 042408050


(5)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

PENGHARGAAN

Puji dan syukur penulis panjatkan kehadirat Allah SWT yang telah melimpahkan rahmat dan hidayahnya, juga yang telah memberikan kesehatan, pengetahuan serta pengalaman pada penulis, sehingga penulisan laporan Akhir Studi dengan judul“RANCANG BANGUN RANGKAIAN HANDSET PENGENDALI PADA RUMAH CERDAS”,selesai pada waktunya.

Dalam Kesempatan ini penulis ingin mengucapkan yang sedalam – dalamnya kepada Ayahanda yang tercinta H.M.Yakub Rangkuti dan Ibunda tersayang yang telah begitu banyak memberikan doa dan dukungan baik moril maupun materil kepada penulis dalam menyelesaikan laporan Akhir Studi ini. Abanghanda Indra Rangkuti SH dan keluarganya,KakandaRosanna Rangkuti S.H.I,Adik-adikkutersayang:RizkiAbadi,DewiGandisyah,EkaRohafni,Muhammad Yusuf Rivai.Kekasihku Berlin Siahaaan tersayang yang begitu besar memberikan dukungan kepada penulis dan sahabatku Nur Aisyah Siregar,Febrina,Wani. Ucapan terimakasih juga ditujukan kepada Bapak DR. Eddy Marlianto, M.Sc selaku Dekan FMIPA USU, Bapak DR. Marhaposan Situmorang, M.Sc selaku ketua program studi Fisika Instrumentasi, Bapak Ir.Zulham selaku Dosen Pembimbing yang telah banyak memberikan bimbingan, petunjuk dan pengarahan kepada penulis dalam menyelesaikan Laporan Akhir Studi ini, Seluruh Dosen yang mengajar pada program studi Fisiki Instrumentasi,sahabatku Annisa Hadhra,Abangku Zakiul Fuad dan sahabat stambuk 2004 Fisika Instrumentasi yang telah banyak memberikan dukungan dan doa kepada penulis, terima kasih banyak untuk semuanya. Semoga Allah SWT akan membalasnya.


(6)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

DAFTAR ISI

Halaman

LEMBAR JUDUL i

LEMBAR PERSETUJUAN ii

LEMBAR PERNYATAAN iii

LEMBAR PERSEMBAHAN iv

PENGHARGAAN v

DAFTAR ISI vi

DAFTAR TABEL vii

DAFTAR GAMBAR viii

BAB 1 PENDAHULUAN 1

1.1 Latar Belakang 1

1.2 Tujuan Tugas Akhir 3

1.3 Rumusan Masalah 3

1.4 Batasan Masalah 4

1.5 Sistematika Penulisan 4

BAB 2 LANDASAN TEORI 6

2.1 Perangkat Keras 6

2.1.1 Arsitektur Mikrokontroler AT89S51 6 2.1.2 ADC 0809 14

2.2 Perangkat Lunak 17

2.2.1 Pewaktu (timer ) 555 17 2.2.2 Port I/O Serial 18 BAB 3 PERANCANGAN ALAT DAN PEMROGRAMAN 28

3.1 Diagram Blok 29


(7)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

BAB 4 PEMBAHASAN RANGKAIAN DAN PROGRAM 30 4.1 Rangkaian Mikrokontroler AT 89S51 30

4.2 Rangkaian Pemancar Inframerah 34

BAB 5 KESIMPULAN DAN SARAN

5.1 Kesimpulan 35

5.2 Saran 36


(8)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

DAFTAR TABEL

Halaman

Tabel 2.1.1 Port yang mempunyai Fungsi 12


(9)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

DAFTAR GAMBAR

Halaman

Gambar 2.1.1 Blok Diagram Fungsional AT 89S51 8 Gambar 2.1.1 Konfigurasi Pin Mikrokontroler AT89S51 11

Gambar 2.1.3 Blok Diagram ADC 0808/0809 14

Gambar 2.2.1 Diagram Blok Pewaktu (timer 555) 17 Gambar 2.2.1 Rangkaian Multivibrator Astabil 18

Gambar 3.1 Diagram Blok Rangkaian 28

Gambar 3.2 Perancangan Program 29 Gambar 4.1 Rangkaian Mikrokontroler AT89S5 1 30

Gambar 4.2 Rangkaian Pemancar Inframerah 33

Gambar 3.6 Rangkaian Penerima 34


(10)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

ABSTRAK

“PERANCANGAN RANGKAIAN AKTUATOR BERBASIS MIKROKONTROLER AT89S51”

Seperti yang kita ketahui bahwa dalam kehidupan sehari – hari banyak pekerjaan yang dilakukan itu sangat rumit, dan pada zaman serba canggih ini merupakan bagian yang sangat penting dalam kehidupan manusia untuk dapat berkembang maju yang merupakan tuntutan dibidang elektronika dalam hal pengembangannya. Sebagai mahasiswa Fisika Instrumentasi (D3) Universitas Sumatra Utara, diharapkan dapat mengimplementasikan ilmu pengetahuan dan keterampilan yang didapat selama dibangku perkuliahan kedalam kehidupan sehari – hari maupun didalam dunia industri.Untuk itu penulis merencanakan sebuah proyek yang berjudul “RANCANG BANGUN RANGKAIAN HANDSET PENGENDALI PADA RUMAH CERDAS”.

Tujuan dari perancangan dan pembuatan proyek ini adalah untuk mengaplikasikan teori yang didapat penulis dari perkuliahan dengan membuat suatu alat. Dan tujuan dari pembuatan tugas akhir adalah sebagai salah satu syarat untuk menamatkan program diploma III. Dimana alat ini bisa digunakan dalam perindustrian yang maju pada zaman sekarang.

Adapun alasan memilih mikrokontroler sebagai pengendali sistem ini adalah untuk mempermudah penulis didalam membuat program dan proses pengerjaan alat tersebut, serta mengurangi tingkat kesalahan yang tinggi. Dan faktor yang tidak kalah penting adalah dari segi ekonomis.


(11)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

BAB 1 PENDAHULUAN

1.1. Latar Belakang Masalah

Perkembangan teknologi yang semakin pesat, moderen dan canggih khususnya dibidang instrumen elektronika, atau sarana lainnya yang menjurus pada bidang multimedia mendorng sumber daya manusia yang mutlak. Hal tersebut tersebut disuarakan oleh mahasiswa indonesia yang pada hakekatnya memerlukan peningkatan profesionalisme yang berdaya saing, serta pendaya gunaan seluruh potensi yang ada, dan untuk berperan aktif membangun bangsa. Apagi yang pada saat ini penulis menilahat smakin seringnya terjadi pembobolan rumah - rumah mewah dikalangan masyarakat indonesia.

Hal tersebut melatar belakangi penulis untuk merancang suatu handset pengendali pada rumah cerdas, sebagai pengontrol rumah. Peralatan otomatis ini harus efisien dan teliti dalam proses pengontrolan sehingga diharapkan sistem menghasilkan suatu keluaran sesuai dengan yang diinginkan.

Berkaitan dengan diatas, Pengendali jarak jauh adalah sebuah alat elektronik yang digunakan untuk mengoperasikan sebuah mesin dari jarak jauh. Istilah handset pengendali juga sering disingkat menjadi "remote" saja. Pada umumnya, remote control digunakan untuk memberikan perintah dari kejauhan


(12)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

kepada TV, Pintu Otomatis, Lampu atau barang-barang elektronik lainnya seperti sistem pemutar DVD.

Handset Pengendali untuk perangkat-perangkat ini biasanya berupa benda kecil nirkabel yang dipegang dalam tangan dengan sederetan tombol untuk menyesuaikan berbagai setting, seperti misalnya saluran TV, dan volume suara. Malah, pada kebanyakan peranti modern dengan kontrol seperti ini, remote controlnya memiliki segala kontrol fungsi sementara perangkat yang dikendalikan itu sendiri hanya mempunyai sedikit kontrol utama yang mendasar. Kebanyakan remote berkomunikasi dengan perangkatnya masing-masing melalui sinyal-sinyal infra merah dan beberapa saja melalui sinyal radio.

Salah satu peralatan yang cerdas dan dapat bekerja secara otomatis yang dibutuhkan pada tehnologi canggih saat ini diantaranya adalah AT89S51 sebagai Mikrokontroler, Timer 555 sebagai osilator pada pemancar, 74LS08 (Gerbang AND) dan sensor inframerah sebagai transmiter (pemancar). Sebagai penerima data saya gunakan photodioda yang mengenali data pada frekuensi 38 khz. Remote kontrol difungsikan sebagai kontrol jarak jauh seluruh peralatan rumah tangga dan digunakan untuk mengaktifkan sistem pengaman rumah pada rumah cerdas.

Tugas akhir ini merupakan salah satu alternatif bagi mahasiswa semester akhir guna melengkapi studinya pada program DIII Fisika Instrumentasi yaitu dengan menyusun laporan tugas akhir.Dalam kesempatan ini penulis


(13)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

mengharapkan keadaan proyek berfungsi sesuai dengan spesifikasi yang diinginkan,laporan tugas akhir ini dapat memberikan manfaat bagi penulis.

1.2. Tujuan Tugas Akhir

Adapun maksud dan tujuan penulis memilih realisasi rancangan ini adalah :

a. Memenuhi syarat untuk mata kuliah Praktek Proyek untuk mahasiswa Program Studi D-3 Fisika Instrumentasi Departemen Fisika, FMIPA USU.

b. Memenuhi syarat dalam meraih gelar ahli Madya jurusan D-3 Fisika Instrumentasi.

c. Dapat memberikan masukan kepada pembaca untuk pengembangan.

d. Menerapkan ilmu yang diperoleh selama dibangku perkuliahan.

1.3. Rumusan Masalah

a. Bagaimana cara kerja mikrokontroler yang berfungsi sebagai pusat pengolahan data pada remote control.


(14)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

b. Bagaimana Remote kontrol difungsikan sebagai kontrol jarak jauh seluruh peralatan rumah tangga dan digunakan untuk mengaktifkan sistem pengaman rumah pada rumah cerdas.

1.4 Batasan Masalah

Mengingat masalah yang akan diangkat sebagai Tugas Akhir ini mempunyai ruang lingkup yang relatif luas, maka penulis membatasi masalah Tugas Akhir ini hanya pada :

a. Hanya membahas prinsip kerja dari komponen maupun sensor yang digunakan

b. Frekuensi kerja rumah kerja remote control adalah 38 kHz sesuai dengan sensor (infrared) yang digunakan yaitu SFS – 56

c. Hanya membahas modul remote control dan modul penerima saja

1.5. Sistematika Penulisan

Untuk mempermudah pembahasan dalam penulisan Tugas Akhir ini, maka penulis membuat suatu sistematika penulisan. Sistematika penulisan ini merupakan urutan bab demi bab termasuk isi dari sub-sub babnya. Adapun sistematika pembahasan tersebut adalah sebagai berikut :


(15)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

BAB 1 : PENDAHULUAN

Bab ini berisikan tentang latar belakang pemilihan judul, tujuan penulisan karya akhir dan sistematika penulisan.

BAB 2 : LANDASAN TEORI

Bab ini berisikan tentang teori-teori dasar serta pembahasan komponen-komponen yang digunakan dalam perancangan alat yang akan dibuat.

BAB 3 : PERANCANGAN ALAT

Bab ini berisikan bagaimana langkah-langkah perancangan alat, dimulai dari perancangan blok diagram rangkaian sampai dengan pembuatan alatnya.

BAB 4 : PEMBAHASAN RANGKAIAN

Bab ini berisikan pengujian alat yang telah dibuat serta pembahasan rangkaiannya dari segi prinsip kerja rangkaiannya.


(16)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

Bab ini berisikan tentang kesimpulan yang dapat diambil penulis dan saran untuk kesempurnaan penulisan tugas akhir.


(17)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

BAB 2

TINJAUAN PUSTAKA

2.1 Perangkat Keras

2.1.1. Arsitektur Mikrokontroler AT89S51

Mikrokontroler, sebagai suatu terobosan teknologi mikrokontroler dan mikrokomputer, hadir memenuhi kebutuhan pasar (market need) dan teknologi baru. Sebagai teknologi baru, yaitu teknologi semikonduktor dengan kandungan transistor yang lebih banyak namun hanya membutuhkan ruang kecil serta dapat diproduksi secara massal (dalam jumlah banyak) sehingga harga menjadi lebih murah (dibandingkan mikroprosesor).

Perbandingan sederhana antara mikrokontroler dengan mikroprosesor adalah di dalam mikrokontroler telah terdapat prosesor dan flash memori sehingga tidak dibutuhkan lagi memori eksternal, sedangkan mikroprosesor di dalamnya hanya terdapat prosesor saja sehingga diperlukanlah memori eksternal (tambahan). Perbandingan lain antara mikrokontroler dengan mikroprosesor adalah jumlah input/outputnya (I/O). Pada mikrokontroler AT89S51 terdapat 4 buah port yakni dari port 0 sampai port 3. Masing - masing port terdiri dari 8 buah I/O, jadi jumlah keseluruhan I/O dari mikrokontroler AT89S51 ada 32 buah. Pada mikroprosesor


(18)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

terdapat banyak I/O, misalkan mikroprosesor intel pentium 4 yang memiliki 478 pin. Dari data diatas dapat dijelaskan bahwa jumlah I/O mikroprosesor lebih banyak dari jumlah I/O mikrokontroler.

Selain menggunakan mikrokontroler sebagai pusat pengolahan data dan sistem minimum, terdapat rangkaian lain yakni rangkaian ADC (Analog to Digital Converter) yang berguna untuk mengubah besaran analog yang didapat dari sensor warna menjadi besaran digital yang dapat dikenali oleh mikrokontroler.

Juga rangkaian display yakni dengan menggunakan tiga buah seven segmen agar dapat dikenali harga yang didapat dari ADC. Display ini dihubungkan ke port serial buffer dari mikrokontroler. Prinsipnya harga yang didapat dari ADC dimasukkan ke salah satu port mikrokontroler dan kemudian dikirim ke serial buffer.

Gerbang logika adalah rangkaian yang menggunakan sinyal digital sebagai masukan dan keluarannya. Yang membuat rangkaian disebut sebagai gerbang adalah bahwa setiap keluaran tergantung sepenuhnya pada sinyal yang diberikan pada masukan-masukanya. Jika sinyal masukan ini berubah, keluaranya juga dapat berubah.

Ada dua teknologi pembuatan gerbang rangkaian digital yang umum dipasaran, Pada dasarnya semua sistem digital disusun oleh hanya tiga buah gerbang logika dasar, gerbang –gerbang ini adalah AND,OR dan NOT. Beberapa


(19)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

gerbang logika lainya seperti NAND, NOR, EXOR dan EXNOR adalah merupakan kombinasi dari beberapa gerbang AND, OR atau NOT dan dari gerbang inilah rangkaian kompleks apapun dapat dirancang. Gerbang AND mempunyai dua atau lebih sinyal masukan tetapi hanya satu sinyal keluaran


(20)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

Gambar 2.1.1. Blok Diagram Fungsional AT89S51

Mikrokontroler AT89S51 hanya memerlukan tambahan 3 buah kapasitor, 1 resistor dan 1 kristal serta catu daya 5 Volt. Kapasitor 10 mikro-Farad dan resistor 8k2 Ohm dipakai untuk membentuk rangkaian reset. Dengan adanya rangkaian reset ini AT89S51 otomatis direset begitu rangkaian menerima catu daya. Kristal dengan frekuensi maksimum 11,0592 MHz dan kapasitor 30 piko-Farad dipakai untuk melengkapi rangkaian oscilator pembentuk clock yang menentukan kecepatan kerja mikrokontroler.

Memori merupakan bagian yang sangat penting pada mikrokontroler. Mikrokontroler memiliki dua macam memori yang sifatnya berbeda. ROM (Read Only Memory) yang isinya tidak berubah meskipun IC kehilangan catu daya. Sesuai dangan keperluannya, dalam susunan MCS-51 memori penyimpanan program ini dinamakan sebagai memori program.

RAM (Random Access Memory) isinya akan sirna begitu IC kehilangan catu daya, dipakai untuk menyimpan data pada saat program bekerja. RAM yang dipakai untuk menyimpan data ini disebut sebagai memori data.

Ada berbagai jenis ROM, untuk mikrokontroler dengan program yang sudah baku dan diproduksi secara massal, program diisikan ke dalam ROM pada


(21)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

saat IC mikrokontroler dicetak di pabrik IC. Untuk keperluan tertentu mikrokontroler mengunakan ROM yang dapat diisi ulang atau Programable-Eraseable ROM yang disingkat menjadi PEROM atau PROM. Dulu banyak dipakai UV-EPROM (Ultra Violet Eraseable Programable ROM) yang kemudian dinilai mahal dan ditinggalkan setelah ada flash PEROM yang harganya jauh lebih murah.

Jenis memori yang dipakai untuk memori program AT89S51 adalah Flash PEROM, program untuk mengendalikan mikrokontroler diisikan ke memori itu lewat bantuan alat yang dinamakan sebagai AT89S51 Flash PEROM Programmer.

Memori data yang disediakan dalam chip AT89S51 sebesar 128 byte, meskipun hanya kecil saja tapi untuk banyak keperluan, memori berkapasitas 128 byte sudah cukup. Sarana Input/Output (I/O) yang disediakan cukup banyak dan bervariasi. AT89S51 mempunyai 32 jalur Input/Output. Jalur Input/Output paralel dikenal sebagai Port 1 (P1.0..P1.7) dan Port 3 (P3.0..P3.5 dan P3.7).

AT89S51 dilengkapi UART (Universal Asyncronous Receiver / Transmitter) yang biasa dipakai untuk komunikasi data secara serial. Jalur untuk komunikasi data serial (RXD dan TXD) diletakkan berhimpitan dengan P3.0 dan P3.1 di kaki nomor 10 dan 11, sehingga kalau sarana input/ouput yang bekerja menurut fungsi waktu, clock penggerak untaian pencacah ini bisa berasal dari oscillator kristal atau clock yang diumpan dari luar lewat T0 dan T1. T0 dan T1 berhimpitan dengan P3.4 dan P3.5, sehingga P3.4 dan P3.5 tidak bisa dipakai untuk jalur input/ouput parelel kalau T0 dan T1 terpakai.


(22)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

AT89S51 mempunyai enam sumber pembangkit interupsi, dua diantaranya adalah sinyal interupsi yang diumpankan ke kaki INT0 dan INT1. Kedua kaki ini berhimpitan dengan P3.2 dan P3.3 sehingga tidak bisa dipakai sebagai jalur input/output paralel kalau INT0 dan INT1 dipakai untuk menerima sinyal interupsi. Port 1 dan Port 2, UART, Timer 0, Timer 1 dan sarana lainnya merupakan register yang secara fisik merupakan RAM khusus, yang ditempatkan di Special Function Register (SFR).

Berikut ini merupakan spesifikasi dari IC AT89S51 : • Kompatibel dengan produk MCS-51.

4 Kbyte In-System Reprogammable Flash Memory. • Daya tahan 1000 kali baca/tulis.

Fully Static Operation : 0 Hz sampai 24 MHz.

• Tiga level kunci memori program. • 128 x 8 bit RAM internal.

• 32 jalur I/O.

Tiga 16 bit Timer/Counter. Enam sumber interupt. • Jalur serial dengan UART.


(23)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

Gambar 2.1.1. Konfigurasi Pin Mikrokontroler AT89S51 Deskripsi pin-pin pada mikrokontroler AT89S51 :

VCC (Pin 40) Suplai tegangan 5 Volt.

GND (Pin 20) Ground.

Port 0 (Pin 39 – Pin 32)

Port 0 dapat berfungsi sebagai I/O biasa, low order multiplex address/data ataupun penerima kode byte pada saat flash programming Pada fungsinya sebagai I/O biasa port ini dapat memberikan output sink ke delapan buah TTL input atau dapat diubah sebagai input dengan memberikan logika 1 pada port tersebut. Pada fungsinya sebagai low order multiplex address/data, port ini akan mempunyai internal pull up. Pada saat flash programming diperlukan eksternal pull up, terutama pada saat verifikasi program.

Port 1 (Pin 1 – Pin 8)

Port 1 berfungsi sebagai I/O biasa, pada kaki ke 6, ke 7 dan ke 8 terdapat Mosi, Miso dan Sck sebagai masukan dari ISP Programmer yang terhubung ke


(24)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

komputer. Tanpa adanya port ini maka mikrokontroler tidak dapat diprogram oleh ISP Programmer.

Port 2 (Pin 21 – pin 28)

Port 2 berfungsi sebagai I/O biasa atau high order address, pada saat mengakses memori secara 16 bit. Pada saat mengakses memori 8 bit, port ini akan mengeluarkan isi dari P2 special function register. Port ini mempunyai internal pull up dan berfungsi sebagai input dengan memberikan logika 1. Sebagai output, port ini dapat memberikan output sink ke empat buah input TTL.

Port 3 (Pin 10 – pin 17)

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

Nama Pin Fungsi

P3.0 (Pin 10) RXD (Port Input Serial) P3.1 (Pin 11) TXD (Port Output Serial) P3.2 (Pin 12) INTO (Interrupt 0 Eksternal) P3.3 (Pin 13) INT1 (Interrupt 1 Eksternal) P3.4 (Pin 14) T0 (Input Eksternal Timer 0) P3.5 (Pin 15) T1 (Input Eksternal Timer 1)

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


(25)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

RST (pin 9)

Reset akan aktif dengan memberikan input high selama 2 cycle. ALE/PROG (pin 30)

Address latch Enable adalah pulsa output untuk me-latch byte bawah dari alamat selama mengakses memori eksternal. Selain itu, sebagai pulsa input program (PROG) selama memprogram Flash.

PSEN (pin 29)

Program store enable digunakan untuk mengakses memori program eksternal.

EA (pin 31)

Pada kondisi low, pin ini akan berfungsi sebagai EA yaitu mikrokontroler akan menjalankan program yang ada pada memori eksternal setelah sistem di-reset. Jika kondisi high, pin ini akan berfungsi untuk menjalankan program yang ada pada memori internal. Pada saat flash programming, pin ini akan mendapat tegangan 12 Volt.

XTAL1 (pin 19) Input untuk clock internal.

XTAL2 (pin 18) Output dari osilator.

2.1.2 Pewaktu (Timer) 555

IC 555 merupakan pewaktu (timer) yang sangat serbaguna sehingga dapat dipakai untuk berbagai penerapan. Dengan menambahkan beberapa resistor dan


(26)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

kapasitor, IC ini dapat berfungsi sebagai multivibrator, picu scimit, untuk modulasi lebar pulsa dan penundaan waktu (time delay) pulsa.

2.1.2. a Gambar Diagram blok pewaktu (timer 555)

Multivibrator astabil dapat menghasilkan aliran aliran pulsa yang kotiniu, berbentuk segi empat yang dapat berada pada dua keadaan. Akan tetapi keadaan kedua pulsa-pulsa yang dihasilkan tidak berada pada keadaan stabil. Kapasitor C mengisi muatan melalui tahanan R1 dan R2, sedangkan pengosongan muatan hanya melalui tahanan R2. Dalam mode ini, tegangan kapasitor dalam melakukan pengisian dan pengosongan berada diantara 1/3 dan 2/3 Vcc.


(27)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

Gambar 2.1.2 b Rangkaian Multivibrator Astabil

2.1.3 Port I / O Serial

Port I/ O serial yang dimiliki oleh MCS – 51 memiliki Karakteristik full duplex(dapat memulai penerimaan data yang kedua sebelum data yang pertama dibaca dari register pembacaan).


(28)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

Mode 0 :

Pada mode ini data serial diterima dan dikirim lewat pin RXD,sedangkan pin TXD berfungsi untuk mengirimkan shift clock.Data yang diterima dan dikirim adalah selebar 8 bit dengan bit terendah dikirimkan/ diterima pertama kali.Kecepatan pengiriman ( baud rate ) adalah tetap sebesar 1/12 frekuensi osilator.

Mode 1 :

Pada mode ini data bit dikirim / diterima dengan 2 bit tambahan,dengan urutan:

a. start bit ( logika 0 ),

b. 8 bit data ( dengan bit terendah di depan ), c. 1 stop bit ( logika 1 ).

Pada saat penerimaan,stop bit masuk pada bit RB8 pada register SCON ( salah satu special function register ).Baud rate pada mode ini adalah variabel.

Mode 2 :

Pada mode ini data 8 bit dikirim/diterima dengan 3 bit tambahan dengan urutan :


(29)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

 8 bit data ( dengan bit terendah di depan )  1 stop bit ( logika 1 ).

Pada saat pengiriman,bit yang dapat deprogram adalah bit yang terdapat pada bit TB8 pada register SCON.Pada saat penerimaan,bit yang dapat deprogram masuk pada bit RB8 pada register SCON ( salah satu special function register ).Baud rate pada mode ini adalah 1/32 atau 1/64 frekuensi osilator.

Mode 3 :

Pada mode ini data 8 bit dikirim/diterima dengan 3 bit tambahan dengan urutan :

 Start bit ( logika 0 ),

 8 bit data ( dengan bit terendah didepan ),  1 bit tambahan yang dapat diprogram,  1 stop bit (logika 1 ).

Mode ini persis sama dengan mode 2 kecuali baud rate-nya yang variabel.

Pembacaan dan Penulisan Port Serial

Pengiriman data pada port serial dapat dilakukan dengan cara menuliskan data tersebut keregister SBUF ( salah satu special function register SFR . Penerimaan data serial adalah melalui pembacaan register SBUF.


(30)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

Pengaturan Baud Rate

Baud rate adalah kecepatan data transmisi serial,berupa banyaknya transisis logika pada saluran data serial tiap detik.Semakin besar nilai baud rate,maka semakin cepat proses pengiriman/penerimaan data serial.

Pada mode 0, baud rate adalah tetap sebesar 1/12 frekuensi osilator.Bit SMOD pada register PCON menentukan baud rate pada Mode 2. Untuk SMOD = 1 baud rate adalah 1/64 frekuensi osilator,dan jika SMOD = 0 maka baud ratenya adalah 1/64 frekuensi osilator.Baud rate untuk mode 1 dan 3 ditentukan oleh kecepatan overflow pada Timer 1 dan Timer 2 ( satu timer untuk pengiriman dan satu lagi untuk peneriman).Dengan demikian dimungkinkan penerimaan dan pengiriman data dengan kecepatan yang berbeda. Namun perlu diingat bahwa fasilitas ini hanya dipunyai oleh type 8052 karena type 8051 tidak memiliki Timer 2.

Baud rate untuk mode 1 dan 3 ditentukan oleh persamaan : Baud rate = 2 SMOD x (Timer 1 overflow rate)

32

Konfigurasi timer 1 yang diperlukan untuk menjalankan fungsi di atas adalah :


(31)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

timer dijalankan pada operasi “ timer “ atau “counter”,dengan mode

1,2 atau 3.

Timer 1 interrupt dinuat tidak bekerja ( disabled ).

Kombinasi baud rate yang mungkin adalah sebagaimana pada tabel berikut :

Tabel 2.1.2 Kombinasi Pemilihan Baud Rate Baud

Rate

f

OSC SMOD

Timer1

C/-T Mode Reload Mode 0

Max:1Mhz

12Mhz X X X X

Mode 2 Max:375K

12Mhz 1 0 2 X

Mode1,3:62,5K 12Mhz 1 0 2 FFh

19,2k 11.059Mhz 1 0 2 FDh

9,6k 11.059Mhz 0 0 2 FDh

4,8k 11.059Mhz 0 0 2 FAh

2,4k 11.059Mhz 0 0 2 F4h

1,2k 11.059Mhz 0 0 2 E8h

137,5k 11.968Mhz 0 0 2 1Dh

110k 6Mhz 0 0 2 72h

110k 12Mhz 0 0 1 FEEBh

Konfigurasi Timer 2 yang berfungsi sebagai baud rate generator adalah : • Bit TCLK dan / atau RCLK pada register T2CON diset.


(32)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

Jika RCLK = 1 maka serial port menggunakan pulsa Timer 2 overflow untuk baud rate penerimaan data.Sebaliknya jika RCLK = 0 maka serial port menggunakan pulsa Timer 1 overflow.

Jika TCLK = 1 maka serial Pot menggunakan pulsa timer 2 overflow untuk baud rate pengiriman data. Sebaliknya jika TC:LK = 0 maka seial pot menggunakan pulsa timer 1 overflow

• Mode untuk baud rate generator seperti pada mode pada auto – reload, yaitu adanya overflow pada register timer TH2 menyebabkan dimuadnya kembali data 16 bit yang ada register RCAP 2 H dan RCAP 2L ke TH2 dan TL2 baud ret yang dihasilkan mengikuti persamaan :

Baud rate = 1 x (Timer 2 overflow rate) 16

• Timer 2 interrupt tidak perlu dinon aktifkan.

Komunikasi dengan banyak prosessor

Serial pot yang dimiliki oleh mikrokontroler MCS-51 memungkinkan dijalankannya komunikasi dengan lebih dari 2 mikrokontroler pada jalur kabel komunikasi yang sama (multiprocessor comunication). Fasilitas yanng unik ini dimungkinkan oleh adanya bit ke – 9 pada komunikasi serial pot dengan mode 2 dan 3 yang dapat diprogram lewat bit TB8 (bit yang terkirim) RB8 (bit yang diterima) pada register SCON. Mikrokontroler MCS51 dapat dikonfigurasikan


(33)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

agar mengaktifkan sinyal interupsi jika bit ke-9 ini (bit RB8) adalah’ 1’. Hal ini diperoleh dengan cara memberikan nilai ‘1’ pada bit SM2 diregister scon. Cara kierja komunikasi dengan banyak prosesor ini adalah sebagai berikut.

• Sebuah mikrokontroler pusat dapat mengirimkan dara atau adress ke mikrokontroler-mikrokontroler lainnya pada jalur data serial pot. Untuk memberdakan anatara data dengan adress, maka pada bit ke -9 ditentukan ‘0’ untuk data dan ‘1; untuk adress.

• Andaikan ada 5 buah mikrokontroler dengan adres masing-masing 1,2,3,4 dan 5. mikrokonreoler pusatnya adalah yang beradress 1. jika mikrokontroler pusat ingin berkomunikasi dengan mikrokontroler laian, dia cukup mengawalinya dengan mengirimkan 8 bit adress mikrokontroler yang dingin dihubungi dan bit ke-9 di set’1’.

• Dengan adanya bit ke-9 yang berharga ‘1’ dan karena SM2 pada masing – masing SCON-nya diset ‘1’, maka pada semua mikrokontroler bawahan akan terbang kesinyal interup.

• Program pelayanan interup dibuat sedemikian rupa untuk mengecek data adress yang masuk apkah menunjuk pada mikrokontroler yang bersangkutan. Jika demikian maka mikrokontroler tersebut akan diaktifkan oleh mikrokontroler pusat, selanjutnya menunggu pengiriman data selanjutnya dan menjalankan proses sesuai dengan perintah dari


(34)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

mikrokontroler pusat jika adressnya bukan menunjukkan mikrokontroler yang bersangkutan, maka pengiriman data selanjutnya diabaikan dan program pelayanan interup selesai.

Instruksi program :

 MOV (Mov Immediate Data to Inderect Adress) Operand : Rr Register 0<= r <=1

: data -256 < = data< = +255 format : MOV @ Rr, # data

operasi : ((Rr)) < - data

keterangan : instruklsi ini akan memindahkan data 8 bit secara langsung kelokasi yang ditunjukkan oleh isi register r. Contoh : MOV @ R 1 , # 01 H.

 JB (jump If Bit Is Set)

Operand : Alamat Bit 0<= alamat bit < = 255

: alamat kode

format : JB alamat bit, alamat kode operasi : (PC) < - (PC) +3

: Jika (alamat bit) = 1, maka (PC) < - (PC ) + Offset

relative.

Keterangan : Intruksi ini akan menguji suatu alamat bit. Jika berisi 1,ekesekusi akan menuju alamat kode, jika


(35)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

tidak, intruksi selanjutnya akan dieksekusi. Pencacah program akan dinaikkan pada intruksi selanjutnya. Jika pengujian berhasil, offset relatif akan ditambahkan kepencacah program yang telah dinaikkan dan intruksi pada alamat ini akan dieksekusi.

 JZ (Jump If Akumulator is Zero) Operand : alamat kode format : JZ alamat kode

operasi : (PC) < - (PC) +2

: Jika (A) = 0, maka (PC) < - (PC ) + Offset relatif Keterangan : intruksi ini akan menguji isi akumulator . jika = 0,

eksekusi akan menuju ke alamat kode. Juka tidak = 0, intruksi selanjutnya yang akan dieksekusi.

 CJNE ( compare indirect adress to inmediate data) Jump if not equal

Operand : Rr Register 0<= r <=1 : data -256 < = data< = +255 : alamat kode

format : CJNE @ Rr, # data, alamat kode operasi : (PC) < - (PC) +3


(36)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

: Jika ((Rr )) < data, maka (C) < - 1, : Lainnya (C) <-0

Keterangan : Instruksi ini akan membandingkan data langsung dengan lokasi memori yang dialamati oleh register r. apabila tidak sama, intruksi selanjutnya yang akan dijalankan. Jika data langsung lebih besar dari isi alamat data tertentu, Carry flag akan di-set menjadi 1

Contoh : CJNE @ R1, # 01 H, 0009 H

 DJNZ ( Decrement Register And Jump If Not Zero ) Operand : Rr Register 0<= r <=7

: alamat kode

format : DJNZ Rr, alamat kode operasi : (PC) < - (PC) +2

: (Rr) <-(Rr)-1

: Jika (Rr ) <> 0, maka (PC) < -(PC)+ offset relatif Keterangan : Instruksi ini mengurangi register r dengan 1 dan

menempatkan hasilnya pada register tertentu. Jika hasilnya sudah 0, instruksi selanjutnya yang akan dieksekusi. Jika belum 0, eksekusi akan menuju ke alamat kode.

 SETB ( set bit )


(37)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

format : SETB alamat bit operasi : (alamat bit )<-1

Keterangan: Instruksi ini akan men – set isi suatu alamat bit menjadi 1 Contoh : SETB 41 . 5

 CLR (Clear Bit)

Operand : alamat bit 0<= alamat bit <= 255 format : CLR alamat bit

operasi : (alamat bit )<-0

Keterangan: Instruksi ini akan men – set isi suatu alamat bit menjadi 00H

Contoh : CLR 40.5


(38)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

Gambar 2.1.4. Rangkaian Gerbang NAND Analisa rangkaian :

 Pada saat D1 mendapat inputan logika 0 (di forward) dan D2 mendapat inputan logika 0 (di forward) maka Tr1, Tr3 tidak aktif sedangkan Tr2 akan aktif sehingga output akan berlogika 1.

 Pada saat D1 mendapat inputan logika 0 (di forward) dan D2 mendapat inputan logika 1 (di reverse) maka Tr1,Tr3 tidak aktif sedangkan Tr2 akan aktif sehingga output akan berlogika 1.

 Pada saat D1 mendapat inputan logika 1 (di reverse) dan D2 mendapat inputan logika 0 (di forward) maka Tr1,Tr3 tidak aktif sedangkan Tr2 akan aktif sehingga output akan berlogika 1.


(39)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

 Pada saat D1 mendapat inputan logika 1 (di reverse) dan D2 mendapat inputan logika 1(di reverse) maka Tr1,Tr3 akan aktif sedangkan Tr2 tidak aktif sehingga output akan berlogika 0.

Masukan Keluaran

0 0 1

0 1 1

1 0 1

1 1 0

Tabel kebenaran gerbang N

 D5 dan D6 berfungsi untuk mengurangi noise

Gerbang Rangkaian NAND mnggunakan CMOS

In A


(40)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

Analisa Rangkaian :

 Jika inputan A dan inputan B berlogika 0, maka Q1,Q2 akan berlogika 1 dan Q3,Q4 akan berlogika 0 sehingga output akan berlogika 1.

 Jika inputan A berlogika 0 dan inputan B berlogika 1, maka Q1,Q4 akan berlogika 1 dan Q2,Q3 akan berlogika 0 sehingga output akan berlogika 1.


(41)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

 Jika inputan A berlogika 1 dan inputan B berlogika 0, maka Q1,Q4 akan berlogika 0 dan Q2,Q3 akan berlogika 1 sehingga output akan berlogika 1

Jika inputan A berlogika 1 dan inputan B berlogika 1, maka Q1 dan Q2 akan berlogika 0 sedangkan Q3 dan Q4 akan berlogika 1 sehingga output akan berlogika 0.

2.1.5. Infra Merah

Rangkaian Pemancar Infra Merah

Untuk mendeteksi remote control (pengirim) ke rumah cerdas (penenrima),maka terdapat 2 mikrokontroler yaitu satu pada remote dan satu pada rumah cerdas.Mikrokntroler ini adalah AT89S51 dan sebagai pengantar data pada kedua mikrokontroler yaitu timer 555 yang dipantulkan terus kepada LED inframerah pada handset pengendali.


(42)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009


(43)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009


(44)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009


(45)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009


(46)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

BAB 3

PERANCANGAN ALAT

3.1 Diagram Blok


(47)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

Sensor yang digunakan pada perancangan rumah cerdas berupa LDR dimana pada saat terkena cahaya besar tahanannya kan berubah., pada tiap jendela digunakan sensor inframerah sebagai transmiter (pemancar) dan penerimanya adalah Photodioda yang keluarannya dari sensor 1 bit masing jendela digunakan 2 sensor.

sensor remote dan Sharp GP12D yang berfungsi sebagai input. Yang semua datanya akan diolah oleh mikrokontroler AT89S52. Sensor LDR dan photodioda yang datanya berupa data 1 bit difungsikan sebagai sensor sistem pengamanan rumah cerdas. Sensor remote 38 kHz difungsikan sebagai kontrol manual pengguna. Sensor Shap GP12D yang datanya berupa data analog akan dikonfersikan menjadi data digital 8 bit diproses melalui ADC 0804 dan dikirim ke mikrokontroler AT89S51 data tersebut yang difungsikan sebagai pengukur jarak antara garasi dengan mobil.


(48)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

3.2 Perancangan Program

.

Gambar 3.2 Diagram Alir dari Program

3.3. Sistem Minimum Mikrokontroler AT89S51


(49)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

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


(50)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

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 30 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. Pin 1 sampai 8 adalah port 1. Pin 21 sampai 28 adalah port 2. Dan Pin 10 sampai 17 adalah port 3. Pin 17 yang merupakan P3.7 dihubungkan dengan transistor dan sebuah LED.

Data ini dilakukan hanya untuk menguji apakan rangkaian minimum mikrokontroller AT89S51 sudah bekerja atau belum. Dengan memberikan program sederhana pada mikrokontroller tersebut, dapat diketahui apakah rangkaian minimum tersebut sudah bekerja dengan baik atau tidak.

Jika LED yang terhubug ke Pin 17 sudah bekerja sesuai dengan perintah yang diberikan, maka rangkaian minimum tersebut telah siap digunakan. Pin 20 merupakan ground dihubungkan dengan ground pada power supplay. Pin 40 merupakan sumber tegangan positif dihubungkan dengan + 5 volt dari power supplay.


(51)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

3.4 Timer 555

IC 555 merupakan pewaktu (timer) yang sangat serbaguna sehingga dapat dipakai untuk berbagai penerapan. Dengan menambahkan beberapa resistor dan kapasitor, IC ini dapat berfungsi sebagai multivibrator, picu scimit, untuk modulasi lebar pulsa dan penundaan waktu (time delay) pulsa.


(52)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009


(53)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009


(54)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009


(55)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

Untuk mendeteksi remote control (pengirim) ke rumah cerdas (penenrima),maka terdapat 2 mikrokontroler yaitu satu pada remote dan satu pada rumah cerdas.Mikrokntroler ini adalah AT89S51 dan sebagai pengantar data pada kedua mikrokontroler yaitu timer 555 yang dipantulkan terus kepada LED inframerah pada remote.

Rangkaian pemancar inframerah tampak seperti gambar dibawah ini :


(56)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

Rangkaian skematik power supply dapat dilihat pada gambar 3.8 di bawah

ini:

Gambar 3.6 Rangkaian Skematik Power Supply

Rangkaian power supply berfungsi untuk mensupplay arus dan tegangan ke seluruh rangkaian yang ada. Rangkaian power supply ini terdiri dari dua keluaran, yaitu 5 volt dan 12 volt, keluaran 5 volt digunakan untuk menghidupkan seluruh rangkaian kecuali rangkaian ADC, sedangkan keluaran 12 volt digunakan


(57)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

untuk mensupplay tegangan ke rangkaian ADC, karena rangkaian ADC memerlukan tegangan input sebesar 12 volt agar tegangan referensinya stabil.

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 sebagai penguat 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 jembatan dioda.


(58)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

3.7. Rangkaian Keypad

Pada gambar rangkaian di atas terdapat delapan buah tombol. Masing-masing tombol jika ditekan akan terhubung ke ground, sehingga jika keluaran dari rangkaian ini dihubungkan ke port mikrokontroler, dan port di set high (1) maka ketika terjadi penekanan salah satu tombol akan mengirimkan sinyal low ke mikrokontroler.

Rangkaian ini biasanya disebut dengan simple keypad atau papan tombol sederhana.


(59)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

BAB 4

PEMBAHASAN RANGKAIAN DAN PROGRAM

4.1. Pemrograman

. Prinsip kerja sensor photodioda ini dari awal hingga akhir dapat dijelaskan sebagai berikut :

1. Photodioda menerima sinyal infra merah dari LED infra merah dalam jarak 38kHz karena frekuensi yang ada pada pengirim (Tx) ke penenrima (Rx) frekuensinya 38kHz.

2. Perubahan besaran analog (tegangan input ADC) akan menyebabkan perubahan besaran digital (output ADC berupa bilangan biner untuk dikirim ke mikrokontroler). Pada rangkaian ADC di-setting tegangan referensinya sebesar 2,56 volt. Hal ini karena output ADC 8 bit, jadi maksimum 28 = 256 = 11111111 biner = FF heksadesimal. Tiap kenaikan 0,01 volt pada besaran analog akan mengakibatkan kenaikan 1 biner pada besaran digital. Misalkan untuk tegangan input ADC dari sensor intensitas cahaya 0,01 volt akan menghasilkan besaran digital 1 desimal = 00000001 biner = 01 heksadesimal. Kaki 3 dari ADC 0804 dihubungkan ke port 2.2 sebagai indikator bahwa data dari konversi besaran analog ke digital oleh ADC telah valid dan siap diambil dan di olah oleh mikrokontroler. Sebagai indikatornya agar dapat dilihat oleh mata, maka dihubungkan ke transistor NPN C945, resistor 330, 4k7 dan sebuah LED.


(60)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

3. Besaran digital dari ADC di kirim ke mikrokontroler melalui port 0.0 sampai port 0.7. Besaran digital akan diterima oleh mikrokontroler dan diolah sesuai program yang diisikan kedalam mikrokontroler. Harga yang ada pada port 0 dikirim ke port 3.0 dan port 3.1. Port 3.0 yang merupakan fasilitas khusus pengiriman data serial yang disediakan oleh mikrokontroler AT89S51. Sedangkan P3.1 merupakan sinyal clock untuk pengiriman data serial.

4. Dari port 3.0 dan port 3.1 dihubungkan ke kaki 2 dan kaki 3 dari IC HEF 4094BP. Pada rangkaian display terdapat tiga buah seven segment dan tiga buah IC HEF 4094BP dan tiga buah dioda. Hubungan antara IC HEF 4094BP yang pertama dan kedua dihubungkan dari kaki 10 IC pertama ke kaki 2 IC kedua, begitu juga yang ketiga. Selanjutnya output dari IC HEF 4094BP dihubungkan ke input seven segment. Harga dari besaran digital yang didapat dari ADC ditampilkan di seven segment dengan angka desimal dari 000 – 255.

5. Sebagai pengontrol kecepatan putar motor digunakan keypad yang akan menaikkan dan menurunkan kecepatan putar motor dengan metode PWM. 6. PWM diatur dengan memberi pulsa High dan Low pada modul H-Bridge

secara kontinu. Dan lebar pulsa High atau low akan diatur dengan cara jika keypad Naik ditekan lebar pulsa High akan ditambah dan sebaliknya, sehingga putaran motor dapat dinaikkan dan diturunkan.

Listing Program:

; ======================== ; = Program_RPM_Control = ; ========================


(61)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

Trigger bit p1.7 Naik bit p1.0 Turun bit p1.1 SetData bit p1.2

Bil_0 equ 20h Bil_1 equ 0ech Bil_2 equ 18h Bil_3 equ 88h Bil_4 equ 0c4h Bil_5 equ 82h Bil_6 equ 2h Bil_7 equ 0e8h Bil_8 equ 0h Bil_9 equ 80h

Start: Clr Trigger Acall Delay_ADC Setb Trigger Mov p1,#0h Main: Jb Trigger,$ Acall Delay_ADC Mov a,p0 Mov 68h,as Mov b,#100 Div ab Mov 70h,a Mov a,b Mov b,#10 Div ab Mov 71h,a Mov 72h,b Mov r0,70h Acall Transfer Mov 73h,r1 Mov r0,71h Acall Transfer Mov 74h,r1 Mov r0,72h Acall Transfer Mov 75h,r1 Acall Kirim Mov a,68h Transfer: Cjne r0,#0,Satu Mov r1,#Bil_0 Ret Satu: Cjne r0,#1,Dua Mov r1,#Bil_1 Ret Dua: Cjne r0,#2,Tiga


(62)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

Mov r1,#Bil_2 Ret Tiga: Cjne r0,#3,Empat Mov r1,#Bil_3 Ret Empat: Cjne r0,#4,Lima Mov r1,#Bil_4 Ret Lima: Cjne r0,#5,Enam Mov r1,#Bil_5 Ret Enam: Cjne r0,#6,Tujuh Mov r1,#Bil_6 Ret Tujuh: Cjne r0,#7,Delapan Mov r1,#Bil_7 Ret Delapan: Cjne r0,#8,Sembilan Mov r1,#Bil_8 Ret Sembilan: Cjne r0,#9,Transfer Mov r1,#Bil_9 Ret Kirim: mov sbuf,75h jnb ti,$ clr ti mov sbuf,74h jnb ti,$ clr ti mov sbuf,73h jnb ti,$ clr ti acall Delay ret Delay: mov r7,#255 Dly: mov r6,#255 djnz r6,$ djnz r7,Dly ret Delay_ADC: mov r7,#80h Dly_ADC: mov r6,#40h djnz r6,$ djnz r7,Dly_ADC ret End


(63)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

Program di atas merupakan program sensor rotary encoder yang diisikan ke dalam mikrokontroler AT89S52. Dari program dapat dijelaskan sebagai berikut:

• Trigger bit p1.7 Menjelaskan bahwa pada port 1.7 adalah

trigger dari ADC.

• Bil_0 equ 20h … Bil_9 equ 80h  Menjelaskan bahwa

bilangan 0 sampai bilangan 9 yang akan tampilkan di seven segment sama/equivalent dengan harga heksadesimal di sebelahnya.

• Start:  Merupakan sebuah Rutin.

• Clr Trigger  Menjelaskan bahwa trigger diberikan nilai 0 atau

tidak aktif.

• Acall Delay_ADC  Perintah Acall Delay_ADC digunakan untuk

memanggil subrutin Delay_ADC dan melaksanakan perintah yang ada pada subrutin Delay_ADC tersebut.

• Setb Trigger  Menjelaskan bahwa trigger diberikan nilai 1 atau

mengaktifkan trigger.

• Mov p1,#0h  Menjelaskan bahwa mikrokontroler diperintahkan

untuk mengisikan harga 0 heksadesimal pada port 1.

• Main:  Merupakan sebuah Rutin.

• Jb Trigger,$  Menjelaskan bahwa pelaksanaan trigger dilakukan

hingga selesai ($) karena proses pengkonversian besaran analog menjadi besaran digital yang telah valid memerlukan waktu sekitar 120 µS. Setelah


(64)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

trigger bernilai 0 atau low mikrokontroler akan melaksanakan perintah yang ada dibawahnya (Jb Trigger).

• Acall Delay_ADC  Perintah Acall Delay_ADC digunakan untuk

memanggil subrutin Delay_ADC dan melaksanakan perintah yang ada pada subrutin Delay_ADC tersebut.

• Mov a,p0  Menjelaskan bahwa mikrokontroler diperintahkan untuk

mengisikan harga digital yang ada pada port 0 kedalam akumulator a. Mov

b,#7  Menjelaskan bahwa mikrokontroler diperintahkan untuk

mengisikan harga 7 kedalam register b.

• Mov 68h,a  Menjelaskan bahwa mikrokontroler diperintahkan

untuk mengisikan harga yang ada pada akumulator a ke alamat 68H, sehingga harga yang ada pada alamat 68H adalah 255.

• Mov b,#100  Menjelaskan bahwa mikrokontroler diperintahkan

untuk mengisikan harga 100 ke dalam register b.

• Div ab  Menjelaskan bahwa mikrokontroler diperintahkan untuk

membagi harga yang ada pada akumulator a dengan harga yang ada pada register b. Jadi, misalkan harga a dibagi harga b = 255 : 100 = 2 dengan sisa 55. harga 2 dimasukkan kedalam akumulator a dan harga 55 dimasukkan ke dalam register b, sehingga pada saat ini harga akumulator a = 2 dan harga register b = 55.

• Mov 70h,a  Menjelaskan bahwa mikrokontroler diperintahkan

untuk mengisikan harga yang ada pada akumulator a ke alamat 70H, sehingga harga yang terdapat pada alamat 70H adalah 2.


(65)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

• Mov a,b  Menjelaskan bahwa mikrokontroler diperintahkan untuk

mengisikan harga yang ada pada register b ke dalam akumulator a, sehingga harga a pada saat ini adalah 55.

• Mov b,#10  Menjelaskan bahwa mikrokontroler diperintahkan

untuk mengisikan harga 10 ke dalam register b.

• Div ab  Menjelaskan bahwa mikrokontroler diperintahkan untuk

membagi harga yang ada pada akumulator a dengan harga yang ada pada register b. Jadi, harga a dibagi harga b = 55 : 10 = 5 dengan sisa 5. harga 5 puluhan dimasukkan ke dalam akumulator a dan harga 5 satuan dimasukkan ke dalam register b, sehingga pada saat ini harga akumulator a = 5 dan harga register b = 5.

• Mov 71h,a  Menjelaskan bahwa mikrokontroler diperintahkan

untuk mengisikan harga yang ada pada akumulator a ke alamat 71H, sehingga harga yang terdapat pada alamat 71H adalah 5.

• Mov 72h,b  Menjelaskan bahwa mikrokontroler diperintahkan

untuk mengisikan harga yang ada pada register b ke alamat 72H, sehingga harga yang terdapat pada alamat 72H adalah 5.

• Mov r0,70h  Menjelaskan bahwa mikrokontroler diperintahkan

untuk mengisikan harga yang ada pada alamat 70H ke dalam register 0, sehingga harga yang terdapat pada register 0 adalah 2.

• Acall Transfer  Perintah Acall Transfer digunakan untuk

memanggil subrutin Transfer dan melaksanakan perintah yang ada pada subrutin Transfer tersebut.


(66)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

• Mov 73h,r1  Menjelaskan bahwa mikrokontroler diperintahkan

untuk mengisikan harga yang ada pada register 1 ke alamat 73H, sehingga harga yang terdapat pada alamat 73H adalah Bil_2.

• Mov r0,71h  Menjelaskan bahwa mikrokontroler diperintahkan

untuk mengisikan harga yang ada pada alamat 71H ke dalam register 0, sehingga harga yang terdapat pada register 0 adalah 5.

• Acall Transfer  Perintah Acall Transfer digunakan untuk

memanggil subrutin Transfer dan melaksanakan perintah yang ada pada subrutin Transfer tersebut.

• Mov 74h,r1  Menjelaskan bahwa mikrokontroler diperintahkan

untuk mengisikan harga yang ada pada register 1 ke alamat 74H, sehingga harga yang terdapat pada alamat 74H adalah Bil_5.

• Mov r0,72h  Menjelaskan bahwa mikrokontroler diperintahkan

untuk mengisikan harga yang ada pada alamat 72H ke dalam register 0, sehingga harga yang terdapat pada register 0 adalah 5.

• Acall Transfer  Perintah Acall Transfer digunakan untuk

memanggil subrutin Transfer dan melaksanakan perintah yang ada pada subrutin Transfer tersebut.

• Mov 75h,r1  Menjelaskan bahwa mikrokontroler diperintahkan

untuk mengisikan harga yang ada pada register 1 ke alamat 75H, sehingga harga yang terdapat pada alamat 75H adalah Bil_5.

• Acall Display  Perintah Acall Display digunakan untuk

memanggil subrutin Display dan melaksanakan perintah yang ada pada subrutin Display tersebut.


(67)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

• Mov a,68h  Menjelaskan bahwa mikrokontroler diperintahkan

untuk mengisikan harga yang ada pada 68H ke dalam akumulator a, sehingga pada akumulator a pada saat ini berharga 255.

• Sjmp Main  Menjelaskan bahwa mikrokontroler diperintahkan

untuk lompat ke rutin Main.

• Carry_1:  Merupakan sebuah subrutin.

• Mov a,PSW  Menjelaskan bahwa mikrokontroler diperintahkan

untuk mengisikan harga yang ada pada psw (Program Status Word) ke dalam akumulator a. Jika harga perbandingan akumulator a dengan harga yang dibandingkan lebih kecil, maka pada psw akan terdapat bit paling kiri berharga 1, tetapi jika harga yang dibandingkan lebih besar, bit carry pada psw akan berharga 0.

• Anl a,#80h  Menjelaskan bahwa mikrokontroler diperintahkan

untuk mengalikan akumulator a dengan 80 heksadesimal dengan menggunakan logika AND. Jadi, jika nilai psw pada bit paling kiri berharga 1 dan dikalikan dengan harga 80 heksadesimal, maka hasilnya pada akumulator a juga 80 heksadesimal. Tetapi jika nilai psw pada bit paling kiri berharga 0, maka hasilnya akan berbeda.

• Cjne a,#80h,Carry_2  Menjelaskan bahwa mikrokontroler

diperintahkan untuk membandingkan harga yang ada pada akumulator a dengan harga 80 heksadesimal. Jika harga akumulator a sama dengan harga 80 heksadesimal, maka program akan mengeksekusi perintah yang ada dibawahnya, tetapi jika harga akumulator a tidak sama dengan harga 80 heksadesimal, maka program akan lompat ke subrutin Carry_2.


(68)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

• Sjmp Main  Menjelaskan bahwa mikrokontroler diperintahkan

untuk lompat ke rutin Main.

• Carry_2:  Merupakan sebuah subrutin.

• Mov p1,#0h  Menjelaskan bahwa mikrokontroler diperintahkan

untuk mengisikan harga 0 heksadesimal pada port 1.

• Sjmp Main  Menjelaskan bahwa mikrokontroler diperintahkan

untuk lompat ke rutin Main.

• Transfer:  Merupakan sebuah subrutin.

• Cjne r0,#0,Satu  Menjelaskan bahwa mikrokontroler

diperintahkan untuk membandingkan, apakah harga yang ada pada register 0 sama dengan 0 bilangan digital (desimal). Jika harga pada register 0 sama dengan harga 0, maka mikrokontroler akan mengeksekusi program yang ada dibawahnya, tetapi jika harga pada register 0 tidak sama dengan harga 0, maka program akan lompat ke subrutin Satu.

• Mov r1,#Bil_0  Menjelaskan bahwa mikrokontroler diperintahkan

untuk mengisi harga Bil_0 ke dalam register 1.

• Ret  Menjelaskan bahwa mikrokontroler diperintahkan untuk kembali ke alamat awal pemanggilan subrutin.

• Satu:  Merupakan sebuah subrutin.

• Cjne r0,#1,Dua  Menjelaskan bahwa mikrokontroler

diperintahkan untuk membandingkan, apakah harga yang ada pada register 0 sama dengan 1 bilangan digital (desimal). Jika harga pada register 0 sama dengan harga 1, maka mikrokontroler akan mengeksekusi program


(69)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

yang ada dibawahnya, tetapi jika harga pada register 0 tidak sama dengan harga 1, maka program akan lompat ke subrutin Dua.

• Mov r1,#Bil_1  Menjelaskan bahwa mikrokontroler diperintahkan

untuk mengisi harga Bil_1 ke dalam register 1.

• Ret  Menjelaskan bahwa mikrokontroler diperintahkan untuk kembali ke alamat awal pemanggilan subrutin.

• Dua:  Merupakan sebuah subrutin.

• Cjne r0,#2,Tiga  Menjelaskan bahwa mikrokontroler

diperintahkan untuk membandingkan, apakah harga yang ada pada register 0 sama dengan 2 bilangan digital (desimal). Jika harga pada register 0 sama dengan harga 2, maka mikrokontroler akan mengeksekusi program yang ada dibawahnya, tetapi jika harga pada register 0 tidak sama dengan harga 2, maka program akan lompat ke subrutin Tiga.

• Mov r1,#Bil_2  Menjelaskan bahwa mikrokontroler diperintahkan

untuk mengisi harga Bil_2 ke dalam register 1.

• Ret  Menjelaskan bahwa mikrokontroler diperintahkan untuk kembali ke alamat awal pemanggilan subrutin.

• Tiga:  Merupakan sebuah subrutin.

• Cjne r0,#3,Empat  Menjelaskan bahwa mikrokontroler

diperintahkan untuk membandingkan, apakah harga yang ada pada register 0 sama dengan 3 bilangan digital (desimal). Jika harga pada register 0 sama dengan harga 3, maka mikrokontroler akan mengeksekusi program yang ada dibawahnya, tetapi jika harga pada register 0 tidak sama dengan harga 3, maka program akan lompat ke subrutin Empat.


(70)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

• Mov r1,#Bil_3  Menjelaskan bahwa mikrokontroler diperintahkan

untuk mengisi harga Bil_3 ke dalam register 1.

• Ret  Menjelaskan bahwa mikrokontroler diperintahkan untuk kembali ke alamat awal pemanggilan subrutin.

• Empat:  Merupakan sebuah subrutin.

• Cjne r0,#4,Lima  Menjelaskan bahwa mikrokontroler

diperintahkan untuk membandingkan, apakah harga yang ada pada register 0 sama dengan 4 bilangan digital (desimal). Jika harga pada register 0 sama dengan harga 4, maka mikrokontroler akan mengeksekusi program yang ada dibawahnya, tetapi jika harga pada register 0 tidak sama dengan harga 4, maka program akan lompat ke subrutin Lima.

• Mov r1,#Bil_4  Menjelaskan bahwa mikrokontroler diperintahkan

untuk mengisi harga Bil_4 ke dalam register 1.

• Ret  Menjelaskan bahwa mikrokontroler diperintahkan untuk kembali ke alamat awal pemanggilan subrutin.

• Lima:  Merupakan sebuah subrutin.

• Cjne r0,#5,Enam  Menjelaskan bahwa mikrokontroler

diperintahkan untuk membandingkan, apakah harga yang ada pada register 0 sama dengan 5 bilangan digital (desimal). Jika harga pada register 0 sama dengan harga 5, maka mikrokontroler akan mengeksekusi program yang ada dibawahnya, tetapi jika harga pada register 0 tidak sama dengan harga 5, maka program akan lompat ke subrutin Enam.

• Mov r1,#Bil_5  Menjelaskan bahwa mikrokontroler diperintahkan


(71)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

• Ret  Menjelaskan bahwa mikrokontroler diperintahkan untuk kembali ke alamat awal pemanggilan subrutin.

• Enam:  Merupakan sebuah subrutin.

• Cjne r0,#6,Tujuh  Menjelaskan bahwa mikrokontroler

diperintahkan untuk membandingkan, apakah harga yang ada pada register 0 sama dengan 6 bilangan digital (desimal). Jika harga pada register 0 sama dengan harga 6, maka mikrokontroler akan mengeksekusi program yang ada dibawahnya, tetapi jika harga pada register 0 tidak sama dengan harga 6, maka program akan lompat ke subrutin Tujuh.

• Mov r1,#Bil_6  Menjelaskan bahwa mikrokontroler diperintahkan

untuk mengisi harga Bil_6 ke dalam register 1.

• Ret  Menjelaskan bahwa mikrokontroler diperintahkan untuk kembali ke alamat awal pemanggilan subrutin.

• Tujuh:  Merupakan sebuah subrutin.

• Cjne r0,#7,Delapan  Menjelaskan bahwa mikrokontroler

diperintahkan untuk membandingkan, apakah harga yang ada pada register 0 sama dengan 7 bilangan digital (desimal). Jika harga pada register 0 sama dengan harga 7, maka mikrokontroler akan mengeksekusi program yang ada dibawahnya, tetapi jika harga pada register 0 tidak sama dengan harga 7, maka program akan lompat ke subrutin Delapan.

• Mov r1,#Bil_7  Menjelaskan bahwa mikrokontroler diperintahkan

untuk mengisi harga Bil_7 ke dalam register 1.

• Ret  Menjelaskan bahwa mikrokontroler diperintahkan untuk kembali ke alamat awal pemanggilan subrutin.


(72)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

• Delapan:  Merupakan sebuah subrutin.

• Cjne r0,#8,Sembilan  Menjelaskan bahwa mikrokontroler

diperintahkan untuk membandingkan, apakah harga yang ada pada register 0 sama dengan 8 bilangan digital (desimal). Jika harga pada register 0 sama dengan harga 8, maka mikrokontroler akan mengeksekusi program yang ada dibawahnya, tetapi jika harga pada register 0 tidak sama dengan harga 8, maka program akan lompat ke subrutin Sembilan.

• Mov r1,#Bil_8  Menjelaskan bahwa mikrokontroler diperintahkan

untuk mengisi harga Bil_8 ke dalam register 1.

• Ret  Menjelaskan bahwa mikrokontroler diperintahkan untuk kembali ke alamat awal pemanggilan subrutin.

• Sembilan:  Merupakan sebuah subrutin.

• Cjne r0,#9,Transfer  Menjelaskan bahwa mikrokontroler

diperintahkan untuk membandingkan, apakah harga yang ada pada register 0 sama dengan 9 bilangan digital (desimal). Jika harga pada register 0 sama dengan harga 9, maka mikrokontroler akan mengeksekusi program yang ada dibawahnya, tetapi jika harga pada register 0 tidak sama dengan harga 9, maka program akan lompat ke subrutin Transfer.

• Mov r1,#Bil_9  Menjelaskan bahwa mikrokontroler diperintahkan

untuk mengisi harga Bil_9 ke dalam register 1.

• Ret  Menjelaskan bahwa mikrokontroler diperintahkan untuk kembali ke alamat awal pemanggilan subrutin.


(73)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

• Mov sbuf,75h  Menjelaskan bahwa mikrokontroler diperintahkan

untuk mengisi harga yang ada pada alamat 75H ke dalam Serial Buffer (sbuf), sehingga akan terlihat tampilan harga dari Serial Buffer pada seven segment.

• Jnb ti,$  Menjelaskan bahwa mikrokontroler diperintahkan untuk

mengerjakan Transmit Interrupt pada kondisi bit (high) hingga selesai. Ketika Transmit Interrupt berkondisi low, maka mikrokontroler akan melaksanakan perintah yang ada dibawahnya.

• Clr ti  Menjelaskan bahwa mikrokontroler diperintahkan untuk

memberikan nilai 0 kepada Transmit Interrupt sehingga akan terlihat pada seven segment tampilan harga 5 pada seven segment yang di kanan.

• Mov sbuf,74h  Menjelaskan bahwa mikrokontroler diperintahkan

untuk mengisi harga yang ada pada alamat 74H ke dalam Serial Buffer (sbuf), sehingga akan terlihat tampilan harga dari Serial Buffer pada seven segment.

• Jnb ti,$  Menjelaskan bahwa mikrokontroler diperintahkan untuk

mengerjakan Transmit Interrupt pada kondisi bit (high) hingga selesai. Ketika Transmit Interrupt berkondisi low, maka mikrokontroler akan melaksanakan perintah yang ada dibawahnya.

• Clr ti  Menjelaskan bahwa mikrokontroler diperintahkan untuk

memberikan nilai 0 kepada Transmit Interrupt sehingga akan terlihat pada seven segment tampilan harga 5 pada seven segment yang di tengah.

• Mov sbuf,73h  Menjelaskan bahwa mikrokontroler diperintahkan


(74)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

(sbuf), sehingga akan terlihat tampilan harga dari Serial Buffer pada seven segment.

• Jnb ti,$  Menjelaskan bahwa mikrokontroler diperintahkan untuk

mengerjakan Transmit Interrupt pada kondisi bit (high) hingga selesai. Ketika Transmit Interrupt berkondisi low, maka mikrokontroler akan melaksanakan perintah yang ada dibawahnya.

• Clr ti  Menjelaskan bahwa mikrokontroler diperintahkan untuk

memberikan nilai 0 kepada Transmit Interrupt sehingga akan terlihat pada seven segment tampilan harga 2 pada seven segment yang di kiri.

• Acall Delay  Menjelaskan bahwa mikrokontroler diperintahkan

untuk memanggil subrutin Delay dan melaksanakan perintah yang ada didalamnya.

• Ret  Menjelaskan bahwa mikrokontroler diperintahkan untuk kembali ke alamat awal pemanggilan subrutin.

• Delay:  Merupakan sebuah subrutin.

• Mov r7,#255  Menjelaskan bahwa mikrokontroler diperintahkan

untuk mengisikan harga 255 ke dalam register 7.

• Dly:  Merupakan sebuah subrutin.

• Mov r6,#255  Menjelaskan bahwa mikrokontroler diperintahkan

untuk mengisikan harga 255 ke dalam register 7.

• Djnz r6,$  Menjelaskan bahwa mikrokontroler diperintahkan

untuk mengurangi register 6 sampai harga 0 hingga selesai.

• Djnz r7,Dly  Menjelaskan bahwa mikrokontroler diperintahkan


(75)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

• Ret  Menjelaskan bahwa mikrokontroler diperintahkan untuk kembali ke alamat awal pemanggilan subrutin.

• Delay_ADC:  Merupakan sebuah subrutin.

• Mov r7,#80h  Menjelaskan bahwa mikrokontroler diperintahkan

untuk mengisikan harga 80 heksadesimal kedalam register 7.

• Dly_ADC:  Merupakan sebuah subrutin.

• Mov r6,#40h  Menjelaskan bahwa mikrokontroler diperintahkan

untuk mengisikan harga 40 heksadesimal ke dalam register 6.

• Djnz r6,$  Menjelaskan bahwa mikrokontroler diperintahkan

untuk mengurangi register 6 sampai harga 0 hingga selesai.

• Djnz r7,Dly_ADC  Menjelaskan bahwa mikrokontroler

diperintahkan untuk mengurangi register 7 sampai harga 0 hingga selesai. • Ret  Menjelaskan bahwa mikrokontroler diperintahkan untuk kembali


(76)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

Listng Program Pada ADC

; ======================== ; Program ADC

; ========================

Setb trigger Clr trigger Setb trigger Baca_ADC :

Jb trigger, $ Acall Delay_ADC Mov a, Po

Mov 68 h, a Mov b, # 100 Biv ab Mov 70 h, a Mov a,b Mov b, #10 Biv ab Mov 70h, a Mov a,b Mov b, # 10 Biv a,b Mov 71 h, a Mov 72 h, b Mov ro, 70h Acall transfer:

Mov 75h, r1 Mov ro, 71h Acall transfer Mov 74h, r1


(77)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

Mov ro, 72h Acall transfer Mov 75h, r1 Acall kirim:

Mov a, 68h Sjmp main.

Pada 7-segmen

; ======================== ; 7- Segmen

; ========================

Mov 75h, # bil-0 Mov 76h, # bil-1 Mov 77h, # bil-5 Acall kirim Kirim :

Mov sbuf, 75h Jnb ti, $ Clr ti

Mov sbuf , 76h Jnb ti

Clr ti

Mov Sbuf, 77h Jnb ti

Clr ti Ret.

Pada Mator Stepper

; ======================== ; Motor_maju

; ======================== Motor Maju:

Mov r4, #30 Motor :

Set b P1.0 Clr P1.1 Clr P1.2 Clr P1.3 Acall tunda Clr P1.0 Set b P1.1 Clr P1.2 Clr P1.3 Acall tunda


(78)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

Clr P1.0 Clr P1.1 Set b P1.2 Clr P1.3 Acall tunda

Clr P1.0 Clr P1.1 Clr P1.2 Set b P1.3 Bjnz r4, $ Ljmp main

; ======================== ; Motor_Mundur

; ======================== Motor mundur :

Mov r4, #30 Motor_dur

Clr P1.0 Clr P1.1 Clr P1.2 Set b P1.3 Acall tunda Clr P1.0 Clr P1.1 Set b P1.2 Clr P1.3 Acall tunda Clr P1.0 Set b P1.1 Clr P1.2 Clr P1.3 Acall tunda Set b P1.0 Clr P1.1 Clr P1.2 Clr P1.3 Acall tunda Bjnz r4, $ Ljmp main


(79)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

; ======================== ; tunda motor

; ======================== tunda :

Mov r5, # 80 Tnd :

Mov r6, #40 Djnz r5, tnd Ret.


(80)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009


(1)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

• Ret  Menjelaskan bahwa mikrokontroler diperintahkan untuk kembali ke alamat awal pemanggilan subrutin.

• Delay_ADC:  Merupakan sebuah subrutin.

• Mov r7,#80h  Menjelaskan bahwa mikrokontroler diperintahkan untuk mengisikan harga 80 heksadesimal kedalam register 7.

• Dly_ADC:  Merupakan sebuah subrutin.

• Mov r6,#40h  Menjelaskan bahwa mikrokontroler diperintahkan untuk mengisikan harga 40 heksadesimal ke dalam register 6.

• Djnz r6,$  Menjelaskan bahwa mikrokontroler diperintahkan untuk mengurangi register 6 sampai harga 0 hingga selesai.

• Djnz r7,Dly_ADC  Menjelaskan bahwa mikrokontroler diperintahkan untuk mengurangi register 7 sampai harga 0 hingga selesai.

• Ret  Menjelaskan bahwa mikrokontroler diperintahkan untuk kembali ke alamat awal pemanggilan subrutin.


(2)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

lxxvi

Listng Program Pada ADC

; ======================== ; Program ADC

; ========================

Setb trigger Clr trigger Setb trigger Baca_ADC :

Jb trigger, $ Acall Delay_ADC Mov a, Po

Mov 68 h, a Mov b, # 100 Biv ab Mov 70 h, a Mov a,b Mov b, #10 Biv ab Mov 70h, a Mov a,b Mov b, # 10 Biv a,b Mov 71 h, a Mov 72 h, b Mov ro, 70h Acall transfer:

Mov 75h, r1 Mov ro, 71h Acall transfer Mov 74h, r1


(3)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

Mov ro, 72h Acall transfer Mov 75h, r1 Acall kirim:

Mov a, 68h Sjmp main.

Pada 7-segmen

; ======================== ; 7- Segmen

; ========================

Mov 75h, # bil-0 Mov 76h, # bil-1 Mov 77h, # bil-5 Acall kirim Kirim :

Mov sbuf, 75h Jnb ti, $ Clr ti

Mov sbuf , 76h Jnb ti

Clr ti

Mov Sbuf, 77h Jnb ti

Clr ti Ret.

Pada Mator Stepper

; ======================== ; Motor_maju

; ======================== Motor Maju:

Mov r4, #30 Motor :

Set b P1.0 Clr P1.1 Clr P1.2 Clr P1.3 Acall tunda Clr P1.0 Set b P1.1 Clr P1.2 Clr P1.3 Acall tunda


(4)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

lxxviii

Clr P1.0 Clr P1.1 Set b P1.2 Clr P1.3 Acall tunda

Clr P1.0 Clr P1.1 Clr P1.2 Set b P1.3 Bjnz r4, $ Ljmp main

; ======================== ; Motor_Mundur

; ======================== Motor mundur :

Mov r4, #30 Motor_dur

Clr P1.0 Clr P1.1 Clr P1.2 Set b P1.3 Acall tunda Clr P1.0 Clr P1.1 Set b P1.2 Clr P1.3 Acall tunda Clr P1.0 Set b P1.1 Clr P1.2 Clr P1.3 Acall tunda Set b P1.0 Clr P1.1 Clr P1.2 Clr P1.3 Acall tunda Bjnz r4, $ Ljmp main


(5)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009

; ======================== ; tunda motor

; ======================== tunda :

Mov r5, # 80 Tnd :

Mov r6, #40 Djnz r5, tnd Ret.


(6)

Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009