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
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
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
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 : 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.
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
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
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
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
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
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.
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.
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.
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
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
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.
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
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).
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.
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
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.
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
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.
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)
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)
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
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)
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).
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:
Pada mode ini data 8 bit dikirim/diterima dengan 3 bit tambahan dengan urutan :
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
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
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
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
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
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.
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
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 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 )
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
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
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
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
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.
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
BAB 3
PERANCANGAN ALAT
3.1 Diagram Blok
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.
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
3.2 Perancangan Program
.
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 :
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.
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.
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
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 :
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
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
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.
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.
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:
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
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
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
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
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
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
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
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
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
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
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.
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
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
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
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
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.