SMART HOUSE BERBASIS MIKROKONTROLLER AT 89S51 VIA SMS

(1)

commit to user

\SMART HOUSE BERBASIS MIKROKONTROLLER AT 89S51 VIA SMS

TUGAS AKHIR

Diajukan Untuk Mamenuhi Salah Satu Syarat Mencapai Gelar Ahli Madya Program Diploma III Ilmu Komputer

Oleh :

FAJAR NIKO PRATAMA M3307043

PROGRAM DIPLOMA III ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SEBELAS MARET

SURAKARTA 2010


(2)

commit to user

ii

HALAMAN PERSETUJUAN

SMART HOUSE BERBASIS MIKROKONTROLLER AT 89S51 VIA SMS

Disusun Oleh

FAJAR NIKO PRATAMA NIM. M3307043

Tugas Akhir ini telah disetujui untuk dipertahankan Di hadapan dewan penguji :

Pada hari Jum’at tanggal 28 Januari 2011

Pembimbing Utama

Artono Dwijo Sutomo, S.Si, M.Si NIP. 19700128 199903 1 001


(3)

commit to user

iii

HALAMAN PENGESAHAN

SMART HOUSE BERBASIS MIKROKONTROLLER AT 89S51 VIA SMS

FAJAR NIKO PRATAMA M3307043

dibimbing oleh :

Artono Dwijo Sutomo, S.Si, M.Si NIP 19700128 199903 1 001

Telah dipertahankan di depan Dewan Penguji Pada hari Jum’at tanggal 28 Januari 2011

Dan dinyatakan telah memenuhi syarat

Dewan Penguji Tanda Tangan

1. Artono Dwijo Sutomo, S.Si, M.Si 1. NIP 19700128 199903 1 001

2. Agus Purbayu. S.Si 2.

NIDN 0629088001

3. Agus Purnomo. S.Si 3.

NIDN 0607038501

Disahkan Oleh

Dekan Ketua Program Studi

Fakultas MIPA UNS DIII Ilmu Komputer UNS

Prof. Drs. Sutarno, M.sc, Ph.D Drs. YS. Palgunadi, M. Sc NIP 19600809 198612 1 001 NIP 19560407 198303 1 004


(4)

commit to user

iv ABSTRAK

Fajar Niko Pratama.2010. Smart House Berbasis Mikrokontroller AT 89S51 Via SMS. Program Diploma III Tekhnik Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam, UNS.

Tujuan dari tugas akhir ini adalah untuk merancang dan membuat sebuah system Smart house Via SMS. Penulis ingin mengetahui bagaimana mendesain dan membuat rangkaian elektronika.

Sistem ini menggunakan Mikrokontroller AT 89S51. Penulisan untuk program Mikrokontroller AT89S51 tersebut menggunakan bahasa Assembly, dan port-port terhubung ke input (Handphone) dan output (Mekanik). Dari hasil perangkaian alat, menunjukkan bahwa Handphone yang terhubung dengan Mikrokontroller AT89S51 melalui pesan singkat (SMS) dapat melakukan perintah suatu rangkaian Mikrokontroller yang terhubung ke mekanik.

Berdasarkan penguraian di atas, penulis menyimpulkan bahwa mikrokontroller AT89S51 dapat digunakan sebagai sistem Smart House.


(5)

commit to user

v ABSTRACT

Fajar Niko Pratama.2010. Smart House Via SMS Based on AT 89S51. Program Diploma III Computer Enginering, Faculty of Mathematic and Natural Scinces, UNS.

The purpose of this final report is to plan and build a smart house system via SMS. Writer want to know how to plan and build electronics system.

This system use Microcontroller AT 89S51. Process of writing microcontroller AT89S51 program use assembly language, and Microcontroller ports are connected to input (Handphone) and output (Mechanics). From the result of process combination device, indicates that Handphone are conneted microcontroller AT 89S51 via short massage service (SMS that) can command a microcontroller system which connected to mechanics.

Based on the explanation above, writer concluded that microcontroller AT 89S51 could be used for Smart House System.


(6)

commit to user

vi MOTTO

 Siapa yang menginginkan dunia, hendaklah ia mempunyai ilmu. Siapa yang menginginkan akherat, hendaklah ia mempunyai ilmu. Siapa yang menginginkan keduanya, hendaklah ia mempunyai ilmu.

(Al-Hadist)

 Dalam jasad itu ada sekerat daging, jika ia baik maka baiklah jasad seluruhnya, dan jika ia buruk maka buruklah jasad seluruhnya. Sekerat daging itu adalah hati.


(7)

commit to user

vii

PERSEMBAHAN

Karya ini kupersembahkan Kepada :

- Bapak dan Ibu tercinta - Adik – adikku tersayang - Semua temanku yang

baik hati. - Almamater


(8)

commit to user

viii

KATA PENGANTAR

Puji syukur dan terima kasih penulis panjatkan kehadirat Allah SWT yang selalu melimpahkan rahmat, hidayah serta karunia-Nya kepada penulis sehingga penulis dapat menyelesaikan laporan tugas akhir dengan judul “SMART HOUSE BERBASIS MIKROKONTROLLER AT 89S51 VIA SMS” ini tepat pada waktunya.

Penyusunan laporan tugas akhir ini disusun sebagai salah satu syarat menempuh Program Studi D3 Teknik Komputer Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sebelas Maret Surakarta.

Penulis menyadari bahwa dalam penyelesaian penulisan laporan ini, tidak lepas dari bantuan berbagai pihak, maka dalam kesempatan ini penulis ingin mengucapkan terima kasih yang sebesar - besarnya kepada :

1. Bapak Dekan, Staf dan seluruh Dosen di Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sebelas Maret Surakarta yang selama ini telah banyak membantu pada masa perkuliahan hingga terselesainya tugas akhir ini.

2. Bapak Drs. Y.S.Palgunadi, M.Sc selaku Ketua Program DIII Ilmu Komputer Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sebelas Maret Surakarta.

3. Bapak Artono Dwijo Sutomo, S.Si, M.Si selaku pembimbing akademik dan dosen pembimbing tugas akhir yang telah banyak memberikan pengarahan, saran serta dukungan.

4. Kedua orang tua tercinta yang selalu memberikan doa dan motivasi.

5. Adik adikku yang selalu memberikan semangat sehingga penulis dapat menyelesaikan tugas akhir ini.

6. Teman – teman yang telah memberikan saran, kritik dan semangat yang membangun demi kelancaran tugas akhir.

7. Seluruh pihak yang telah membantu kelancaran tugas akhir dan dalam pembuatan laporan ini.


(9)

commit to user

ix

Penulis mengharapkan saran dan kritik dari pembaca untuk kesempurnaan laporan ini sehingga akan lebih baik dimasa yang akan datang. Akhirnya penulis berharap semoga laporan ini bermanfaat bagi penulis khususnya dan bagi pembaca pada umumnya.

Surakarta, 24 Juni 2010


(10)

commit to user

x

DAFTAR ISI

Halaman HALAMAN JUDUL ... i


(11)

commit to user

xi

DAFTAR TABEL

Halaman

Table 2.1 Fitur pada Port 3 ... 13

Tabel 2.2 Pinout Konektor Handphone SE ... 18

Tabel 2.3 Perintah AT Command ... 21


(12)

commit to user

xii

DAFTAR GAMBAR

Halaman

Gambar 2.1 Diagram Blog Power Supply ... 4

Gambar 2.2 Transformator ... 4

Gambar 2.3 Simbol dan struktur ... 5

Gambar 2.4 Dioda dengan bias ... 5

Gambar 2.5 Dioda dengan bias negatif ... 6

Gambar 2.6 Grafik arus dioda... 6

Gambar 2.7 Regulator IC 7812 dan 780 ... 7

Gambar 2.8 Bentuk dan simbol relay ... 8

Gambar 2.9 Simbol dan Gambar Triac ... 9

Gambar 2.10 MOC ... 9

Gambar 2.11 Bagian Motor Arus Searah ... 10

Gambar 2.12 Interaksi kedua medan menghasilkan gaya ... 10

Gambar 2.13 Susunan Mikrokontroler ... 11

Gambar 2.14 Konfigurasi Pin AT89S51 ... 15

Gambar 2.15 Blog Diagram AT89S51 ... 16

Gambar 2.16 Diagram blok telepon selular ... 17

Gambar 2.17 Handphone SE T230 ... 18

Gambar 2.18 Konektor SE ... 18

Gambar 3.1 Diagram blok sistem keseluruhan ... 28

Gambar 3.2 Tahapan Pembuatan alat ... 31

Gambar 3.3 Konektor DB9 yang terhubung ke Handphone ... 32

Gambar 3.4 Rangkaian mikrokontroler AT89S51 yang terhubung ke komponen lainya ... 33

Gambar 3.5 Flow Chat Sistem kerja Mikrokontroler ... 34

Gambar 3.6 Rangkaian Catu Daya ... 35

Gambar 3.7 Rangkaian Motor DC ... 35

Gambar 3.8 Rangkaian Lampu ... 36


(13)

commit to user

xiii

Gambar 3.10 Penulisan asembly pada notepad ... 38

Gambar 3.11 Load program niko.asm ... 38

Gambar 3.12 Proses load file hex ... 39

Gambar 3.13 Proses inisialisasi memori program ... 39

Gambar 3.14 Download program ke IC AT89S51 ... 40

Gambar 4.1 Diagram pengujian alat ... 41

Gambar 4.2 Skema Rangkaian Alat ... 43


(14)

commit to user

xiv

DAFTAR LAMPIRAN


(15)

commit to user BAB 1 PENDAHULUAN

1.1Latar Belakang

Penggunaan telepon selular di Indonesia yang ada di berbagai daerah dari kota hingga desa sudah merupakan hal yang tidak asing lagi karena dapat dijumpai dengan mudah. Dibandingkan dengan telepon rumah. Telepon selular

