i
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
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
ii
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 Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
iii
PERSETUJUAN
Judul
Kategori Nama Nomor Induk Mahasiswa Program Studi Departemen Fakultas
: RANCANG BANGUN RANGKAIAN HANDSET PENGENDALI PADA RUMAH CERDAS : TUGAS AKHIR : AISYAH RANGKUTI : 042408050 : D3 FISIKA INSTRUMENTASI : FISIKA : MATEMATIKA DAN ILMU PENGETAHUAN ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA
Diluluskan di Medan, Juli 2007
Ketua Program Studi D3 Fisika Instrumentasi
Dosen Pembimbing
Dr. Marhaposan Situmorang. M.Sc NIP. 130 810 771
Ir. Zulham NIP. 132295983
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
iv
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
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
v
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.
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
vi
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 2.1 Perangkat Keras
6 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
3.2 Perancangan Program
30
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
vii
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
DAFTAR PUSTAKA
37
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
viii
DAFTAR TABEL
Halaman Tabel 2.1.1 Port yang mempunyai Fungsi
12
Tabel 2.1.2 Tabel Kombinasi Pemilihan Baud Rate
21
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
ix
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
x
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.
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
xi
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 Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
xii
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
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
penulis
xiii
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.
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
xiv
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 : Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
xv
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.
BAB 5
: KESIMPULAN DAN SARAN
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
xvi
Bab ini berisikan tentang kesimpulan yang dapat diambil penulis dan saran untuk kesempurnaan penulisan tugas akhir.
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
xvii
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 Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
xviii
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 Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
xix
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
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
xx
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 pikoFarad 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 Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
xxi
saat IC mikrokontroler dicetak di pabrik IC.
Untuk keperluan tertentu
mikrokontroler mengunakan ROM yang dapat diisi ulang atau ProgramableEraseable 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. Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
xxii
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.
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
xxiii
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
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
xxiv
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)
Tabel 2.1. Konfigurasi Port 3 Mikrokontroler AT89S51 Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
xxv
•
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 direset. 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 Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
xxvi
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.
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
xxvii
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).
Port Serial dapat bekerja dalam 4 mode :
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
xxviii
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 : start bit ( logika 0 ), Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
xxix
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. Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
xxx
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 :
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
xxxi
•
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
f
Rate
OSC
Timer1 SMOD C/-T
Mode 0
12Mhz
X
X
Mode X
Reload X
Max:1Mhz Mode 2
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
Max:375K
Konfigurasi Timer 2 yang berfungsi sebagai baud rate generator adalah : •
Bit TCLK dan / atau RCLK pada register T2CON diset.
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
xxxii
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 Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
xxxiii
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
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
xxxiv
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
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
xxxv
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 : Jika ((Rr)) <> data, maka (PC)<-(PC)+ offset relatif
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
xxxvi
: 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 ) Operand
: alamat bit
0<= alamat bit <= 255
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
xxxvii
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
2.1.4. Gerbang NAND
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
xxxviii
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.
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
xxxix
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
In B
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
xl
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.
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
xli
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. Rangkaian pemancar inframerah tampak seperti gambar dibawah ini : Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
xlii
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
xliii
Gambar 38 kHz Detector
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
xliv
Gambar 38kHz generator
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
xlv
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
xlvi
BAB 3 PERANCANGAN ALAT
3.1 Diagram Blok
Gambar 3.1 Diagram Blog
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
xlvii
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.
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
xlviii
3.2 Perancangan Program
.
Gambar 3.2 Diagram Alir dari Program 3.3. Sistem Minimum Mikrokontroler AT89S51 Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
xlix
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 :
Gambar 3.3. Rangkaian Sistem Minimum Kontroler AT89S51
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
l
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.
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
li
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.
Gambar3.4 Rangkaian timer 555
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
lii
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
liii
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
liv
3.5 Rangkaian Pemancar Infra Merah
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
lv
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 :
3.6.
Rangkaian Power Supply
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
lvi
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
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
lvii
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.
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
lviii
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.
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
lix
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.
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
lx
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 = ; ======================== Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
lxi
Trigger Naik Turun SetData
bit bit bit bit
p1.7 p1.0 p1.1 p1.2
Bil_0 Bil_1 Bil_2 Bil_3 Bil_4 Bil_5 Bil_6 Bil_7 Bil_8 Bil_9
equ equ equ equ equ equ equ equ equ equ
20h 0ech 18h 88h 0c4h 82h 2h 0e8h 0h 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 Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
lxii
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: Dly:
mov r7,#255 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 Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
lxiii
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
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
lxiv
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.
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
lxv
•
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.
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
lxvi
•
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. Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
lxvii
•
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.
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
lxviii
•
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
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
lxix
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. Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
lxx
•
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 untuk mengisi harga Bil_5 ke dalam register 1.
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
lxxi
•
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.
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
lxxii
•
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.
•
Display: Merupakan sebuah subrutin.
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
lxxiii
•
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 untuk mengisi harga yang ada pada alamat 73H ke dalam Serial Buffer
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
lxxiv
(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 untuk mengurangi register 7 sampai harga 0 hingga selesai.
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
lxxv
•
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.
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 Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
lxxvii
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 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 Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
lxxix
; ======================== ; tunda motor ; ========================
tunda : Mov r5, # 80 Tnd : Mov r6, #40 Djnz r5, tnd Ret.
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009
lxxx
Aisyah Rangkuti : Rancang Bangun Rangkaian Handset Pengendali Pada Rumah Cerdas, 2007. USU Repository © 2009