Rancangan System Penerima Pengaman Sepeda Motor Dengan Menggunakan Remote Kontrol Berbasis Mkrokontroler AT89C51
RANCANGAN SYSTEM PENERIMA PENGAMAN SEPEDA
MOTOR DENGAN MENGGUNAKAN REMOTE
KONTROL BERBASIS MKROKONTROLER AT89C51
TUGAS AKHIR
Diajukan untuk melengkapi syarat memperoleh gelar Ahli Madya
BILL SIMON P 082408018
PROGRAM STUDI D-III FISIKA INSTRUMENTASI DEPARTEMEN FISIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA
MEDAN 2011
(2)
PERSETUJUAN
JUDUL : RANCANGAN SYSTEM PENERIMA PENGAMAN SEPEDA MOTOR DENGAN MENGGUNAKAN REMOTE KONTROL BERBASIS
MIKROKONTROLER AT89C51
KATEGORI : TUGAS AKHIR
NAMA : BILL SIMON P
NIM : 082408018
PROGRAM STUDI : DIPLOMA III FISIKA INSTRUMENTASI
DEPARTEMEN : FISIKA
FAKULTAS : MATEMATIKA DAN ILMU PENGETAHUAN ALAM
Diluluskan di : Medan, Juni 2011
Diketahui :
Departemen Fisika FMIPA USU Pembimbing Ketua Program Studi D – III FIN
Dr. Susilawati, M.Si Dr. Bisman Perangin-angin, M.Eng,Sc NIP. 1972111 5200012 1001 NIP. 1956091 8198503 1002
(3)
ii PERNYATAAN
RANCANGAN SYSTEM PENERIMA PENGAMAN SEPEDA MOTOR DENGAN MENGGUNAKAN REMOTE KONTROL BERBASIS
MIKROKONTROLER AT89C51
TUGAS AKHIR
Saya menyatakan bahwa tugas akhir ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, Juni 2011
BILL SIMON P 082408018
(4)
iii PENGHARGAAN
Puji dan Syukur penulis sampaikan kepada Tuhan Yang Maha Kuasa karena atas berkat kasih dan karunia-Nya, Tugas Akhir ini berhasil diselesaikan dalam waktu yang ditetapkan.
Ucapan terimakasih saya sampaikan kepada Bapak Dr. Bisman Parangin-angin, M.Eng,Sc, selaku pembimbing pada penyelesaian tugas akhir ini yang telah memberikan panduan dan penuh kepercayaan kepada saya untuk menyempurnakan
tugas akhir ini. Ucapan terimakasih juga ditujukan kepada Ketua Departemen Dr. Marhaposan Situmorang, M.Sc, Ketua Jurusan Dr. Susilawati, M.Si, Dekan dan
Pembantu Dekan Fakultas Matematika Dan Ilmu Pengetahuan Alam Universitas Sumatera Utara, semua Dosen pada Departemen Fisika FMIPA USU, pegawai di FMIPA USU.
Akhirnya tidak terlupakan kepada Ibunda tercinta N.Hutapea atas doa, kasih sayang serta bantuan yang berupa materi maupun nonmateri yang telah diberikan kepada penulis selama ini, serta Kakak saya Vida Herlinda Gultom dan Abang Ipar saya R.Panjaitan, Runiaty Gultom dan Adik saya Maria Yosefa Gultom, juga keponakan saya Felix Hutagalung dan Elsa Hutagalung yang selama ini memberikan bantuan dan dorongan kepada penulis. Juga Abang Wahyu Harahap,sahabat saya Nicson Hutajulu, Abang Rinaldi Roger Tobing, teman-teman Resimen Mahasiswa (MENWA), yang banyak membantu serta rekan – rekan seperjuangan khususnya Program Studi D-III Fisika Instrumentasi stambuk 2008.
Penulis menyadari dalam tugas akhir ini terdapat kekurangan baik secara materi maupun penyajiannya. Untuk itu penulis mengharapkan kritik dan saran yang bersifat membangun untuk kesempurnaan tugas akhir ini. Akhir kata penulis ucapkan banyak terima kasih kepada pihak yang telah memberikan bantuan. Semoga bermanfaat bagi pembaca.
(5)
ABSTRAK
Telah dirancang system pengaman kendaraan sepeda motor. System pengaman kendaraan sepeda motor ini dilengkapi dengan program yang dibuat untuk mengendalikan kerja mikrokontroller sebagai pengontrol kendaraan sepeda motor. TLP434A dan RLP434A sebagai komponen utama dalam system pengaman kendaraan sepeda motor ini, dimana TLP434A akan mengirim data dan diterima oleh RLP434A dan akan diproses oleh mikrokontroler sebagai pendukung dari system pengaman kendaraan sepeda motor. Mikrokontroller akan mengirimkan data logika dan clock port serial sebagai register yang melalui pemancar ASK ( TLP434A) dan byte data logika dan clock akan diterima oleh rangkaian penerima ASK (RLP434A),rangkaian alarm dan start motor agar motor dapat dikontrol dengan remote kontrol jarak jauh.
.Metode yang digunakan dalam pembuatan system pengaman kendaraan sepeda motor ini adalah metode eksperimen dan didapatkan teknik perancanagn yang terdiri dari beberapa tahap yaitu: Identifikasi Kebutuhan, Konsep Rancangan, Pembuatan dan, Pengujian. System pengaman kendaraan sepeda motor ini menggunakan AT89C51, dimana dapat digunakan untuk menjamin keamanan untuk sepeda motor dan mempermudah pengemudi untuk lebih cepat mengetahui letak sepeda motornya di area parkir yang luas.
(6)
v
DAFTAR ISI HALAMAN PERSETUJUAN i
PERNYATAAN ii
PENGHARGAAN iii
ABSTRAK iv
DAFTAR ISI v
DAFTAR TABEL ix
DAFTAR GAMBAR x
BAB 1 PENDAHULUAN 1
1.1 Latar Belakang Masalah 1
1.2 Rumusan Masalah 2
1.3 Tujuan Penulisan 3
1.4 Manfaat Penulisan 3
1.5 Sistematika Penulisan 3
BAB 2 DASAR TEORI 5
2.1 Mikrocontroler AT89C51 5
2.1.1 Gambaran Umum 5
2.1.2 Arsitektur Mikrocontroler AT89C51 6
2.1.3 Fungsi-fungsi kaki pada mikrocontroler AT89C51 8
2.1.4 Register fungsi khusus 11
2.1.5 Struktur memory 13
2.1.5.1 Memory RAM 14
(7)
vi
2.1.6 Antarmuka memory eksternal 16
2.1.7 Osilator 18
2.2 Central Processing Unit (CPU) 19
2.2.1 Penggunaan Software 8051 IDE 20
2.2.2 Penggunaan Software dowaloader 21
2.3 Mode-mode pengalamatan 21
2.3.1 Mode pengalamatan segera 22
2.3.2 Mode pengalamatan langsung 22
2.3.3 Mode pengalamatan tidak langsung 22
2.3.4 Mode pengalamatan register 23
2.3.5 Mode pengalamatan berindeks 23
2.4 Bus-bus pada AT89C51 24
2.5 Intruksi-Intruksi Dalam Bahasa Asembler 24
2.6 Beberapa Istilah Dalam Pemograman 29
2.7 Amplitudo Shift Keying (ASK) 30
2.7.1 Penerima RLP434A 32
BAB 3 RANCANGAN SISTEM 35
3.1 Perancagan Block Diagram 35
3.1.1 Block Tombol 36
3.1.2 Block Penerima ASK 36
3.1.3 Block Mikrokontroler Penerima 36
3.1.4 Block Relay 36
3.1.5 Block Alarm 36
(8)
vii
3.1.7 Block Starter 37
3.2 Perancangan Skematik Rangkaian 37
3.2.1 Rangkaian Mikrokontroer AT89C51 37
3.2.2 Rangkaian Penerima 38
3.2.3 Rangkaian Driver Relay 42
3.2.4 Rangkaian Tombol Reset 43
3.3 Bahan, Peralatan dan Metode 44
3.3.1 Bahan 44
3.3.2 Peralatan 44
3.3.3 Metode Perancangan 44
3.4 Perancangan Software 44
3.5 Pembuatan Layout dan Pemasangan Komponen ke PCB 46
3.5.1 Langkah-Langkah Pada Pembuatan Layout 46
3.5.2 Penyablonan dan Pembuatan Jalur 49
3.6 Pengcompile Program 52
3.7 Pengisian Program dari DT-HIQ Programmer 53
BAB 4 PENGKAJIAN SYSTEM 56
4.1 Pengkajian System 56
4.1.1 Analisa pengujian rangkaian penerima ASK 56
4.1.2. Analisa pengujian system mikrocontroler 57
4.1.3 Analisa pengujian driver 58
4.1.4. Analisa pengujian rangkaian tombol 60
4.2 Analisa software 61
(9)
viii
BAB 5 KESIMPULAN DAN SARAN 67
5.1 Kesimpulan 67
5.2 Saran 67
DAFTAR PUSTAKA 68 LAMPIRAN
(10)
ix DAFTAR TABEL
HALAMAN
Tabel 2.1 Fungsi Khusus Port 3 9
Tabel 2.2 Struktur RAM 128 Byte 14
Tabel 2.3 Susunan Bank-bank Register 14
Tabel 2.4 MOV, MOVC dan MOV X 25
Tabel 2.5 Instruksi ADD dan SUBB 25
Tabel 2.6 Instruksi DEC dan INC 26
Tabel 2.7 Instruksi DEC ORL, ANL dan CPL 27 Tabel 2.8 Data Sheat RPL434A 33
(11)
x
DAFTAR GAMBAR Halaman Gambar 2.1 Diagram Block Mikrocontroler AT89C51 6
Gambar 2.2 Diagram Pin Mikrocontroler AT89C51 10
Gambar 2.3 89C51 Mengakses EPROM & RAM Eksternal 16
Gambar 2.4 Pemakain Osilator Eksternal 18
Gambar 2.5 Pembangkit Sinyal Clock Internal 19
Gambar 2.6 Software 8051 IDE 20
Gambar 2.7 DT-HIQ Programmer 21
Gambar 2.8 Sinyal ASK 30
Gambar 2.9 Modulasi Digital 30
Gambar 2.10 Penerima RLP434A 32
Gambar 2.11 Aplikasi RLP4 34A 32
Gambar 2.12 Block Diagram Penerima 33
Gambar 2.13 HT12D 33
Gambar 3.1 Block Diagram Pemancar 35
Gambar 3.2 Block Diagram Penerima 35
Gambar 3.3 Mikrocontroler AT89C51 38
Gambar 3.4 Pin RLP434A 39
Gambar 3.5 HT12D 39
Gambar 3.6 Skema Rangkaian Penerima 42
Gambar 3.7 Rangkaian Modul Penerima ASK 42
Gambar 3.8 Rangkaian Driver Relay 43
Gambar 3.9 Rangkaian Tombol Reset 44
(12)
xi Gambar 3.11 Control Panel eagle 5.60 49
Gambar 3.12 Lembar kerja eagle 5.60 49
Gambar 3.13 Rangkaian Scematik 49
Gambar 3.14 Pengubahan dari Schematic menjadi Layout 50 Gambar 3.15 Pengaturan warna tampilan 50
Gambar 3.16 Printah Untuk Centak 50
Gambar 3.17 Layout Finish 51
Gambar 3.18 Gambar PCB Kosong 51
Gambar 3.19 Posisi kertas kalender menghadap papan PCB 51 Gambar 3.20 Kertas kalender ditutup dengan kertas polos 52
Gambar 3.21 Penggosokan pada PCB 52
Gambar 3.22 Prendaman PCB 52
Gambar 3.23 Pengupasan kertas kalender pada PCB 52 Gambar 3.24 Hasil setelah selesai pelarutan 53
Gambar 3.25 Pengeboran papan PCB 53
Gambar 3.26 Pemasangan komponen pada PCB 53
Gambar 3.27 Penyolderan kaki komponen 54
Gambar 3.28 Command promp.user 54
Gambar 3.29 Hubungan antara DT-HiQ programmer,PC dan Catu Daya 55
Gambar 3.30 Program sebelum masuk ke IC 56
Gambar 3.31 Program yang telah terisi ke IC 56
Gambar 4.1 Rangkaian Penerima ASK 56
Gambar 4.2 Gambar Titik Pengukuran pada AT89C51 57 Gambar 4.3 Aliran arus dan perubahan terangan pada reset otomatis 58
(13)
xii Gambar 4.4 Rangkaian Driver 58
(14)
ABSTRAK
Telah dirancang system pengaman kendaraan sepeda motor. System pengaman kendaraan sepeda motor ini dilengkapi dengan program yang dibuat untuk mengendalikan kerja mikrokontroller sebagai pengontrol kendaraan sepeda motor. TLP434A dan RLP434A sebagai komponen utama dalam system pengaman kendaraan sepeda motor ini, dimana TLP434A akan mengirim data dan diterima oleh RLP434A dan akan diproses oleh mikrokontroler sebagai pendukung dari system pengaman kendaraan sepeda motor. Mikrokontroller akan mengirimkan data logika dan clock port serial sebagai register yang melalui pemancar ASK ( TLP434A) dan byte data logika dan clock akan diterima oleh rangkaian penerima ASK (RLP434A),rangkaian alarm dan start motor agar motor dapat dikontrol dengan remote kontrol jarak jauh.
.Metode yang digunakan dalam pembuatan system pengaman kendaraan sepeda motor ini adalah metode eksperimen dan didapatkan teknik perancanagn yang terdiri dari beberapa tahap yaitu: Identifikasi Kebutuhan, Konsep Rancangan, Pembuatan dan, Pengujian. System pengaman kendaraan sepeda motor ini menggunakan AT89C51, dimana dapat digunakan untuk menjamin keamanan untuk sepeda motor dan mempermudah pengemudi untuk lebih cepat mengetahui letak sepeda motornya di area parkir yang luas.
(15)
1 BAB 1
PENDAHULUAN
1.1 Latar Belakang
Teknologi membuat segala sesuatu yang dilakukan menjadi lebih mudah. Manusia selalu berusaha untuk menciptakan sesuatu yang dapat mempermudah aktivitasnya. Hal inilah yang mendorong perkembangan teknologi yang telah banyak menghasilkan alat sebagai piranti untuk mempermudah kegiatan manusia bahkan menggantikan peran manusia dalam suatu fungsi tertentu. Teknologi memegang peran penting di era modernisasi seperti pada saat ini, dimana teknologi telah menjadi bagian yang tidak dapat dipisahkan dalam kehidupan sehari-hari. Perkembangan teknologi saat ini telah menambah ke segala aspek kehidupan sehingga saat ini dimanjakan manusia oleh adanya alat-alat yang dapat memberikan kemudahan. Dengan tingginya angka kriminalitas khususnya pencurian yang terjadi saat ini.
Khususnya perkembangan teknologi dibidang elektronika dapat di manfaatkan untuk meringankan pekerjaan atau rutinitas manusia. Banyaknya masalah dan kesulitan pada keamanan berkendaraan roda dua khususnya untuk menjamin keamanan maupun mempermudah penggunaannya, misalnya sulitnya mengenali sepeda motor pada area parkir yang luas karena banyaknya jumlah sepeda motor yang terparkir. Karena selama ini pencarian pancarian kandaraan bermotor roda dua diarea parkir dilakukan dengan cara harus melapor penjaga parkir atau mengingat dimana
(16)
2
pertama kali sepeda motor di parkirkan. Akan tetapi dengan cara ini akan menggunakan waktu yang cukup lama, oleh karena itu penulis berusaha merancang control kendaraan bermotor jarak jauh.
Satu hal yang juga sangat penting adalah keamanan dari system tersebut yaitu penguncian stop kontak. Tidak lengkap dan tidak aman jika sistem tersebut hanya secara manual saja. Akan lebih lengkap jika hanya orang-orang tertentu yang bisa mengoperasikan alat tersebut. Hal ini bisa dilakukan dengan kombinasi tombol yang ada pada remote kontrol, dan jika salah mengoperasikan maka harus dilakukan reset yang hanya diketahui orang yang memiliki akses.
1.2 Rumusan Masalah
Berdasarkan uraian yang terdapat pada latar belakang di atas, maka dalam laporan tugas akhir ini dapat diidentifikasikan beberapa masalah yang perlu diperhatikan sebagai berikut
1. Apakah Microcontroller AT89C51 dapat menghidupkan, dan mengunci sepeda motor dengan jarak jauh.
2. Apakah Mikrocontroler AT89C51 dapat digunakan sebagai pengendali kendaraan jarak jauh / pengamannan.
3. Apakah Dapat merancang perangkat keras dan perangkat lunak dengan praktis dan aman dengan akses yang terbatas.
(17)
3 1.3 Tujuan Perancangan
Adapun tujuan dari tugas akhir ini adalah:
1. Merancang system control kendaraan bermotor jarak jauh dengan menggunakan AT 89C51.
2. Untuk mengetahui prengkat lunak system control jarak jauh.
3. Untuk mengetahui apakah mikrocontroler AT 89C51 dapat digunakan untuk applikasi pada control jarak jauh.
1.4 Manfaat Perancangan
Dengan dilakukannya perancangan, maka manfaat yang diperoleh adalah sebagai berikut:
1. System control jarak jauh kendaraan bermotor ini dapat digunakan untuk menjaga keamanan sepeda motor.
2. Dengan mnggunakan control jarak jauh untuk kendaraan bermotor roda dua dapat menjadi daya tarik seseorang.
3. Untuk mengetahui keberadaan sepeda motor di area parkir yang luas dan mempercepat menghidupkannya.
1.5 Sistematika Penulisan
Agar Laporan tugas akhir ini lebih mengarah pada permasalahan dan membuat keteraturan dalam penyusunan dan penulisannya maka dibuat dalam beberapa bab, sebagai berikut:
(18)
4 BAB 1 PENDAHULUAN
Bab ini meliputi latar belakang masalah, rumusan masalah dan tujuan perancangan, manfaat perancangan, dan sistematika penulisan.
BAB 2 DASAR TEORI
Dalam bab ini dijelaskan tentang teori pendukung yang digunakan untuk pembahasan dan cara kerja dari rangkaian. Teori pendukung itu antara lain tentang mikrokontroler AT 89C51 (hardware dan software), bahasa program yang digunakan, serta cara kerja dari rangkaian pemancar dan rangkaian penerima.
BAB 3 RANCANGAN SISTEM
Bab ini berisi rancangan perangkat keras maupun perangkat lunak.
BAB 4 PENGUJIAN ALAT DAN PROGRAM
Bab ini berisi hasil pengujian perangkat keras maupun lunak disertai analisa pengujian.
BAB 5 KESIMPULAN DAN SARAN
Bab ini merupakan penutup yang meliputi tentang kesimpulan yang didapat setelah merakit proyek ini dan saran yang diberikan pada massa yang akan datang.
(19)
5 BAB 2
DASAR TEORI
2.1 MIKROKONTROLER AT89C51
2.1.1 Gambaran Umum
Mikrokontroler sebagai teknologi semi konduktor, kehadirannya sangat membantu perkembangan didunia elektronika. Arsitektur mikrocontroler banyak kandungan transistor yang terintegrasi, sehingga mendukung dibuatnya rangkaian elektronika yang lebih simpel tetapi dalam rangkaian sebenarnya dengan memakai transistor maka rangkaian ini sangat besar.
Mikrokontroler dapat diproduksi secara masal sehingga harganya menjadi lebih murah dibandingkan dengan mikroprosesor, Tetapi tetap memiliki kelebihan yang bisa diandalkan. Mikrokontroler memiliki perbandingan ROM dan RAM nya yang besar, artinya program control disimpan dalam ROM yang ukurannya relative lebih besar, sedangkan RAM digunakan sebagai tempat penyimpan sementara, termasuk register-register yang digunakan dalam mikrokontroler yang bersangkutan.
Pengunaan utama dari mikrokontroler adalah untuk mengontrol operasi dari mesin. Strategi kendali untuk mengontrol mesin tertentu dimodelkan dalam program algoritma pengaturan yang ditulis dalam bahasa assembly. Program tersebut selanjutnya di translasi ke kode mesin digital dan disimpan selanjutnya di dalam media penyimpanan digital yang disebut ROM. Mikrokontroler adalah Central
(20)
processing dalam satu 2.1.2 Ars Pada Gamb pula akum unit (CPU chip. sitektur Mi Gamb bar 2.1 terlih mulator, reg
U) yang dis
ikrokontrol
bar 2.1 Diag hat bahwa t gister, RAM
6 sertai memo
ller AT 89C
gram Blok M terdapat 4 p M, stack p
ori serta sa
C51
Mikrokontro port untuk in pointer, Ar
arana Input
oler AT89C nput output rithmetic L
t/output dan
C51
t data, serta Logic Unit
n dibuat
a tersedia (ALU),
(21)
7
pengunci (latch) dan rangkaian osilasi yang membuat 89C51 dapat beroperasi hanya dengan 1 keping IC.
Mikrokontroler AT 89C51 merupakan produk ATMEL, memiliki fitur sebagai berikut:
1. Sebuah central processing unit 8 bit 2. Osilator Internal dan rangkaian pewaktu
3. 4 kbyte memori program yang dapat ditulis hingga 1000 kali 4. 128 Byte memori RAM internal
5. 32 jalur input-output (4 buah port parallel I/O) 6. 2 Timer/ counter 16 bit
7. 2 data pointer
8. Lima buah jalur interupsi (dua buah interupsi eksternal dan 3 buah interupsi internal)
9. ISP (In system Programmable) Flash memori 4 Kbyte 10.Port serial full dupleks
11.Kemampuan untuk melaksanakan operasi aritmetika dan operasi logika 12.Kecepatan melaksanakan instruksi per siklus 1 mikrodetik pada
frekwensi12MHz.
Keluarga mikrokontroler adalah suatu alat elektronika yang paling populer saat ini. Keluarga ini diawali oleh Intel yang mengenalkan IC mikrokontroler type 8051 pada awal tahun 1980-an, 8051 termasuk sederhana dan harganya murah sehingga banyak digemari.
(22)
8
Sampai kini sudah ada lebih dari 100 macam mikrokontroler turunan 8051, sehingga terbentuklah sebuah keluarga besar mikrokontroler dan disebut sebagai MCS51.
ICAT89C51 hanya memerlukan tambahan 3 kapasitor,1 resistor dan 1 Xtal serta catu daya 5 Volt. Kapasitor 10 µF dan resistor 10 Kohm dipakai untuk rangkaian reset, dengan adanya rangakaian Reset ini AT89C51 otomatis di reset begitu rangkaian menerima catu daya. Xtal dengan frekwensi maksimum 24 Mhz dan 2 kapasitor 30 pico Farad dipakai untuk melengkapi rangkaian osilator pembentuk clock yang menentukan kecepatan kerja mikrokontroler.
2.1.3 Fungsi-fungsi kaki pada Mikrokontroler AT89C51
IC 8051 mempunyai 40 kaki, dengan 32 kaki dipakai sebagai port-port multiguna, kaki sebagai sumber tegangan, kristal, dan kaki-kaki untuk kendali(pembacaan memori). Gambar 2.2 memperlihatkan diagram pin mikrokontroler AT89C51 Berikut adalah fungsi-fungsi kaki mikrokontroler 8051 standar.
1. P1.0-P1.7 (port 1)
Port 1 merupakan port 8 bit dua arah (input/output). Port satu bisa diakses per-bit.
2. Port 3 merupakan port 8 bit dua arah (input/output). Selain berfungsi sebagai port I/O, P3 juga mempunyai fungsi khusus seperti pada tabel 2.1
(23)
9
Tabel 2.1 Fungsi khusus port 3
Port Fungsi khusus
P3.0 RXD (merupakan masukan untuk port serial) P3.1 TXD (merupakan output dari port serial)
P3.2 INT0 merupakan masukan untuk interupsi eksternal 0 P3.3 INT1, merupakan masukan untuk pulsa external 1 P3.4 T0 merupakan masukan untuk pulsa external timer 0 P3.5 T1 merupakan masukan untuk pulsa eksternal timer 1
P3.6 WR merupakan sinyal tulis (write strobe) untuk menulis data eksternal. Aktif rendah
P3.7 RD merupakan sinyal baca (Read strobe) untuk membaca data dari memori Eksternal. Aktif rendah.
3. Port2.0-Port2.7
Port 2 mempunyai lebar 8 bit dua arah atau input/output. Selain sebagai input dan output Port 2 memiliki fungsi khusus yaitu pada saat menjalankan program dari memori program eksternal atau pada saat mengakses memori data eksternal yang menggunakan perintah 16 bit. Atau alamat orde tinggi A8-A15.
4. Pin 32 sampai 39 (Port 0)
Port 0 merupakan Port keluaran/masukan (I/0). Sebagai Port keluaran,. Port 0 dapat digunakan sebagai masukan-masukan berimpedansi tinggi. Selain sebagai input output P0 memiliki fungsi khusus yaitu sebagai bus data (DO-D7) dan bus alamat orde rendah (A0-A7) yaitu pada saat pemakaian memori exsternal.
(24)
10
5. RST berfungsi sebagai mengembalikan kerja mikro ke awal program yang berada di ROM.
6. XTAL 1 dan XTAL 2
XTAL 1 merupakan keluaran dari rangkaian penguat osilator internal, sedangkan XTAL 2 merupakan masukan kepenguat osilator internal, sebuah kristal dan dua buah kapasitor yang dihubungkan ke pin ini sudah cukup untuk menyediakan sinyal detak (clock) untuk mikrokontroler.
7. VCC dan GND
VCC dan GND merupakan pin untuk tegangan DC. Mikrokontroler 8051 standar membutuhkan tegangan DC sebesar 5 Volt agar bisa bekerja dengan baik.
8. Pin 29 (PSEN)
PSEN (Program Store Enable) adalah pulsa pengaktif untuk membaca memori luar.
(25)
11 9. ALE/PROG
Berfungsi untuk demultiplexer pada saat Port 0 bekerja sebagai data bus (pengaksesan memori eksternal). Pada paruh pertama memory cycle, Pin ALE mengeluarkan sinyal latch yang menahan alamat ke eksternal register. Pada paruh kedua memory cycle, Port 0 digunakan sebagai data bus. Jadi fungsi utama dari ALE adalah untuk memberikan signal ke IC latch (bisa 74CT573) agar menahan/ menyimpan address dari port 0 yang akan menuju memori eksternal, dan selanjutnya port 0 akan mengeluarkan data melalui port 0 juga. 10.EA /VPP
EA (Eksternal Access) digunakan untuk memilih penggunaan memori. Jika EA high maka yang dipilih adalah memori internal, jika EA low atau dihubung ke GND maka yang dipilih atau memori yang dipakai adalah memori luar.
2.1.4 Register Fungsi Khusus
a. Akumulator
ACC digunakan sebagai register utama dalam proses aritmatik dan penyimpanan data sementara. Dalam penulisan instruksi ACC ditulis A. ACC menempati alamat E0h. Register ini bisa diakses per byte maupun per bit. b. Register B
Register B menempati alamat F0h. Register ini dipakai bersama-sama dengan Register A pada proses aritmatik (perkalian dan pembagian). Register B juga bisa diakses Per byte dan per bit.
(26)
12 c. PSW (Program Status Word)
Program Status Word atau PSW berisi bit-bit yang berkaitan dengan kondisi CPU. Status yang tersimpan dalam PSW meliputi : carry bit, auxiliary carry (untuk operasi BCD), dua bit pemilih bank register, overflow flag, parity, dan dua flag status yang bisa didefiniskan sendiri (user definable).
d. P0 - P3 (Register Port)
Register port merupakan SFR yang mengatur kerja port-port 8051(P0-P3). Register ini merupakan alamat Latch dari masing-masing port. Menulis atau membaca latch ini sama dengan menulis atau membaca latch yang bersangkutan sehingga data data bisa ditulis ke dan dibaca dari masing-masing port 8051.
Mov 80h,#45h Sama artinya dengan Mov P0,#45h
e. Data Pointer (DPTR) dan Stack Pointer (SP)
Data pointer (DPTR) adalah register 16 bit yang biasa dipakai untuk pengalamatan data 16 bit. Misalnya pada saat membaca atau menulis RAM eksternal (dengan perintah MOVX). DPTR menempati dua alamat dalam memori SFR 82h dan 83h. DPTR bisa diakses sebagai register 8 bit dengan nama DPL (DPTR bit 0 - bit 7) dan DPH (DPTR bit 8-bit 15). DPTR tidak bisa diakses per bit.
Stack pointer merupakan register 8 bit, dipakai untuk menyimpan data sementara pada saat perintah push, pop dan call, ret. Misalnya suatu rutin yang
(27)
13
memakai register A akan memanggil (call) subrutin yang juga memakai register A, maka agar data register A pada rutin pertama tidak dimodifikasi oleh subrutin yang dipanggil, data register A harus disimpan dulu di SP (dengan perintah push).
Setelah subrutin selesai dikerjakan, data register A yang tersimpan di SP di baca kembali (melalui perintah pop) dan disimpan di register A. Perintah call akan menyimpan isi PC (program counter) ke dalam SP dan mengambilnya kembali setelah instruksi ret. Pada saat reset SP memiliki alamat 07h, namun karena SP akan ditambahkan satu sebelum data disimpan melalui perintah push, tumpukan data yang disimpan akan dimulai pada alamat 08h. Alamat ini menempati memori internal 8051 SP tidak bisa dialamati per bit.
2.1.5 Struktur Memori
Mikrokontroler MCS-51 memiliki kendali yang berbeda untuk mengakses memori RAM atau memori data dan ROM atau memori program. Kendali untuk memori program adalah PSEN dan kendali untuk memori data adalah RD. Mikrokontroler MCS-51 memiliki lebar bus alamat 16 bit, sehingga memori dapat diakses sebesar 2×64 KB. Memori program internal dipakai jika Pin EA dihubungkan ke VCC. Sedangkan kalau EA dihubungkan ke GND maka memori program akan diakses eksternal. Untuk memori data internal MCS-51 adalah sebesar 128 byte. Jika dipakai memori data Eksternal dapat diakses sebesar 64 KB.
(28)
14 2.1.5.1 Memori RAM
Pemakaian RAM harus diperhatikan agar tidak tumpang tindih dengan memori stack pointer (SP). Salah satu kesalahan mikrokontroler jika Pemakaian RAM tumpang tindih dengan SP adalah memori pada RAM internal akan hilang jika di reset. Tabel 2.2 memperlihatkan Struktur RAM 128 byte.Memori internal RAM 128 byte bisa dibagi menjadi 3 area:
Tabel 2.2 Struktur RAM 128 byte
30H-7FH 20H-2FH 00H-1FH
1. Bank-bank Register
Bank register dibagi menjadi 4 grup yaitu bank 0 sampai bank 3. masing masing bank menempati alamat sebesar 8 byte. Tabel 2.3. adalah susunan bank-bank register.
Tabel 2.3 Susunan bank-bank register
Alamat Bank Register RS1,RS0
00-07 Bank 0 00
08-0F Bank 1 01
10-17 Bank 2 10
18-1F Bank 3 11
Area scratch pad 80 byte
Area yang bisa dialamati per Bit (16 byte)
Bank-bank register (32 Byte)
(29)
15
Masing-masing alamat dalam satu grup diberi nama R0-R7. Alamat R0-R7 ditentukan oleh Bank register yang aktif saat itu.
Semua alamat R0-R7 bisa di alamati dengan model pengalamatan langsung. R0 dan R1 juga bisa dialamati dengan model pengalamatan tak langsung. Pada model pengalamatan tak langsung R0 dan R1 menyimpan alamat RAM internal yang akan diakses.
2. Memori Yang Bisa Dialamati Per-Bit
Area ini menempati alamat 20H-2FH (16 Byte) sebagai byte dan 00H-07FH (128bit) sebagai alamat bit. Area memori ini berfungsi untuk menyimpan tipe data bolean atau 2 keadaan.
Ada 2 cara untuk mengakses memori ini.
- Cara mengakses sebagai byte bisa dilakukan dengan pengalamatan langsung, misal. Mov 20H, #20H. Akan menulis data 45 H ke alamat 20H.
- Pengaksesan secara bit dilakukan dengan mengakses alamat bit yang bersangkutan,misal.
Mov C,13H
Akan memindahkan alamat pada bit ke-13 ke bit C (carry). Alamat 13H adalah bit ke-3 dari alamat 22H. Bahasa assembler MCS-51 memiliki penulisan yang lain untuk mengakses bit ke-3 yaitu 22.3H,sehingga
(30)
3. Are alam han lang
2.1.5.2 M
R catu daya, langsung re dengan pen sebagai me bekerja.
2.1.6 An
ea Memori Area me mat paling a nya bisa diak
gsung.
emory RO
ROM (read dipakai un eset dan ak nggunaanya emori progr
ntar Muka
Gambar 2
Scratch Pa emori ini y
atas RAM i kses sebaga
M
Only mem ntuk menyim
an menjalan a ROM dis ram dan tida
Memori E
2.3 89C51 m
16 atch
ang disebu internal seb ai byte deng
mory) isinya mpan progr
nkan progra ebut sebaga ak bisa di t
Eksternal
mengakses
t area scrat besar 80 byt gan mode p
a tidak beru am, Begitu am-program ai memori p tulis ke RO
EPROM da
tch patch m te (alamat 3 pengalamata
ubah meski u catu daya m yang ada program. M OM saat mik
an RAM Ek
memory me 30H-7FH). an langsung
ipun IC keh ada maka pada ROM Memori ROM krokontroler ksternal enempati Area ini g dan tak
hilangan IC akan M. Sesuai M hanya r sedang
(31)
17
Memori program (ROM) dan memori data (RAM) eksternal diakses dengan menggunakan P0 dan P2 sebagai bus data dan bus alamat. P0 akan menyediakan jalur data yang di-multipleks dengan jalur alamat orde rendah (A0-A7), dan P2 menyediakan jalur alamat orde tinggi (A8-A15). Konfigurasi pengaksesan memori eksternal ditunjukkkan pada gambar 2.2. (EFROM 64 KB dan RAM 32 KB). Konfigurasi ini memisahkan antara memori program(ROM) dengan Memori data (RAM).Kendali sinyal baca untuk ROM adalah PSEN sedangkan RAM mendapat sinyal baca dan sinyal tulis dari P3.7(RD) dan P3.6(WR), sementara EPROM tidak mendapat sinyal kendali tulis. Pin EA dihubungkan ke ground sehingga 8051 hanya akan melaksanakan perintah-perintah yang tersimpan di EPROM eksternal.
P0, selain dihubungkan ke jalur data EPROM dan RAM, juga dihubungkan dengan masukan latch agar alamat orde rendah (A0-A7) yang dikeluarkan oleh P0 bisa dipisahkan dari jalur data EPROM. Pada saat P0 mengeluarkan alamat yang valid, ALE akan memberikan pulsa sehingga sehingga IC latch akan menyimpan alamat ini dan memberikannya ke jalur Alamat EPROM dan RAM. Bersamaan dengan itu, P2 akan mengeluarkan alamat orde tinggi (A8-A15) yang secara langsung terhubung dengan jalur alamat EPROM dan RAM.
PSEN akan diaktifkan 2 kali setiap satu siklus mesin saat membaca program dari EPROM eksternal. Saat PSEN aktif (berlogika 0) EPROM akan mengeluarkan data yang diterjemahkan sebagai perintah yang harus dijalankan oleh mikrokontroler. Pada saat mengakses RAM, PSEN berada pada logika tinggi.
(32)
18
Penulisan ke RAM dilakukan dengan mengaktifkan sinyal tulis (RD=1 dan WR=0), CPU akan mengirimkan data ke RAM setelah terlebih dahulu mengirimkan alamat RAM. Yang akan dituliskan. Sementara itu, pembacaan dilakukan dengan mengaktifkan sinyal baca (RD=0 dan WR=1), CPU akan memberikan alamat RAM
yang akan dibaca, mengaktifkan sinyal baca dan membaca data RAM dari jalur data.
2.1.7 Osilator
Osilator berfungsi untuk menyediakan sinyal clock dan pewaktuan bagi semua perangkat internal 8051. Untuk menyediakan sinyal Clock digunakan dengan dua cara yaitu:
1. Dengan menggunakan pembangkit frekwensi eksternal seperti pada gambar 2.4
Gambar 2.4 Pemakaian osilator eksternal
- Pin Xtal satu pada mikrokontroler 8051 dihubungkan ke keluaran pembangkit frekwensi eksternal.
- Pin Xtal dua dibiarkan mengambang.
- Pin Ground pada pembangkit frekwensi eksternal dihubungkan ke Ground pada mikrokontroler 8051.
(33)
19
2. Dengan menggunakan Kristal dan 2 kapasitor 30 pF dan 47 pF, Seperti pada gambar 2.5
Hal yang paling mendasar dari osilator sebenarnya adalah untuk menentukan siklus mesin. Siklus mesin adalah waktu minimum yang diperlukan oleh mikrokontroler untuk menjalankan satu perintah. Siklus mesin ini akan menentukan kecepatan mikrokontroler (seberapa cepat mikrokontroler menjalankan suatu perintah). Satu siklus mesin mikrokontroler 8051 adalah 12 kali periode frekwensi osilator (dengan frekwensi 12 Mhz), maka satu siklus mesin adalah 1/12 dikali 12 Mhz.
Gambar 2.5 Pembangkit sinyal clock internal
Jadi kecepatan satu siklus mikrokontroler 8051 jika frekwensi pada XTAL1 12 Mhz adalah 1 Mhz atau 1 mikro detik. Berarti untuk melakukan satu perintah mikrokontroler 8051 hanya dalam satu mikro detik. Atau 1 juta perintah dalam satu detik.
2.2 Central Processing Unit (CPU)
CPU terdiri atas dua bagian, yaitu unit pengendali (control unit) serta unit aritmetika dan logika (ALU).
(34)
20
Fungsi utama unit pengendali adalah mengambil, mengkode, dan melaksanakan urutan instruksi sebuah program yang tersimpan dalam memori. Unit pengendali menghasilkan dan mengatur sinyal pengendali yang diperlukan untuk menyerempakkan operasi, aliran, dan instruksi program.Unit aritmetika dan logika berfungsi untuk melakukan proses perhitungan yang diperlukan selama program dijalankan serta mempertimbangkan suatu kondisi dan mengambil keputusan yang diperlukan untuk instruksi-instruksi
berikutnya. 2.2.1 Penggunanaan Softwere 8051 IDE
Softwere 8051 IDE ini digunakan untuk menulis program dalam bahasa assembler. Setelah program assembler selesai ditulis kemudian di-save dan di assemble. Program di assemble dengan tujuan untuk mengecek
Gambar 2.6 Softwere 8051 IDE
kesalahan penulisan. Jika masih ada kesalahan penulisan, maka softwere 8051 memberi peringatan, sehingga program dapat diubah sampai tidak ada pesan peringatan lagi.
(35)
21 2.2.2 Penggunaan Softwere Downloader
Softwere downloader digunakan agar downloader dapat mendownload program assembler ke mikrokontroler AT89C51. Softwere dapat dijalankan jika komputer terhubung dengan alat downloader beserta mikrokontroler yang digunakan.
Gambar 2.7 DT-HIQ Programmer
Cara menggunakan softwere downloader adalah dengan meng-klik open file untuk mengambil program assembler dari hasil kompilasi, kemudian klik Auto programming untuk mengisikan hasil kompilasi tersebut ke mikrokontroler.
2.3 Mode-Mode Pengalamatan
Data atau operan bisa berada di tempat yang berbeda sehingga dikenal beberapa cara untuk mengakses data tersebut. Inilah yang dikenal sebagai mode pengalamatan. Beberapa mode pengalamatan yang dikenal antara lain:
(36)
22
2.3.1 Mode Pengalamatan Segera (immediate addressing mode)
Mode pengalamatan ini menggunakan konstanta. Data konstanta ini merupakan data yang menyatu dengan instruksi. Contoh instruksinya:
MOV A, #20 h
Instruksi tersebut diatas mempunyai arti bahwa data konstantanya, yaitu 20h perlu disalin ke akumulator. Tanda ‘#’ dipakai untuk menunjukan bahwa data berupa konstanta.
2.3.2 Mode Pengalamatan Langsung (direct addressing mode)
Cara ini dipakai untuk menunjuk data yang berada di suatu lokasi memori. Contoh instruksinya:
MOV A, 30h
Instruksi ini mempunyai arti agar data pada alamat 30h diambil dan dipindahkan ke akumulator. Bila diperhatikan, maka kita akan bisa lihat bahwa instruksi diatas tidak menyertakan tanda ‘#’. Tanpa tanda ‘#’, maka data diartikan sebagai alamat memori.
2.3.3 Mode Pengalamatan Tidak Langsung (indirect addressing mode)
Mode pengalamatan ini dipakai untuk mengakses data yang alamatnya berada dalam suatu register. Contoh instruksi:
MOV A, @R0
Arti dari instruksi tersebut adalah data yang alamatnya berada di register R0 disalin ke akumulator. Tanda “@” menyatakan bahwa alamat lokasi data
(37)
23
berada dalam suatu register. Jadi data tersebut sendiri tidak berada di R0. Yang berada di R0 adalah alamatnya.
2.3.4 Mode Pengalamatan Register (register addressing mode)
Mode pengalamatan ini dipakai untuk mengakses suatu data yang tersimpan dalam register. Contoh instruksi:
MOV A, R0
Arti dari instruksi diatas adalah bahwa data pada register R0 disalin ke akumulator. Jadi, berbeda dengan mode pengalamatan tidak langsung yang menjadikan register sebagai tempat penyimpanan alamat data, maka pada mode pengalamatan register ini, data disimpan langsung di register.
2.3.5 Mode Pengalamatan Berindeks
Mode pengalamatan ini dipakai untuk mengakses data yang tersimpan dalam memori program. Seperti yang telah dibahas sebelumnya, memori program bisa menyimpan data yang bisa diakses hingga 64 Kb. Keuntungan dari menyimpan data di memori program adalah karena memori program berupa ROM (non-volatile) sehingga data tersimpan terus
menerus. Contoh instruksi: MOVC, A, @A + DPTR
Arti instruksi diatas adalah data yang lokasinya disimpan di A+ DPTR dipindahkan ke akumulator. Perhatikan bahwa perintah yang digunakan adalah MOVC, bukan MOV. MOVC menandakan bahwa data yang diakses berada di memori program sedangkan MOV digunakan untuk mengakses memori data.
(38)
24 2.4 Bus-Bus Pada AT89C51
1. Bus Alamat
Bus alamat berfungsi sebagai lintasan saluran pengalamatan antara alat dengan sebuah computer. Pengalamatan ini harus ditentukan terlebih dahulu untuk menghindari terjadinya kesalahan pengiriman sebuah instruksi dan terjadinya bentrok antara dua buah alat yang bekerja secara bersamaan.
2. Bus Data
Bus data merupakan sejumlah lintasan saluran keluar-masuknya data dalam suatu mikrokontroler. Pada umumnya saluran data yang masuk sama dengan saluran data yang keluar.
3. Bus Kontrol
Bus control atau bus pengendali ini berfungsi untuk menyerempakkan operasi mikrokontroler dengan operasi luar.
2.5 INSTRUKSI-INSTRUKSI DALAM BAHASA ASEMBLER
Beberapa instruksi dasar yang umum digunakan pada pemrograman mikrokontroler AT89C51 adalah:
1. MOV, MOVC DAN MOV X
- Instruksi MOV digunakan untuk menyalin data antara 2 operand.
- Instruksi MOVC digunakan untuk menyalin data yang terdapat pada memori program internal.
(39)
25
- Instruksi MOVX digunakan untuk menyalin data yang terdapat pada memori program eksternal.
Tabel 2.4 MOV, MOVC DAN MOV X
Contoh syntax Keterangan
MOV A,R1 Salin nilai R1 ke akumulator
MOV A,@R1 Salin isi lokasi yang ditunjuk R1 ke A MOV A,P1 Salin data dari port 1 ke A
MOV P1,A Salin data pada Akumulator ke A MOVC
A,@X+DPTR
Salin data int.yang ditunjuk DPTR ke A MOVX A,@DPTR Salin data eks, yang ditunjuk DPTR ke A
MOVX @DPTR,A Salin data Akumulator ke lokasi yang ditunjuk DPTR
2. ADD DAN SUBB
1. Instruksi ADD digunakan untuk melakukan operasi penjumlahan Akumulator dengan suatu operand dan hasilnya disimpan dalam Akumulator.
2. Instruksi SUBB digunakan untuk melakukan operasi pengurangan Akumulator dengan suatu operand dan hasilnya disimpan dalam Akumulator
Tabel 2.5 Instruksi ADD DAN SUBB
Contoh Syntax Keterangan
ADD A,#20 A =A+20
ADD A,@R0 A =A+(R0)
SUBB A,B A =A-B
(40)
26 3. MUL AB DAN DIV AB
- Instruksi MUL AB digunakan untuk melakukan operasi perkalian antara Akumulator dengan Register B .Hasilnya berupa data 16 bit dengan low byte pada A dan high byte pada B.
Contoh: A =50 h B=A0h
Mul AB = 3200 maka: A=00h B= 32H
- Instruksi DIV AB digunakan untuk melakukan operasi pembagian antara Akumulator dengan Register B. Hasilnya, pembagian disimpan pada Register B.
Contoh: Misal A=FBh B=12h
DIV AB hasil =0Dh maka A=0Dh B=11h Karena, FBh= 0D ×12 + 1
4. DEC DAN INC
1. Instruksi DEC digunakan untuk melakukan pengurangan sebesar satu pada setiap operand.
2. Intruksi INC digunakan untuk melakukan penambahan sebesar satu pada setiap operand. Seprti yang terlihat pada tabel 2.6
Tabel 2.6 Instruksi DEC DAN INC
Contoh Syntax Keterangan
DEC A A = A-1
DEC @R0 (R0) = (R0)-1
INC A A = A+1
(41)
27 5. ORL,ANL DAN CPL
1. Instruksi orl digunakan untuk melakukan operasi OR antara 2 operand 2. Instruksi Anl digunakan untuk melakukan operasi AND antara 2 operand 3. Instruksi CPL digunakan untuk melakukan operasi komplemen suatu
operand
Tabel 2.7 InstruksiDEC ORL,ANL DAN CPL
Contoh Syntax Akumulator RegisterB Hasil
ORL A,B 0011 1010 1111 0000 1111 1010
ANL A,B 0011 1010 1111 0000 0011 0000
CPL A 0011 1010 ________________ 1100 0101
6. SETB Dan CLR
1. Instruksi SETB digunakan untuk memberikan logika satu pada bit operand.
2. Instruksi CLR digunakan untuk memberikan logika nol pada bit operand Mulai:
Setb p2.0
Setb Pacc.0
Clr P2.1
(42)
28 7. PUSH Dan POP
1.Intruksi PUSH digunakan untuk menyimpan operand ke dalam stack. 2.Instruksi pop digunakan untuk mengembalikan nilai operand dan stack.
PUSH 7 PUSH 6 PUSH 5
MOV R7,#04H
LoopA: MOV R6,#0FFH
LoopB: MOV R5,#0FFH
Djnz R5,$
Djnz R6,loopB
Djnz R7,loopA
Pop 5
Pop 6
Pop 7
8. JMP, JB, JNB, JZ, JNZ, DAN CJNE
1. JMP (JUMP)digunakan untuk melakukan lompatan ke suatu blok program
2. JB(jump if bit) dan JNB(jump if not bit) digunakan untuk melakukan lompatan ke suatu blok program jika nilai operand satu (bit) atau nol (not bit)
3.JZ (jump If jero) dan JNZ(jump if not jero) digunakan untuk melakukan lompatan ke suatu blok program jika nilai operand 0 (jero) atau 1 (not jero)
(43)
29
4. CJNE(compare and jump If not equal) digunakan untuk melakukan perbandingan dua operand dan lompat ke blok program lain jika tidak sama.
9. CALL Dan RET
1. Instruksi CALL digunakan untuk memanggil prosedur tertentu dalam program (sub program)
2. Instruksi RET digunakan untuk mengembalikan ke baris program yang melakukan CALL.
2.6 BEBERAPA ISTILAH DALAM PEMROGRAMAN
1. Program adalah instruksi –instruksi yang akan dijalankan oleh computer. Untuk membuat instruksi-instruksi tersebut dibutuhkan bahasa pemrograman seperti Bahasa assembler,bahasa visual basic, bahasa C++ dan bahasa lainnya.
2. Programmer artinya orang yang membuat program..
3. Programming Language artinya Bahasa pemrograman, yaitu Bahasa untuk membuat program misalnya bahasa program assembler.
4. High level language artinya bahasa pemrograman tingkat tinggi, misalnya bahasa turbo pascal, bahasa visual C++ dan lain sebagainnya. 5. Low Level Language adalah Bahasa tingkat rendah, misalnya Assembler. 6. Interpreter dan compiler fungsinya untuk menerjemahkan bahasa
pemrograman ke bahasa mesin. Interpreter menerjemahkan Instruksi secara baris perbaris.(program langsung dijalankan walaupun masih ada kesalahan. Compiler Menerjemahkan dahulu seluruh instruksi secara
(44)
7. 8. 9.
10
2.7 Ampli
Ampl frekue inform baris pe dibanding Sintax ad Bug artin Program dengan ko 0.Program word,exc tudo Shift
Suatu te litudo sebag ensi gelomb masi digital erbaris(prog gkan dengan dalah tata ca nya kesalaha adalah seku ode.
aplikasi a el dan
lain-Keying (AS
eknik mend gai sinyal p mbang pemb . Gambar Gam 30 gram langs n interpreter ara penulisan an dalam pr umpulan ins artinya Pro lain. SK) dapatkan bi embawanya bawa tergan
r 2.8 sinyal
mbar 2.9 Mod
sung dijala r. n kode-kod ogram struksi ,inst ogram siap
t digital un a. Dalam pr ntung pada
ASK
dulasi Digit
ankan)Com
e dalam bah
truksi-instru
pakai co
ntuk data y roses modul ada atau t
tal
mpiler lebih
hasa pemrog
uksi ini dise
ontohnya M
yang meng lasi ini kem tidak adany h cepat graman. ebut juga Microsoft ggunakan munculan ya sinyal
(45)
31
Modulasi digital merupakan proses penumpangan sinyal digital (bit stream) ke dalam sinyal carrier. Modulasi digital sebenarnya adalah proses mengubah-ubah karakteristik dan sifat gelombang pembawa (carrier) sedemikian rupa sehingga bentuk hasilnya (modulated carrier) memiliki ciri-ciri dari bit-bit (0 atau 1).Pada dasarnya dikenal 3 sistem modulasi digital yaitu: ASK, FSK, dan PSK.
Amplitude Shift Keying (ASK) adalah modulasi yang menyatakan sinyal digital 1 sebagai suatu nilai tegangan tertentu (misalnya 1 Volt) dan sinyal digital 0 sebagai sinyal digital dengan tegangan 0 Volt. Sinyal ini yang kemudian digunakan untuk menyala-mati-kan pemancar, kira-kira mirip sinyal morse.
Mekanisme kerja :
Apabila sinyal data mempunyai perbedaan dengan sinyal pembawa maka bit digital adalah 1, dan apabila sinyal data sama dengan sinyal pembawa maka bit digital adalah 0.
Frequency Shift Keying (FSK) atau pengiriman sinyal digital melalui penggeseran frekuensi. Metode ini merupakan suatu bentuk modulasi yang memungkinkan gelombang modulasi menggeser frekuensi output gelombang pembawa. Pergeseran ini terjadi antara harga-harga yang telah ditentukan semula dengan gelombang output yang tidak mempunyai fase terputus-putus.
Phase Shift Keying (PSK) atau pengiriman sinyal digital melalui pergeseran fase. Metode ini merupakan suatu bentuk modulasi fase yang memungkinkan fungsi pemodulasi fase gelombang termodulasi di antara nilai-nilai diskrit yang telah ditetapkan sebelumnya. Dalam proses modulasi ini fase dari frekuensi gelombang pembawa berubah-ubah sesuai dengan perubahan status sinyal informasi digital. Sudut fase harus mempunyai acuan kepada pemancar dan penerima.
(46)
2.7.1 Pen
RL
nerima RLP
LP434A SA
Fre
P434AAW Base
Pi Pi Pi Pi Pi Pi Pi Piequency 3
Gamba Gambar 2.1 32ed Reciver
in 1: Gnd in 2 : Digita in 3 : RSSI in 4 : Vcc in 5 : Vcc in 6 : E/D (E in 7 : Gnd in 8 : Anten
315, 418 a
Mod Supp Outpar 2.10 Pene
11 Rangkaia
r
al Data Outp
Enable = 1, na
and 433.92
dulation : AS ply Voltage put : Digitalerima RLP4
an dalam R put
Disable = 0
2 Mhz
SK: 3.3- 6.0 V l & Linear
434A
LP434A 0)
(47)
33
Tabel.2.8 data seat RPL434A
Simbol Parameter Conditions Min Typ Max Unit
Vcc Operating supply voltage
3.3 5.0V 6.0 V
Itot Operating current - 4.5 mA
Vdata Data out Idata=+200uA Vcc-0.5 - Vcc V
Gambar 2.12 Blok diagram penerima
HT12D -18 DIP-A
Gambar 2.13 HT12D
HT12D dapat mendekodekan informasi yang berisi N jumlah bit alamat dan 12- N bit data dan 8 bit sebagai bit alamat dan dalam tugas akhir ini digunakan 4 bit
(48)
34
sebagai bit data. Pada penerimaan mikrokontroler mengisyaratkan N bit pertama sebagai bit alamat dan 12 – N bit selanjutnya sebagai bit data , dengan N adalah jumlah kode alamat sinyal dari pin DN mengaktifkan diver disaat mendekodekan bit alamat dan bit data yang diterima. Mikrokontroler akan meninjau bit alamat yang diterima tiga kali berturut-turut . Jika kode bit alamat sama dengan bit alamat HT12D bit data dikodekan kemudian pin VT pada kondisi high dan hal ini berarti data yang diterima valid. Jika tidak sama maka kondisi keluaran tetap sama seperti keluaran sebelumnya lalu menerima data lagi dari RLP434A kemudian meninjau lagi bit alamat 3 kaliberturut-turut. Bit data ang keluar dari pin Dout sebelumnya telah di latch terlebih dahulu sehingga pada keluaran data akan tetap sama hingga data yang baru diterima. HT12D merupakan decoder yang merupakan seri CMOS LSIs yang dpat dimanfaatkan untuk system untuk system kendali jarak jauh.
Rangkai penerima RLP434A ini bayak digunakan pada robot dan alat komunikasi buatan manusia.
(49)
35
BAB 3
RANCANGAN SISTEM
3.1 Perancangan Blok Diagram
Untuk mempermudah perancangan sistem digunakan diagram blok sebagai langkah awal pembuatan sistem. Diagram blok menggambarkan secara umum bagaimana cara kerja rangkaian secara keseluruhan. Dibawah ini dapat dilihat diagram blok sistem yang akan dirancang. Pada Gambar 3.1 dan 3.2
antena
Gambar 3.1 Blok Diagram Pemancar
Antena
Gambar 3.2 Blok Diagram Penerima
Μikrokon
troller
II RELAY
ALARM
STARTER PEMANCAR
ASK
PENERIMA ASK
RELAY
Μikrokon
troller I TOMBOL
TOMBOL RESET
(50)
36
3.1.1 Blok Tombol
Blok ini merupakan Tombol untuk mengaktif atau menonaktifkan system keamanan dari sepeda motor.
Fungsi tombol ada tiga yaitu:
1. Tombol satu untuk menon aktifkan kinci kontak sepeda motor. 2. Tombol dua untuk menghidupkan stater.
3. Tombol tiga untuk menghidupkan alaram pada sepeda motor.
3.1.2 Blok Penerima ASK (amplitodo shift keying)
Blok ini selain menerima dan memproses data yang dipancarkan oleh pemancar dengan cara mengubah data sebagai input yang yang diterima sebagai data biner oleh mikrokontroller.
3.1.3 Blok Mikrokontroller Penerima
Berfungsi sebagai pengontrol atau pengendali semua kerja rangkaian, dengan cara menerima data dari penerima lalu melakukan hidup matikan relay berupa alarm dan starter.
3.1.4 Blok Relay
Blok ini ada dua fungsi yaitu: untuk mendrive alarm dan menghubungkan kabel power battery menuju kunci kontak sepeda motor.
(51)
37
3.1.5 Blok Alarm
Blok ini berfungsi untuk membunyikan alarm saat ada orang yang menghidupkan kunci kontak tetapi system keamanan sedang aktif.
3.1.6 Blok Tombol Reset
Blok ini berfungsi untuk mematikan bunyi alarm dan mengembalikan ke sistem awal.
3.1.7 Blok Starter
Blok ini berfungsi untuk menghidup dan matikan kendaraan saat relay dalam kondisi aktif, blok ini juga akan menginformasikan ke mikrokontroller jika kendaraan sudah dimatikan.
3.2 Perancangan Skematik Rangkaian
3.2.1 Rangkaian Mikrokontroller AT89C51
Rangkaian mikrokontroller ini merupakan pusat pengolah data dan pusat pengendali data. Rangkaian ini tersusun atas osilator kristal 11,0592 MHz yang berfungsi untuk membangkitkan pulsa internal dan dua buah kapasitor sebesar 30 pF yang berfungsi untuk menstabilkan frekuensi, dan terdapat kapasitor 10 uF dan resistor 10 KΩ yang berfungsi untuk rangkaian reset. I/O yang digunakan pada rangkaian mikrokontroller ini terdiri dari 6 input dan 1 output yang terletak pada P3.1 atau pin Txd mikrokontroller AT89C51 . Untuk lebih jelasnya dapat dilihat pada gambar 3.3 berikut ini.
(52)
38
F
µ
Gambar 3.3 Mikrokontroller AT89C51
3.2.2 Rangkaian Penerima
Setelah data pemancar oleh TLP434A, data mengalami transmisi kemudian untuk memperoleh data dari pemancar digunakan rangkaian penerima RLP434A yang merupakan pasangan dari TLP434A yang dapat digunakan untuk menerima data yang dikirim TLP434A dan juga sebagai demodulator linear ASK.
Data diterima oleh antenna penerima diteruskan ke RLP434A melewati pin 4 kemudian data yang diterima diproses oleh RLP434A dan didemodulasikan sehingga diperoleh data linear yang selanjutnya akan dikirimkan ke HT12D untuk proses pendekodean data. Konfigurasi pin RLP434A ditunjukkan pada gambar dibawah ini.
(53)
39
1 2 3 4
5 6 7 8
Pin 1 : pertanahan Pin 5 : Vcc
Pin 2 : keluara data digital Pin 6 : Pertahanan Pin 3 : keluaran linear Pin 7 : Pertahanan
Pin 4 : Vcc Pin 8 : Antena
Gambar 3.4 pin RLP434A
Data keluaran dari RLP434A tersebut kemudian dikirim yang masuk ke mikrokontroler yang didukung oleh komponen HT12D yang berfungsi untuk merubah data serial yang di keluarkan oleh pemancar ASK yang pada akhirnya diperoleh keluaran data parallel 4 bit yang sebelumnya di latch oleh HT12D. Selain itu data validasi atau dari pin VT di HT12D yang mengisyaratkan bahwa data yang diterima sesuai dengan data yang sebelumnya telah di kodekan oleh HT12E.
8-Address 4-Data
HT12D -18 DIP-A
(54)
40
HT12D dapat mendekodekan informasi yang berisi N jumlah bit alamat dan 12- N bit data dan 8 bit sebagai bit alamat dan dalam tugas akhir ini digunakan 4 bit sebagai bit data. Pada penerimaan mikrokontroler mengisyaratkan N bit pertama sebagai bit alamat dan 12 – N bit selanjutnya sebagai bit data , dengan N adalah jumlah kode alamat sinyal dari pin DN mengaktifkan diver disaat mendekodekan bit alamat dan bit data yang diterima. Mikrokontroler akan meninjau bit alamat yang diterima tiga kali berturut-turut . Jika kode bit alamat sama dengan bit alamat HT12D bit data dikodekan kemudian pin VT pada kondisi high dan hal ini berarti data yang diterima valid. Jika tidak sama maka kondisi keluaran tetap sama seperti keluaran sebelumnya lalu menerima data lagi dari RLP434A kemudian meninjau lagi bit alamat 3 kaliberturut-turut. Bit data ang keluar dari pin Dout sebelumnya telah di latch terlebih dahulu sehingga pada keluaran data akan tetap sama hingga data yang baru diterima. HT12D merupakan decoder yang merupakan seri CMOS LSIs yang dpat dimanfaatkan untuk system untuk system kendali jarak jauh.
Rangkaian modul penerima ASK ini sama beroperasinya dengan rangkaian pemancar ASK yaitu pada frekuensi 315, 418 dan 433,92 Mhz. Modul ini berfungsi untuk menerima data pada modulasi ASK, dimana data yang diterima adalah dari data yang dipancarkan oleh modul pemancar ASK . Pada modul ini di dukung oleh komponen HT12D yang berfungsi untuk merubah data serial (yang dikeluarkan oleh pemancar ASK) menjadi data parallel 4 bit (yang masuk ke mikrokontroller).
(55)
41
Rangkaian ini bekerja bila ada data yang diterima oleh penerima ASK. Jika ada data maka output serial akan diberikan ke komponen HT12D untuk di rubah menjadi data parallel 4 bit (D0 hingga D3). Jika ada data yang masuk, maka pada pin DIN akan berlogika 0, lalu data 4 bit akan masuk ke pin D0 hingga pin D3. dapat dilihat pada gambar 3.9 dan gambar 3.10.
Gambar 3.6 Skema Rangkaian bagian penerima
Gambar 3.7 Rangkaian Modul Penerima ASK
Pada modul ini diberikan komponen dip switch pada HT12D yang berfungsi sebagai address. Sedangkan data di letakkan pada pin D0 hingga D3.
(56)
42
3.2.3 Rangkain Driver Relay
Komponen yang digunakan pada perancangan rangkaian driver relay ini adalah : Opto-Coupler (4N25), BC 547, Dioda IN 4002, Resistor 1KΩ, serta Relay 12V. Rangkaian driver relay ini merupakan rangkaian yang menjadi penghubung kabel power dari battery menuju ke sistem starter kendaraan dan juga untuk menghubungkan alarm ke tegangan 12V yang terdapat pada gambar 3.8
Gambar 3.8 Rangkaian Driver Relay
Pada perancangan driver relay ini digunakan 4N25. 4N25 merupakan sebuah Optocoupler yang dapat memperkuat data keluaran dari mikrokontroler. Driver dengan menggunakan 4N25 ini juga sangat cocok untuk mengamankan mikrokontroller jika terjadi bounching pada beban saat relay dalam keadaan ON.
Jika mikrokontroler mengirimkan perintah untuk mengaktifkan 4N25, maka optocoupler akan aktif atau ON karena photo transistor menerima sinyal yang dikirimkan oleh infra red pada optocoupler.Kemudian data tersebut tersebut dikirimkan oleh 4N25 ke transistor BC 547 dengan demikian BC 547 akan aktif sebagai saklar posisi ON.
(57)
43
Lalu data tersebut akan mengaktifkan relay sehingga relay menjadi ON, dimana pada awalnya relay dalam kondisi Normally Close akan berubah aktif menjadi Normally Open. Pada saat relay aktif pada kondisi ON, maka relay bertindak sebagai saklar dan mengalirkan tegangan dari battery menuju sistem starter kendaraan.
3.2.4 Rangkaian Tombol Reset
Adapun fungsi dari tombol ini adalah untuk mematikan alarm jika berbunyi. Adapun gambar dari rangkaian ini adalah sebagai berikut: gambar 3.9
Gambar 3.9 Rangkaian Tombol Reset
Pada saat alarm berbunyi akibat adanya pengguna kendaraan yang tidak mematikan fungsi sistem alarm, maka dengan menekan tombol reset ini alarm akan berhenti berbunyi. Setelah alarm berhenti, maka program akan kembali ke program awal.
(58)
44
3.3 Bahan, Peralatan dan Metode
3.3.1 Bahan
Bahan yang dipergunakan: IC AT89C51,Pemancar dan Penerima ASK, Relay,Alaram, Stater, PCB kosong, Kertas kalender, Spidol permanen, Gosokan, Pelarutan PCB, Swiht toggle.
3.3.2 Peralatan
Peralatan yang digunakan: Multitester, Toollset, Solder, Bor PCB, DT-HIQ, PC (personal computer),gergaji.
3.3.3 Metode perancangan
Sebelum melakakan praktek perancangan metode yang digukanan dalam perancangan ini adalah metode eksperimen. Perancangan yang dilakukan untuk pembuatan rangkaian untuk dengan menggunakan IC AT89C51.
3.4 Perancangan Software
Perancangan software merupakan kunci utama dalam mengendalikan perangkat keras yang ada di dalam sistem. Software ini berupa program yang dirancang, kemudian hasil dari perancangan program tersebut akan diisikan kedalam komponen mikrokontroller AT89C51 melalui downlowdernya. Sebelum merancang terlebih dahulu diharus perancang flowchart. Adapun flowchart yang dirancang seperti yang ada pada gambar 3.13
(59)
45
Gambar 3.10 FlowChart Sistem Penerima
START
Baca Data ASK
Apakah Data 01 Hidupkan Sepeda Motor Y N Apakah Data 02 Matikan Sepeda Motor Y N Apakah Data 03 Aktif/Non Aktifkan Sistem Y N Y Check Sistem Alarm Apakah Sedang Aktif Hidupkan Alarm Check Tombol Reset Apakah Ditekan ? STOP Matika alaram N N N Anten Y Ke pengaturan awal
(60)
46
3.5 Pembuatan Layout Dan Pemasangan Komponen Ke PCB
3.5.1 Langkah – langkah pada pembuatan layout
Untuk mempermudah perencanaan PCB maka penulis membuat keseluruhan system ini pada papan PCB. Dalam PCB yang digunakan adalah PCB single layer. Papan PCB tersebut terdiri dari:
1. Rangkaian Sistem Minimum Mikrokontroler
Perancangan PCB ini dilakukan dengan membuat tata letak komponen sesuai dengan unsur estetika dan pertimbangan fungsi- fungsi komponen. Dalam pembuatan jalur PCB ini menggunakan Eagle . Ada beberapa hal yang perlu diperhatikan dalam pembuatan jalur PCB, antara lain:
a. Menghindari pembelokan yang tajam pada jalur. b. Membuat jalur yang sependek mungkin.
c. Menghindari terjadinya hubungan singkat. d. Mengusahakan jumper seminim mungkin. 2. Merancang PCB dengan software EAGLE 5.60
Untuk merancang PCB pada tugas akhir ini penulis menggunakan software EAGLE 5.60 adapun langkah langkah dalam melakukannya yaitu dengan cara sebagai berikut:
a. Langkah pertama untuk mejalankan software adalah dengan membuka menu eagle dari menu start atau langsung pada shortcut layer dengan mengklik kiri dua kali, hingga muncul gambar seperti dibawah ini: Pilih file kemudian schematic
(61)
47
Gambar 3.11 control panel eagle 5.60
b. Setelah muncul lembar kerja, untuk memilih komponen yang akan dipakai pada rangkaian pilih symbol berikut:
Gambar 3.12 lembar kerja eagle 5.60
a. Secematik rangkaian minimalis mikrokontroller
(62)
48
c. Proses konversi scematik menjadi layout
Gambar 3.14 pengubahan dari schematic menjadi layout
d. Menentukan display atau tampilan layer
Gambar 3.15 perngaturan warna tampilan
e. Kemudian memprint layout yang sudah selesai dari menu file
(63)
49
Gambar 3.17 layout finis
3.5.2 Penyablonan dan penbuatan jalur
1. Menyediakan papan PCB kosong
Gambar 3.18 Gambar PCB kosong 2. Penyablonan ke PCB
(64)
50
Gambar 3.20 Kertas kalender ditutup dengan kertas polos
Gambar 3.21 Penggosokan pada PCB 3. Penyucian PCB
Gambar 3.22 Prendaman PCB
(65)
51
Gambar 3.24 Hasil setelah selesai pelarutan 4. Pengeboran PCB
Gambar 3.25 Pengeboran papan PCB 5. Pemasangan komponen pada PCB
Gambar 3.26 Pemasangan komponen pada PCB 6. Penyolderan Kaki Komponen
Setelah pembuatan PCB selesai, langkah selanjutnya adalah pemasaagan komponen pada PCB, sebelum komponen dipasang pada PCB hendaknya komponen yang digunakan diuji dan diukur terlebih dahulu dengan tujuan komponen tersebut layak pakai. Pemasangan atau penyolderan komponen ini dilakukan dengan memperhatikan beberapa hal yang berhubungan dengan kondisi komponen antara lain:
(66)
52
a. Waktu dan lamanya penyolderan jangan terlalu lama untuk menghindari rusaknya komponen.
b. Menggunakan pengamanan untuk komponen tertentu yang sensitif terhadap panas seperti soket IC, bertujuan untuk mempermudah penggantian IC bila mengalami kerusakan.
Gambar 3.27 Penyolderan kaki komponen
3.6 Pengcompile Program
Langkah – langkah pengcompile program :
1. Membuat program pada notepad dengan nama file AT89C51.
2. Menyimpan program dengan ekstensi (*.asm) ke dalam folder ASM51. 3. Mengetik nama file yang akan dicompiler pada command promp.user yang
sudah tersimpan pada folder ASM 51 yang terdapat pada gambar 3.29 dan setelah itu klik Enter maka maka file akan menjadi file hex.
(67)
53
3.7 Pengisian Program Dari DT-HIQ Programmer
Langkah – langkah untuk pengisian program dari DT-HIQ ke dalam IC AT89C51 :
1. Menghubungkan DT-HIQ programmer dengan computer dan catudaya yang terdapat pada gambar 3.32.
2. Masukkan IC AT89C51 ke dalam soket ZIF pada DT-HIQ programmer. 3. Ambil kode dengan perintah “ Load File”. Dan buka file AT89C51. 4. Deteksi IC AT 89C51 dengan perintah “MCS-51 Device Detect”.
5. Memprogram IC AT89C51 dengan perintah “Auto”. Untuk melakukan perintah “Auto”, klik tombol Auto programming.
6. Proses pemrograman akan ditampilkan pada status bar. Saat pemrograman sudah selesai, maka akan tampil tulisan “Verify Complite” akan ditampilkan pada status bar.
Gambar 3.29 Hubungan antara DT-HiQ programmer, PC, dan CatuDaya
Pada saat pengisian program ke IC AT89C51 maka kita membuka DT-HIQ Programmer maka maka mengambil perintah load file dan membuka file HEX yang terdapat pada gambar 3.33
(68)
54
Gambar 3.30 Program sebelum masuk ke IC
Setelah program masuk ke IC AT89C51 maka tampilan pada DT-HIQ programmer terdapat pada Gambar 3.34
Gambar 3.31 Program yang telah terisi ke IC 7. Fungsi Toolbar
Load File : Membuka file Intel HEX atau file biner dan memasukann ke dalam File buffer.
Save File : Menyimpan isi Read Buffer ke dalam file Intel HEX
(69)
55
Blank Check : Memeriksa apakah IC target kosong.
Erase : Menghapus IC target.
Read Code : Membaca memori program Ic target dan memasukkannya ke dalam memori Read buffer.
Write Code : Menulis kode yang tersimpan dalam file buffer ke dalam memori program IC target.
Verify Code : Membandingkan isi file buffer dan memori program IC target.
Auto
Programming: Menjalankan serangkaian instruksi. Memori program IC target akan dihapus, diperiksa kekosongannya,
ditulis, dan diverifikasi.
MCS-51
Device Detect : Mendeteksi secara otomatis jenis IC target MCS-51.
AVR
Device Detect : Mendeteksi sacara otomatis jenis IC target AVR.
3.8 Variabel Yang Diamati
1. Pembuatan Hardware. 2. Pembuatan Software.
(70)
56
BAB 4
PENGKAJIAN SYSTEM
4.1 Pengkajian System
4.1.1. Analisa Pengujian Rangkaian Penerima ASK
Gambar. 4.1. Rangkaian Penerima ASK
Pada rangkaian Penerima ASK terdiri atas komponen HT12D dan penerima RLP434A. Proses pengiriman data dilakukan dengan cara memeriksa apakah pada pin DIN berlogika 1, jika masih berlogika 0 berarti data belum ada yang masuk, namun jika berlogika 1 maka data sudah masuk dan berada pada D0 hingga D3.
Pemasangan DIP Switch 8 bit adalah berfungsi sebagai address bit yang datanya harus sama dengan DIP Switch yang dipasang pada rangkaian pemancar ASK agar data yang dipancarkan oleh pemancar ASK akan dapat diterima oleh rangkaian penerima.
Untuk pengukuran pada kaki D0 hingga kaki D3, akan bergantung data yang diterima oleh komponen HT12D yang diterima dari penerima RLP434A, saat data
(71)
57
diterima berlogika 1 maka akan terukur tegangan sebesar 4,9V sedangkan jika diterima data berlogika 0 akan terukur tegangan sebesar 0,4V.
4.1.2. Analisa Pengujian Sistem Mikrokontroler AT89C51
Bagian ini merupakan pemroses keseluruhan dari sistem ini. Rutin yang dikerjakan ditulis dalam bahasa assembling yang selanjutnya didownload pada memori internal yang tersedia.
Mikrokontroler ini buatan ATMEL yang kompatibel dengan keluargan MCS-51, di dalamnya terdapat 4 Kbyte of In-System Reprogrammable Flash Memory, dengan 32 jalur I/O. 128 Bytes RAM. Pada rangkaian ini semua port dipakai (P0, P1, P2, P3) sebagai input dan output. Rangkaian eksternal sebagai pembangkit frekuensi yang dipakai sesuai karakteristiknya yaitu pada C2, C3 dan XTAL sedangkan untuk rangkaian reset dipergunakan komponen C1 dan R1. Dalam pengujian didapat hasil pengukuran seperti tabel 4.1 :
F
µ
(72)
58
Gambar 4.3. Aliran Arus dan Perubahan Tegangan pada Reset Otomatis
Pada saat sumber daya diaktifkan, maka kapasitor C1 sesuai dengan sifat kapasitor akan terhubung singkat pada saat itu sehingga rangkaian ekivalennya tampak pada Gambar 4.4a. Arus mengalir dari VCC langsung ke kaki RST sehingga kaki tersebut berlogika 1.
Kemudian kapasitor terisi hingga tegangan pada kapasitor (Vc) yaitu tegangan antara Vcc dan titik antara kapasitor C1 dan resistor R1 mencapai Vcc, otomatis tegangan pada R1 atau tegangan RST akan berlogika 0 (gambar 4.3b) dan proses reset selesai.
4.1.3. Analisa Pengujian Rangkaian Driver
(73)
59
Jika mikrokontroler mengirimkan perintah berupa logika 1 untuk mengaktifkan 4N25, maka optocoupler akan aktif dikarenakan infra merah akan ON (akan menyinari photo transistor) sehingga kolektor dan emitor dari photo transistor akan bersambung dan akan mengakibatkan arus dari Vcc akan mengalir melalui kolektor menujur emitor dari photo transistor hingga akan masuk ke kaki basis dari Transistor BC547 dan mengakibatkan Transistor BC547 akan ON atau aktif sebagai saklar. Sebelumnya data dari Ground akan mengalir ke basis dari transistor BC547 yang mengakibatkan transistor Cut Off.
Saat Transistor BC547 ON maka arus dari Ground akan mengalir dari emitor menuju kolektor dari Transistor BC547, dengan demikian arus dari Ground tersebut akan mengaktifkan relay dan mengakibatkan posisi relay menjadi ke Normaly Open (NO). Jika Transistor dalam keadaan CUT Off (data pada base berlogika 0) maka relay pada posisi normally close. Pada saat relay aktif pada kondisi normally open, maka relay bertindak sebagai saklar dan mengalirkan tegangan 12V terhadap beban Sirene ataupun menghubungkan ke sistem pengapian.
Dalam hal perhitungan besarnya tegangan dan arus yang masuk ke dalam 4N25 dapat kita lihat pada datasheet 4N25. Dimana arus input forwardnya adalah sebesar 10 mA, sedangkan tegangan input forwardnya adalah sebesar 1.50 V atau sebesar 1500 mV.
Jika dilihat pada datasheet transistor BC547, maka transistor BC 547 merupakan transistor NPN yang memiliki karakteristik hFE =110 dan VCE =0.6V serta
mA
(74)
60
sehingga besarnya arus yang masuk kedalam base transistor BC547 adalah:
B FE
C h xI
I = FE C B h I I = mA mA mA
IB 0.9090 1 110 100 ± = = =
Sedangkan nilai dari IE adalah: IE = IB + IC = 101 mA
Setiap relay yang digunakan pada perancangan alat ini mampu mengendalikan beban hingga 2A. Adapun hasil pengukuran yang di dapat pada titik pengukuran di atas adalah sebagai berikut:
Pada pengukuran yang dilakukan dengan menggunakan logic probe, saat sirene on, maka pada TP4 berlogika 1, pada TP5 akan berlogika 1 juga sedangkan pada TP6 akan berlogika 0 atau tegangan mendekati 0V. Pada saat sirener off, maka pada TP4 akan berlogika 0, pada TP5 akan berlogika 0, sedangkan pada TP3 akan berlogika 1.
4.1.4. Analisa Pengujian Rangkaian Tombol
Pengujian rangkaian tombol starter on dan tombol reset bertujuan untuk mengetahui bahwa rangkaian tombol dapat menghidupkan kendaraan ataupun mematikan kendaraan/alarm.
(75)
61
Gambar 4.5. Pengujian Rangkaian Tombol
Dari hasil pengujian diperoleh bahwa ketika tombol tidak ditekan tegangan keluaran yang terukur sebesar 4,9V dan ketika ditekan tegangan keluarannya 0,3V. Hasil pengujian ini sesuai dengan yang diinginkan pada perancangan karena sesuai dengan prinsip kerja dari tombol pull-up yaitu ketika tombol ditekan menghasilkan logika rendah dan ketika tidak ditekan menghasilkan logika tinggi.
4.2. Analisa Software
4.2.1. Analisa Software Penerima
Pada proses pembuatan program selalu diawali dengan penempatan awal dari program, hal ini dilakukan dengan pemberian alamat awal 0000h seperti pada perintah dibawah ini :
org 0000h
Kemudian pada rutin start, pertama-tama program akan melakukan pengecekan terhadap tombol-tombol yang sebelumnya masing-masing telah dihubungkan ke masing-masing pin dari IC mikrokontroler 89S51 yaitu port P1 dan P3.6 dan P3.5. Dan selanjutnya program akan lompat kembali ke start jika tidak ada penekanan.
(76)
62 start: jb p1.0,check
jnb p3.6,chk_status jnb p3.5,off_starter jmp start
Kemudian pada rutin chk_status isi dari buff dimasukkan ke akumulator, lalu dibandingkan dengan data 00h, jika tidak sama maka program akan lompat ke rutin alarm, namun jika sama maka program akam memeriksa port p3.7 apakah berlogika 1 atau 0, jika berlogika 0, maka program akan lompat ke rutin on_starter, namun jika berlogika 1 maka program akan memeriksa port p3.5, jika port p3.5 berlogika 0 maka program akan lompat ke rutin off_starter, namun jika berlogika 1 maka program akan lompat kembali ke start.
chk_status: mov a,buff cjne a,#00h,alarm jnb p3.7,on_starter jnb p3.5,off_starter jmp start
Pada rutin on_starter port P0.0 diberi logika 1, lalu program lompat ke rutin start.
on_starter: setb p0.0 jmp start
Pada rutin off_starter port P0.0 diberi logika 0, lalu program lompat ke rutin start
off_starter: clr p0.0 jmp start
(77)
63
Pada rutin alarm, program akan memberi logika 1 pada port p0.1 diikuti dengan lompat ke rutin delay dan selanjutnya program akan memberi logika 0 pada port p0.1 dan dilanjutkan dengan lompat ke rutin delay. Selanjutnya program akan memeriksa port p3.5 apakah berlogika 1, jika yam aka program akan lompat kembali ke rutin alarm, namun jika berlogika 0, maka program akan lompat kembali ke rutin start.
alarm: setb p0.1 call delay clr p0.1 call delay jb p3.5,alarm jmp start
Kemudian pada rutin check, pertama-tama program akan membandingkan isi dari port P1 dengan data 11101110b, jika sama maka program akan lompat ke rutin data1, namun jika tidak sama maka program akan membandingkan dengan data 11110110b, jika sama maka program akan lompat ke rutin data2, namun jika tidak sama maka program akan membandingkan dengan data 11100110b, jika sama maka program akan lompat ke rutin data3, namun jika tidak sama maka program akan lompat kembali ke start.
check: mov a,p1
chk1: cjne a,#11101110b,chk2 jmp data1
(78)
64 chk2: cjne a,#11110110b,chk3 jmp data2
chk3: cjne a,#11100110b,start jmp data3
Pada rutin data1 port P0.0 diberi logika 1, lalu program lompat ke rutin start. data1: setb p0.0
jmp start
Pada rutin data2 port P0.0 diberi logika 0, lalu program lompat ke rutin start. data2: clr p0.0
jmp start
Pada rutin data3 isi dari buff dibandingkan dengan data 00h, jika tidak sama maka program akan lompat ke rutin blank, namun jika sama maka program akan memasukkan data 0ffh ke dalam buff. Selanjutnya port p0.1
diberi logika 1 diikuti dengan lompat ke rutin delayq dan diikuti dengan memberi logika 0 pada port p0.1 serta dilanjutkan dengan lompat ke rutin start.
data3: mov a,buff cjne a,#00h,blank mov buff,#0ffh setb p0.1 call delayq clr p0.1 jmp start
(79)
65
Pada rutin blank data 00h dimasukkan ke buff. Selanjutnya port p0.1 diberi logika 1 diikuti dengan lompat ke rutin delayq dan diikuti dengan memberi logika 0 pada port p0.1 serta dilanjutkan dengan lompat ke rutin delayq, hal ini berulang sekali lagi hingga terjadi 2 kali bunyi beep.
blank: mov buff,#00h setb p0.1 call delayq clr p0.1 call delayq setb p0.1 call delayq clr p0.1 jmp start
Subroutine delayq dan delay berisikan proses penundaan waktu yang dilakukan pada saat setiap beep akan di hidupkan. Lamanya waktu tunda yang diberikan bergantung dari nilai r1, r2 dan r3, apabila nilai tersebut dinaikkan maka akan menyebabkan penundaan waktu yang lebih lama. Demikian sebaliknya jika nilai r1, r2,dan r3 dikurangi/dikecilkan maka akan mengakibatkan penundaan waktu yang lebih cepat.
delayq: mov r3,#01h del2: mov r1,#0ffh del1: mov r2,#0ffh
(80)
66 djnz r2,$
djnz r1,del1 djnz r3,del2 ret
delay: mov r3,#04h dly_2: mov r1,#0ffh dly_1: mov r2,#0ffh againn: djnz r2,againn djnz r1,dly_1 djnz r3,dly_2 ret
Pada akhir dari program akan selalu diakhiri dengan perintah end. End
(81)
67 BAB 5
KESIMPULAN DAN SARAN
5.1 KESIMPULAN
Dari hasil kerja alat dapat diambil beberapa kesimpulan dalam pembuatan alat ini. Kesimpulan yang diambil oleh penulis adalah :
1. Mikrokontroler mengirimkan data serial ke rangkaian penerima ASK, dengan menggunakan clock maka data serial tersebut diubah menjadi data parallel. Dengan adanya data parallel tersebut dapat menghidupkan alaram dan stater pada kendaraan sesuai dengan yang diinginkan.
2. Dari hasil penelitian,terlihat bahwa data yg diterima RLP434A dari pengiriman TLP434A hampir sama, hal ini menunjukkan bahwa RLP434A dapat menerima data dan TLP434A dapat mengirim data sesuai yang diinginkan.
5.2 SARAN
1. Agar dilakukan peningkatan alat ini sehingga bisa dikemas sekecil mungkin, agar pemakaian atau pemasangan dikendaran roda dua tidak terlalu rumit. 2. Penulis mengharapkan agar teman-teman mahasiswa khususnya prodi fisika
instrumentasi dapat melakukan penelitian lanjutan untuk penggunaan rangkaian mikrokontroler
(82)
67
DAFTAR PUSTAKA
Usman. 1991.Teknik Antar Muka +Pemograman Mikrocontroler AT689S52.
Jakarta. Penerbit: Andi
Tim Lab Mikroprosesor Elektronika BLPT Surabaya. 2006. Pemograman
Mikrocontroler AT89S51 Dengan C/C++M dan Assembler. Surabaya. Penerbit : Andi
Suhata,ST. 2005. VB Sebagai Pusat Kendali peralatan Elektronika. Jakarta.
Penerbit : PT Alex media komputindo
Elektur , 1996. 302. Rangkaian Elektronika. Penerjemah P. Pratomo dkk. Jakarta : Percetakan PT.Gramedia
Sultan Setiawan , 2006 . Mudah dan Menyenangkan Belajar Mikrokontroler. Andi Offset
(83)
LAMPIRAN PROGRAM
Software Program Pemancar org 0000h start: mov a,p1
check1: cjne a,#00000110b,check2 jmp data1
check2: cjne a,#00000101b,check3 jmp data2
check3: cjne a,#00000011b,start jmp data3
data1: mov p0,#11101110b call delay
setb p0.4 jmp start
data2: mov p0,#11101101b call delay
setb p0.4 jmp start
data3: mov p0,#11101100b call delay
setb p0.4 jmp start
(84)
delay: mov r3,#01h del2: mov r1,#0f0h del1: mov r2,#0f0h djnz r2,$ djnz r1,del1 djnz r3,del2 ret
End
Software Program Penerima org 0000h start: jb p1.0,check jnb p3.6,chk_status jnb p3.5,off_starter jmp start
start.
chk_status: mov a,buff cjne a,#00h,alarm jnb p3.7,on_starter jnb p3.5,off_starter jmp start
on_starter: setb p0.0 jmp start off_starter: clr p0.0
(85)
jmp start alarm: setb p0.1 call delay clr p0.1 call delay jb p3.5,alarm jmp start check: mov a,p1
chk1: cjne a,#11101110b,chk2 jmp data1
chk2: cjne a,#11110110b,chk3 jmp data2
chk3: cjne a,#11100110b,start jmp data3
data1: setb p0.0 jmp start data2: clr p0.0 jmp start data3: mov a,buff cjne a,#00h,blank mov buff,#0ffh setb p0.1 call delayq clr p0.1
(86)
jmp start blank: mov buff,#00h setb p0.1 call delayq clr p0.1 call delayq setb p0.1 call delayq clr p0.1 jmp start delayq: mov r3,#01h del2: mov r1,#0ffh del1: mov r2,#0ffh djnz r2,$ djnz r1,del1 djnz r3,del2 ret
delay: mov r3,#04h dly_2: mov r1,#0ffh dly_1: mov r2,#0ffh againn: djnz r2,againn djnz r1,dly_1 djnz r3,dly_2 ret
(1)
67 BAB 5
KESIMPULAN DAN SARAN
5.1 KESIMPULAN
Dari hasil kerja alat dapat diambil beberapa kesimpulan dalam pembuatan alat ini. Kesimpulan yang diambil oleh penulis adalah :
1. Mikrokontroler mengirimkan data serial ke rangkaian penerima ASK, dengan menggunakan clock maka data serial tersebut diubah menjadi data parallel. Dengan adanya data parallel tersebut dapat menghidupkan alaram dan stater pada kendaraan sesuai dengan yang diinginkan.
2. Dari hasil penelitian,terlihat bahwa data yg diterima RLP434A dari pengiriman TLP434A hampir sama, hal ini menunjukkan bahwa RLP434A dapat menerima data dan TLP434A dapat mengirim data sesuai yang diinginkan. 5.2 SARAN
1. Agar dilakukan peningkatan alat ini sehingga bisa dikemas sekecil mungkin, agar pemakaian atau pemasangan dikendaran roda dua tidak terlalu rumit. 2. Penulis mengharapkan agar teman-teman mahasiswa khususnya prodi fisika
instrumentasi dapat melakukan penelitian lanjutan untuk penggunaan rangkaian mikrokontroler
(2)
67
DAFTAR PUSTAKA
Usman. 1991.Teknik Antar Muka +Pemograman Mikrocontroler AT689S52. Jakarta. Penerbit: Andi
Tim Lab Mikroprosesor Elektronika BLPT Surabaya. 2006. Pemograman Mikrocontroler AT89S51 Dengan C/C++M dan Assembler. Surabaya.
Penerbit : Andi
Suhata,ST. 2005. VB Sebagai Pusat Kendali peralatan Elektronika. Jakarta. Penerbit : PT Alex media komputindo
Elektur , 1996. 302. Rangkaian Elektronika. Penerjemah P. Pratomo dkk. Jakarta : Percetakan PT.Gramedia
Sultan Setiawan , 2006 . Mudah dan Menyenangkan Belajar Mikrokontroler. Andi Offset
(3)
LAMPIRAN PROGRAM
Software Program Pemancar org 0000h start: mov a,p1
check1: cjne a,#00000110b,check2 jmp data1
check2: cjne a,#00000101b,check3 jmp data2
check3: cjne a,#00000011b,start jmp data3
data1: mov p0,#11101110b call delay
setb p0.4 jmp start
data2: mov p0,#11101101b call delay
setb p0.4 jmp start
data3: mov p0,#11101100b call delay
setb p0.4 jmp start
(4)
delay: mov r3,#01h del2: mov r1,#0f0h del1: mov r2,#0f0h djnz r2,$ djnz r1,del1 djnz r3,del2 ret
End
Software Program Penerima org 0000h start: jb p1.0,check jnb p3.6,chk_status jnb p3.5,off_starter jmp start
start.
chk_status: mov a,buff cjne a,#00h,alarm jnb p3.7,on_starter jnb p3.5,off_starter jmp start
on_starter: setb p0.0 jmp start off_starter: clr p0.0
(5)
jmp start alarm: setb p0.1 call delay clr p0.1 call delay jb p3.5,alarm jmp start check: mov a,p1
chk1: cjne a,#11101110b,chk2 jmp data1
chk2: cjne a,#11110110b,chk3 jmp data2
chk3: cjne a,#11100110b,start jmp data3
data1: setb p0.0 jmp start data2: clr p0.0 jmp start data3: mov a,buff cjne a,#00h,blank mov buff,#0ffh setb p0.1 call delayq clr p0.1
(6)
jmp start blank: mov buff,#00h setb p0.1 call delayq clr p0.1 call delayq setb p0.1 call delayq clr p0.1 jmp start delayq: mov r3,#01h del2: mov r1,#0ffh del1: mov r2,#0ffh djnz r2,$ djnz r1,del1 djnz r3,del2 ret
delay: mov r3,#04h dly_2: mov r1,#0ffh dly_1: mov r2,#0ffh againn: djnz r2,againn djnz r1,dly_1 djnz r3,dly_2 ret