atau biasa disebut dengan handphone merupakan sarana praktis dan efektif, ditambah lagi dengan kemampuan dari telepon selular itu sendiri yang terus menerus mengalami perkembangan. Seperti kemampuan dari alat tersebut untuk mengirim pesan singkat atau SMS ( Short Message Service ) , fasilitas kamera, radio dan lain sebagainya serta harganya yang terjangkau. Hal ini membuat masyarakat umum, baik dari golongan atas hingga golongan menengah kebawah dapat memiliki perangkat telepon selular ini dengan mudah.

Dengan meningkatnya kebutuhan kita menggunakan telepon selular dan banyaknya fasilitas yang dimiliki oleh telepon selular, maka alangkah baiknya apabila kita menggunakan salah satu dari fasilitas alat tersebut sebagai alat kontrol.

Dengan semakin pesatnya kemajuan teknologi di era globalisasi ini, seperti halnya alat komunikasi yang dulu hanya menggunakan cara tradisional kini sudah menjadi semakin modern yaitu melalui selular. Untuk mempermudah atau meringnkan pekerjaan rumah tangga yang biasanya dikerjakan dengan cara manual kini dapat disesuaikan dengan mudah melalui selular.

Untuk menyesuaikan hal tersebut penulis melakukan penelitian, dan sampai pada akhirnya menemukan manfaat lain dari telepon selular, yaitu untuk menjalankan suatu pekerjaan rumah tangga yaitu membuka dan menutup korden, on/off universal pada terminal listrik yang dijalankan menggunakan fasilitas pesan singkat pada telepon selular, atau yang sering disebut SMS

( Short Message Service ) dengan berbasiskan mikrokontroler AT 89S51 yang


(16)

commit to user 1.2Perumusan Masalah

Berdasarkan latar belakang tersebut, maka dapat diambil perumusan masalah yaitu bagaimana membuat salah satu fasilitas SMS pada telepon selular tersebut sebagai pengendali mekanik dan terminal listrik pada rumah tangga yang disebut sistem Smart House yang berbasiskan Mikrokontroler AT 89S51.

1.3Pembatasan Masalah

Karena banyaknya pembelajaran, maka dilakukan beberapa pembatasan masalah, antara lain:

a. Mikrokontroler yang digunakan adalah AT89S51. b. Menggunakan bahasa pemrograman ASM (assembler).

c. Sistem Smart House diperintah menggunakan Telepon Selular

(Handphone).

d. Untuk media otomatis pekerjaan sistem Smart House menggunakan replika mekanik dan penulis menambahkan lampu untuk mengembangkan port-port yang masih kosong.

Tujuan dibuatnya batasan masalah adalah agar pokok-pokok permasalahan yang dibahas tidak melenceng dari topik yang telah diangkat.

1.4Tujuan dan Manfaat 1.4.1 Tujuan

Tujuan dari laporan tugas akhir ini adalah untuk membuat rangkaian Sistem Smart House yaitu Membuka, menutup korden dan kontrol lampu Berbasis

Mikrokontroler AT89S51 via SMS .

1.4.2 Manfaat

Manfaat yang dapat diperoleh dari pembuatan Tugas Akhir Sistem Smart House Berbasis Mikrokontroler AT89S51 Via Selular adalah sebagai alat bantu untuk memperingan kegiatan rumah tangga, yaitu dalam hal ini membuka dan menutup korden dan bisa digunakan sebagai alat perintah disaat kita berada di luar rumah ataupun saat bepergian jauh.


(17)

commit to user 1.5Metodologi Penelitian

Dalam pembuatan dan penyusunan tugas akhir ini, dilakukan langkah-langkah sebagai berikut :

1. Perancangan kerja dari sisi perangkat keras dan perangkat lunak.

2. Pembuatan rangkaian mikrokontroler AT89S51 serta rangkaian dan mekanik. 3. Menguji coba rangkaian yang telah dibuat.

4. Menganalisa masing-masing rangkaian dan menyimpulkan hasil dari uji coba rangkaian.

1.6Sistematika Laporan

Sistematika penulisan laporan tugas akhir ini dapat dijelaskan seperti dibawah berikut ini :

1. BAB I PENDAHULUAN

Berisi latar belakang masalah, perumusan masalah, batasan masalah, tujuan dan manfaat, metodologi penelitian dan sistematika penulisan laporan.

2. BAB II LANDASAN TEORI

Berisi teori penunjang yang menguraikan tentang teori–teori yang mendukung dari bagian-bagian perangkat atau alat yang dibuat. 3. BAB III DESAIN DAN PERANCANGAN

Berisi hal-hal yang berhubungan dengan perancangan dan pembahasan perangkat keras tentang alat yang dibuat.

4. BAB IV IMPLEMENTASI DAN ANALISA

Memuat hasil pengamatan dan pembahasan dari hasil pengujian alat yang dibuat.

5. BAB V PENUTUP

Berisi kesimpulan dan cara tentang penggunaan alat yang telah dirancang sebagai tugas akhir ini.


(18)

commit to user BAB II LANDASAN TEORI

2.1 Power Supply

Power supply merupakan alat yang digunakan untuk mensupply tegangan pasa rangkaian sensor dan pompa. Rangkaian power supply terdiri dari beberapa komponen, yaitu: transformer, penyearah, regulator, kapasitor dan beban (Wasito S, 2001). Secara blok diagram dapat dilihat seperti gambar di bawali ini:

Gambar 2.1 Diagram Blog Power Supply

2.1.1 Transformator

Transformator merupakan alat pemindah daya dari lilitan primer ke sekunder dengan perubahan arus maupun perubahan tegangan. Besarnya tegangan yang ingin dihasilkan tergantung dari banyaknya lilitan primer dan sekunder (Wasito.S, 2001).

Gambar 2.2 Transformator

2.1.2 Dioda

Dioda termasuk komponen elektronika yang terbuat dari bahan semikonduktor. Beranjak dari penemuan dioda, para ahli menemukan juga komponen turunan lainnya yang unik. Dioda memiliki fungsi yang unik yaitu hanya dapat mengalirkan arus satu arah saja. Struktur dioda tidak lain adalah


(19)

commit to user

sambungan semikonduktor P dan N. Satu sisi adalah semikonduktor dengan tipe P dan satu sisinya yang lain adalah tipe N. Dengan struktur demikian arus hanya akan dapat mengalir dari sisi P menuju sisi N.

Gambar 2.3 Simbol dan struktur

Gambar ilustrasi di atas menunjukkan sambungan PN dengan sedikit porsi kecil yang disebut lapisan deplesi (depletion layer), dimana terdapat keseimbangan hole

dan elektron. Seperti yang sudah diketahui, pada sisi P banyak terbentuk hole-hole

yang siap menerima elektron sedangkan di sisi N banyak terdapat elektron-elektron yang siap untuk bebas merdeka. Lalu jika diberi bias positif, dengan arti kata memberi tegangan potensial sisi P lebih besar dari sisi N, maka elektron dari sisi N dengan serta merta akan tergerak untuk mengisi hole di sisi P. Tentu kalau elektron mengisi hole di sisi P, maka akan terbentuk hole pada sisi N karena ditinggal elektron. Ini disebut aliran hole dari P menuju N, bila mengunakan terminologi arus listrik, maka dikatakan terjadi aliran listrik dari sisi P ke sisi N.

Gambar 2.4 Dioda dengan bias

Sebalikya apakah yang terjadi jika polaritas tegangan dibalik yaitu dengan memberikan bias negatif (reverse bias). Dalam hal ini, sisi N mendapat polaritas tegangan lebih besar dari sisi P (Anonim_B,--).


(20)

commit to user

Gambar 2.5 Dioda dengan bias negatif

Tentu jawabanya adalah tidak akan terjadi perpindahan elektron atau aliran hole dari P ke N maupun sebaliknya. Karena baik hole dan elektron masing-masing tertarik ke arah kutup berlawanan. Bahkan lapisan deplesi (depletion layer) semakin besar dan menghalangi terjadinya arus.Demikianlah sekelumit bagaimana dioda hanya dapat mengalirkan arus satu arah saja. Dengan tegangan bias maju yang kecil saja dioda sudah menjadi konduktor. Tidak serta merta diatas 0 volt, tetapi memang tegangan beberapa volt diatas nol baru bisa terjadi konduksi. Ini disebabkan karena adanya dinding deplesi (deplesion layer). Untuk dioda yang terbuat dari bahan Silikon tegangan konduksi adalah diatas 0.7 volt. Kira-kira 0.2 volt batas minimum untuk dioda yang terbuat dari bahan Germanium.

Gambar 2.6 Grafik arus dioda

Sebaliknya untuk bias negatif dioda tidak dapat mengalirkan arus, namun memang ada batasnya. Sampai beberapa puluh bahkan ratusan volt baru terjadi breakdown, dimana dioda tidak lagi dapat menahan aliran elektron yang terbentuk di lapisan

deplesi. Dioda banyak diaplikasikan pada rangkaian penyerah arus (rectifier)


(21)

commit to user

1N4001, 1N4007 dan lain-lain. Masing-masing tipe berbeda tergantung dari arus maksimum dan juga tegangan breakdwon-nya (Anonim_B,--).

2.1.3 Regulator

Regulator merupakan rangkaian yang digunakan untuk menjaga tegangan keluaran tetap stabil meskipun terjadi perubahan tegangan atau pada kondisi beban yang berubah-ubah. Rangakaian regulator ini telah banyak dibuat dalam bentuk IC, seperti IC Regulator Tiga Terminal LM 78XX. Besarnya tegangan teregulasi tergantung dari dua angka setelah nomor seri 78, misalnya 7805 dimana tegangan keluaran adalah 5 Volt (Wasito S, 2001).

Gambar 2.7 Regulator IC 7812 dan 7805

2.2 Relay

Relay merupakan suatu komponen (rangkaian) elektronika yang bersifat elektronis dan sederhana serta tersusun oleh saklar, lilitan, dan poros besi. Cara kerja komponen ini dimulai pada saat mengalirnya arus melalui koil, lalu membuat medan magnet sekitarnya sehingga dapat merubah posisi saklar yang ada di dalam relay tersebut, sehingga menghasilkan arus listrik yang lebih besar. (Anonim_C, --)

