SMART HOUSE BERBASIS MIKROKONTROLLER AT 89S51 VIA SMS
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