Keuntungan menggunakan relay diantaranya adalah : 1. Dapat switch AC dan DC.

2. Switch tegangan tinggi.

3. Relay pilihan yang tepat untuk switching arus yang besar. 4. Relay dapat switch banyak kontak dalam satu waktu.


(22)

commit to user

Kekurangan pemakaian relay diantaranya adalah (Roger Tokheim, 2001) : 1. Relai ukurannya lebih besar dari transistor.

2. Tidak dapat switch dengan cepat.

3. Relay membutuhkan daya lebih besar dibanding transistor. 4. Membutuhkan arus input yang besar.

Susunan kontak pada relay adalah :

Normally open : relay akan menutup bila dialiri arus listrik. Normally close : relay akan membuka bila dialiri arus listrik.

Changeover : relay memilikikontak tengah yang akan melepaskan diri dan membuat kontak lainnya berhubungan.

Gambar 2.8 Bentuk dan simbol relay (Anonim_C, --)

2.3 BT 139 (Triac)

Triac adalah Triode AC Switc, yaitu thrystor dengan elektrode picu yang mampu mengalirkan arus bolak- balik (AC) (Anonim_E, --). Triac adalah komponen yang tak dapat ditinggalkan untuk keperluan menghantarkan arus bolak- balik besar tanpa disertai rugi, dan dengan sarana tegangan kemudi kecil. Keunggulan yang utama adalah bahwa arah hantarannya tidak berpolaritas: triac menangani tegangan positif maupun negatif. Pulsa pendek digerbang (G) sudah cukup untuk membuat triac menghantar. Kalau arus kemudi lenyap, triac tetap menghantar. Triac dapat dipicu dengan tegangan polaritas positif dan negatif, serta dapat dihidupkan dengan menggunakan tegangan bolak-balik pada Gate. Triac banyak digunakan pada rangkaian pengedali dan pensaklaran.


(23)

commit to user

Gambar 2.9 Simbol dan Gambar Triac Triac memiliki bagian-bagian penting:

1. A1 yaitu: terminal utama 1. Biasanya dihubungkan dengan ground, dan pada BT139 ini pin 1 biasanya ditanahkan.

2. A2 yaitu terminal utama 2.

3. Gate yaitu gerbang triac. Tempat terjadinya ledakan pembakaran dan mati hidupnya alat.

2.4 MOC 3021

MOC301XM dan seri MOC302XM adalah perangkat optikal driver triac terisolasi. Perangkat ini berisi GaAs inframerah memancarkan cahaya dioda dan diaktifkan silikon bilateral switch, yang berfungsi seperti sebuah triac. Dirancang untuk antar muka antara kontrol elektronik dan triac (M.Barawi, 1986).

Gambar 2.10 MOC

2.5 Motor DC

Motor DC adalah alat yang dapat mengubah daya listrik DC menjadi daya mekanik. Apabila pada penghantar yang dialiri listrik dan terletak diantara dua


(24)

commit to user

buah kutub magnet (kutub utara dan kutub selatan). Maka pada penghantar tersebut akan terjadi gaya yang menggerakkan penghantar tersebut. Suatu kumparan yang terletak dalam medan magnet yang arah arus dari kedua sisinya berlawanan sehingga arah gerak terhadap putaran berbeda selanjutnya akan menghasilkan gaya gerak putar atau kopel. Semakin besar arusnya maka akan semakin besar kopelnya, juga jika gaya magnetnya makin kuat kopelnya makin berat. Jika kumparan terletak diantara kutub magnet yang sedang berputar maka pada kumparan tersebut akan timbul suatu tegangan dari luar yang disebut gaya gerak listrik (ggl) lawan. Besar kecilnya ggl lawan tergantung dari tahanan jangkarnya (Anna T, 2008).

Konstruksi motor DC terdiri atas beberapa bagian yang meliputi badan motor, inti kutub magnet, sikat-sikat, komutator, dan jangkar. Gambar motor dc seperti ditunjukkan pada Gambar 2.7.

Gambar 2.11 Bagian Motor Arus Searah

Gambar 2.6 menunjukkan adanya interaksi kedua medan magnet akan menimbulkan medan magnet yang tidak seragam sehingga timbul gaya (F) yangakan menghasilkan torsi (T) dan akan memutar jangkar. Arah dari garis-garis gaya (fluks) medan magnet yang dihasilkan oleh kutub, arah arus yang mengalir pada penghantar dan arah dari gaya, saling tegak lurus.


(25)

commit to user 2.6 Mikrokontroler MCS-51

Mikrokontroler merupakan suatu IC yang di dalamnya berisi CPU, ROM, RAM, dan I/O. Dengan adanya CPU tersebut maka mikrokontroler dapat melakukan proses berfikir berdasarkan program yang telah diberikan kepadanya. Mikrokontroler tipe Atmel AT89S51 termasuk kedalam keluarga MCS51 yang merupakan suatu mikrokomputer CMOS 8- bit dengan daya rendah, kemampuan tinggi, memiliki 8K byte Flash Programable dan Erasable Read Only Memory (PEROM). Perangkat ini dibuat menggunakan tekologi memori nonvolatile (tidak kehilangan data bila kehilangan daya listrik). Mikrokontroler terdiri dari beberapa bagian seperti yang terlihat pada gambar di bawah ini (Agfianto Eko Putra, 2004):

Gambar 2.13 Susunan Mikrokontroler

2.6.1 Fitur AT89S51

a. Kompatibel dengan produk MCS-51.

b. 4K byte In System Programmable Flas Memory, Dapat dilakukan pemrograman 1000 tulis dan hapus.

c. Range catu daya 4,0V s/d 5,0V. d. Operasi statis: 0 Hz s/d 33 MHz. e. Tiga Tingkat Program memory lock. f. 128 x 8 bit RAM internal.

g. 32 Programmable Jalur I/O. h. Dua 16 bit Timer/ Counter.


(26)

commit to user

i. Enam Sumber Interupsi (2 timer, 2 counter, 1 serial, 1 reset). j. Full Duplex Serial Channe.l

k. Low Power Idle dan Mode Power Down. l. Watcht Dog Timer.

m. Dual Data Pointer. n. Power Off Flag.

o. Fast Programming Time.

p. ISP(In System Programable) Flash Memory.

2.6.2 Konfigurasi Pin AT89S51

Mikrokontroler memiliki pin berjumlah 40. Masing – masing pin mempunyai kegunaan sebagai berikut (Agfianto Eko Putra, 2004):

a. VCC

Berfungsi sebagai sumber tegangan sebesar +5 Volt. b. GND

Pada kaki berfungsi sebagai pentanahan (ground). c. Port 0

Port 0, merupakan port I/O 8 bit open drain dua arah. Sebagai sebuah port, setiap pin dapat mengendalikan 8 input TTL. Ketika logika “1” dituliskan ke port 0, maka port dapat digunakan sebagai input dengan high impedansi. Port 0 dapat juga dikonfigurasikan untuk multipleksing dengan address/ data bus selama mengakses memori program atau data eksternal. Pada mode ini P0 harus mempunyai pull up.

d. Port 1

Port 1 merupakan port I/0 8 bit dua arah dengan internal pull up. Buffer output port 1 dapat mengendalikan empat TTL input. Ketika logika “1” dituliskan ke port 1, maka port ini akan mendapatkan internal pull up dan dapat digunakan sebagai input. Port 1 juga menerima alamat byte rendah selama pemrograman dan verifikasi Flash.

Port Pin Fungsi Alternatif:


(27)

commit to user

P1.6 MISO (digunakan untu In System Programming) P1.7 SCK (digunakan untu In System Programming) e. Port 2

Port 2 merupakan port I/O 8 bit dua arah dengan internal pull up. Buffer output port 2 dapat mengendalikan empat TTL input. Ketika logika “1” dituliskan ke port 2, maka port ini akan mendapatkan internal pull up dan dapat digunakan sebagai input.

f. Port 3

Port 3 merupakan port I/O 8 bit dua arah dengan internal pull up. Buffer output port 3 dapat mengendalikan empat TTL input. Ketika logika “1” dituliskan ke port 3, maka port ini akan mendapatkan internal pull up dan dapat digunakan sebagai input. Port 3 juga melayani berbagai macam fitur khusus, sebagaimana yang ditunjukkan pada tabel berikut:

Table 2.1 Fitur pada Port 3 Port Pin Fungsi Alternatif

P3.0 RXD (port serial input) P3.1 TXD (port serial output) P3.2 INT0 (interupsi eksternal 0) P3.3 INT1 (interupsi eksternal 1) P3.4 T0 (input eksternal timer 0) P3.5 T1 (input eksternal timer 1)

P3.6 WR (write strobe memori data eksternal) P3.7 WR (read strobe memori program

eksternal) g. RST

Input Reset. Logika high “1” pada pin ini untuk dua siklus mesin sementara oscilator bekerja maka akan mereset devais.


(28)

commit to user h. ALE/ PROG

Address Latch Enale (ALE) merupakan suatu pulsa output untuk mengunci byte low dari alamat selama mengakses memori eksternal. Pin ini juga merupakan input pulsa pemrograman selama pemrograman flash (paralel) Pada operasi normal, ALE mengeluarkan suatu laju konstan 1/6 dari frekuensi oscilator dan dapat digunakan untuk pewaktu eksternal.

i. PSEN

Program Store Enable merupakan strobe read untu memori program eksternal. j. EA/ VPP

Eksternal Access Enable. EA harus di hubungkan ke GND untuk enable devais, untuk memasuki memori program eksternal mulai alamat 0000H sampai dengan FFFFH. EA harus dihubungkan ke VCC untuk akses memori

program internal

Pin ini juga menerima tegangan pemrogramman (VPP) selama pemrograman Flash

k. XTAL1

Input untuk penguat oscilator inverting dan input untuk rangkaian internal clock.

l. XTAL2

Output dari penguat oscilator inverting.

2.6.3 SFR (Special Function Register)

Adalah alamat pada memori RAM internal yang memiliki fungsi khusus. Apabila tidak memahami fungsi dan pemakaian tiap SFR mka akan kesulitan dalam pemakaian fitur- fitur mikrokontroler khususnya AT89S51 (Agfianto Eko Putra, 2004).

Berikut SFR yang dimiliki AT89S51: 1. Akumulator

ACC adalah register akumulator. Mnemonik untuk instruksi spesifik akumulator ini secara sederhana dapat disingkat sebagai A.


(29)

commit to user 2. Register B

Register B digunakan pada saat opersi perkalian dan pembagian. Selain untuk keperluan tersebut diatas, register ini dapat digunakan untuk register bebas. 3. Program Status Word

Register PSW terdiri dari informasi status dari program. 4. Stack Pointer

Register Pointer stack mempunyai lebar data 8 bit. Register ini akan bertambah sebelum data disimpan selama eksekusi push dan call. Sementara stack dapat berada disembarang tempat RAM. Pointer stack diawali di alamat 07h setelah reset. Hal ini menyebabkan stack untuk memulai pada lokasi 08h.

5. Data Pointer

Pointer Data (DPTR) terdiri dari byte atas (DPH) dan byte bawah (DPL). Fungsi ini ditujukan untuk menyimpan data 16 bit. Dapat dimanipulasi sebagai register 16 bit atau dua 8 bit register yang berdiri sendiri.

6. Control Register

Register IP, IE, TMOD, TCON, dan PCON berisi bit- bit control dan status untuk system interupsi, tomer, counter, dan port serial.

7. Serial Data Buffer (SBUF)

Terdiri dari dua register yang terpisah , yaitu register penyangga pengirim

(transmit buffer) dan penyangga penerima (receive buffer).


(30)

commit to user

Gambar 2.15 Blog Diagram AT89S51

2.7 Telepon Selular dan Protokol

Telepon selular merupakan piranti yang berfungsi sebagai sarana untuk menyelenggarakan komunikasi antara dua terminal. Prinsip dasar kerja telepon selular dapat dilihat pada diagram blok berikut ini :


(31)

commit to user

Gambar 2.16 Diagram blok telepon selular

Dari diagram blok di atas akan diterangkan secara singkat bagian-bagian utama dari sistem telepon selular. Pada rangkaian dasar telepon selular terdapat tiga bagian utama yang saling mendukung yaitu:

a. Rangkaian Pemanggil (Dialer Circuit)

Rangkaian pemanggil digunakan untuk mentransmisikan informasi nomor telepon (dialing) ke sentral.

b. Rangkaian Bel (Tone Ringer)

Rangkaian bel bekerja jika ada sinyal bel (ringing) pada telepon selular ketika mendapat panggilan dari sentral. Pada peralatan ini terjadi sinyal ringing dikontrol oleh bagian relay detector yang selanjutnya akan memberikan informasi ke bagian microprosessor (Ferry, 2003).

2.7.1 SE T230

Dalam hal ini digunakan Sony Ericsson tipe T230 untuk terkoneksi pada mikrokontroler. Dimana ada jenis handphone lain yang dapat digunakan seperti Siemens tipe C45, Samsung SGH 600 dan masih banyak tipe yang lain yang masih menggunakan kabel konektor DB9 untuk berkomunikasi dengan mikrokontroler (Anonim_D, 2003).


(32)

commit to user

Gambar 2.17 Handphone SE T230

Konektor handphone SE T230 dapat dilihat pada gambar dibawah ini:

Gambar 2.18 Konektor SE

Untuk penggunaan dari masing-masing pin dari konektor di atas dapat dilihat pada tabel dibawah ini:

Tabel 2.2 Pinout Konektor Handphone SE

Pin Name Direction Description

1 ATMS  Audio to mobile

2 AFMS/RTS  Audio from mobile/RTS (connected to GND in cable?)

3 CTS/ONREQ -- CTS/Mobile Station On REQuest (connected to GND in cable?)

4 Data in  Data to mobile (Rx).

5 Data out  Data from mobile (Tx)

6 ACC in  Accessory control to mobile. Used as Rx in some models (i.e. T68) for flashing 7 ACC out  Accessory control from mobile/handsfree

sense. Used as Tx in some models (i.e. T68) for flashing.

8 AGND -- Audio signal ground + 0V reference 9 Flash -- Flash memory voltage + Service (shorted


(33)

commit to user

to pin 11 in service cable)

10 DGND -- Digital ground

11 Vcc -- DC + for battery charging + External accessory powering

(Anonim_D, PC Suite Sonny Erricson, 2003)

2.8 SMS dan PDU

2.8.1 SMS (Short Message Service)

SMS (Short Message Sevice) merupakan salah satu layanan pesan teks

yang dikembangkan dan distandarisasi oleh suatu badan yang bernama ETSI

(European Telekomunication Standards Istitute). Sebagai bagian dari

pengembangan GSM phase 2. Fitur SMS ini memungkinkan perangkat stasiun digital Digital Cellular Terminal, seperti ponsel) untuk dapat mengirim dan menerima pesan-pesan teks dengan panjang sampai dengan 160 karakter melalui jaringan GSM. (Gunawan, 2003 : 17)

2.8.2 PDU (Protokol Data Unit)

Dalam proses pengiriman atau penerimaan pasan pendek (SMS), data yang dikirim maupun diterima oleh stasiun bergerak menggunakan 2 mode yang ada, yaitu mode teks dan mode PDU (Protokol Data Unit Mode text) adalah cara termudah untuk mengirim pesan. Pada mode teks pesan yang di kirim tidak dilakukan konversi, teks yang dikirim dalam bentuk aslinya. Kelemahan dari mode teks ini tidak bisa menyisipkan gambar dan nada dering kedalam pesan yang akan dikirim serta terbatasnya tipe. (Ferry, 2003: 21)

Dalam mode PDU, pesan yang dikirim berupa informasi dalam bentuk data. Hal ini akan memberikan kemudahan jika dalam pengiriman akan dilakukan kompresi data atau akan dibentuk sistem penyandian data dari karakter. PDU tidak hanya berisi pesan teks saja, tetapi terdapat beberapa metainformasi yang lainnya, seperti nomor pengirim, nomor SMS Center, waktu pengiriman dan sebagainya. (Gunawan, 2003: 21).


(34)

commit to user

DELIVER) dan SMS-pengirim (SMS-SUBMIT)

1. PDU Penerima (SMS-Deliver)

SMS Penerima (SMS-DELIVER) adalah pesan yang diterima oleh terminal dalam bentuk PDU. Pada PDU ini terdapat beberapa meta-informasi yang dibawa, antara lain:

1. SCA (Service Center Address)

Berisi informasi SMS-Center 2. OA (Orginating Address)

Berisi informasi nomor pengirim 3. DCS (Data Coding Schema)

Berisi informasi skema pengkodean data yang digunakan 4. SCTS (Service Center Time Stamp)

Berisi informasi waktu 5. UD (User Data)

Berisi informasi data-data utama yang dibawa 2. PDU Pengirim (SMS-Submit)

PDU pengirim memiliki informasi-informasi yang sama dengan PDU penerima, sementara yang berbeda adalah berupa informasi.

1 MR (Message Reference)

Parameter yang mengindikasikan nomor referensi SMS-Pengiriman. 2 DA (Destination Address)

Berisi informasi nomor alamat yang dituju 3. VP (Validity Period)

Berisi informasi jangka waktu validitas pesan pada jaringan.

2.8.3 Perintah AT (Attention Command)

AT Command berasal dari kata attention command. Attention berarti

peringatan atau perhatian, command berarti perintah atau instruksi. Maksudnya ialah perintah atau instruksi yang dikenakan pada modem atau handset. Command

diperkenalkan oleh Dennis Hayes pada tahun 1977 yang dikenal dengan “smart


(35)

commit to user

Perintah AT Commands digunakan untuk berkomunikasi dengan terminal (modem) melalui gerbang serial pada komputer. Dengan penggunaan perintah AT

Commands dapat diketahui atau dibaca kondisi dari terminal. Seperti mengetahui

kondisi sinyal, Kondisi baterai, mengirim pesan, membaca pesan, menambah item pada daftar telepon dan sebagainya (Ferry, 2003: 7) . Pada tabel di bawah ini, diperlihatkan beberapa jenis perintah AT yang berhubungan dengan penanganan pesan-pesan SMS.

Tabel 2.3 Perintah AT Command

AT Command Fungsi

AT+CMGS Mengirim Pesan

AT+CMGL Membaca Pesan

AT+CMGF Format Pesan

AT+CMGD Menghapus Pesan

Modem ini terdiri dari sederet instruksi yang mengatur komunikasi dan fitur-fitur di dalamnya. Penggunaan AT Command pada handset telah mempermudah untuk mengetahui segala informasi yang terdapat pada handset

tersebut. Dengan menggunkan instruksi tertentu kita akan dapat mengetahui merk,

nomor IME dan lainnya. Selain itu dengan AT Command kita bisa menyetting instruksi atau mengaktifkan instruksi pada handset untuk melakukan fungsi tertentu, misalnya melakukan panggilan, mengirim sms, dan sebagainya. Dalam pengakses AT Command hal pertama yang harus dilakukan adalah memastikan komputer dan handset telah terhubung melalui port COM (menggunakan kabel R232) atau melalui COM virtual pada Windows (biasanya menggunakan kabel USB sebagai port COM, khusus penggunaan kabel USB pastikan bahwa driver

kabel tesebut sudah terinstal). Untuk membaca perintah dari komputer, sebuah


(36)

commit to user

Tabel 2.4 Perintah AT-Command untuk setting pengiriman SMS

2.8.4 Bahasa Assembly

Secara fisik, mikrokontroler bekerja dengan membaca instruksi yang tersimpan di dalam memori. Mikrokontroler menentukan alamat dari memori program yang akan dibaca dan melakukan proses baca data di memori. Data yang dibaca diinterprestasikan sebagai instruksi. Alamat instruksi disimpan oleh mikrokontroler di register, yang dikenal sebagai program counter. Instruksi ini misalnya program aritmatika yang melibatkan 2 register (Anonim_A, --).

Mikrokontroler AT89S51 memiliki sekumpulan instruksi yang sangat lengkap. Instruksi MOV untuk byte dan bit dikelompokkan sesuai dengan mode pengalamatan (addressing modes). Mode pengalamatan menjelaskan bagaimana operand dioperasikan. Bentuk program assembly yang umum ialah sebagai berikut:

Isi memori ialah bilangan heksadesimal yang dikenal oleh mikrokontroler yang merupakan representasi dari bahasa assembly yang telah dibuat. Mnemonic atau opcode ialah kode yang akan melakukan aksi terhadap operand. Operand ialah data yang diproses oleh opcode. Sebuah opcode bisa


(37)

commit to user

membutuhkan 1, 2 atau lebih operand, kadang juga tidak perlu operand. Sedangkan komentar dapat menggunakan tanda titik koma (;). Berikut contoh jumlah operand yang berbeda-beda dalam suatu assembly (Anonim_A, --). CJNE R5,#22H, aksi ;dibutuhkan 3 buah operand

MOVX @DPTR, A ;dibutuhkan 2 buah operand RL A ;1 buah operand

NOP ;tidak memerlukan operand

2.8.5 Instruksi Mikrokontroler AT89S51

Instruksi pada mikrokontroler digunakan untuk menjalankan program sesuai dengan perintah yang diinginkan. Di bawah ini merupakan instruksi yang dapat digunakan untuk memprogram mikrokontroler AT89S51 (Anonim_A, --).

1. ACALL (Absolute Call)

Instruksi ACALL digunakan untuk memanggil sub rutin program (Anonim_A,--) diakses tanggal 15 Juni 2010).

Contoh : START:

ACALL TUNDA ; Panggil Procedure penundaan waktu ….

TUNDA: ; Label Tunda

MOV R7,#0FFH ; Isikan Register 7 dengan data 0FFH(255) 2. ADD (Add Immediate Data)

Instruksi ini akan menambah 8 bit data langsung ke dalam isi akumulator dan menyimpan hasilnya pada akumulator.

Contoh : Add A, #data

Add A, #@R1 ; Add indirect address Add A, R6 ; Add register


(38)

commit to user

3. CJNE (Compare Indirect Address to Immediate Data)

Instruksi ini akan membandingkan data langsung dengan lokasi memori

yang dialamati oleh register R atau Akumulator A. Apabila tidak sama maka

instruksi akan menuju ke alamat kode. Format : CJNE R,#data,Alamat kode Contoh:

CJNE R7,#001H,Command( ) MOV A,StepControl

AJMP Command1

4. CLR (Clear Accumulator)

Instruksi CLR akan mereset data akumulator menjadi 00H. Format : CLR A

5. DEC (Decrement Indirect Address)

Instruksi DEC akan mengurangi isi lokasi memori yang ditujukan oleh

register R dengan 1 dan hasilnya disimpan pada lokasi tersebut. Contoh: DEC 40H

DEC R7 ; decrement register

6. DJNZ (Decrement Register And Jump If Not Zero)

Instruksi DJNZ akan mengurangi nilai register dengan 1 dan jika hasilnya sudah 0 maka instruksi selanjutnya akan dieksekusi. Jika belum 0 akan menuju ke alamat kode.

Format : DJNZ Rr,Alamat Kode 7. INC (Increment Indirect Address)

Instruksi INC akan menambahkan isi memori dengan 1 dan menyimpannya pada alamat tersebut.

Contoh: INC A


(39)

commit to user

8. JMP (Jump to sum of Accumulator and Data Pointer)

Instruksi JMP untuk memerintahkan loncat kesuatu alamat kode tertentu. Format : JMP alamat kode.

Contoh : Loop: …

RL A ; Geser data Akumulator ke kiri

ACALL Long_Delay ; Panggil Procedure penundaan waktu JMP Loop ; Loncat ke Procedure Loop

9. MOV

Instruksi ini untuk memindahkan isi akumulator/register atau data dari nilai luar atau alamat lain.

Contoh : MOV A,#40H MOV @RO,A MOV C, P1.0 MOV DPTR, #20H

MOVC A, @A+DPTR ; pindahkan kode memori offset dari data pointer ke A MOVX @DPTR, A ; Pindahkan akumulator ke memori eksternal yang dialamati ; oleh data pointer

10. RET (Return from subroutine)

Instruksi untuk kembali dari suatu subrutin program ke alamat terakhir subrutin tersebut di panggil.

11. SETB (Set Bit)

Instruksi SETB untuk mengaktikan atau memberikan logika 1 pada sebuah bit data.

Format :

SETB A.1 (memberikan logika 1 pada accumulator bit ke 1) SETB P1.1 (memberikan logika 1 pada Port 1 bit ke 1)


(40)

commit to user 12. CLRB (Clear Bit)

Instruksi CLRB untuk memberikan logika 0 pada sebuat bit data. Format :

CLRB A.1 ; memberikan logika 0 pada accumulator bit ke 1 CLRB P1.1 ; memberikan logika 0 pada Port 1 bit ke 1


(41)

commit to user BAB III

DESAIN DAN PERANCANGAN

3.1 Deskripsi Sistem

Sistem Smart House menyesuaikan dengan pesatnya kemajuan teknologi, yaitu dengan menggunakan ponsel orang dapat dengan mudah membuka dan menutup korden pada jendela rumah dan on/off pada terminal listrik. Sistem ini terdiri atas dua bagian utama, dimana masing-masing bagian tersusun atas komponen perangkat keras (hardware) dan komponen perangkat lunak (software).

Pada bagian yang pertama sistem ini menggunakan ponsel (telepon selular) yang selalu kita bawa di saat kita melakukan aktivitas sehari-hari, maka tidak asing bila alat elektronik tersebut digunakan untuk media komunikasi, pada bagian ini perangkat tersebut kita gunakan sebagai komponen inti untuk menjalankan kebutuhan rumah tangga, peran ponsel tersebut untuk menjalankan korden/tirai secara jarak jauh, misal di luar kota ataupun sedang di luar rumah. Cukup dengan kita mengetikkan bahasa isyarat dengan fasilitas SMS korden tersebut dapat membuka dan menutup sesuai yang dikehendaki.

Bagian yang kedua yaitu ponsel yang sifatnya penerima dari isyarat yang telah dikirim oleh ponsel perintah, alat ini selalu standby bersama perangkat mikrokontroller yang mengolah data dan membuat suatu output ke mekanik, deskripsinya suatu ponsel menerima suatu bahasa isyarat dari nomor tertentu (ponsel pengirim) dengan cepat akan melakukan perintah ke IC Mikrokontroller tersebut, dari hal-hal yang telah di kemukakan maka IC tersebut akan melakukan suatu pekerjaan dan pada akhirnya motor DC berputar membuka korden/tirai yang telah terpasang, disamping hal tersebut port-port output yang masih bebas digunakan untuk menghidupkan beberapa lampu (terminal listrik).

3.2 Diagram Blok Perancangan

Perancangan dalam pembuatan sistem ini meliputi dua bagian yaitu perancangan perangkat keras dan perangkat lunak. Perancangan perangkat keras meliputi perancangan pengendali mikrokontroler AT89S51, perancangan


(42)

commit to user

komunikasi dari ponsel pengirim dan penerima, kemudian dilanjutkan pengolahan data dari ponsel untuk menggerakan korden. Perancangan perangkat lunak meliputi semua program penunjang yang digunakan untuk mengoperasikan pengendali mikrokontroler AT89S51 dan pengendali komputer. Perangkat lunak ini akan mengatur keseluruhan kerja alat.

Gambar 3.1 Diagram blok sistem keseluruhan

Ponsel mengirimkan data melalui Short Message Service (SMS) dengan isyarat yang ditetapkan dan diterima oleh ponsel penerima melalui media tersebut kemudian signal digital tersebut diterima oleh IC Mikrokontroller untuk melakukan suatu proses, jika perintah dari SMS tersebut sesuai dengan program yang telah dibuat maka akan melakukan perintah ke relay yang terpasang, tentunya jika relay tersebut menutup maka akan mengalirkan arus yang terhubung ke motor DC yang memutarkan mekanik korden, sedangkan triac juga mendapatkan suatu perintah dari IC mikrokontroller untuk menghidupkan lampu.

3.3 Analisa Kebutuhan

Dalam pembuatan alat sistem ini memerlukan beberapa perangkat hardware, software dan alat pendukung yang saling menyebabkan keterkaitan, perangkat-perangkat tersebut antara lain :

PONSEL PENGIRIM

PONSEL PENERIMA

MIKROKONTROLLER

MOTOR DC RELAY


(43)

commit to user 3.3.1 Hardware

a. Blok Telepon Selular

Ponsel dipergunakan untuk komunikasi suatu data dengan cara mengetik suatu simbol/abjad melalui fasilitas SMS, pada blok ini terdapat dua telapon selular/ponsel sebagai pengirim dan penerima. Pada komunikasi ini ponsel penerima hanyalah menerima satu nomor pengirim yang digunakan.

b. Blok Mikrokontroler

Rangkaian pengendali dari alat yang berugas mengatur kerja rangkaian dengan cara mengendalikan input output yang diberikan ke rangkaian mikrokontroler.

c. Blok Relay dan Mekanik Motor DC

Komponen yang memperoleh tugas untuk membuat medan magnet sekitarnya sehingga dapat merubah posisi saklar yang ada di dalam relay tersebut, sehingga menghasilkan arus listrik yang lebih besar, untuk hal tersebut maka tercapailah rpm maksimal dari tegangan yang di supplykan ke motor DC.

d. Blok Triac sebagai pemerintah lampu

Triac adalah komponen yang tak dapat ditinggalkan untuk keperluan menghantarkan arus bolak- balik besar tanpa disertai rugi, dan dengan sarana tegangan kemudi kecil. Dari pin IC melakukan perintah untuk menutup saklar, sehingga lampu dapat teraliri arus listrik dan dapat menyala. Sistem ini tidak jauh berbeda dari sistem relay.

e. Blok Catu Daya

Trafo digunakan untuk menurunkan tegangan sesuai dengan yang diperlukan alat/rangkaian dari tegangan AC menjadi tegangan DC.

3.3.2 Software a. Visio

Program yang digunakan untuk menggambar flowchart dari alat yang dibuat.

b. Protel

Software yang digunakan untuk menggambar layout PCB dan rangkaian skema.


(44)

commit to user c. Notepad

Merupakan software untuk menulis program. d. Wordpad

Merupakan software untuk mengecek kesalahan yang terjadi pada program.

e. Asm_51

Digunakan untuk mengubah file dengan ekstensi ASM menjadi ekstensi HEX.

f. Aec_isp

Digunakan untuk mengambil file dengan ekstensi HEX dan memprogram ke dalam mikrokontroler AT89S51.

3.3.3 Alat Pendukung a. Solder

Alat yang digunakan untuk memanaskan timah patri untuk menyambung komponen-komponen elektronika dengan PCB.

b. Multimeter

Merupakan alat untuk mengukur arus, tegangan dan hambatan dari suatu komponen maupun rangkaian.

c. Obeng

Digunakan untuk merapatkan sekrup/mur dengan rangka yang terdiri atas obeng plus dan minus.

d. Bor

Untuk melubangi pcb maupun rangka. e. Cutter

Alat ini digunakan untuk memotong pcb serta rangka. f. Tang

Alat ini digunakan untuk memotong dan mengupas kabel maupun memotong kaki komponen.

g. Minyak Damar (Gondorukem)

Digunakan untuk melapisi jalur pcb agar tembaga tidak mudah terkelupas saat disolder berulang-ulang dan tidak mudah berkarat.

h. Lotfett


(45)

commit to user i. Plastic Still

Untuk menutupi soldiran kabel dengan konektor yang banyak agar tidak mudah lepas.

3.4 Alur Tahapan Pembuatan

Dalam perancangan dan pembuatan alat membuka dan menutup korden tahapan yang dilakukan adalah membuat rancangan alat yang akan dibuat, kemudian mencetaknya ke dalam pcb serta melubanginya. Kemudian memasang setiap komponen dengan benar di pcb dan mensoldernya. Rangkaian minimum sistem dibuat dan diuji juga dengan rangkaian tiap bloknya, pengisian program dan dilakukan uji coba keseluruhan alat, jika kesalahan terjadi maka diperbaiki dan diperiksa ulang. Setelah selesai alat dipasang dalam rangka yang telah dibuat.

Gambar 3.2 Tahapan Pembuatan alat

Membuat rangkaian dan mencetak pcb Merangkai minimum

AT89S51

Merangkai blok telepon selular, blok catu daya, blok rangkaian relay, blok motor DC, dan blok lampu.

Pengujian tiap blok rangkaian

Hasil

Menyatukan alat dengan rangka Pengujian keseluruhan alat

Pengisian program Perancangan


(46)

commit to user 3.5 Perancangan Bagian Perangkat Keras

Dalam pembuatan sistem alat ini ada beberapa tahap yang harus dilakukan. Tahap yang dilakukan antara lain merancang rangkaian yang digunakan dan mencetak layout PCB. Dalam perancangan perangkat keras ada beberapa rangkaian meliputi :

3.5.1 Telepon Selular

Komunikasi yang dipakai pada bagian ini ialah Telepon Selular/Handphone Sebagai pengirim dan penerima yang terhubung dengan konektor DB9 pada rangkaian yang terhubung dengan pin 3.0 rx dan 3.1 tx, dan pada akhirnya melakukan perintah untuk IC Mikrokontroler AT 89S51 untuk menjalankan output yang dikehendaki., sehingga jika ponsel penerima mendapatkan SMS dari nomor tersebut maka akan menjalankan perintah selanjutnya.

Gambar 3.3 Konektor DB9 yang terhubung ke Handphone

3.5.2 Rangkaian Mikrokontroler AT89S51

Pada bagian ini perlunya direncanakan untuk tahap perangkaian setiap komponen yang terpasang ke dalam PCB, pada bagian ini otak dari rangkaian adalah IC Mikrokontroller AT 89S51 yang melalui port-portnya untuk mengendalikan beberapa komponen guna menjalankan suatu mekanik ataupun perangkat elektronik pelengkap lainnya, sebelum rangkaian tersebut bekerja


(47)

commit to user

perlunya media selular untuk mengirim dan menerima data, yang dimana data tersebut untuk perintah rangkaian mikrokontroller yang akan direncanakan.

Gambar 3.4 Rangkaian mikrokontroler AT89S51 yang terhubung ke komponen lainya

AT 89S51

Blok Triac 1

232

Blok Triac 2 Blok Relay


(48)

commit to user

Secara keseluruhan rangkaian tersebut memiliki kinerja seperti berikut :

Gambar 3.5 Flow Chat Sistem kerja Mikrokontroler

3.5.3 Catu Daya

Catu daya yang digunakan adalah trafo step down yang berfungsi menurunkan tegangan dari jala-jala PLN sesuai dengan kebutuhan. Arus yang dihasilkan trafo masih berupa AC (bolak- balik) akan diubah menjadi DC(searah) oleh rangkaian penyearah yang berupa dioda dan difilter oleh kapasitor. LM7805 merupakan pengatur tegangan keluaran dari sebuah catu daya agar efek dari naik atau turunnya tegangan jala-jala tidak mempengaruhi tegangan catu daya sehingga menjadi stabil. Y Y T T Star Unit Serial Ada data serial Kode Buka Korden Lampu On Lampu On Tutup Korden Lampu Off Lampu Off *2 *3 #1 #2 #3 *1


(49)

commit to user

Gambar 3.6 Rangkaian Catu Daya

3.5.4 Motor DC

Motor yang digunakan untuk membuka dan menutup korden adalah motor DC pada mainan anak-anak. Dimana motor dihubungkan dengan relay 12V, resistor dan transistor juga dihubungkan dengan saklar.

Gambar 3.7 Rangkaian Motor DC P (2.0), P(2.1)


(50)

commit to user 3.5.5 Rangkaian Lampu

Gambar 3.8 Rangkaian Lampu

3.5.6 Mencetak PCB

Pola dan jalur yang telah dibuat melalui protel selanjutnya dicetak ke dalam board, tahapannya sebagai berikut:

1. Mencetak gambar layout PCB yang telah jadi pada kertas. 2. Gambar disablon pada PCB yang akan digunakan.

3. PCB yang telah disablon dilarutkan dalam campuran H2O2, HCl dengan air

dengan perbandingan 1:1:4-5. Tempat yang digunakan harus selain logam. 4. PCB direndam ke dalam larutan, goyang- goyang wadah perendam PCB agar

seluruh lapisan tembaga yang tidak tertutup pola jalur PCB dapat terkikis habis lebih cepat, sehingga diperoleh pola jalur yang diinginkan.

5. PCB dibersihkan dengan air untuk menghilangkan sisa larutan H2O2 dan HCl

dari papan PCB.

6. PCB dilubangi dengan menggunakan bor.

7. Untuk menghilangkan bekas jalur sablon pada PCB digunakan tiner/ bensin. 8. PCB dilapisi dengan minyak dammar agar tembaga pada PCB tidak mudah

terkelupas pada saat penyolderan dan tidak berkarat. P (0.0), P (0.1)


(51)

commit to user 3.5.7 Mekanik

Mekanik korden terdiri dari motor DC yang memutar streng, sehingga dalam proses streng tersebut mengajak kain korden untuk membuka, dan apabila perintah tegangan listrik tersebut dibalik maka korden akan menutup, pada rangkaian ini mekanik dilengkapi switch sebagai pembatas gerak korden tersebut.

3.6 Perancangan Bagian Perangkat Lunak 1. Pembuatan flowchart

Untuk menggambar flowchart dari diagram-diagram yang dibuat penulis menggunakan Microsoft visio.

2. Perancangan skema rangkaian

Pada bagian ini software yang digunakan adalah protel, guna pembuatan rangkaian elektronika pada PCB secara keseluruhan yang akan di buat, sehingga setiap komponen akan terpasang dan terhubung dengan sesuai yang dirancang.

Gambar 3.9 contoh perancangan elektronika pada protel 3. Perancangan assembly

Penulis menggunakan notepad untuk menuliskan rencana program yang akan dibuat untuk menjalankan mikrokontroller dengan bahasa asembly,


(52)

commit to user

kemudian disimpan kedalam bentuk file “.asm”. (Script assembly terlampir).

Gambar 3.10 Penulisan asembly pada notepad

4. Konversi ke dalam “.hex

Program yang telah di tuliskan menggunakan notepad maka diteruskan untuk konversi dari bentuk file “.asm” ke dalam bentuk file “.hex”

menggunakan ASM 51 sebagai langkah prosedur untuk menjalankan alat tersebut.

Gambar 3.11 Load program niko.asm 5. Load program ke Mikrokontroler

Dari konversi ka dalam bentuk file “.hex” di atas yang menggunakan program compiler ASM 51, kemudian dilanjutkan untuk download


(53)

commit to user

progran ke dalam IC mikrokontroller, program yang diutarakan tersebut adalah Aec_isp downloader program.

Ketika dibuka program downloader Aec_isp akan menampilkan jendela sebagai berikut :

Gambar 3.12 Proses load file hex

Kemudian pilih bagian A lalu memasukkan nama program yang akan didownload. Nama filenya adalah niko.hex, kemudian proses akan berlanjut dengan inisialisasi memori program seperti berikut :

Gambar 3.13 Proses inisialisasi memori program

Proses selanjutnya adalah mendownload program ke IC AT89S51 dengan memilih pada bagian E.


(54)

commit to user

Gambar 3.14 Download program ke IC AT89S51 3.7 Tahap Penyelesaian

Setelah selesai melakukan pembuatan alat pengering pakaian, langkah selanjutnya adalah tahap penyelesaian. Tahapan – tahapan penyelesaiannya adalah:

a. Menggabungkan keseluruhan rangkaian menyusunnya dalam tempat yang telah disiapkan.

b. Memasukkan program yang telah ditulis di notepad kedalam IC AT89S51. Langkah ini dilakukan setelah alat selesai dirangkai.

c. Melakukan uji coba alat yang telah berisi program untuk melihat hasilnya apakah alat sudah dapat bekerja dan berjalan dengan baik sesuai dengan yang diinginkan.


(55)

commit to user BAB IV

IMPLEMENTASI DAN ANALISA

4.1 Uji Coba Alat

Untuk mengetahui bahwa alat yang telah dirangkai dapat beroperasi dengan benar dan berjalan sesuai fungsi yang diharapkan, maka perlu dilakukan pengujian tiap-tiap blok.

Dalam pangujian tersebut, pada bab ini di jelaskan percobaan yang telah dilakukan untuk mengetahui respon kerja alat yang telah dirancang.

Sebelum pengujian alat terlebih dahulu menyiapkan peralatan yang dibutuhkan serta menyiapkan peralatan yang akan di uji. Adapun alat yang akan di uji secara keseluruhan dapat dilihat gambar 4.1, sementara urutan langkah pada proses pengujian adalah sebagai berikut :

1. Menghubungkan perangkat Telepon Selular dengan alat yang akan di uji 2. Melakukan proses pengujian pada alat

3. Analisa hasil pengujian

Gambar 4.1 Diagram pengujian alat

Untuk mengetahui kemampuan dan sistem kerja alat apakah sudah selesai dengan perencanaan yang diinginkan maka dalam melakukan pengujian dilakukan uji coba tiap-tiap blok secara berurutan.

4.1.1 Pengujian Rangkaian

Untuk mengetahui apakah rangkaian yang telah dirancang dapat berfungsi dan terhubung dengan baik serta sesuai yang kita buat. Lakukan penulisan melalui pesan singkat ponsel dengan simbol (*1) untuk membuka korden, simbol (*2) untuk menghidupkan lampu, (#1) untuk menutup korden, dan (#2) untuk mematikan lampu, dan (*3, #3) untuk control terminal 3.


(56)

commit to user 4.1.1.1 Langkah Pengujian

1. Setelah ponsel penerima terpasang dilakukan pengiriman SMS dari ponsel dengan nomor pengirim yang telah disetting, dan perlu diketahui bahwa pada ponsel penerima harus steril dari SMS terlebih dahulu.

2. Setelah program yang dibuat dan diisikan ke dalam mikrokontroller dan semua rangkaian terhubung dengan baik, maka komponen mengolah bahasa isyarat dari pesan singkat tersebut.

3. Jika kode tepat korden akan bergerak membuka, dan lampu akan hidup (terminal on).

4. Kode SMS sebaliknya digunakan untuk menutup korden dan lampu mati (terminal off).

4.1.1.2Hasil Pengujian

Dari pengujian dapat diketahui alat dapat berfungsi sebagaimana seharusnya, dengan kode pengetikan SMS (*1) maka port mikrokontroller berlogika 1 kemudian melakukan perintah untuk relay dilanjutkan membuka korden, dan logika 0 akan otomatis jika korden tersebut menyentuh switch. Kode SMS (#1) yang diketikkan yaitu untuk melakukan pesintah dari IC guna membalik arus Motor DC untuk berputar balik, dan saat korden tertutup Motor DC akan berhenti seperti halnya analogi di atas. Untuk pelengkap penulis menambahkan lampu, jadi jika handphone pengirim mengirimkan kode (*2) maka port IC akan melakukan perintah TRIAC, dan pada akhirnya lampu tersebut hidup, karena aliran listrik pada output rangkaian tersebut menutup. Dan selanjutnya lampu akan mati jika perintah SMS (#2), maka IC Mikrokontroller akan akan membuka rangkaian.


(57)

commit to user

Gambar 4.2 Skema Rangkaian Alat

Sebelum perintah-perintah di atas tersebut dijalankan perlunya dilakukan catu daya untuk mensupply tegangan DC yang diperlukan terhadap komponen-komponen yang bersangkutan, sebelum semuanya terjadi kesalahan dan akhirnya alat tersebut tidak berjalan dengan sebagaimana mestinya maka perlu dilakukan pengecekan catu daya yang diperlukan.

Pengujian rangkaian catu daya dilakukan dengan tahapan sebagai berikut : 1. Panel penunjuk multimeter diarahkan pada Volt DC.

2. Multimeter diatur nilainya sesuai dengan tegangan yang akan diukur. 3. Kabel merah pada multimeter dihubungkan dengan kutub positif trafo dan kabel hitam dihubungkan dengan kutub negatif trafo.

4. Jika jarum pada multimeter menunjukkan nilai yang tepat maka trafo dalam keadaan baik.

Pada rangkaian ini menggunakan trafo step down. Tegangan listrik rumah sebesar 220 Volt diubah menjadi 5 Volt. Besaran tegangan yang dihasilkan trafo Handphone

AT 89S51

Blok Triac 1

232

Blok Triac 2 Blok Relay


(58)

commit to user

tersebut masih merupakan tegangan AC dan kemudian diubah menjadi tegangan DC menggunakan rangkaian penyearah. Rangkaian tersebut menggunakan empat buah dioda, digunakan dioda karena kemampuan dioda yang hanya mengalirkan arus searah.

Gambar 4.3 Pengujian rangkaian catu daya

Untuk mengetahui kemampuan dan sistem kerja alat apakah sudah selesai dengan perencanaan yang di inginkan maka dalam melakukan pengujian dilakukan uji coba tiap blok secara berurutan.

4.2 Pembahasan

Setelah semuanya terhubung dengan benar dan arus catu daya sudah mengalir dengan sebagaimana mestinya sudah dikatakan bahwa rangkaian tersebut aktif dan dengan program yang telah di download maka IC tersebut siap untuk melakukan perintah yang diberikan dari input yang diberikan. Bila pengirim pertama melakukan perintah melalui pesan singkat maka akan diterima oleh penerima yang alat tersebut terhubung ke port 3.0 (rx) dan port 3.1 (tx) sebagai komunikasi melalui socket DB9, jika hal tersebut dilakukan maka IC mikrokontroller tersebut bekerja, dapat dianalogikan jika pesan tersebut mengirin symbol (*1) maka port output 2.0 yang terhubung ke blok relay akan membentuk logika 1 yang akhirnya motor DC tersebut membuka korden. Apabila pesan


(59)

commit to user

singkat tersebut menunjukan symbol (#1) maka port output 2.1 yang terhubung ke relay juga seperti halnya port 2.0 membentuk logika 1 sehingga motor DC tersebut berputar terbalik, dan mengakibatkan koden tersebut menutup. Bila pesan singkat tersebut menunjukan symbol (*2) maka port output 0.0 melakukan logika 0 yang terhubung ke triac yang akan memproses lempu untuk hidup, karena untuk memberikan beda tegangan, apabila symbol (*3) maka port output 0.1 akan sama halnya port 0.0. Bila (#2, #3) maka port 0.0 dan 0.1 tersebut membuatkan logika 1 sehingga lampu akan mati.


(60)

commit to user BAB V PENUTUP

5.1 Kesimpulan

Dari keseluruhan proses pembuatan tugas akhir ini, dapat disimpulkan sebagai berikut :

1. Mikrokontroler AT89S51 berfungsi sebagai pengendali utama pada pemrosesan Smart House.

2. Mekanik dijalankan menggunakan telepon selular (handphone) melalui fasilitas SMS sebagai perintah.

3. Untuk mengendalikan rangkaian mekanik, sembarang nomor handphone dapat digunakan sebagai media pengirim.

4. Rangkaian mekanik tersebut dapat dikontrol dengan jarak jauh tanpa adanya keterbatasan jangkauan.

5. Dapat di implementasikan untuk fungsi lain, misal menghidupkan lampu, dan pompa air.

5.2 Saran

Dari hasil penelitian dalam pembuatan Prototipe Smart House via SMS yang Berbasis Mikrokontroler AT89S51, maka penulis memberikan saran kepada pembaca dalam rangka kemajuan alat ini ke depan, diantaranya :

1. Pengembangan model prototype/replika Smart House Membuka dan menutup korden tersebut dapat diterapkan ke dalam mekanik korden yang sesungguhnya, misalnya dengan menggunakan motor AC.

2. Menambahkan arus catu daya yang digunakan sebagai charger Handphone penerima, karena terbatasnya daya tahan baterai pada Hanphone tersebut. 3. Port-port yang tersisa pada kaki mikrokontroller dapat difungsikan sebagai

pengendali kebutuhan rumah tangga yang lainnya.

4. Memberikan laporan (feedback) ke ponsel pengirim tentang status alat yang beroperasi.


(61)

commit to user DAFTAR PUSTAKA

Ann. T,dan dewi. S, 2008, Motor DC dan motor stepper, www.shutterstock.com, diakses pada Agustus 2010

Anonim_A, --, Bahasa Assembly, http://www.find-docs.com/bahasa-assembly-pada-mikrokontroller-at89s51~.html, dikses tanggal 15 Juni 2010.

Anonim_B, --, Dioda, www. inovativeelectronics.com /artikel/AN73.pdf, diakses pada 20 Juli 2010.

Anonim_C,--,Komponen-KomponenElektronika,

http://p_musa.staff.gunadarma.ac.id/Downloads/files/..../Komponen.pdf diakses pada 11 Juli 2010.

Anonim_D, 2003, PC & Suite T230. China : Sony Company.

Anonim_E, --, BT 139, www.alldatasheet.com, diakses pada 25 Juli 2010.

Gunawan dan Ferry, 2003, Pemrograman Mikrokontroler AT89S51 dengan

Assembler. Yogyakarta : Gava Media.

M.Barawi, 1986, Intergrated Electronics. Jakarta : Erlangga.

Putra. Agfianto Eko, 2004. Belajar Mikrokontroller AT89C51/52/55 Teori dan

Aplikasi. Yogyakarta : Gava Media.

Tokheim. Roger L, 2001, Elektronika Digita, Yogyakarta : Grava Media. Wasito S. 2001, Vademekum Elektronika, Jakarta : Gramedia.


(62)

commit to user


(63)

commit to user

SCRIPT PROGRAM

;Kontrol beban via SMS

;======================== $mod51

connect bit p0.7

dtr bit p3.3

lamp0 bit p0.0 lamp1 bit p0.1 open bit p2.0 close bit p2.1 S_open bit p3.7 s_close bit p3.6

dseg at 20h flag: ds 1 o_pdu: ds 1 n_pdu: ds 1 dthp: ds 90

cseg at 0h jmp start

org 0bh ;timer 0 interupt jmp timer0

org 23h ;serial interupt jmp serin

start: clr open clr close

mov tmod,#21h ;t1 8 bit autoreload, mov th1,#0fdh ;9600 BPS

setb tr1

mov scon,#50h ;serial mode 1 mov ip,#02 ;priority timer 0 high setb ea ;enable all

setb es ;enable serial setb et0 ;enable timer 0 clr dtr ;ignition on call clr_ram ;hapus bufer sms er_con: mov dptr,#p_ate0 ;kirim perintah

call command ;AT


(64)

commit to user mov dptr,#j_ok

call ceking ;jawaban 'OK' mov a,flag

cjne a,#1,er_con ;salah,--> ulang perintah AT clr connect ;benar,--> led connect on clr f0

mov dptr,#p_mem ;memory me call command ;AT

jnb f0,$ ;tunggu jawaban call delay

mov dptr,#p_font ;memory me call command ;AT

jnb f0,$ ;tunggu jawaban call delay

lagi: mov dptr,#p_read ;perintah call command ;baca sms jnb f0,$ ;tunggu jawaban mov dptr,#j_atr

call ceking mov a,flag cjne a,#1,lagi clr f0

call proses ;proses sms call clr_ram ;hapus bufer sms call delay

call delsms ;hapus sms hp clr tr0

call delay JMP lagi

;========== ;Delete sms ;---

delsms: mov dptr,#p_del1 ;perintah call command ;hapus sms jnb f0,$ ;tunggu jawaban clr f0

ret ;========= ;Clear Ram ;---


(65)

commit to user clr_ram: mov r1,#dthp

mov b,#90

clear: mov @r1,#255 ;clear dthp inc r1

djnz b,clear mov dthp,#254 ret

;============== ;Kirim perintah ;---

command: clr f0 clr tr0 mov r1,#dthp cmd: mov a,#0

movc a,@a+dptr

cjne a,#255,lj ;255 akhir data

ret ;selesai

lj: clr ti ;

mov sbuf,a ;kirim perintah jnb ti,$

inc dptr ;perintah selanjutnya jmp cmd

;======================================== ;Interupsi Serial disimpan pada alamat r1

;---

serin: jnb ri,xsr ;rx?

setb tr0 ;ya--> matikan timer mov r1,#dthp

slg: mov th0,#0

mov @r1,sbuf ;simpan

clr ri ;rx ready

inc r1 ;alamat berikutnya

lsr: jb ri,slg

jb tr0,lsr

xsr: reti

;=============== ;Serial time out ;---

timer0: clr tr0 ;timer off MOV TH0,#0

setb f0


(66)

commit to user

XTIM0: reti

;=================================================== ;Cek Jawaban HP; dptr=jml,referensi; sama --> flag=1

;--- ceking: mov flag,#1 ;flag benar

mov r1,#dthp u_cek: mov a,#0

movc a,@a+dptr ;jml referensi cjne a,#255,l_cek

ret

l_cek: mov b,@r1 ;ambil jwb hp cjne a,b,ljtx ;bandingkan

inc dptr ;sama lanjutkan inc r1

jmp u_cek ;semua sama, --> flag=benar ljtx: mov flag,#0 ;tidak sama, flag=salah --> selesai

ret ;=============== ;PDU; r1=data hp ;---

proses: mov r1,#dthp+26 ;offset nomor pengirim mov dptr,#no_hp ;bandingkan

pdu2: mov b,@r1 mov a,b ;call cektx

mov a,#0 movc a,@a+dptr ;call cektx

cjne a,#255,pdu1 cpl p3.6

jmp pdu3 ;sama? --> lanjut pdu1: cjne a,b,xcof ;tidak? --> hapus

inc r1 inc dptr jmp pdu2

pdu3: mov r1,#dthp+66 ;ofset kode on/off mov a,@r1

;call cektx

c_on: cjne a,#'*',c_off inc r1

mov a,@r1 ;call cektx

cjne a,#'1',con2 call delsms


(67)

commit to user setb open ;buka

jb s_open,$ ;tunggu s/d buka penuh clr open ;stop

ret

con2: cjne a,#'2',con3

clr lamp0 ;lampu0 on ret

con3: cjne a,#'3',xcon

clr lamp1 ;lampu1 on xcon: ret

c_off: cjne a,#'#',xcof inc r1

mov a,@r1 cjne a,#'1',cof2 call delsms

setb close ;tutup

jb s_close,$ ;tunggu nutup clr close ;stop

ret

cof2: cjne a,#'2',cof3

setb lamp0 ;lampu0 off ret

cof3: cjne a,#'3',xcof

setb lamp1 ;lampu0 off xcof: ret

;===== ;Delay ;---

delay: mov r7,#0

dly: mov r6,#0

djnz r6,$ djnz r7,dly ret

cektx: clr ti mov sbuf,a jnb ti,$ CLR ti ret ;======== ;tabel ;---


(68)

commit to user p_mem: db 'AT+CPMS="ME"',13,10,255 p_font: db 'AT+CMGF=1',13,10,255 p_ate0: db 'ATE0',13,10,255

p_read: db 'AT+CMGR=1',13,10,255 no_hp: db '85728756460',255

j_ok: DB 13,10,'OK',255 j_atr: db 13,10,'+CMGR:',255 p_del1: db 'AT+CMGD=1',13,10,255 p_del2: db 'AT+CMGD=2',13,10,255 end


(69)

commit to user SKEMA RANGKAIAN


(70)

commit to user GAMBAR ALAT


(1)

commit to user

clr_ram: mov r1,#dthp

mov b,#90

clear: mov @r1,#255 ;clear dthp

inc r1

djnz b,clear

mov dthp,#254

ret ;============== ;Kirim perintah ;---

command: clr f0

clr tr0

mov r1,#dthp

cmd: mov a,#0

movc a,@a+dptr

cjne a,#255,lj ;255 akhir data

ret ;selesai

lj: clr ti ;

mov sbuf,a ;kirim perintah

jnb ti,$

inc dptr ;perintah selanjutnya

jmp cmd

;======================================== ;Interupsi Serial disimpan pada alamat r1

;---

serin: jnb ri,xsr ;rx?

setb tr0 ;ya--> matikan timer

mov r1,#dthp

slg: mov th0,#0

mov @r1,sbuf ;simpan

clr ri ;rx ready

inc r1 ;alamat berikutnya

lsr: jb ri,slg

jb tr0,lsr

xsr: reti

;=============== ;Serial time out ;---

timer0: clr tr0 ;timer off

MOV TH0,#0

setb f0


(2)

commit to user

XTIM0: reti

;=================================================== ;Cek Jawaban HP; dptr=jml,referensi; sama --> flag=1

;---

ceking: mov flag,#1 ;flag benar

mov r1,#dthp

u_cek: mov a,#0

movc a,@a+dptr ;jml referensi

cjne a,#255,l_cek

ret

l_cek: mov b,@r1 ;ambil jwb hp

cjne a,b,ljtx ;bandingkan

inc dptr ;sama lanjutkan

inc r1

jmp u_cek ;semua sama, --> flag=benar

ljtx: mov flag,#0 ;tidak sama, flag=salah --> selesai

ret ;=============== ;PDU; r1=data hp ;---

proses: mov r1,#dthp+26 ;offset nomor pengirim

mov dptr,#no_hp ;bandingkan

pdu2: mov b,@r1

mov a,b

;call cektx

mov a,#0

movc a,@a+dptr

;call cektx

cjne a,#255,pdu1

cpl p3.6

jmp pdu3 ;sama? --> lanjut

pdu1: cjne a,b,xcof ;tidak? --> hapus

inc r1

inc dptr

jmp pdu2

pdu3: mov r1,#dthp+66 ;ofset kode on/off

mov a,@r1

;call cektx

c_on: cjne a,#'*',c_off

inc r1

mov a,@r1

;call cektx

cjne a,#'1',con2


(3)

commit to user

setb open ;buka

jb s_open,$ ;tunggu s/d buka penuh

clr open ;stop

ret

con2: cjne a,#'2',con3

clr lamp0 ;lampu0 on

ret

con3: cjne a,#'3',xcon

clr lamp1 ;lampu1 on

xcon: ret

c_off: cjne a,#'#',xcof

inc r1

mov a,@r1

cjne a,#'1',cof2

call delsms

setb close ;tutup

jb s_close,$ ;tunggu nutup

clr close ;stop

ret

cof2: cjne a,#'2',cof3

setb lamp0 ;lampu0 off

ret

cof3: cjne a,#'3',xcof

setb lamp1 ;lampu0 off

xcof: ret

;===== ;Delay ;---

delay: mov r7,#0

dly: mov r6,#0

djnz r6,$

djnz r7,dly

ret

cektx: clr ti

mov sbuf,a

jnb ti,$

CLR ti ret ;======== ;tabel ;---


(4)

commit to user

p_mem: db 'AT+CPMS="ME"',13,10,255

p_font: db 'AT+CMGF=1',13,10,255

p_ate0: db 'ATE0',13,10,255

p_read: db 'AT+CMGR=1',13,10,255

no_hp: db '85728756460',255

j_ok: DB 13,10,'OK',255

j_atr: db 13,10,'+CMGR:',255

p_del1: db 'AT+CMGD=1',13,10,255

p_del2: db 'AT+CMGD=2',13,10,255


(5)

commit to user SKEMA RANGKAIAN


(6)

commit to user GAMBAR ALAT