BAGIAN TERPANGGIL ALAT PENERIMA TAMU PADA
GEDUNG BERKAMAR BANYAK
BERBASIS MIKROKONTROLER AT89S51
TUGAS AKHIR
Diajukan untuk memenuhi salah satu syarat
memperoleh gelar Sarjana Teknik pada
Program Studi Teknik Elektro
Disusun oleh
KATHARINA FRANSISKA FERNANDEZ
NIM : 035114038
PROGRAM STUDI TEKNIK ELEKTRO
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2008
FINAL PROJECT
THE RECEIVER OF THE GUEST RECEPTIONING TOOL
IN A MULTI ROOM BUILDING BASED ON AT89S51 MICROCONTROLLER
Submitted as Partial Fulfillment Of The Requirement for
Sarjana Teknik Degree In Electrical Engineering
By:
KATHARINA FRANSISKA FERNANDEZ
Student Number: 035114038
ELECTRICAL ENGINEERING STUDY PROGRAM ELECTRICAL ENGINEERING DEPARTMENT
SCIENCE AND TECHNOLOGY FACULTY SANATA DHARMA UNIVERSITY
YOGYAKARTA 2008
LEMBAR PERNYATAAN KEASLIAN KARYA
“Saya menyatakan dengan sesungguhnya bahwa tugas akhir yang saya tulis ini
tidak memuat karya atau bagian karya orang lain,
kecuali yang telah disebutkan dalam kutipan dan daftar pustaka,
sebagaimana layaknya karya ilmiah.”
Yogyakarta, 21 Juli 2008
Katharina Fransiska Fernandez
Ku persembahkan tulisan ini untuk Bunda Maria, Tuhan Yesus, Kedua orang tua,
segenap keluarga, almamater, teman dan sahabat- sahabatku
Nilai tertinggi dari seorang manusia bukanlah di mana ia
berpijak pada saat-saat nyaman dan menyenangkan,
tetapi di mana ia berpijak pada saat-saat
tantangan dan pertentangan.
INTISARI
Alat penerima tamu biasa hanya dapat memberikan informasi berupa suara bel
yang mengindikasikan adanya tamu yang datang. Tamu tidak bisa berkomunikasi jika pemilik rumah tidak berada di rumah. Untuk mempermudah komunikasi antara tamu dan penghuni kamar, dibuat alat penerima tamu berbasis mikrokontroler.
Alat ini terdiri dari satu rangkaian master (bagian pemanggil) dan empat rangkaian slave (bagian terpanggil) yang dikendalikan oleh mikrokontroler AT89S51 serta menggunakan kabel sebagai media transmisi. Transmisi data antara mikrokontroler master dengan mikrokontroler slave menggunakan sistem komunikasi serial RS-485. Data dimasukkan melalui keypad kemudian diolah oleh control unit dan ditampilkan pada LCD. Skripsi ini membahas alat penerima tamu bagian terpanggil dengan mikrokontroler yang berfungsi untuk memberi tanggapan kepada tamu.
Alat penerima tamu ini sudah dicoba dan dapat bekerja dengan baik, terbukti sesuainya hasil perancangan dengan keluaran data pada LCD serta seluruh tombol yang ditekan.
Kata kunci : Mikrokontroler AT89S51, sistem komunikasi serial RS-485.
ABSTRACT
A guest welcoming tool usually is just a ring bell which gives an information that there is a guest. If there is no one inside the house, there will be nocommunication. A new guest welcoming tool or a receptionist tool is needed to communication between guest and the room owner. This tool consists of a master circuit (caller) and four construction of slave circuits (receiver) controlled by AT89S51 microcontroller and cable is used as a transmission media. Transmissions of data between master microcontroller and slave microcontroller use RS-485 serial communication system. Data is entered by keypad device, then processed by control unit and shown up on the LCD This report focused on the receiver part of guest welcoming tool with the microcontroller uses as receiver to give an answer or information for the guest. This device was tested and worked properly and has been proved it’s compatibility on the construction between the data shown up on the LCD and all button pushed. Keyword : AT89S51 microcontroller, RS-485 serial communication system.
KATA PENGANTAR
Puji syukur penulis panjatkan kepada Bapa disurga yang karena kasihNya yang
besar penulis dapat menyelesaikan penulisan tugas akhir yang berjudul
“ Bagian Terpanggil Alat Penerima Tamu Berbasis Mikrokontroler AT89S51”.
Tugas akhir ini merupakan salah satu syarat untuk memperoleh gelar Sarjana pada
program studi Teknik Elektro Universitas Sanata Dharma Yogyakarta.
Dalam proses penulisan tugas akhir ini penulis menyadari bahwa ada begitu
banyak pihak yang telah memberikan perhatian dan bantuan sehingga tugas akhir ini
dapat terselesaikan. Maka dari itu, penulis ingin mengucapkan terima kasih kepada :
1. Tuhan Yesus Kristus dan Bunda Maria yang telah memberikan rahmat dan
berkat-Nya serta perlindungan dan bimbingan-Nya untuk penulis.
2. Romo Ir. Gregorius Heliarko SJ.,SS.,BST.,MA.,MSC Selaku Dekan Fakultas
Teknik Universitas Sanata Dharma Yogyakarta.
3. Bapak Damar Widjaja S.T., M.T selaku pembimbing I dan bapak Martanto,
S.T, M.T selaku pembimbing II atas segala pemikiran dalam membimbing
dan mengarahkan penulis dari awal hingga akhir.
4. Seluruh dosen teknik elektro atas ilmu yang telah diberikan selama penulis
menimba ilmu di Universitas Sanata Dharma.
5. Laboran teknik elektro : mas Suryono, mas Mardi, mas Hardi, mas Broto dan
mas Yusuf, atas kerja samanya selama penulis menyelesaikan tugas akhir ini.
6. Bapak Drs.Michael Fernandez M.Pd dan Dra.Helena Theresia Wungubelan
serta ade Louis Fernandez yang mengasihi, memberi semangat dengan sangat
luar biasa, dan untuk setiap doa yang tiada henti hingga penulis dapat
menyelesaikan tugas akhir ini.
7. Opa Alex dan Oma Etta, Tanta Liliana, Om Frans serta keluarga besar
Fernandez dan Wungubelen terima kasih atas doa bagi penulis.
8. Om Drs.Garten Depari dan Tante S.S Esitha Brahmana, Kak Tica Patrisia
Depari, SH, abang Reinhart Depari SE terima kasih atas nasehat, semangat
dan doa bagi penulis.
9. ANNA , rekan penulis dalam menyelesaikan Tugas Akhir. Dah habis kata2ku
buat dirimu “ jugul” yang pasti makasi bt semuanya…..maaf klo selalu
merepotkan dirimu. Okeh….Okeh
10. DeCe ganteng dan Maria. Terima kasih atas bantuan, semangat serta tempat
yang disulap jadi laboratorium.
11. Om Dr. Inyo Yos Fernandez dan Tante Maria Veronica Hariyanti sebagai
wali orang tua selama penulis di Yogya, serta Kak Dhani, Kak Silvy, adek
Enat terima kasih atas cinta dan doa bagi penulis.
12. Bapak Gatot dan ibu Trisna, maaf anak kos yang satu ini selalu ngerepotin klo
sakit....Matheus, Geri ”chocolatos”, Ana, adek San-san...yang selalu memberi
semangat dan mendoakan penulis.
13. Frater – Frater Claretian terima kasih atas doa, dukungan dan semangat bagi
penulis....maaf selalu menghabiskan jatah makan kalian.
14. Teman- teman seperjuangan TE 03, Bang Erick, Rawung, serta teman-teman
yang lain yang belum sempat penulis sebutkan semuanya terima kasih atas
bantuan dan semangat selama penulis menyelesaikan studi.
15. Rosa “kunyuk”,Anggie“cantik”,Rangga “Ndut”, Gban, Heru….makasi ya
buat doa , semangat dan persahabatan kita slama ini
16. Teman-teman satu atap Pelangi Crew EpoT, NaniE, Ivonnezz, I_tin, Ana,
Fani, Yunita, Dhani, Tamie, Feli, Vita, Mbak Nita, Ta2, Ida Terima kasih atas
kebersamaan dalam suka duka serta doa dan dukungan untuk penulis.
17. Bang Joe Na AnNa, Alietong, Merry, SitHae, Mataraga Crew makasi atas doa
dan semangat untuk penulis.
Penulis menyadari bahwa dalam pembuatan dan penulisan tugas akhir ini
masih banyak kelemahan dan kekurangan. Oleh karena itu masukan dari semua
pihak sangat penulis harapkan. Semoga tugas akhir ini dapat bermanfaat bagi kiat
semua, Tuhan memberkati.
Yogyakarta, 21 Juli 2008
Penulis
DAFTAR ISI
Halaman
JUDUL ........................................................................................................... i
HALAMAN PENGESAHAN OLEH PEMBIMBING ............................... iii
HALAMAN PENGESAHAN OLEH PENGUJI ........................................ iv
HALAMAN PERNYATAAN KEASLIAN KARYA ................................. v
HALAMAN PERSEMBAHAN DAN MOTTO .......................................... vi
INTISARI ...................................................................................................... vii
ABSTRACT ................................................................................................... viii
LEMBAR PERNYATAAN PUBLIKASI .................................................... ix
KATA PENGANTAR ................................................................................... x
DAFTAR ISI .................................................................................................. xiii
DAFTAR GAMBAR ..................................................................................... xvi
DAFTAR TABEL ......................................................................................... xviii
BAB I. PENDAHULUAN
1.1. Judul ..................................................................................... 1
1.2. Latar Belakang Masalah ...................................................... 1
1.3. Tujuan Penelitian ................................................................. 2
1.4. Manfaat ................................................................................ 2
1.5. Batasan Masalah .................................................................. 2
1.6. Metodologi Penelitian Dan Pengambilan Data .................... 3
1.7. Sistematika Penulisan .......................................................... 4
BAB II. DASAR TEORI
2.1 Mikrokontroler AT89S51 ....................................................... 5
2.1.1 Organisasi Memori ......................................................... 6
2.1.2 Kelompok Instruksi Mikrokontroler AT89S51 ............. 10
2.1.3 Pemberian Clock pada Mikrokontroler AT89S51 ......... 14
2.1.4 Struktur AT89S51 .......................................................... 14
2.2 Komunikasi Serial ................................................................... 17
2.2.1 Pengaturan Impedansi Terminal .................................... 21
2.2.2 Pemberian Bias pada Jaringan RS-485 .......................... 23
2.2.3 Kabel Jaringan pada RS-485 .......................................... 23
2.2.4 Pengaman Jaringan RS-485 Terhadap
Beda Potensial Listrik .................................................... 24
2.3 Buzzer ..................................................................................... 27
2.4 Transistor sebagai saklar ......................................................... 28
2.5 LCD ( Liquid Crystal Display ) .............................................. 30
2.5.1 LCD dengan Driver HD44780U .................................... 32
2.5.1.1 Register .............................................................. 33
2.5.1.2 BF (Busy Flag) ................................................... 34
2.5.1.3 AC (Address Counter) ....................................... 34
2.5.1.4 DDRAM (Display Data RAM) .......................... 34
2.5.1.5 CGROM (Character Generator ROM) ............. 35
2.5.1.6 CGRAM (Character Generator RAM) .............. 35
2.5.2 Pin LCD ......................................................................... 35
2.6 Matriks Keypad ....................................................................... 36
BAB III. PERANCANGAN
3.1 Perancangan Perangkat Keras ................................................. 40
3.1.1 Perancangan Rangkaian Mikrokontroler AT89S51 ....... 40
3.1.2 Rangkaian Osilator ......................................................... 41
3.1.3 Perancangan LCD .......................................................... 41
3.1.4 Perancangan Keypad ...................................................... 42
3.1.5 Perancangan Komunikasi Serial RS-485 ....................... 44
3.1.5.1 IC komunikasi serial RS-485 ............................. 45
3.1.5.2 Komponen Penyesuai Impedansi ....................... 46
3.1.5.3 Pemberian Bias pada Jaringan ........................... 47
3.1.6 Buzzer ............................................................................ 49
3.2 Format Frame Data ................................................................. 51
3.3 Perancangan Perangkat Lunak ................................................ 52
BAB IV. HASIL DAN PEMBAHASAN
4.1 Perangkat Keras dan Hasil Perancangan .................................... 58
4.2 Pengamatan Sistem dan Hasil Pengujian ................................... 60
4.3 Perangkat Lunak ........................................................................ 68
BAB V. PENUTUP
5.1 Kesimpulan ................................................................................ 70
5.2 Saran .......................................................................................... 70
DAFTAR PUSTAKA .................................................................................... 71
LAMPIRAN PROSEDUR SINGKAT ........................................................ L1
LAMPIRAN LISTING PROGRAM ........................................................... L2
LAMPIRAN RANGKAIAN LENGKAP .................................................... L3
LAMPIRAN DATASHEET........................................................................... L4
DAFTAR GAMBAR
Halaman
Gambar 2.1 Diagram Kotak Inti AT89S51 ..................................................... 5
Gambar 2.2 Alamat RAM Internal dan Flash PEROM AT89S51 ................. 6
Gambar 2.3 Peta Memori RAM Internal ........................................................ 7
Gambar 2.4 Peta Memori SFR AT89S51 ....................................................... 8
Gambar 2.5 Menghubungkan Kristal Sumber Detak ...................................... 14
Gambar 2.6 Diagram Pin Mikrokontroler AT89S51 ...................................... 15
Gambar 2.7 Sinyal Keluaran dari Pemancar (driver) ..................................... 19
Gambar 2.8 Sinyal Masukan untuk Penerima (receiver) ................................ 19
Gambar 2.9 (a) Rangkaian Parallel Termination ....................................... 23
Gambar 2.9 (b) AC-coupled Termination .................................................. 23
Gambar 2.10 Rangkaian Bias pada Jaringan RS-485 ..................................... 24
Gambar 2.11 Pemisahan Ground dengan Isolasi Optik .................................. 25
Gambar 2.12 Penyambungan Ground Data dan Ground Lokal
dengan Koneksi Resistor ........................................................... 25
Gambar 2.13 Sistem Proteksi Shunting Device Menggunakan Dioda Zener . 26
Gambar 2.14 Sistem Proteksi Shunting Device Menggunakan
Dioda zener dan Fuse Seri ........................................................ 27
Gambar 2.15 Rangkaian Penggerak Buzzer .................................................... 27
Gambar 2.16 Transistor dengan Prasikap Basis ............................................. 28
Gambar 2.17 Karakteristik Keluaran Transistor ............................................. 28
Gambar 2.18 Susunan Umum Layar LCD ...................................................... 31
Gambar 2.19 Dimensi Layar LCD .................................................................. 33
Gambar 2.20 DDRAM .................................................................................... 35
Gambar 2.21 Matriks Keypad 4x3 .................................................................. 37
Gambar 2.22 Rangkaian Tombol dengan Rpullup ............................................. 38
Gambar 2.23 Efek Bouncing pada saat Penekanan Tombol ........................... 38
Gambar 3.1 Diagram Blok Alat Penerima Tamu Gedung Berkamar Banyak 39
Gambar 3.2 Rangkaian Mikrokontroler AT89S51 ......................................... 40
Gambar 3.3 Rangkaian Osilator ...................................................................... 41
Gambar 3.4 Rangkaian LCD dengan Mikrokontroler .................................... 42
Gambar 3.5 Rangkaian Keypad Matrix 4x3 dengan Mikrokontroler ............. 43
Gambar 3.6 Rangkaian Komunikasi Serial RS-485 ....................................... 45
Gambar 3.7 IC RS-485 ................................................................................... 45
Gambar 3.8 Komponen Penyesuai Impedansi ................................................ 46
Gambar 3.9 Rangkaian Prasikap untuk Jaringan ............................................ 49
Gambar 3.10 Rangkaian Buzzer dengan Mikrokontroler ............................... 50
Gambar 3.11 Frame Data Asinkron ................................................................ 52
Gambar 3.12 Flowchart Program Secara Umum Bagian Terpanggil ............. 54
Gambar 3.13 Flowchart Program Proses Komunikasi ................................... 56
Gambar 3.13 ( lanjutan ) Flowchart Program Proses Komunikasi ................. 57
Gambar 4.1 Empat Buah Perangkat Keras Bagian Terpanggil ....................... 58
Gambar 4.2 Perangkat Keras Bagian Terpanggil ........................................... 59
Gambar 4.3 Sistem Transmisi Kabel .............................................................. 60
Gambar 4.4 Tampilan Awal Bagian Terpanggil ............................................. 62
Gambar 4.5 Tampilan Ada Pesan Masuk ....................................................... 62
Gambar 4.6 Tampilan Pesan dari Tamu ......................................................... 62
Gambar 4.7 Tampilan Nama Pengirim ........................................................... 63
Gambar 4.8 Tampilan Pilihan Untuk Merespon Tamu ................................... 63
Gambar 4.9 Tampilan Pesan Balasan ............................................................. 63
Gambar 4.10 Tampilan Proses Pengiriman Pesan .......................................... 64
Gambar 4.11 Tampilan Pesan Telah Diterima ................................................ 64
Gambar 4.12 Tampilan Pengirim dan Balasan Kamar 1 ................................ 66
Gambar 4.13 Tampilan Pengirim dan Balasan Kamar 2 ................................ 66
Gambar 4.14 Tampilan Pengirim dan Balasan Kamar 3 ................................ 67
Gambar 4.15 Tampilan Pengirim dan Balasan Kamar 4 ................................ 67
DAFTAR TABEL
Halaman
Tabel 2.1 Fungsi dari Pin-pin IC AT89S51 .................................................... 15
Tabel 2.1 (lanjutan) Fungsi dari Pin-pin IC AT89S51 ................................... 16
Tabel 2.1 (lanjutan) Fungsi dari Pin-pin IC AT89S51 ................................... 17
Tabel 2.2 Pin LCD Hitachi ............................................................................ 36
Tabel 3.1. Kombinasi Baris dan Kolom pada Keypad Matriks 4x3 ............... 44
Tabel 4.1. Fungsi Bagian-bagian Terpanggil .................................................. 59
Tabel 4.2. Hasil Pengukuran Tegangan Keluaran
Menggunakan 1 Catu Daya ............................................................ 61
Tabel 4.3. Hasil Pengukuran Tegangan Keluaran
Menggunakan 5 Catu Daya ............................................................ 61
Tabel 4.4. Data Hasil Pengamatan dengan Kabel 3 meter .............................. 65
Tabel 4.5. Data Hasil Pengamatan dengan Kabel 20 meter dan Berbelok ..... 65
Tabel 4.6. Data Hasil Pengamatan dengan Kabel 20 meter dan Lurus ........... 65
BAB I
PENDAHULUAN
I.1 Judul
Bagian Terpanggil Alat Penerima Tamu Pada Gedung Berkamar
Banyak Berbasis Mikrokontroler AT89S51.
I.2 Latar Belakang Masalah
Bel penerima tamu yang ada sekarang ini sudah dianggap tidak praktis
karena pemilik rumah tidak dapat mengetahui siapa tamu yang datang. Bel
penerima tamu biasa hanya dapat memberikan informasi berupa suara bel yang
mengindikasikan adanya tamu yang datang selain itu tamu tidak bisa
berkomunikasi jika pemilik rumah tidak berada di rumah [1].
Pada penelitian ini, alat penerima tamu dibuat dengan menggunakan kabel
berbasis mikrokontroler yang dikirim secara serial. Mikrokontroler merupakan
terobosan teknologi mikroprosesor yang dibuat untuk memenuhi kebutuhan pasar
dan teknologi baru, yaitu teknologi semikonduktor. Teknologi semikonduktor
mempunyai kandungan transistor yang lebih banyak namun hanya membutuhkan
ruangan yang kecil, diproduksi secara masal dan murah [2].
1
2
Alat penerima tamu dengan menggunakan kabel berbasis mikrokontroler
dapat menggantikan bel listrik yang biasa digunakan. Bel listrik yang biasa
digunakan berfungsi untuk memanggil penghuni pada gedung berkamar banyak,
sehingga penghuni tidak segera mengetahui kepada siapa tamu itu berkunjung.
Dengan permasalahan tersebut maka diperlukan alat penerima tamu pada gedung
berkamar banyak yang lebih efisien dan praktis.
I.3 Tujuan Penelitian
Tujuan dari penelitian ini adalah membuat suatu peralatan yang berfungsi
sebagai penerima tamu pada gedung yang berkamar banyak berbasis
mikrokontroler AT89S51.
1.4 Manfaat
Manfaat penelitian ini adalah tersedianya peralatan untuk menerima tamu
bagi penghuni pada gedung berkamar banyak agar dengan cepat mengetahui ada
tamu untuknya dan dapat segera memberi tanggapan tentang keberadaan dirinya.
1.5 Batasan Masalah
Penelitian ini memiliki batasan masalah sebagai berikut :
1. Terdapat empat kamar yang dipanggil.
2. Jangkauan komunikasi tidak lebih dari 20 meter.
3. Komunikasi menggunakan kabel.
3
4. Bagian terpanggil terdiri dari bagian konektor sampai komunikasi
tiap kamar.
5. Pesan ditampilkan menggunakan LCD.
6. Pesan diketik menggunakan keypad.
1.6 Metode Penelitian dan Pengambilan Data
Penelitian ini dilakukan dengan metodologi penelitian berupa :
1. Studi pustaka, yaitu dengan mengumpulkan dan mempelajari
berbagai informasi, baik dari buku, makalah maupun internet
mengenai hal-hal yang berkaitan.
2. Perancangan hardware dan software.
3. Membuat hardware dan software.
4. Melakukan pengujian hardware dan software alat penerima tamu
pada gedung berkamar banyak sehingga dapat diketahui hasil
secara realistis.
5. Pengambilan data berdasarkan hasil pengujian pada alat.
6. Menganalisis hasil pengujian dan membandingkan dengan teori
yang ada.
7. Menarik kesimpulan terhadap perancangan dan pengujian yang
telah dilakukan.
4
1.7 Sistematika Penulisan
BAB I. PENDAHULUAN
Bab ini berisi tentang judul, latar belakang masalah, tujuan penelitian,
manfaat penelitian, batasan masalah, metodologi penelitian serta
sistematika penulisan.
BAB II. DASAR TEORI
Bab ini berisi penjelasan-penjelasan umum serta persamaan matematis
yang mikrokontroler AT85S51, komunikasi serial, buzzer, transistor
sebagai saklar, LCD (Liquid Crystal Dysplay), matriks keypad, LPF (Low
Pass Filter).
BAB III. RANCANGAN PENELITIAN
Bab ini berisi tentang rancangan alat penerima tamu pada gedung berkamar
banyak berbasis mikrokontroler, yang meliputi diagram blok, penjelasan
cara kerja secara singkat dan pemilihan komponen.
BAB IV. HASIL DAN PENGAMATAN
Bab ini berisi tentang hasil dan pengamatan kerja dari perangkat keras dan
perangkat lunak yang telah dibuat.
BAB V. PENUTUP
Bab ini berisi tentang kesimpulan dan saran untuk perbaikan alat dan
penelitian alat selanjutnya.
BAB II
DASAR TEORI
2.1 Mikrokontroler AT89S51
Mikrokontroler merupakan terobosan teknologi mikroprosesor yang dibuat
untuk memenuhi kebutuhan pasar dan teknologi baru, yaitu teknologi
semikonduktor. Teknologi semikonduktor mempunyai kandungan transistor yang
lebih banyak namun hanya membutuhkan ruangan yang kecil, diproduksi secara
masal dan murah [2]. Diagram blok inti dari AT89S51 ditunjukkan pada Gambar
2.1.
Gambar 2.1 Diagram kotak inti AT89S51 [2].
Mikrokontroler AT89S51 terdiri dari CPU, Memory, Port I/O, Port Serial,
kontrol interupsi, kontrol bus, osilator, dan timer/counter seperti ditunjukkan pada
5
6
Gambar 2.4. Pada penelitian ini, pembahasan mikrokontroler dibatasi pada
organisasi memori, set instruksi, pemberian clock, serta struktur AT89S51 yang
menjelaskan kegunaan dari pin-pin IC tersebut.
2.1.1 Organisasi Memori
Semua produk AT89S51 memiliki ruang alamat memori data dan program
yang terpisah [2]. Pemisahan penyimpanan memori data dan program dapat
diakses menggunakan metode pengaksesan alamat 8 bit. Alamat RAM Internal
dan Flash PEROM AT8
9S51 ditunjukkan pada Gambar 2.2.
Gambar 2.2 Alamat RAM Internal dan Flash PEROM AT89S51 [2].
RAM Internal, Special Function Register (SFR) serta Flash PEROM
AT89S
al pada mikrokontroler AT89S51 terdiri atas:
a.
ini memiliki 8 buah register yang terdiri dari R0
sampai dengan R7. Delapan buah register tersebut dapat diubah ke
51 akan dijelaskan pada bagian berikut.
1. RAM Internal
RAM intern
Register Bank
Mikrokontroler
7
bank 1, bank 2 dan bank 3 dengan cara mengubah kondisi nilai RS0
dan RS1 pada register PSW (Program Status Word).
Bit Addressable RAM
RAM ini terletak pada alamat 20H sampai 2FH yan
b.
g dapat dialamati
ahwa alamat tersebut dapat menyimpan 8 bit
c.
pat diakses dengan
n tak langsung.
Ga bar 2.3 Peta Memori RAM Internal [2].
secara bit yang berarti b
data yang tiap bit dapat dialamati sendiri-sendiri.
RAM Keperluan Umum
RAM ini dimulai dari alamat 30H hingga 7F dan da
pengalamatan langsung da
Lokasi RAM Internal dapat dilihat pada Gambar 2.3.
m
8
2. Register Fu
AT89S51 mempunyai 21 Register Fungsi Khusus yang terletak di
r ini dapat dialamati
secara
ara bit.
digunakan untuk hampir semua operasi logika dan
b.
empunyai 4 buah port : yaitu Port 0, Port 1, Port 2 dan
yang terletak di alamat 80H, 90H, A0H dan B0H. Semua port
Gam
ngsi Khusus (Special Function Register)
alamat 80H sampai dengan FFH. Beberapa registe
bit. Gambar 2.4 menunjukkan peta Register Fungsi Khusus.
a. Akumulator
Register ini terletak di alamat E0H dan dapat dialamati sec
Akumulator
aritmatika.
Port
AT89S51 m
Port 3
tersebut dapat dialamati secara bit sehingga dapat dilakukan perubahan
bit data pada salah satu port tanpa mengganggu port yang lain.
bar 2.4 Peta Memori SFR AT89S51 [2].
9
c. PSW (Prog
PSW beris ritmatika dan
d.
digunakan bersama akumulator untuk proses aritmatika
kan untuk register biasa dan dapat dialamati secara bit.
e.
.
erhubungan dengan stack ini biasa dilakukan oleh
f.
bit. DPTR biasa
uk mengakses data yang terletak di memori external.
g.
r 0
er 0 terletak di alamat 84H untuk TL0 dan 8CH untuk
h.
erupakan on chip serial port yang digunakan untuk
asi dengan peralatan yang menggunakan serial
port.
ram Status Word)
i data bit hasil eksekusi program seperti hasil a
logika.
Register B
Register ini
selain diguna
Stack Pointer
Stack Pointer merupakan register 8 bit yang terletak di alamat 81H
Proses yang b
instruksi-instruksi Push, Pop, Acall dan sebagainya.
Data pointer
Data pointer atau DPTR merupakan register 16
digunakan unt
Register Timer
AT89S51 mempunyai dua buah 16 bit Timer/Counter yaitu : time
dan timer 1. Tim
TH0, sedangkan Timer 1 terletak di alamat 8BH untuk TL1 dan 8DH
untuk TH1
Serial Port Register
Port ini m
melakukan komunik
10
i.
as interupsi. Interupsi secara otomatis akan dimatikan bila sistem
ikembalikan pada keadaan semula. Register yang behubungan dengan
errupt Enable Register (IE) pada alamat A8H dan
3. Fla
dan mer. Program yang
terdapat pada Flash PEROM akan dieksekusi jika sistem dikembalikan
semula. Bila sistem tersebut telah dikembalikan pada
keadaa
2.1.2 K
kelomp asi untuk
aplikasi kontrol 8 bit, serta menyediakan berbagai macam mode pengalamatan
ternal.
Register Interupsi
Mikrokontroler ini memiliki 5 buah interupsi dengan dua level
priorit
d
interupsi adalah Int
Interupsi Priority Register (IP) pada alamat B8H.
sh PEROM
AT89S51 mempunyai 4 kilo byte Flash PEROM yang dapat ditulis
dihapus menggunakan sebuah perangkat program
pada keadaan
n semula, maka pin EA/VPP akan berlogika satu, sehingga
mikrokontroler akan aktif berdasarkan program yang ada di Flash
PEROM. Tetapi apabila pin EA/VPP berlogika nol, maka mikrokontroler
akan aktif berdasarkan program yang ada pada memori external.
elompok Instruksi Mikrokontroler AT89S51
Semua anggota keluarga mikrokontroler AT89S51 mengeksekusi
ok instruksi yang sama [2]. Kelompok instruksi ini telah dioptim
yang cepat untuk mengakses RAM internal dan RAM ex
11
Bagian berikut ini akan menjabarkan mengenai mode-mode pengalamatan
tersebut serta berbagai macam instruksi yang dipergunakan dalam pemrograman
AT89S51, antara lain instruksi logika, aritmatika, transfer data, boolean, serta
instruksi lompat.
1.
pengamatan langsung, masukan data ditentukan berdasarkan
lam satu instruksi. Hanya RAM data internal
sing)
ra tak langsung. Register
Stack Pointer dari
c.
mikian bisa
ode instruksi karena tidak memerlukan
Mode-mode Pengalamatan
Mode-mode pengalamatan dapat dikelompokkan menjadi [2] :
a. Pengalamatan Langsung (Direct Addressing)
Dalam
alamat 8 bit (1 byte) da
dan SFR yang bisa diakses secara langsung.
b. Pengalamatan Tak Langsung (Indirect Addres
Dalam pengalamatan tak langsung, instruksi menentukan suatu register
yang digunakan untuk menyimpan alamat masukan. Baik RAM
internal maupun eksternal dapat diakses seca
alamat untuk alamat-alamat 8 bit bisa menggunakan
register bank yang dipilih. Sedangkan untuk alamat yang 16 bit hanya
bisa menggunakan register pointer dat 16 bit atau DPTR.
Instruksi-Instruksi Register
Register bank, yang masing-masing berisi 8 register, dapat diakses
melalui instruksi dengan kode masukan yang mengandung 3 bit
spesifikasi register. Akses register dengan cara de
menghemat penggunaan k
12
sebuah byte untuk alamat. Saat instruksi tersebut dikerjakan, satu dari
delapan register pada bank yang terpilih yang diakses.
Konstanta Segera (Immediate Constant)
Nilai dari suatu konstanta dapat segera menyatu dengan masukan kode
dalam memori program. Misalnya, instruksi : MOV A,#100, yang akan
menyimpan konstanta 100 (desimal) ke dalam akumulator. Bilangan
d.
dalam format heksa sebagai
e.
ini, alamat tujuan dari instruksi lompat (jump)
(base pointer) dengan
2. Ins
beb
contoh instruksi aritmatika antara lain ADD, ADDC, SUBB, DEC, INC.
si
yang sama tersebut bisa juga dituliskan
64h ( MOV A,#64h ).
Pengalamatan Terindeks (Indexed Addressing)
Memori program hanya bisa diakses melalui pengamatan terindeks.
Pengalamatan terindeks digunakan dalam instruksi-instruksi “ lompat
bersyarat”. Dalam hal
dihitung sebagai jumlah dari penunjuk dasar
data akumulator.
truksi Aritmatika
Instruksi-instruksi aritmatika selalu melibatkan akumulator, hanya
erapa yang melibatkan register lainnya (DPTR dan lain-lain). Beberapa
3. Instruksi Logika
Instruksi logika digunakan untuk melakukan operasi logika AND
(instruksi ANL), OR(instruksi ORL), XOR (instruksi XRL), operasi clear
(instruksi CLR) dan NOT (instruksi CPL) pada suatu byte dan beropera
13
pada m
4.
l,
MOV dan MOVC serta transfer data yang
mengak
5.
Instruksi boolean digunakan pada operasi bit dan
pada internal RAM yang merupakan bit addressable.
Contoh
6.
alamat perintah
h CPU. Instruksi lompat ini dapat dibagi menjadi
dua m
asing-masing bit. Instruksi putar atau rotate (RL A, RLC A dan
lainnya) akan menggeser isi akumulator 1 bit ke kanan atau ke kiri.
Instruksi Transfer Data
Instruksi transfer data dapat dibagi menjadi 2 macam, yaitu
instruksi transfer data yang mengakses ruang memori interna
menggunakan instruksi
ses ruang memori external menggunakan instruksi MOVX.
Pengaksesan ruang memori external menggunakan Data Pointer (DPTR)
sebesar 16 bit.
Instruksi Boolean
Mikrokontroler AT89S51 memiliki sebuah prosesor boolean yang
cukup lengkap.
melibatkan alamat
instruksi Boolean antara lain ANL, SETB, CLR.
Instruksi Lompat (jump)
Instruksi lompat (jump) merupakan perintah yang digunakan pada
mikrokontroler AT89S51 untuk melakukan perpindahan
yang akan dieksekusi ole
acam, yaitu instruksi lompat tak bersyarat (antara lain instruksi
LJMP, AJMP, SJMP) dan instruksi lompat bersyarat (antara lain instruksi
JZ, CJNE dan DJNZ).
14
2.1.3 P
51 memiliki osilator yang tersedia pada kemasan
IC tersebut (on chip) sebagai sumber detak (clock) [2]. Untuk menggunakannya,
kaki XTAL 1 dan XTAL 2 pada mikrokontroler AT89S51 dihubungkan dengan
e ground. Gambar 2.5
menunj
Gamb er Detak [2].
2.1.4 Struktur T89S51
Mikrokontroler AT89S51 mempunyai 40 pin, 32 pin di antaranya
digunakan se in, sehingga
2 pin membentuk 4 buah port paralel, yang masing-masing dikenal sebagai Port
3. Diagram pin mikrokontroler AT89S51 secara
emberian Clock pada Mikrokontroler AT89S51
Mikrokontroler AT89S
sebuah kristal keramik dan kapasitor yang dihubungkan k
ukkan cara menghubungkan kristal sumber detak dengan mikrokontroler
AT89S51. Besar kapasitor yang terhubung dengan sumber detak tergantung dari
jenis sumber detak yang dipasangkan. Bila sumber detak berupa kristal maka
besar kapasitor yang terpasang adalah 30 pF ± 10 pF dan bila jenis keramik besar
kapasitor yang terpasang adalah 40 pF ± 10pF.
ar 2.5 Menghubungkan Kristal Sumb
A
bagai port paralel [2]. Satu port paralel terdiri dari 8 p
3
0, Port 1, Port 2 dan Port
lengkap ditunjukkan pada Gambar 2.6.
15
G
Fungsi dari pin-pin IC AT89S51 pada gam
NO PIN PORT NAMA/ID FUNGSI KETERANGAN
ambar 2.6 Diagram Pin Mikrokontroler AT89S51 [2].
bar 2.6 dapat dijelaskan pada Tabel 2.1.
Tabel 2.1 Fungsi dari Pin-pin IC AT89S51 [2].
1 1-8 1 Sebagai input dengan member
Sebagai output,
output ke empat buah
Sebagai I/O biasa
logika ”1”.
port ini dapat memberikan sink
TTL 2 5 1 MOSI ut ingle
Input Serial data inp Multplay Output S
3 6 1 MISO output Multyplay Input Single Output
Serial data
4 7 1 SCK put Serial clock in
16
T el 2 utan) Fu AT8
Sr
Kondisi “1” selama 2 mc (machine cycle) pada saat osilator bekerja mikrokontroler akan dikembalikan pada keadaan semula
ab .1 (lanj ngsi dari Pin-pin IC 9S51 [2].
5 9 RST ebagai masukan eset
6 10 3 RXD Sebagai serial input port
7 11 3 TXD Sebagai serial output port
8 12 3 INT0 ai external interrupt 0 port Sebag
9 13 3 INT1 Sebagai external interrupt 1 port
10 14
3 T0 Sebagai external timer 0 input port
11 15 3 T1 Sebagai external timer 1input port
12 16 3 WR
rt
Sebagai external data memory write strobe po
13 17 3 RD ai external data memory Sebag
read strobe port
14 18 XTAL1 t
Sebagai oscillator inpu
15 19 XTAL2 Sebagai oscillator output
16 20 GND Sebagai ground 17 21-
28 2 Sebagai
I/O Port ini mempunyai internal pull up.
18 29 PSEN Merupakan sinyal baca untumemori program
k
PSEN (Enable
eksternal. PSEN akan aktif dua kali setiap cycle
Program Store )
17
Tabel 2.1 (lanjutan) Fungsi dari Pin-pin IC AT89S51 [2].
19 30 ALE (Address Latch Enable)
program input)
rasi normal, ALE akan mengeluarkan sinyal clock sebesar 1/6 dari frekuensi kristal.
Pin ini juga berfungsi sebagai masukan pulsa program (the pulse
Pada ope
20 31 Vpp atau Mengeksekusi
eksternal,
EA (External
program dari memori
mengakses program
21 32-39
0
k
Port 0 dapat berfungsi sebagai I/Obiasa, memberikan sin
22 40
VCC Sebagai suplaitegangan
2.2 Komunikasi Serial
Komunikasi secara serial cations) merupakan cara
m han data yang mudah, m komunikasi
mahal untuk kegunaan jarak jauh [3]. Komunikasi serial juga bersifat sebagai
simpleks (simplex), dupleks setengah (half duplex), dan dupleks penuh (full
serial secara asinkron, detak tidak dikirim bersama data serial.
(serial communi
eng tar lebih disebabkan siste paralel terlalu
duplex) [3,4].
Ada dua macam cara pengiriman (transmisi) secara serial yaitu
komunikasi sinkron dan komunikasi asinkron. Pada komunikasi sinkron sinyal
detak dikirim bersama-sama dengan data serial. Selanjutnya dalam transmisi data
18
Sistem transmisi data secara serial ada dua jenis [4] :
1. Tra
ding). Pada sistem
ini nilai amplitudo sinyal tergantung pada beda potensial antara penghantar sinyal
ebih tahan terhadap noise. Sistem transmisi data serial secara
S-422 dan RS-485.
r) yang
nsmisi data secara tidak seimbang (unbalanced line).
Contoh transmisi data secara tidak seimbang (unbalance line) adalah
dengan sistem RS-232 yang menggunakan sebuah kawat penghantar untuk sinyal
dan sebuah kawat penghantar untuk acuan pentanahan (groun
terhadap ground.
2. Transmisi data secara seimbang (balanced line).
Pada sistem transmisi data secara seimbang (balance line), kedua
penghantar selalu berfluktuasi saling bertolak-belakang sehingga selalu tercipta
beda potensial pada kedua penghantar. Pada sistem transmisi ini, sinyal masih
dapat terdeteksi pada jarak yang cukup jauh. Selain itu, sistem transmisi data
secara seimbang l
seimbang ini biasanya menggunakan sistem standar R
Sistem transmisi data secara serial dengan standar komunikasi serial RS-
485 dikembangkan sejak tahun 1983 dan mampu mentransmisikan data pada jarak
yang cukup jauh, yaitu 1,2 km. Standar komunikasi serial RS-485 dapat
diterapkan pada suatu jaringan telepon tunggal (party line) atau pada jaringan
multidrop (jaringan yang menggunakan topologi bus).
Ada sebanyak 32 pasang pemancar (driver)/penerima (receive
dapat disatukan pada jaringan multidrop. Sisi pemancar (driver) akan
menghasilkan tegangan sebesar 2 sampai 6 Volt yang berbeda polaritas pada
19
terminal A-B dengan acuan titik tengah ground, seperti diperlihatkan pada
Gambar 2.7. Penerima (receiver) mampu menerima data dengan nilai amplitudo
sinyal minimal + 200 mV sampai – 200mV antara terminal A-B. Sehingga sisi
penerim
a dapat menerima sinyal dengan amplitudo antara + 200 mV sampai
200mV (sinyal minimal) hingga + 6 V sampai – 6 V (sinyal maksimal) yang
masih dapat diterima, seperti yang diperlihatkan pada Gambar 2.8.
Gambar 2.7 Sinyal Keluaran dari Pemancar (driver) [4].
Gambar 2.8 Sinyal Masukan untuk Penerima (receiver) [4].
A
CB
ENABLE
(REQUIRED FOR RS-485)
+ 6
+ 2
- 2
- 6
TeganganVAB
Toleransi
Toleransi
+ 6
Vcmrentang tegangan untuk Vcm -7v > Vcm < +7v
V
+ 200mV
- 200mV
- 6 V
TeganganVAB
+Vi
-Vi ang
tega
ngan
mak
sim
u m
Daerahtran
A
B
VcmC
1/2Vi
1/2Vi
Ren
t
= Input Common Mode Voltage
sisi
20
Serial Port lebih sulit diterapkan bandingkan dengan Paralel Port. Dalam
banyak kasus, device yang dihubungkan dengan saluran serial membutuhkan
sarana untuk mengubah informasi serial kembali menjadi bentuk paralel agar
dapat diolah oleh prosesor, sarana ini antara lain UART (Universal
Asynch
Tetapi di balik itu semua, ada beberapa keunggulan Serial transfer
dib
1. Kabel serial dapat lebih panjang dari kabel paralel. Serial Port mengirimkan
informasi ‘1’ atau high sebagai tegangan antara –3 sampai –25 volt dan
informasi ‘0’ atau low sebagai tegangan antara +3 sampai +25 volt.
Sedangkan paralel port mengirimkan low dalam bentuk tegangan 0 volt dan
ang dibolehkan sebesar 50 volt,
2.
interfacing atau antarmuka yang dibutuhkan pada ujung kabel.
di
ronous Receive Transmit).
andingkan dengan paralel, antara lain :
high sebagai tegangan 5 volt. Sehingga serial port memiliki sinyal yang dapat
berayun dengan jangkauan maksimum y
dibandingkan dengan paralel port yang hanya memiliki jangkauan maksimum
5 volt saja. Sehingga kehilangan tegangan pada kabel serial tidak menjadi
masalah berarti dibandingkan dengan masalah yang dialami oleh kabel
paralel.
Jumlah kabel yang dibutuhkan untuk kabel serial jauh lebih sedikit
dibandingkan kabel paralel. Tiga utas kabel (Tx, Rx dan Ground) untuk
komunikasi serial jelas lebih sedikit dibandingkan dengan 19 sampai 25 utas
kabel untuk komunikasi paralel. Meskipun kita juga harus memperhitungkan
21
3.
lah mulai populer, antara lain electronic diary atau buku harian
Asynchronous
4.
el strobe dan status.
2.2.
seca
Pen
kec
diab bih rendah dari lebar satu bit data.
Infra Red devices atau peralatan elektronik yang menggunakan cahaya infra
merah te
elektronik, komputer palmtop dll. Tentu saja transfer data melalui infra red
lebih mudah diterapkan jika dilakukan secara serial, bukan paralel 8-bit yang
membutuhkan satu saluran infra red untuk setiap bit. IrDA-1, spesifikasi infra
red yang pertama, dapat mentransfer data dengan baudrate 115.2 kilo baud
dan telah dikaitkan (interfaced into) dengan UART (Universal
Receive Transmit).
Penggunaan mikrokontroler atau single chip microprocessor juga sudah
populer, beberapa di antaranya sudah dilengkapi dengan Serial
Communication Interface, misalnya prosesor Intel 8051 yang dilengkapi
dengan built in USART. Dengan fasilitas seperti ini prosesor dapat
berkomunikasi dengan prosesor lain melalui 2 kabel saja, yaitu TxD dan RxD,
tidak seperti komunikasi paralel yang paling tidak membutuhkan 8 kabel
belum termasuk kab
1 Pengaturan Impedansi Terminal
Pengaturan impedansi terminal dimaksudkan agar sinyal dapat terserap
ra penuh oleh penerima dan tidak berbalik ke saluran transmisi lagi [4].
gaturan impedansi terminal ini mengacu pada panjang kabel penghantar dan
epatan laju data yang digunakan. Pengaturan impedansi terminal dapat
aikan bila delay propagasi saluran data le
22
Sebagai contoh, sebuah sistem yang menggunakan kabel dengan panjang
2000 f
ta
sebany
si.
2. AC
adalah menambahkan resistor yang dipasang parallel
eet (= 609,6 m), delay propagasi saluran data dapat dihitung dengan
mengalikan panjang kabel dengan kecepatan laju propagasi yang biasanya sebesar
66% sampai 75% dari kecepatan cahaya (= 3x108 m/s). Dengan panjang kabel
2000 feet, perjalanan bolak-balik data 4000 feet dengan laju propagasi 0.66 x
kecepatan cahaya, sehingga delay propagasi sebesar 6.2 µs. Bila perjalanan da
ak tiga kali bolak-balik maka delay propagasi sebesar 18.6 µs. Karena
lebar satu bit data untuk 9600 baud adalah 104 µs, sehingga pada kasus ini
pengaturan impedansi terminal dapat diabaikan.
Ada dua macam pengaturan impedansi terminal :
1. Parallel Termination.
Parallel Termination adalah menambahkan resistor yang dipasang parallel
seperti yang diperlihatkan pada Gambar 2.9a sebagai penyesuai impedansi.
Nilai resistor ini pada umumnya sebesar 120 Ω. Nilai ini didapatkan dari nilai
impedansi intrinsic kabel penghantar transmi
-couple Termination.
AC-couple Termination
sebagai penyesuai impedansi yang dirangkai seri dengan kapasitor kecil
seperti yang diperlihatkan pada Gambar 2.9b. Kapasitor kecil berfungsi untuk
menghilangkan efek pemuatan DC.
23
(a) (b)
Gambar 2.9 (a) Rangkaian Parallel Termination (b) AC-Coupled Termination [4].
2.2.2 Pemberian Bias pada Jaringan RS-485
Pemberian bias pada jaringan ini berguna apabila jaringan dalam keadaan
kosong, maka m keadaan
irangkai pullup dengan saluran
data B
d pair [4]. Untuk sistem dua kabel digunakan single
twisted pair dan untuk sistem empat kabel menggunakan two twisted pair.
ah menyatu dengan kabel twisted pair.
sinyal dalam keadaan menunggu (idle) dan tidak dala
mengambang (tidak tentu) [4]. Untuk memelihara status idle dalam keadaan
jaringan kosong, perlu dipasang resistor yang d
terhadap Vcc (pada umumnya bernilai +5 Volt) dan resistor pulldown pada
saluran data A terhadap ground. Rangkaian bias pada jaringan RS-485 dapat
dilihat pada Gambar 2.10.
2.2.3 Kabel Jaringan pada RS-485
Penggunaan kabel untuk jaringan komunikasi RS-485 pada umumnya
menggunakan kabel twiste
Seringkali penghantar untuk ground tel
Rugi–rugi transmisi disebabkan oleh beberapa faktor antara lain : rugi–
rugi sinyal AC, rugi–rugi hantaran DC, kebocoran arus dan rugi–rugi dielektrik.
24
Untuk kabel dengan kualitas tinggi, rugi–rugi penghantar dan rugi–rugi dielektrik
merupakan faktor yang sangat penting.
ambar 2.10 Rangkaian Bias pada Jaringan RS-485 [4].
2.2.4 Pengaman Jaringan RS-485 Terhadap Beda Potensial Listrik
Sistem komunikasi dengan standar RS-485 menggunakan dasar sistem
perbedaan pot al 6 Volt
]. Jauhnya jarak antar sistem memungkinkan nilai amplitudo sinyal dapat
erbeda.
Untuk
G
ensial sinyal dengan besar nilai perbedaan sinyal maksim
[4
berbeda karena setiap sistem menggunakan acuan ground lokal yang b
itu perlu dibedakan antara ground sinyal dengan referensi sinyal. Referensi
sinyal merupakan ground yang digunakan sebagai referensi sinyal komunikasi.
Ground sinyal adalah grounding lokal yang dapat juga mempunyai beda potensial
terhadap ground referensi.
25
Ada dua cara untuk menanggulangi perbedaan ground yang dapat
mengakibatkan perbedaan amplitudo sinyal, yaitu :
1. Memisahkan antara ground data dengan ground lokal/casing/ground power
men
.
.12.
Gambar 2.12 Penyambungan Ground Data dan Ground Lokal
dengan Koneksi Resistor [4].
ggunakan koneksi optik (dapat berupa optocoupler atau komponen optik
yang lain) seperti ditunjukkan pada Gambar 2.11
2. Menyambungkan ground data dan ground lokal/ground power menggunakan
konektor dengan impedansi rendah (dapat berupa resistor dengan nilai
resistansi kecil) seperti ditunjukkan pada Gambar 2
Gambar 2.11 Pemisahan Ground dengan Isolasi Optik [4].
26
Ada pula cara pengamanan yang lain, yaitu dengan metode shunting
device. Metode ini memiliki dua cara yang memiliki kelebihan masing–masing :
1. Car
n
2.
Gambar 2.14.
Gambar 2.13 Sistem Proteksi Shunting Device Menggunakan Dioda Zener [4].
a pertama adalah dengan memasang dioda zener bolak-balik secara shunt
terhadap penghantar jaringan. Dioda dirangkai shunt terhadap ground ataupu
terhadap masing–masing penghantar jaringan. Sedangkan kelebihan cara ini
adalah memberi proteksi terhadap arus yang tinggi. Kelemahannya adalah
memiliki batas ambang tegangan yang tinggi dan tingkat pengamanannya
lambat seperti ditunjukkan pada Gambar 2.13.
Cara kedua adalah dengan memasang dioda zener bolak balik secara shunt dan
merangkai fuse secara seri seperti terlihat pada
(a)
(b)
27
2.3 Buzzer
Buzzer digunakan sebagai penghasil bunyi. Frekuensi bunyi buzzer ini dapat
r g diinginkan dengan cara mengatur seperti program pada
mikro
Gambar 2.14 Sistem Proteksi Shunting Device Menggunakan
Dioda Zener dan Fuse Seri [4].
diatu sesuai yan
kontroler. Rangkaian penggerak buzzer diperlukan agar buzzer dapat
berbunyi, seperti pada Gambar 2.15.
Gambar 2.15 Rangkaian Penggerak Buzzer.
Nilai Re dan Rb ditentukan dengan perhitungan :
Re = VbzVecVcc −−
.................................................... (2.1) Ie
Rb = IbVb
IbVV eb−
= Re
....................................... (2.2)
28
2.4 Transistor sebagai saklar
Transistor mempunyai 3 daerah kerja yang berbeda, yaitu daerah aktif,
daerah cut-off dan daerah saturasi. Konfigurasi pemberian prasikap transistor pada
Gambar 2.16
Gamb 10].
Tansistor berada dalam = IB0. Pada keadaan
ini, beda pote t kecil, yaitu
sama dengan Vce(sat), sedangkan arus kolektor IC yang mengalir hampir sama
dengan cc c B1 B2
ce C ce ce(sat) C
cc c C ce
ar 2.16 Transistor dengan Prasikap Basis [
keadaan saturasi/jenuh saat IB
nsial antara kolektor dan emitter (Vce) adalah sanga
V /R . Jika arus basis diperbesar menjadi I atau I atau lebih besar lagi,
nilai V dan I tidak mengalami perubahan. Nilai V = V dan nilai I =
V /R . Hal inilah yang disebut dengan keadaan saturasi sebab nilai I dan V
tidak berubah walaupun arus basis bertambah besar. Karakteristik keluaran
transistor dapat ditunjukkan pada Gambar 2.17.
Gambar 2.17 Karakteristik Keluaran Transistor [10].
29
Pada daerah aktif, besar arus basis menentukan besar arus kolektor. Besar
arus kolektor sebanding dengan besar arus basis dikali dengan besar atau dapat
dikatakan harga adalah perbandingan antara arus kolektor dan arus basis. Pada
daerah ini, kol iberi prasikap
maju (f
ektor diberi prasikap balik (reverse bias) dan emitor d
orward bias). Nilai ß dapat diperoleh dari persamaan (2.3) :
B
C
II
................................................................... (2.3)
BC II ×=
=β
β …………………………………………... (2.4)
ilai IB adalah
Dan besarnya n
B
BEBBB R
VVI −= …………………………………........... (2.5)
R …………………………………..... (2.6)
cut-off, basis tidak diberi tegangan atau dengan anggapan arus
basis adalah nol. Dengan tidak adanya arus basis, berarti kolektor dan emitor
.....
ransistor adalah saturasi. Pada keadaan ini, arus
han
CCCCE IVV −= C
Pada daerah
diberi prasikap balik, sehingga
IB = 0 ............................................................. (2.7)
VCE(cut-off) = VCC .................................................................. (2.8)
Pada keadan ini, transistor berfungsi sebagai saklar dalam keadaan terbuka (off ).
Keadaan terakhir dari t
kolektor cenderung selalu tetap untuk perubahan arus basis. Pertamba
30
besarnya arus basis akan menyebabkan kenaikan arus kolektor dan penurunan
tegangan antara kolektor dan emitor, sehinga tegangan antara kolektor dan emitor
VCE = VCE ( sat ) ................................................ (2.9)
Besarnya arus kolektor adalah
C
CCVI = .................................................. (2.10) satC R)(
ungsi sebagai saklar dalam keadaan tertutup (on).
2.5 LCD ( Liquid Crystal Display )
lat yang banyak digunakan sebagai penampil karakter [5]. LCD mengandung
kul organic kental yang mengalir
seperti
gunakan untuk
menciptakan medan listrik di dalam kristal cair. Bagian-bagian yang berbeda pada
Pada keadaan ini, transistor berf
LCD (Liquid Crystal Display) atau peraga kristal cair merupakan suatu
a
kristal cair yang merupakan molekul-mole
suatu cairan, namun memiliki struktur khusus, seperti kristal. Pada waktu
semua molekul disejajarkan dalam arah yang sama, sifat-sifat optic dari kristal
akan tergantung pada arah dan polarisasi sinar yang datang. Kesejajaran molekul-
molekul dapat diubah sifat-sifat optiknya menggunakan medan listrik. Kristal cair
yang disorot dengan suatu sinar mempunyai intensitas cahaya. Intensitas cahaya
yang keluar dari kristal cair dapat dikendalikan secara elektrik. Sifat ini dapat
dimanfaatkan untuk membuat tampilan-tampilan panel datar [5,6].
Sebuah layar tampilan LCD terdiri atas dua plat kaca sejajar yang di
antaranya terdapat suatu volume tertutup yang berisi kristal cair. Elektroda-
elektroda transparan ditempelkan pada masing-masing plat dan di
31
layar a
sedikit pencahayaannya. Pada luasan yang di
sinari
kan mendapatkan tegangan yang berlainan untuk menampilkan citra yang
lebih jelas. Polarisator dilekatkan pada bagian depan dan bagian belakang layar.
Polarisator–polarisator ini yang meyebabkan sinar terpolarisasi. Seberkas sinar di
belakang plat belakang akan menerangi layar dari belakang. Sinar ini berguna
membantu pembacaan dalam kondisi gelap. Susunan layar LCD pada umumnya
dapat dilihat pada Gambar 2.17.
Pemakaian daya pada LCD lebih rendah dibanding pemakaian daya pada
LED (Light Emitting Dioda). LCD membutuhkan sumber cahaya eksternal. Hal
ini merupakan salah satu kekurangan layar LCD karena pada umumnya sukar
dilihat dalam kondisi ruang yang
cahaya, pemantul (reflector) diletakkan di belakang LCD untuk
memantulkan kembali cahaya yang melewati layar untuk intensitas yang
maksimum.
Gambar 2.18 Susunan Umum Layar LCD [5].
32
Lifetime LCD tergantung pada pencahayaan (illumination). LCD yang
paling banyak digunakan adalah LCD monokrom atau LCD dengan satu warna.
Tampilan LCD tidak seterang dan sejernih dibanding dengan layar tabung (tube
display). Untuk mengurangi masalah kesulitan melihat suatu karakter yang
ditampilkan pada LCD dalam kondisi ruang yang pencahayaannya buruk, maka
beberapa layar menggunakan suatu panel cahaya yang di dalamnya terdapat kaca
yang disebut layar electroluminescent. Tipe LCD ini mempunyai layar backlight,
yaitu layar yang mempunyai lampu di belakang panel. Penempatan lampu ini ada
yang terpisah dan ada pula yang menjadi satu dengan panel elektroluminesent.
Teknik penerangan di belakang (backlight) lainnya adalah menggunakan satu atau
dua lampu pijar (fluorescent). Kedua teknik pencahayaan ini membuat layar lebih
mudah untuk dibaca.
h jika ditempat gelap maka tampilan LCD tidak kelihatan
sedangkan tampilan LED dapat di lihat. Karena LCD tidak mengeluarkan cahaya,
maka penggunaan arus bagi LCD lebih rendah dari LED.
Penelitian ini menggunakan LCD Hitachi HD44780U yang di dalamnya
terdapat dua driver HD44780U, memori 16 byte dan memori data 80 byte [6].
LCD dengan driver HD44780 dapat menampilkan angka-angka, abjad, huruf
Perbedaan antara LCD dengan LED, dimana LCD tergantung cahaya dari
luar sedangkan LED menghasilkan cahaya. Sehingga cahaya dari luar semakin
terang, maka tampilan yang terdapat pada LCD juga semakin jelas.
Kekurangannya adala
2.5.1 LCD dengan Driver HD44780U
33
jepang kana dan juga simbol-simbol lainnya. Interface LCD HD44780U dengan
mikrokontroler AT89S51 dapat dilakukan dengan sistem 4 bit atau 8 bit. Dimensi
LCD dengan driver HD44780U yang digunakan memiliki ukuran 2x16 yang
berarti memiliki layar tampilan yang terdiri atas 2 baris dan 16 kolom, seperti
yang terlihat pada Gambar 2.18.
Gambar 2.19 Dimensi Layar LCD [6].
Total jumlah karakter yang dapat ditampilkan sekaligus dalam satu layar
adalah sebanyak 32 karakter, dengan masing-masing karakter terbentuk dari
susunan titik-titik (dot) yang berukuran 5x8. HD44780U memiliki beberapa
bagian sebagai beriku
HD44780U memiliki dua buah register 8-bit, yaitu IR (Instruction Register)
dan DR (Data Register). IR (Instruction Register) merupakan register yang hanya
dapat ditulis untuk menyimpan kode-kode instruksi seperti Display Clear, Cursor
uk alamat dari DDRAM (Display Data RAM) ataupun CGRAM
(Character Generator RAM). Sedangkan DR (Data Register) merupakan register
t [6] :
2.5.1.1 Register
Shift dan juga unt
34
yang bisa ditulis maupun dibaca untuk penyimpanan data sementara yang akan
ditulis atau dibaca dari atau ke dalam DDRAM ataupun CGRAM.
Busy Flag adalah bit yang menandakan apakah sedang
2.5.1.2 BF (Busy Flag)
terjadi operasi
internal atau tidak. Sewaktu BF (Busy Flag) bernilai “1“, driver HD44780U akan
menjalankan operasi internal, sehingga operasi selanjutnya tidak dapat dijalankan.
Agar d
2.5.1.3 AC (Address Counter)
tuk mengamati DDRAM dan juga
CGRAM.
2.5.1.4 DDRAM (Display Data RAM)
M menyimpan karakter-karakter yang dikirim (sandi ASCII) dan yang
ingin ditampilkan pada layar LCD. Register data menyimpan data sementara yang
ditulis ke DDRAM atau CGRAM dan menyimpan data sementara yang akan
dib
apat menjalankan instruksi selanjutnya, perlu diperiksa apakah busy flag
tersebut telah bernilai “0“ , atau dapat dilakukan dengan memberikan waktu yang
lebih lama dari waktu yang dibutuhkan oleh eksekusi instruksi itu sendiri di antara
instruksi pertama dengan instruksi selanjutnya.
Fungsi dari AC (Address Counter) adalah un
DDRA
aca dari DDRAM atau CGRAM. DDRAM memiliki kapasitas 80x8 bit atau 80
karakter. DDRAM dapat dilihat pada Gambar 2.20.
35
2.5.1.5 CGROM (Character Generator ROM)
CGROM merupakan ROM (Read Only Memory) berukuran 80x8 bit yang
ma embangkitkan bentuk dot matrix berukuran 5x8 maupun 5x10 dari 8-bit
kode karakter.
mpu m
Gambar 2.20 DDRAM [6].
2.5.1.6 CGRAM (Character Generator RAM)
CGRAM merupakan penghasil karakter menggunakan sandi ASCII kemudian
dikirim ke DDRAM untuk dit RAM berukuran 64x8
bit yang memungkinkan pemakai untuk memprogram bentuk karakter yang
diinginkan.
2.5.2 Pin LCD
yang
erti yang terlihat pada Tabel 2.2 [6]
ampilkan ke layar LCD. CG
LCD yang digunakan adalah LCD buatan Hitachi dengan driver HD44780U
memiliki 16 pin sep
36
Tabel 2.2 Pin LCD Hitachi [6].
No. Nama Pin Deskripsi 1 VCC +5V 2 GND 0V 3 VEE Tegangan Kontras LCD 4 RS Register Select, 0=Register Perintah, 1= Register Data 5 R/W 1=Read, 0=Write
6 E E kali pengiriman atau pembacaan data
nable Clock LCD, logika 1 setiap
7 D0 Data Bus 0 8 D1 Data Bus 1 9 D2 Data Bus 2 10 D3 Data Bus 3 11 D4 Data Bus 4 12 D5 Data Bus 5 13 D6 Data Bus 6 14 D7 Data Bus 7 15 VBL+ 4-4,2 volt 16 VBL- GND
2. Ma s Keypad
Ma ypad merupakan keypad dengan saklar yang disusun dalam
entuk baris dan kolom [7]. Sebagai contoh matriks keypad 4x3 merupakan
ris dan 3 kolom. Meskipun jumlah tombol
ada 12 tetapi hanya memerlukan 7 jalur, yaitu 4 jalur untuk baris dan 3 jalur untuk
kolom.
Pembacaan matriks keypad dilakukan dengan cara scanning process.
Scanning process adalah proses membaca tombol keypad. Scaning berarti
melakukan proses berulang-ulang dan dilakukan oleh program/software. Apabila
6 trik
triks ke
b
susunan 12 tombol yang terdiri dari 4 ba
37
tombol
Gambar 2.22 h-on engan Rpullup
yang akan menghasilkan efek bouncing [7]. Diagram waktu goncangan
(bouncing) pada tombol sewaktu ditekan maupun pada saat dilepas ditunjukkan
pada
keypad ditekan berarti akan menghubungkan suatu baris ke suatu kolom.
Gambar matriks keypad terlihat pada Gambar 2.21.
s
Gambar 2.21 Matriks Keypad 4x3 [8].
memperlihatkan rangkaian tombol pus d
Gambar 2.23. Efek bouncing terjadi ketika tombol ditekan akan
menghasilkan getaran atau sebelum mencapai keadaan stabil atau tombol tersebut
akan ON/OFF berulang-ulang.
2 3
4 5
1
6
7 8 9
* 0 #
B2
B3
B4
K1 K2
B1
K3
38
Gambar 2.22 Rangkaian Tombol dengan Rpullup [7].
Gambar 2.23 Efek bouncing pada Saat Penekanan Tombol [7].
BAB III
PERANCANGAN
Alat pemanggil penghuni gedung berkamar banyak ini terdiri dua
bagian yaitu pemanggil yang diletakan di depan pintu gedung dan bagian
terpanggil yang berada di dalam gedung dan kedua bagian tersebut dikendalikan
oleh mikrokontroler AT89S51. Media transmisi yang digunakan sebagai sarana
komunikasi kedua bagian tersebut adalah kabel dengan panjang 20 meter. Alat
pemanggil anak kos ini dapat memanggil penghuni kos setiap kamar dengan cara
membunyikan bel sesuai kamar yang dituju. Saat bel sudah berbunyi penghuni
kamar dapat memberikan respon. Sehingga pemanggil akan mengetahui
keberadaan dari penghuni kamar. Pemberitahuan keberadaan anak kos kepada
pemanggil ini berupa tampilan yang menggunakan LCD. Gambar 3.1
Gambar 3.1. Diagram Blok Alat Penerima Tamu
memperlihatkan diagram blok sistem keseluruhan
Bagian Terpanggil pada
BAGIAN PEMANGGIL RS 485
MIKROKONTROLER
AT89S51
KEYPAD LCD DAN BUZZER
TX TX
RX RX
Gedung Berkamar Banyak.
39
40
Dalam penelitian ini, penulis merancang bagian yang terpanggil pada
bagian
1 okontroler AT89S51
olah data masukan
Gambar 3.2. Rangkaian Mikrokontroler AT89S51 [8].
dalam gedung. Pada bagian ini, mikrokontroler berfungsi untuk menerima
data serial dari bagian luar gedung yang telah ditransmisikan oleh kabel.
3.1 Perancangan Perangkat Keras
3.1. Perancangan Rangkaian Mikr
Mikrokontroler pada bagian pemanggil berfungsi untuk meng
dari keypad, menampilkan karakter di LCD, dan mengirim atau menerima data
dari bagian terpanggil melalui komunikasi serial RS-485. Gambar rangkaian
mikrokontroler pada bagian terpanggil ditunjukkan pada Gambar 3.2.
Keseluruhan proses kerja dari mikrokontroler dijalankan dengan menggunakan
perangkat lunak yang akan dibahas pada bagian perancangan perangkat lunak.
U2
SN75176
43
12
6
7
85
DDE
RRE
A
B
VCC
GN
D
X111.059M
J10
Key pad 3x4
12345678
J4Gnd&Vcc
12
J7
E & RS
12
C2 30pF
J5ISP
1 2 3 4 5 6
R7
47
U1
AT89S52
91819 29
30
31
12345678
2122232425262728
1011121314151617
373635343332
3938
4020
RSTXTAL2XTAL1 PSEN
ALE/PROG
EA/VPP
P1.0P1.1P1.2P1.3P1.4P1.5 (MOSI)P1.6 (MISO)P1.7 (SCK)
P2.0/A8P2.1/A9
P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15
P3.0/RXDP3.1/TXD
P3.2/INTOP3.3/INT1
P3.4/TOP3.5/T1
P3.6/WRP3.7/RD
P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7
P0.0/AD0P0.1/AD1 VC
CG
ND
J8
DATA LCD
12345678
R6
2,2k
Q1PNP ECB
C310uF
C1 30pF
J9GN
D &
VC
C
12
R110k
J11
Buzzer
12
J6
CON4
1234
41
3.1.2 Rang
enggunakan on-chip oscillator yang membutuhkan
sebuah k
Ga
3.1.3 Perancangan LCD
kan sistem pengiriman data 8 bit sehingga diperlukan
11 buah
untuk data yang akan
dik
kaian Osilator
Rangkaian osilator m
ristal pembangkit frekuensi dan 2 buah kapasitor eksternal yang
ditunjukkan pada Gambar 3.3. Frekuensi osilator untuk mikrokontroler AT89S51
maksimal 33 MHz. Perancangan menggunakan kristal (X1) 11,0592 MHz dengan
alasan mudah didapat dan menghasilkan error minimal untuk komunikasi dengan
baud rate 1200. Kapasitor yang digunakan berkapasitansi 30pF ± 10 pF.
mbar 3.3. Rangkaian Osilator [8].
LCD mengguna
jalur untuk berhubungan dengan mikrokontroler AT89S51. Adapun
jalur – jalur tersebut dapat dilihat pada Gambar 3.4.
Kesebelas jalur tersebut terdiri atas 8 jalur
irimkan (DB0 hingga DB7) pada LCD. Jalur tersebut dihubungkan dengan
P0.0 s/d P0.1 pada mikrokontroler. Sedangkan 3 jalur masing masing yaitu
untuk membedakan jenis data yang dikirim adalah port RS (Register Select)
pada LCD, dihubungkan dengan port P1.0 pada mikrokontroler. Port R / W
(Read / Write) pada LCD untuk menandakan akan diadakan pengiriman data.
X1 11.0592 MHz
C1 30 pF
C2 30 pF
1819 20
XTAL1 G
X
ND
TAL2
AT89S51
42
Port tersebut dihubungkan dengan port P1.2 pada mikrokontroler. Sedangkan
port E (Enable) pada LCD merupakan sinyal detak adalah dan dihubungkan
dengan port P1.1 pada mikrokontroler.
3.1.4 Perancangan Keypad
Perancangan ini menggunakan keypad matriks 4x3. Keypad matriks ini
dihubungkan dengan port 2 dari mikrokontroler AT89S51 dengan empat baris
(B1–B4) dihubungkan dengan jalur P2.0...P2.3, dan tiga kolom (K1–K3)
dihubungkan dengan jalur P2.4...P2.6. Rangkaian keypad matriks dengan
mikrokontroler AT89S51 dapat dilihat pada Gambar 3.5.
Gambar 3.4. Rangkaian LCD dengan Mikrokontroler.
D6
D5
D4
TUGAS AKHIR
VCCD
2
W E L C O M E
D3
D0
U1
AT89S52
91819 29
30
31
12345678
2122232425262728
1011121314151617
373635343332
3938
4020
RSTXTAL2XTAL1 PSEN
ALE/PROG
EA/VPP
P1.0P1.1P1.2P1.3P1.4P1.5 (MOSI)P1.6 (MISO)P1.7 (SCK)
P2.0/A8P2.1/A9
P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15
P3.0/RXDP3.1/TXD
P3.2/INTOP3.3/INT1
P3.4/TOP3.5/T1
P3.6/WRP3.7/RD
P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7
P0.0/AD0P0.1/AD1 VC
CG
ND
D1
13
2
EN
B
R/
W
VCC
VCC
RS
VC
C K
GN
D A
VE
E
D7
43
Mikrokontroler.
Baris 1 sampai dengan baris 4 ( P2.0...P2.3 ) berfungsi sebagai masukan
ikrokontroler, sedangkan kolom 1 sampai dengan kolom 3 ( P2.4...P2.6 ) berfungsi
scanning
Ke aran dari mikrokontroler AT89S51 akan memberikan kondisi ‘0’
ada setiap port keluaran secara bergantian. Sehingga apabila ada tombol yang
itekan maka baris pada tombol tersebut akan memiliki kondisi ‘0’ dan
memberikan masukan pada mikrokontroler. Adapun keluaran biner penekanan
mbol keypad selengkapnya dapat dilihat pada Tabel 3.1. Keypad matriks ini
diguna yang
ipanggil dan juga untuk mengetik pesan.
Gambar 3.5. Rangkaian Keypad Matrix 4x3 dengan
m
sebagai keluaran pada mikrokontroler. Keypad matriks ini bekerja dengan sistem
tombol satu per satu.
lu
p
d
to
kan untuk memanggil penghuni rumah dengan menekan kamar mana
d
6
7
U1
AT89S52
91819 29
30
31
12345678
2122232425262728
1011121314151617
373635343332
3938
4020
RSTXTAL2XTAL1 PSEN
ALE/PROG
EA/VPP
P1.0
P1P1.3P1.4P1.5 (MOSI)
P2.6/A14P2.7/A15
P3.0/RXDP1.1
.2
P1.6 (MISO)P1.7 (SCK)
P2.0/A8P2.1/A9
P2.2/A10P2.3/A11P2.4/A12P2.5/A13
P3.1/TXDP3.2/INTOP3.3/INT1
P3.4/TOP3.5/T1
P3.6/WRP3.7/RD
P0.2/AD2P0.3/AD3P0.4/AD4
P0.1/AD1
P0.5/AD5
P0.0/AD0
VCC
D
P0.6/AD6P0.7/AD7
GN
*
8
0
9
#
1 2 3
4 5
J9GN
D &
C
VC
12
44
Tabel 3.1. Kombinasi Baris dan Kolom pada Keypad Matriks 4x3
KARAKTER P0.0 P0.1
Baris1 Baris 2
P0.2
Baris 3
P0.3
Baris 4
P0.4
Kolom 1
P0.5
Kolom 2
P0.6
Kolom 3
‘.,?”1’ 0 1 1 1 0 1 1
‘abc2ABC’ 0 1 1 1 1 0 1
‘def3DEF’ 0 1 1 1 1 1 0
‘ghi4GHI’ 1 0 1 1 0 1 1
‘jkl5JKL’ 1 0 1 1 1 0 1
‘mno6MNO’ 1 0 1 1 1 1 0
‘pqrs7PQRS’ 1 1 0 1 0 1 1
‘tuv8TUV’ 1 1 0 1 1 0 1
‘wxyz9WXYZ’ 1 1 0 1 1 1 0
‘*+’ 1 1 1 0 0 1 1
‘ 0’ 1 1 1 0 1 0 1
‘#’ 1 1 1 0 1 1 0
3.1.5
S sistem
k ia 485 munikasi seri dap a pr peng n
data dari master ke slave. da saa master elakukan pemilihan slave ka
m mengi kode ve yang dituju ke semua slave. Keem at slave an
m kode y dikir , apabi kode y g dikiri sesuai m slave an
m proses anjutn . Siste ini dipilih karena standar komunikasi ini
m erapa elebihan, antara lain l ih taha terhada noise untuk
penggunaan pada jarak yang cukup jauh (1.2 ). Ran aian ko
R 5 ditampilka ada G bar 3.6
Perancangan Komunikasi Serial RS-485
istem komunikasi yang digunakan pada perancangan ini adalah
omunikasi ser l RS- . Ko al ter at pad oses irima
Pa t m ma
aster akan rim sla p ak
endeteksi ang im la an m aka ak
elakukan sel ya m
emiliki beb k eb n p
Km gk munikasi serial
S-48 n p am .
45
1
3
4
8
6
5
2 7
47
1
3
4
6
KonektorRJ-11
2
5
+5V
+ 5VIC RS -485
2 K
D1
2,2 F
3 K
D2
D3
D4
D1-4 = Zener 6V
680120P3.0
P3.1
120
12 06802,2 F
47
P1.7
Gambar 3.6. Rangkaian Komunikasi Serial RS-485 [4].
3.1.5.1 IC komunikasi serial RS-485
Komponen utama yang digunakan pada komunikasi serial standar RS-485
yaitu IC RS-485. Ada berbagai seri IC RS-485 yang dikeluarkan pabrik
komponen elektronika, antara lain SN75176 buatan Texas Instrument, DS36C278
buatan National Semiconductor, dan MAX48x serta MAX1487 buatan MAXIM.
IC RS-485 ini memiliki 8 pin yang pengoperasianya dikonfigurasikan seperti
Gambar 3.7.
1
2
8
7
3
4
6
5
+5V+5V
Data input
IC RS-48
darimikrokontroler
5
3 K
Do / R i
Do / RiDe
Ground
Ro
ReV cc
2 K
Di
Gambar 3.7. IC RS-485 [4].
Resistor pembagi tegangan yang dipasangkan pada kaki De berfungsi
untuk memberikan Prasikap tegangan. Prasikap tegangan untuk De sebesar 3 volt.
Dengan Vcc = 5 Volt, maka penurunan tegangan VDE dapat dihitung ;
46
VDe = RbRa
Rb x Vcc .................................................................. (3.2) +
RbRaRb+ Vcc
VDe =
RbRaRb+
53 =
Jika Rb ditetapkan sebesar 3 KΩ maka Ra = 2 KΩ. Sistem yang akan
dibuat menggunakan konfigurasi jaringan multidrop 2 kabel karena digunakan
untuk komunikasi half duplex yang diatur sebagai pengirim.
3.1.5.2 Komponen Penyesuai Impedansi
Agar sinyal data yang dikeluarkan master jam dapat diterima dengan
sempurna oleh slave jam dan tidak terjadi feedback, maka perlu adanya penyesuai
impedansi pada jaringan. Penyesuai impedansi yang digunakan pada rangkaian ini
system p rallel
termination adalah memasangkan resistor secara paralel pada kabel jaringan
dengan nilai resistansi 120 Ω. Nilai resistansi ini disesuaikan dengan resistansi
intrinsik dari kabel jar gan.
Gambar 3.8. Komponen Penyesuai Impedansi [4].
adalah arallel termination seperti ditunjukkan pada Gambar 3.8. Pa
in
1
2
3
4
7
6
5
81
2
3
RJ-11+5VIC RS-485
4
5
6
KonektorResistorpenyesuaiimpedansi
120
A
B
47
3.1.5.3 Pemberian Bias pada Jaringan
Pemberian prasikap tegangan pada jaringan baik prasikap positif maupun
prasikap negatif dimaksudkan untuk menghindari keadaan sinyal yang tidak
menentu saat tidak ada data (keadaan menunggu/idle). Pemberian prasikap ini
dengan memasangkan resistor prasikap antara line A dengan ground dan resistor
antara line B dengan Vcc (+5V).
onfigurasi sistem komunikasi yang akan diimplementasikan adalah :
1. Memiliki 2 resistor penyesuai impedansi 120 Ω, yang akan dipasangkan pada
bagian pe aling jauh dari
pengirim.
2. Impedansi tiap rangkaian komunikasi RS-485 (bernilai sama untuk pengirim
3. Di
n = 3 KΩ, seperti ditunjukkan dengan :
K
ngirim dan bagian penerima yang letaknya p
dan penerima) sebesar 12 KΩ.
rencanakan ada 4 rangkaian komunikasi RS-485.
4. Tegangan catu 5 Volt dengan amplitude sinyal minimal 200 mV.
Besar nilai resistansi prasikap dihitung sebagai berikut:
1. Jumlah beban keseluruhan 4 rangkaian, masing – masing 12 KΩ dirangkai
paralel sehingga jumlah beba
Rp1 =
R1 +
R1 ....................................................................... (3.3)
121 =
R41
4R = 12
R = 3KΩ
48
2. Dirangkai paralel dengan 2 resistor penyesuai impedansi 120 Ω.
Rp1 =
11R
+ 2
1R
+ 3
1 ................................................................. (3.4) R
30001
1201
1201 = + +
300051 =
Rp = 58,8Ω
. Dengan nilai amplitude sinyal minimal 200 mV, maka arus yang dihasilkan
adalah
3
I = R
..........V .................................................................................. (3.5)
= Ω8.58
200mv
= 3.4 mA
Untuk menciptakan prasikap arus sebesar itu dengan tegangan catu 5 Volt,
maka resistor yang dibutuhkan sebesar
R = IV
= V5mA4.3
= 147
0 Ω
dan line dengan ground maka nilai resistansi bias
4. Karena prasikap resistor dipasangkan pada 2 sisi yaitu antara Vcc dengan line
21470 Ω = 735 Ω ≈ 727 Ω
(680 Ω + 47 Ω).
49
Hasilnya seperti pada Gambar 3.9. Nilai resistansi dibulatkan ke bawah
dengan pertimbangan kelebihan prasikap hanya berakibat kecil pada sistem
dibandingkan prasikap yang terlalu rendah.
Gambar 3.9. Rangkaian Prasikap untuk Jaringan [4].
3.1.6 Buzzer
Rangkaian buzzer ini menggunakan transistor A733 sebagai switching
guna mengaktifkan buzzer. Rangkaian buzzer aktif low. Frekuensi bunyi buzzer
ini dapat diatur sesuai yang diinginkan dengan cara mengatur seperti program
pada mi
krokontroler. Rangkaian buzzer dapat ditampilkan pada Gambar 3.10.
1
2
3
4
6
5
8
7
47
1
2
3
5
6
KonektorRJ-11
+5V
+5VIC RS-485680
4
680
47
A
B
50
Gambar 3.10. Rangkaian Buzzer dengan Mikrokontroler.
Kar Ic = Ie –
Ib. Dari lem rnya Vce adalah 2,5
al Ic = 100 mA.
Nilai Ie diasum
Ic = ½ Icm (3.7)
Ic = 1/2 .100m
= 50 mA
Nilai re adalah :
ena Ib sangat kecil, maka Ic ≈ Ie, sehingga arus pada buzzer
bar data transistor A733 dapat di tentukan besa
Volt dengan arus penguatan dc (hfe ) adalah 60 serta arus maksim
Perhitungan nilai Rb dan Re :
sikan 0,05 A, sehingga Ic adalah :
ax ....................................................................................
A
ievcevccre −
= ................................................................................... (3.8)
05,05,25 −
=re
re = 50 Ω
R6
2,2k
Q1PNP ECB
U1 40
AT89S52
91819 29
30
31
12345678
2122232425262728
1011121314151617
373635343332
39
P1.0P1.1P1.2P1.3P1.4P1.5 (MOSI)P1.6 (MISO)
.7
P2.0/A8P2.1/A9
P2.2/A10P2.3/A11
P2.7/A15
P3.0/RXDP3.1/TXD
P3.2/INTO
P0.2/AD2P0.3/AD3
P0.7/AD7
P0.0/AD0P0.1/AD1 VC
C
38
P2.4/A12P2.5/A13P2.6/A14
P0.4/AD4P0.5/AD5P0.6/AD6
P3.3/INT1
20
RST
XTAL1 PSENXTAL2
ALE/PROG
EA/VPP
P1 (SCK)
P3.4/TOP3.5/T1
P3.6/WRP3.7/RD
GN
DJ11
Buzzer
12
R7
47
51
Nilai Ib adalah :
hfeIcIb = ................................................................................... (3.9)
= 6005,0
= 0,000833 A
Nilai Rb adalah :
VbeVe −Ib
Rb = .................................................................................. (3.10)
= 0,000833
7,05,2 −
= 2160,864 Ω
e dipilih 47 Ω (mendekati 50) dan nilai Rb dipilih 2K2 (mendekati
Logika untuk mengaktifkan buzzer dengan logika “0” atau dengan kata
lain transistor aktif bila kaki basis dibe
rendah dari nilai tegangan yang diberikan pada Ve.
Frame Data
an data serial antar mikrokontroler yang digunakan adalah
metode er) 8
bit yang ditunjukkan pada Gambar 3.11. Sehingga setiap satu frame data yang
kan diawali dengan 1 bit start berlogika low (‘0’) , diikuti dengan 8 bit
i dari bit yang bobotnya paling kecil (bit 0 sampai bit 7) dan
berlogika high (‘1’).
Jadi nilai R
2160)
ri tegangan mendekati 0 atau pastinya lebih
3.2 Format
Dalam pengirim
asinkron mode UART ( Universal Asyncronous Receiver/Transmitt
dikirim
data yang dimula
diakhiri 1 bit stop
52
ngsung diterjemahkan dalam
bilangan biner yang sesuai dengan assembler oleh mikrokontroler.
Dalam komunikasi data, rangkaian master mengirimkan frame data ID dari
tiap rangkaian slave yang menandakan bahwa rangkaian master meminta data
dari tiap rangkaian slave. Konfigurasi ID rangkaian slave dapat ditentukan
dengan menggunakan kode ASCII yaitu kode 31h untuk ID rangkaian slave 1,
kode 33h untuk ID rangkaian slave 2, kode 37h untuk ID rangkaian slave 3
dan kode 39h untuk ID rangkaian slave 4.
berkam n bahasa
assambler
gam ar 3.12 dapat dilihat flowchart program utama dari sistem penerima tamu
bagian terpanggil. Program utama adalah program rutin yang mencakup seluruh
D7 D6 D5 D4 D2 idle
Star
idle
Stop Byte Data (D0-D7)
D0 D1 D3 1 0
Gambar 3.11 Frame Data Asinkron
Untuk pengiriman frame data serial dapat menggunakan inisialisasi operan
string yang terdiri dari karakter yang diapit tanda petik tunggal (‘) karena kode
ASCII dari karakter tersebut dapat secara la
3.3 Perancangan Perangkat Lunak
Rancangan penelitian bagian terpanggil alat penerima tamu pada gedung
ar banyak berbasis mikrokontroler AT89S51 menggunaka
MCS51 yang ditulis pada program Pinnacle 52 versi evaluasi. Pada
b
53
kerja d
ker
dah asi LCD.
Selanjutnya program
nom
mena
berbunyi yang m
pem
untuk m
ari program. Program utama adalah program rutin yang mencakup seluruh
ja dari program.
Pada Gambar 3.12 ditunjukkan bahwa pada awal pemograman terlebih
ulu akan dilakukan inisialisasi mikrokontroler dan inisialis
menampilkan tampilan awal pada LCD yang menunjukkan
or kamar. Jika tidak terjadi pengiriman data maka pada LCD tetap
mpilkan tampilan awal. Apabila ada data yang dikirim, maka buzzer akan
enandakan ada pesan masuk dan LCD akan menampilkan
beritahuan ada pesan serta petunjuk untuk menekan tombol “ # “ dari keypad
embuka pesan dan proses komunikasi selanjutnya.
54
MULAI
INISIALISASI
Gambar 3.12. Flowchart Prog ara Umum Bagian Terpanggil.
TAMPILAN AWAL
ram Sec
TUNGGU DATA
T
Y
TOMBOL # DITEKAN?
TAMPILAN PESAN
TAMPILAN NAMA PENGIRIM
TAMPILAN RESPON
PROSES KOMUNIKASI
SELESAI
55
Proses komunikasi dimulai dari bunyi buzzer yang menandakan ada pesan
asuk dan LCD menampilkan tampilan pesan masuk serta petunjuk menekan
mbol “ # “ dari keypad untuk pesan. Selanjutnya dapat menekan
mbol “ * “ untuk menampilkan nama pengirim. Apabila setelah 25 detik tidak
enekan tombol ”#” maka engirim pemberitahuan bahwa
penghuni kamar tidak berada di tempat. Setelah nama pengirim ditampilkan,
penghuni dapat menekan tombol ”# enampilkan pilihan tanggapan pada
tamu, jika tombol “#” tidak d CD tetap menampilkan nama
. Pilihan tanggapan berupa kode 2 yang berarti penghuni sibuk, kode 5
enunjukkan penghuni akan segera m
menam
Setelah terjadi proses pengiriman tanggapan maka program akan kembali
lagi pada program utama. Proses komunikasi dapat ditunjukkan pada Gambar
3.13.
m
to membuka
to
m program akan m
” untuk m
itekan maka pada L
pengirim
m enemui tamu dan tombol 8 berarti penghuni
dapat membalas pesan. Apabila salah satu tombol tidak ditekan maka LCD tetap
pilkan tampilan tanggapan pada tamu.
56
MULAI
INISIALISASI
T MASUK
AMPILAN PESAN
Gambar .3.13 Flowchart Program Proses Komunikasi.
TOMBOL # DITEKAN?
25 DETIK ?
KIRIM
KOSONG PENGHUNI
T
T Y
Y
AMBIL DATA DI RAM
TAMPILKAN DI LCD
TOMBOL # DITEKAN?
T
T
TAMPILANKAN PENGIRIM
TOMBOL # DITEKAN?
T
Y
A
57
Gambar .3.13 (lanjutan) Flowchart Program Proses Komunikasi.
KODE 2 DITEKAN ?
KODE 5 DITEKAN ?
KODE 8 DITEKAN ?
TIME OVER ?
A
PENG I SIBUK
SEGERA TEMUI
TULIS PESAN
PENGHUNI KOSONG
HUN
PENGIRIMAN DATA
MAIN PROGRAM
SELESAI
BAB IV
HASIL DAN PEMBAHASAN
4.1 Perangkat Keras Hasil Perancangan
Perangkat keras hasil perancangan terdiri dari satu bagian pemanggil
(master) dan empat bagian terpanggil (slave). Bagian terpanggil dapat
ditunjukkan pada Gambar 4.1.
Gambar 4.1. Empat Buah Perangkat Keras Bagian Terpanggil
58
59
Perangkat keras bagian terpanggil terdiri dari beberapa bagian seperti pada
Gambar 4.2. Fungsi masing-masing bagian dapat dilihat pada Tabel 4.1.
Pengatur kontras LCD
Keypad
Kabel konektor Rx, Tx dan GND
LCD
Kabel konektor power supply
Gambar 4.2. Perangkat Keras Bagian Terpanggil.
Tabel 4.1. Fungsi Bagian-bagian Terpanggil
No Nama Bagian Fungsi Bagian 1 LCD Menampilkan karakter pada proses komunikasi 2 Keypad Sebagai masukan data
3 Kabel konektor
RX, TX dan GND Sebagai penghubung komunikasi antara
rangkaian
4 Pengatur kontras
LCD Untuk mengatur kontras LCD
5 Kabel konektor power supply Penghubung antara power supply dan rangkaian
60
4.2 Pengamatan Sistem dan Hasil Pengujian
Pengujian dan pengamatan alat penerima tamu pada bagian pemanggil dan
terpanggil menggunakan transmisi kabel telephone Oyama 970813.2-7 untuk
mengetahui kesesuaian alat yang dibuat dengan hasil perancangan. Komunikasi
menggunakan kabel dengan panjang antara bagian master dan slave 1 adalah 20
meter. Panjang kabel yang digunakan antara slave satu dengan slave lainnya
adalah 3 meter. Gambar 4.3 menunjukkan sistem transmisi kabel.
ambar 4.3. Sistem Transmisi Kabel.
Pada alat ini, setiap rangkaian menggunakan catu daya dengan tegangan
keluara
G
n sebesar 5 volt yang didistribusikan melalui kabel penghantar bersama
dengan tranmisi data serial. Pengukuran dilakukan menggunakan 1 catu daya
untuk 5 buah rangkaian namun tegangan keluaran yang dihasilkan tidak dapat
mengaktifkan rangkaian secara maksimal. Berdasarkan datasheet mikrokontroler
dapat bekerja pada tegangan antara 4,5 volt sampai 5,5 volt. Tabel 4.2
menunjukkan tegangan keluaran dengan menggunakan 1 catu daya.
SLAVE 1
SLAVE 2
SLAVE 3
SLAVE 4 MASTER 20 m
3 m 3 m 3 m
61
Tabel 4.2. Hasil Pengukuran Tegangan Keluaran Menggunakan 1 Catu Daya.
Catu daya 5V (regulator LM 7805) Hasil Pengukuran
Rangkaian master 4,74 volt
Rangkaian slave 1 3.82 volt
Rangkaian slave 2 3.55 volt
Rangkaian slave 3 2.97 volt
Rangkaian slave 4 2.63 volt
erdasarkan hasil pengukuran dengan menggunakan 1 catu daya maka
dilak
an Keluaran Menggunakan 5 Catu Daya.
B
ukan pengukuran menggunkan 5 catu daya pada masing-masing rangkaian.
Tiap rangkaian sistem mempunyai regulator LM 7805 yang berfungsi untuk
mereduksi tegangan dari 12 volt menjadi sebesar 5 volt. Pengamatan terhadap
tegangan keluaran dari regulator LM 7805 yang digunakan tiap rangkaian
sistem dapat dilihat pada Tabel 4.3.
Tabel 4.3. Hasil Pengukuran Tegang
Catu daya 5V (regulator LM 7805) Hasil Pengukuran
Rangkaian master 4,74 volt
Rangkaian slave 1 4,98 volt
Rangkaian slave 2 4,926 volt
Rangkaian slave 3 4,929 volt
Rangkaian slave 4 4,904 volt
Pada Tabel pengamatan tegangan menggunakan 5 catu daya, keluaran
regulator LM 7805 setiap rangkaian sistem mendekati 5 volt sehingga
mikrokontroler dapat bekerja. Pengamatan kerja alat penerima tamu ini dilakukan
dengan membandingkan data berupa tampilan karakter pada LCD yang dikirim
62
dari bagian pemanggil dengan data yang diterima dibagian terpanggil atau
sebaliknya. Tampilan awal pada bagian terpanggil ditunjukkan pada Gambar 4.4.
Gamb
Apabila terdapat pengiriman data dari bagian pemanggil, maka buzzer akan aktif
Ga
Jika pesan masuk maka tombol # ditekan. Setelah 25 detik tombol # tidak
ditekan
Ga
ar 4.4. Tampilan Awal Bagian Terpanggil.
dan tampilan LCD akan menunjukkan pesan masuk, seperti ditunjukkan pada
Gambar 4.5.
mbar 4.5. Tampilan Ada Pesan Masuk.
maka akan terkirim pesan bahwa penghuni kamar tidak berada di tempat.
Tampilan selanjutnya adalah data yang dikirim dari tamu berupa keperluan untuk
penghuni kamar. Gambar 4.6 menunjukkan tampilan pesan dari tamu. Untuk
mengetahui nama penggirim maka penghuni menekan tombol *. Gambar 4.7
menunjukkan tampilan nama pengirim.
mbar 4.6 Tampilan Pesan dari Tamu.
63
G .
Untuk lanjut ke proses berikutnya, yaitu tampilan pilihan untuk merespon
tamu m
Gamb amu.
Ga
kan muncul tampilan
ambar 4.7 Tampilan Nama Pengirim
aka penghuni menekan tombol #. Gambar 4.8 menunjukkan tampilan
pilihan untuk merespon tamu. Tombol 2 menunjukkan penghuni kamar dalam
keadaaan sibuk dan tidak bisa diganggu. Tombol 5 menunjukkan penghuni kamar
segera menemui tamu, sedangkan tombol 8 menunjukkan pesan balasan untuk
tamu. Gambar 4.9 menunjukkan tampilan pesan balasan
ar 4.8. Tampilan Pilihan Untuk Merespon T
mbar 4.9. Tampilan Pesan Balasan.
Setelah salah satu tombol ditekan, pada layar LCD a
proses kirim pesan seperti pada Gambar 4.10. Saat pesan yang dikirim diterima
oleh tamu, pada layar LCD penghuni kamar akan muncul tampilan pesan telah
terkirim. Gambar 4.11 menunjukkan tampilan pesan telah diterima.
64
Gam n Pesan.
Ga a.
Pada pengujian juga terdapat beberapa kesalahan dalam pengiriman data,
bar 4.10. Tampilan Proses Pengirima
mbar 4.11. Tampilan Pesan Telah Diterim
seperti proses pengiriman data dari master ke slave 1. Data yang sama juga
diterima oleh slave yang lain. Kesalahan ini disebabkan adanya VCC pada setiap
konektor kabel sehingga terjadi interferensi. Berdasarkan kesalahan ini maka
pada konektor hanya dibutuhkan tiga utas kabel ( TX, RX dan Ground ) sehingga
dapat mengurangi kesalahan. Pengujian dan pengamatan alat menggunakan
panjang kabel yang berbeda sebanyak 10 kali pengiriman data antara master dan
slave. Tabel 4.4 menunjukkan hasil pengamatan dengan menggunakan panjang
kabel 3 meter. Selanjutnya pengiriman data dilakukan menggunakan kabel dengan
panjang antara bagian master ke slave 1 adalah 20 meter dengan keadaan jalur
yang berbelok, sedangkan panjang kabel yang digunakan antara slave satu dengan
yang lainnya adalah 3 meter, hasil pengamatan dapat ditunjukkan pada Tabel 4.5.
Hasil pengamatan dengan menggunakan kabel sepanjang 20 meter dengan jalur
lurus terdapat pada Tabel 4.6
65
Tabel 4.4. Data Hasil Pengamatan dengan Panjang Kabel 3 meter.
Pengiriman ke- Berhasil Tidak Berhasil 1 √ - 2 √ - 3 √ - 4 √ - 5 √ - 6 √ - 7 √ - 8 √ - 9 √ - 10 √ -
Tabel 4.5 ta Hasil Pengam n dengan Panjang bel 20 meter
dan Jalur Berbelok.
Pe asil Tidak Berhasil
. Da ata Ka
ngiriman ke- Berh
1 √ - 2 √ - 3 √ - 4 √ - 5 √ - 6 √ - 7 √ - 8 √ - 9 √ - 10 √ -
Tabel 4.6. a Hasil Pengama dengan Panjang K bel 20 meter dan Lurus.
Berhasil Tidak Berhasil
Dat tan a
Pengiriman ke-
1 √ - 2 √ - 3 √ - 4 √ - 5 √ - 6 √ - 7 √ - 8 √ - 9 √ - 10 √ -
66
Pengamatan proses pengirim data juga dilakukan dengan hyper
terminal. Gambar 4.12 menunjukkan tampilan pengiriman ke kamar 1 dan balasan
dari kamar 1. Gambar 4.13 menunjukkan tampilan pengiriman ke kamar 2 dan
balasan dari kamar 2. Gambar 4.14 menunjukkan tampilan pengiriman ke kamar 3
dan balasan dari kamar 3. Gambar 4.15 menunjukkan tampilan pengiriman ke
kamar 4 dan balasan dari kamar 4.
Gambar 4.12 Tampilan Pengiriman dan Balasan Kamar 1.
Ga
an
Kamar tujuan Keperluan tamu
Nama tamuBalasan dari kamar ( segera menemui)
Balasan dari kamar ( sibuk )
Keperluan tamu Nama tamu
Kamar t j
mbar 4.13 Tampilan Pengiriman dan Balasan Kamar 2.
67
Balasan dari kamar
Nama tamu
Kamar tujuan Keperluan tamu
Gambar 4.14 Tampilan Pengiriman dan Balasan Kamar 3.
Balasan dari kamar ( segera menemui )
Nama tamu
Keperluan tamu Kamar tujuan
Gambar 4.15 Tampilan Pengiriman dan Balasan Kamar 4.
68
4.3 Perangkat Lunak
Alat ini diprogram untuk melakukan pengiriman balasan sebagai
al ini dapat ditunjukkan pada program di bawah :
tanggapan terhadap tamu. H
balasa
mov dptr,#disp_kirim ; \ jika tombol 2 tidak ditekan call data_baris1 ; \ maka lompat ke perintah
; / masuk_aja, jika tombol 2 ; / ditekan maka lompat ke
rintah lg_sibuk asuk_a :
irim
1 mbol 5 mov dptr,#disp_kirim+16 ; / ditekan maka lompat ke
; / perintah come
lis_pesan:
l 8 mpat ke
ulis_pesan setelah
buk
4
kirim+16
n_apa: cjne a,#'2',masuk_aja call init_lcd ; \
mov dptr,#disp_kirim+16 call data_baris2 ljmp lg_sibuk ; / pem ja cjne a,#'5',tulis_pesan call init_lcd ; \ jika tombol 5 tidak ditekan mov dptr,#disp_k ; \ maka lompat ke perintah call data_baris ; \ tulis_pesan jika to call data_baris2 ljmp come ; / tu ; \ jika tombol 8 tidak ditekan cjne a,#'8',kirim_b ; \ maka lompat ke perintah alasan ljmp tulis_pesan1 ; / kirim_balasan jika tombo ljmp main_progra ; / ditekan maka lo m
perintah t itu lompat ke main_programlg_si : clr flag setb ctrl_io
call delay1 call delay4 mov a,#'2' setb ti nop nop mov a,#end_data setb ti call delay1 call delay setb flag clr ctrl_io call init_lcd mov dptr,#disp_terkirim call data_baris1 mov dptr,#disp_ter call data_baris2 call delay1 call delay1 ljmp main_program
69
come: clr flag setb ctrl_io call delay1 call delay4 mov a,#'5'
4
rim+16
setb ti nop nop mov a,#end_data setb ti call delay1 call delay setb flag clr ctrl_io call init_lcd mov dptr,#disp_terkirim call data_baris1 mov dptr,#disp_terki call data_baris2 call delay1 call delay1 ljmp main_program
Pilihan tanggapan berupa kode 2 yang berarti penghuni sibuk, kode 5
enunjukkan penghuni akan segera menemui tamu dan tombol 8 berarti penghuni m
dapat membalas pesan. Apabila salah satu tombol tidak ditekan maka program
tetap menampilkan tampilan tanggapan pada tamu. Setelah terjadi proses
pengiriman tanggapan maka program akan kembali lagi pada program utama.
BAB V
KESIMPULAN DAN SARAN
5.1 KESIMPULAN
1. Alat penerima tamu ini belum bekerja dengan maksimal, terbukti masih
terdapat interferensi pada sistem pengkabelan yang mempengaruhi proses
pengiriman data, sehingga data yang dikirim dari master ke slave tujuan
dapat juga diterima slave yang lain
2. Keluaran data pada LCD dan buzzer serta seluruh tombol yang ditekan
sesuai dengan hasil perancangan.
3. Sistem komunikasi serial RS 485 dapat digunakan pada 5 rangkaian
mikrokontroler AT89S51 dengan kabel penghantar sejauh 20 meter.
5.2 SARAN
1. Implementasi sistem ini dapat dikembangkan lagi dengan menambahkan
fungsi sistem yaitu dapat melakukan komunikasi berupa chatting.
2. Alat ini dapat dikembangkan untuk penerima tamu dengan skala yang lebih
besar, dengan penggunaan 1 rangkaian master dan 31 rangkaian slave
karena sistem komunikasi serial RS 485 dapat digunakan pada 32
peralatan.
70
DAFTAR PUSTAKA
[1].http://www.google.co.id/search?hl=id&g=alat+penerima+tamu+berbasis+mikrokontroler& b+n6 = telusuri,pdf.22 juni 2007
[2].Agfianto Eko Putra, Belajar Mikrokontoler AT89C51/52/55 (Teori dan
Aplikasi), Yogyakarta:Penerbit Gava Media, 2004.
[3].http://www.UP-KOMUNIKASI SERIAL.com. 29 Juli 2007
[4].http://www.bb-elec.com, RS - 422 and RS – 485 Aplication Note, B&B
electronics Mfg.co.inc. 29 Juli 2007.
[5].http://id.wikipedia.org/wiki/tampilan_kristal_cair. 29 Juli 2007.
[6].Text Produce by Wagner Lipharsky, 8051 + LCD + EPROM.
http://www.ustr.net 30 Juli 2007.
[7].Budhy Sutanto, Keypad Heksadesimal , http://alds.stts.edu
[8].______,______. 8-bit Microkontroller With 4KbytesFlash AT89S51. Atmel
Inc.http://www.Atmel.com
[9].DH447804, ( Dot Matrix Liquid Crystal Display Controller/Driver), Hitachi ,
Data Sheet.
[10].Robert Boylestad & Louis Nashelsky, Electronic Devices & Circuit Theory
6th edition, New Jersey : Prentice Hall, Englewood Cliffs, A Simon &
Schuster Company.
[11]. Dennis Roddy, Kamal Idris, Jhon Coolen, Electronic Communication. 4rd
edition, Prentice Hall Inc, New Jersey, 1996
65
LAMPIRAN I
PROSEDUR PENGGUNAAN ALAT
Bagian Terpanggil Alat Penerima Tamu Pada Gedung Berkamar Banyak Berbasis
Mikrokontroler AT89S51 mempunyai prosedur penggunaan sebagai berikut :
1. Saat pesan masuk, penghuni kamar menekan tombol # untuk membuka pesan.
2. Untuk mengetahui nama pengirim, penghuni dapat menekan tombol *.
3. Selanjutnya penghuni menekan tombol # untuk tampilan kirim balasan.
4. Jika penghuni tidak mau diganggu, maka penghuni menekan tombol 2.
5. Jika penghuni ingin segera menemui, maka penghuni dapat menekan tombol 5.
6. Untuk mengirim balasan selanjutnya, penghuni dapat menekan tombol 8.
7. Setelah menekan tombol 8, penghuni dapat menulis pesan.
8. Pengiriman pesan dapat dilakukan dengan menekan tombol #. Selanjutnya
tampilan pada LCD kembali ke tampilan awal.
9. Sistem penekanan karakter pada keypad seperti sistem SMS ( Short Message
Service ). Kombinasi setiap keypad dapat dilihat pada tabel berikut ini.
Tabel tombol keypad dan karakternya
Tombol keypad Karakter
1 1.,?”!
2 abc2ABC
3 def3DEF
4 ghi4GHI
5 jkl5JKL
6 mno6MNO
7 pqrs7PQRS
8 tuv8TUV
9 wxyz9WXYZ
0 Angka 0 dan spasi
# Untuk melakukan pengiriman data
* Untuk menghapus satu karakter
LAMPIRAN II
LISTING PROGRAM
;Port Addressing ; kol2 equ p2.0 bar1 equ p2.1 kol1 equ p2.2 bar4 equ p2.3 kol3 equ p2.4 bar3 equ p2.5 bar2 equ p2.6 ; reg_sel equ p3.2 enb_lcd equ p3.3 ctrl_io equ p3.4 data_lcd equ p1 ;========================================================== ;RAM Addressing keypad equ 2ah usable1 equ 2bh usable2 equ 2ch usable3 equ 2dh left_side equ 2eh point_lcd equ 2fh count_char equ 31h before equ 32h pos_char equ 34h count_pesan equ 35h reg_pesan equ 50h max_char_pesan equ reg_pesan+32 ;==========================================================
;Bit Addressing double bit 01h flag bit 02h ;========================================================== ;Konstantea time_scan0 equ -10000 unpressed equ 00h enter equ 03h clear equ 05h time_tombol equ 90 end_data equ 00h ;========================================================== org 00h ljmp start org 0bh ljmp int_timer0 org 23h ljmp serial ;========================================================== start: mov sp,#08h mov tmod,#21h mov th0,#high(time_scan0) mov tl0,#low(time_scan0) mov th1,#0e8h mov scon,#50h mov ie,#10010010b clr ctrl_io call delay1 clr enb_lcd setb tr0 setb tr1 ljmp main_program ;========================================================== int_timer0: mov th0,#high(time_scan0) mov tl0,#low(time_scan0) call scan_keypad reti ;========================================================== serial: jb ri,terima_data kirim_data: clr ti mov sbuf,a jnb ti,$
clr ti tolak_data: reti terima_data: clr ri jb flag,tolak_data push acc push psw mov a,sbuf cjne a,#end_data,bdng_lg bdng_lg: cjne a,#end_data,real_data setb flag jmp out_serial real_data: mov r0,3dh mov @r0,a inc 3dh out_serial: pop psw pop acc reti ;========================================================== ; PROGRAM UTAMA ;========================================================== disp_main: db ' ALAT PEMANGGIL ' db 'Tekan Tombol <#>' disp_masuk: db ' 1=kmr1 3=kmr2 ' db ' 7=kmr3 9=kmr4 ' main_program: clr ctrl_io mov count_char,#reg_pesan clr flag mov 3dh,#3fh init_disp_main: call init_lcd mov dptr,#disp_main call data_baris1 mov dptr,#disp_main+16 call data_baris2 press: mov a,keypad cjne a,#unpressed,press1 jnb flag,press
ljmp cek_kode press1: cjne a,#23h,press call pressing_tombol call delay4 call init_lcd mov dptr,#disp_masuk call data_baris1 mov dptr,#disp_masuk+16 call data_baris2 ;menunggu tombol 1, 3, 7 ataupun 9 ditekan no_pesan: mov a,keypad cjne a,#00h,cek_kmr_tujuan ljmp no_pesan cek_kmr_tujuan: cjne a,#31h,kmr2 mov 3fh,#'1' call pressing_tombol ljmp tulis_pesan kmr2: cjne a,#33h,kmr3 mov 3fh,#'2' call pressing_tombol ljmp tulis_pesan kmr3: cjne a,#37h,kmr4 mov 3fh,#'3' call pressing_tombol ljmp tulis_pesan kmr4: cjne a,#39h,no_pesan mov 3fh,#'4' call pressing_tombol ljmp tulis_pesan ;========================================================== ; SUB PROGRAM PESAN MASUK ;========================================================== disp_pergi: db 'Maaf Saya Tidak ' db 'Berada Di Rumah ' disp_sibuk: db 'Maaf Bange.et Ya' db 'JGN MENGGANGGU!!' disp_segera: db ' Yu..up ;) '
db ' Ntar Ya...!! ' cek_kode: call delay1 mov a,3fh cjne a,#'1',cek_kode1 ljmp pergi cek_kode1: mov a,3fh cjne a,#'2',cek_kode2 ljmp sibuk cek_kode2: mov a,3fh cjne a,#'5',cek_kode3 ljmp segera cek_kode3: mov a,3fh cjne a,#'8',out ljmp pesan_masuk out: ljmp main_program pergi: call init_lcd mov dptr,#disp_pergi call data_baris1 mov dptr,#disp_pergi+16 call data_baris2 e_pergi: mov a,keypad cjne a,#23h,e_pergi call pressing_tombol ljmp main_program sibuk: call init_lcd mov dptr,#disp_sibuk call data_baris1 mov dptr,#disp_sibuk+16 call data_baris2 e_sibuk: mov a,keypad cjne a,#23h,e_sibuk call pressing_tombol ljmp main_program segera: call init_lcd mov dptr,#disp_segera call data_baris1
mov dptr,#disp_segera+16 call data_baris2 e_segera: mov a,keypad cjne a,#23h,e_segera call pressing_tombol ljmp main_program pesan_masuk: call tampil_pesan tggu_enter: mov a,2ah cjne a,#00h,sip ljmp tggu_enter sip: cjne a,#23h,tggu_enter call pressing_tombol ljmp main_program tampil_pesan: call init_lcd mov a,3dh clr c subb a,#50h mov count_pesan,a mov r1,#50h call ram_baris1 mov a,count_pesan jz pesan_habis call ram_baris2 mov a,count_pesan jz pesan_habis pesan_habis: mov a,keypad cjne a,#unpressed,cek_tombol_enter jmp pesan_habis cek_tombol_enter: cjne a,#23h,pesan_habis call pressing_tombol ljmp main_program ;========================================================== ram_baris1: mov a,#80h call command_byte mov usable1,#16 jmp still_tampil_ram ram_baris2: mov a,#0c0h
call command_byte mov usable1,#16 still_tampil_ram: mov a,@r1 call data_byte inc r1 djnz 35h,still_tulis_ram mov a,#90h call command_byte ret still_tulis_ram: djnz usable1,still_tampil_ram ret ;========================================================== ; SUB PROGRAM KIRIM PESAN ;========================================================== ;akan melakukan penulisan pesan disp_tulis: db 'Perlu Apaan Loh?' tulis_pesan: mov 40h,#20h mov 41h,#20h mov 42h,#20h mov 43h,#20h mov 44h,#20h mov 45h,#20h mov 46h,#20h mov 47h,#20h mov 48h,#20h mov 49h,#20h mov 4ah,#20h mov 4bh,#20h mov 4ch,#20h mov 4dh,#20h mov 4eh,#20h mov 4fh,#20h setb flag call init_lcd mov dptr,#disp_tulis call data_baris1 mov count_char,#reg_pesan mov pos_char,#reg_pesan mov point_lcd,#0c0h mov left_side,#reg_pesan mov a,#0c0h call command_byte
wait_char_pesan: mov a,keypad cjne a,#unpressed,tombol_ditekan jmp wait_char_pesan tombol_ditekan: push acc clr double mov before,a call pressing_tombol pop acc cek_clear_pesan: cjne a,#2ah,cek_enter_pesan call hapus_data_pesan call tampil_data_pesan mov a,point_lcd call command_byte jmp wait_char_pesan cek_enter_pesan: cjne a,#23h,get_awal_char ljmp insert_name get_awal_char: ljmp ini_data_pesan_baru ;========================================================== wait_same_char: mov usable1,#time_tombol still_wait_new: mov a,keypad cjne a,#unpressed,get_tekan call delay64 djnz usable1,still_wait_new inc count_char inc pos_char inc point_lcd mov a,point_lcd cjne a,#0d0h,still_middle_lcd1 inc left_side call tampil_data_pesan mov point_lcd,#0cfh mov a,point_lcd call command_byte mov a,#' ' call data_byte mov a,point_lcd call command_byte ljmp wait_char_pesan still_middle_lcd1:
mov a,point_lcd call command_byte ljmp wait_char_pesan get_tekan: push acc call pressing_tombol pop acc not_extra_pad: mov b,before mov before,a cjne a,b,tombol_beda inc usable2 call ambil_char mov r1,pos_char mov @r1,a call tampil_data_pesan mov a,point_lcd call command_byte jmp wait_same_char tombol_beda: inc count_char inc pos_char inc point_lcd mov a,point_lcd cjne a,#0d0h,still_middle_lcd2 setb double jmp ini_data_pesan_baru still_middle_lcd2: clr double ;========================================================== ini_data_pesan_baru: mov usable2,#00 mov a,before mov before,a call ambil_char push acc mov a,count_char clr c subb a,#max_char_pesan jc still_simpan_data pop acc ljmp wait_char_pesan still_simpan_data: pop acc mov r1,count_char mov @r1,a
sisip_akhir: jnb double,still_middle_lcd inc left_side call tampil_data_pesan mov point_lcd,#0cfh mov a,#0cfh call command_byte ljmp wait_same_char still_middle_lcd: call tampil_data_pesan mov a,point_lcd call command_byte ljmp wait_same_char ;========================================================== ; saat ada penekanan data maka geser kekiri data dibelakangnya hapus_data_pesan: mov a,pos_char cjne a,#reg_pesan,not_awal_pesan ret not_awal_pesan: mov a,point_lcd cjne a,#0c0h,licensed_erase ret licensed_erase: mov a,pos_char clr c subb a,count_char jnz middle_memori mov r1,count_char dec r1 mov @r1,#' ' jmp just_dec_mem middle_memori: push pos_char mov a,count_char clr c subb a,pos_char mov usable1,a next_geser_kiri: mov r1,pos_char mov a,@r1 dec r1 mov @r1,a inc pos_char djnz usable1,next_geser_kiri inc r1
mov @r1,#' ' pop pos_char just_dec_mem: dec count_char dec pos_char dec point_lcd ret ;========================================================== ; menampilkan data dari left side tampil_data_pesan: mov a,#0c0h call command_byte mov r1,left_side mov usable1,#16 next_tampil: mov a,@r1 call data_byte mov a,r1 clr c subb a,count_char jc still_tampilkan ret still_tampilkan: inc r1 djnz usable1,next_tampil ret ; mengambil character yang sudah diedit ambil_char: mov a,before cjne a,#'1',cek_tombol2 mov dptr,#data_satu jmp ambil_now cek_tombol2: cjne a,#'2',cek_tombol3 mov dptr,#data_dua jmp ambil_now cek_tombol3: cjne a,#'3',cek_tombol4 mov dptr,#data_tiga jmp ambil_now cek_tombol4: cjne a,#'4',cek_tombol5 mov dptr,#data_empat jmp ambil_now cek_tombol5: cjne a,#'5',cek_tombol6
mov dptr,#data_lima jmp ambil_now cek_tombol6: cjne a,#'6',cek_tombol7 mov dptr,#data_enam jmp ambil_now cek_tombol7: cjne a,#'7',cek_tombol8 mov dptr,#data_tujuh jmp ambil_now cek_tombol8: cjne a,#'8',cek_tombol9 mov dptr,#data_delapan jmp ambil_now cek_tombol9: cjne a,#'9',cek_tombol0 mov dptr,#data_sembilan jmp ambil_now cek_tombol0: mov dptr,#data_nol ambil_now: mov a,usable2 movc a,@a+dptr cjne a,#0dh,still_middle mov usable2,#00 jmp ambil_now still_middle: ret ;========================================================== disp_name: db ' Insert ur Name ' db ' Please ' disp_kirim: db ' PROSES ' db ' KIRIM PESAN ' disp_terkirim: db ' PESAN TELAH ' db ' TERKIRIM ' insert_name: call init_lcd mov dptr,#disp_name call data_baris1 mov dptr,#disp_name+16 call data_baris2 call delay1 call init_lcd
mov dptr,#disp_name call data_baris1 call tunggu_name belum_siap_kirim: mov a,keypad cjne a,#23h,belum_siap_kirim call pressing_tombol call init_lcd mov dptr,#disp_kirim call data_baris1 mov dptr,#disp_kirim+16 call data_baris2 ;========================================================== ;proses pengiriman data dimulai kirim_pesan: setb ctrl_io call delay1 call delay4 mov a,count_char clr c subb a,#3fh mov usable1,a mov r1,#3fh still_kirim_data: mov a,@r1 setb ti nop nop inc r1 djnz usable1,still_kirim_data nop nop nop nop mov a,#end_data setb ti call delay1 call delay4 clr ctrl_io ;========================================================== call init_lcd mov dptr,#disp_terkirim call data_baris1 mov dptr,#disp_terkirim+16 call data_baris2 call delay1
call delay1 back: ljmp main_program ;========================================================== tunggu_name: mov usable2,#00 mov usable3,#00 mov a,#0c0h mov point_lcd,#0c0h mov a,#' ' call data_byte mov a,#0c0h call command_byte wait_new_name: mov a,keypad cjne a,#unpressed,get_new_name jmp wait_new_name get_new_name: mov a,keypad push acc call pressing_tombol pop acc cjne a,#2ah,not_hapus dec usable3 mov a,usable3 cjne a,#00,still_hapus_name jmp tunggu_name still_hapus_name: call tampil_name inc point_lcd mov a,point_lcd call command_byte jmp wait_new_name not_hapus: cjne a,#23h,ini_data_name_baru ret ;========================================================== ini_data_name_baru: mov usable2,#00 mov before,a mov a,usable3 cjne a,#16,still_terima jmp wait_new_name still_terima: mov a,before inc usable3
call ambil_char call simpan_name wait_new_char: mov usable1,#time_tombol still_wait_newx: mov a,keypad cjne a,#unpressed,get_tekanx call delay64 djnz usable1,still_wait_newx inc point_lcd mov a,point_lcd call command_byte jmp wait_new_name get_tekanx: mov a,keypad push acc call pressing_tombol pop acc push acc anl a,#0f0h cjne a,#00,not_extra_padx pop acc jmp still_wait_new not_extra_padx: pop acc mov b,before mov before,a cjne a,b,ini_data_name_baru inc usable2 mov before,a call ambil_char call simpan_name jmp wait_new_char ;========================================================== simpan_name: push acc mov a,#3fh clr c add a,usable3 mov r1,a pop acc mov @r1,a ;========================================================== tampil_name: push usable3 mov a,#0c0h
mov point_lcd,#0c0h call command_byte mov r1,#3fh still_tampil_name: inc r1 mov a,@r1 call data_byte inc point_lcd djnz usable3,still_tampil_name dec point_lcd mov a,point_lcd call command_byte pop usable3 ret ;========================================================== data_baris1: mov a,#80h call command_byte push usable1 mov usable1,#16 jmp loop_data_baris data_baris2: mov a,#0c0h call command_byte push usable1 mov usable1,#16 jmp loop_data_baris loop_data_baris: clr a movc a,@a+dptr call data_byte inc dptr djnz usable1,loop_data_baris pop usable1 ret init_lcd: call delay40m mov a,#03fh call command_byte mov a,#0eh call command_byte mov a,#06h call command_byte mov a,#01h call command_byte
call delay40m ret ;========================================================== ;subrutin perintah lcd command_byte: clr reg_sel jmp feed_lcd data_byte: setb reg_sel feed_lcd: setb enb_lcd mov data_lcd,a clr enb_lcd setb enb_lcd call delay1m ret ;========================================================== ;mengambil data dari keypad scan_keypad: clr bar1 cek_bar1_kol1: jb kol1,cek_bar1_kol2 mov keypad,#'1' setb bar1 ret cek_bar1_kol2: jb kol2,cek_bar1_kol3 mov keypad,#'2' setb bar1 ret cek_bar1_kol3: jb kol3,cek_bar2_kol1 mov keypad,#'3' setb bar1 ret cek_bar2_kol1: setb bar1 clr bar2 jb kol1,cek_bar2_kol2 mov keypad,#'4' setb bar2 ret cek_bar2_kol2: jb kol2,cek_bar2_kol3 mov keypad,#'5' setb bar2
ret cek_bar2_kol3: jb kol3,cek_bar3_kol1 mov keypad,#'6' setb bar2 ret cek_bar3_kol1: setb bar2 clr bar3 jb kol1,cek_bar3_kol2 mov keypad,#'7' setb bar3 ret cek_bar3_kol2: jb kol2,cek_bar3_kol3 mov keypad,#'8' setb bar3 ret cek_bar3_kol3: jb kol3,cek_bar4_kol1 mov keypad,#'9' setb bar3 ret cek_bar4_kol1: setb bar3 clr bar4 jb kol1,cek_bar4_kol2 mov keypad,#'*' setb bar4 ret cek_bar4_kol2: jb kol2,cek_bar4_kol3 mov keypad,#'0' setb bar4 ret cek_bar4_kol3: jb kol3,end_cek_keypad mov keypad,#'#' setb bar4 ret end_cek_keypad: setb bar4 mov keypad,#unpressed ret ;menunggu sampai keypad tidak ditekan pressing_tombol:
mov a,keypad cjne a,#unpressed,pressing_tombol ret ;========================================================== delay1: push usable1 push usable2 push usable3 mov usable1,#64 jmp delay delay2: push usable1 push usable2 push usable3 mov usable1,#32 jmp delay delay4: push usable1 push usable2 push usable3 mov usable1,#16 jmp delay delay8: push usable1 push usable2 push usable3 mov usable1,#8 jmp delay delay16: push usable1 push usable2 push usable3 mov usable1,#4 jmp delay delay32: push usable1 push usable2 push usable3 mov usable1,#2 jmp delay delay64: push usable1 push usable2 push usable3 mov usable1,#1 delay:
mov usable3,#30 del_loop: djnz usable2,del_loop djnz usable3,del_loop djnz usable1,delay pop usable3 pop usable2 pop usable1 ret ;========================================================== delay1m: push usable3 mov usable3,#9 djnz usable3,$ pop usable3 ret ;========================================================== delay40m: push usable2 push usable3 mov usable2,#4 mov usable3,#00 loop_40m: djnz usable3,$ djnz usable2,loop_40m pop usable3 pop usable2 ret ;========================================================== data_satu: db '.,?!"1',0dh data_dua: db 'abc2ABC',0dh data_tiga: db 'def3DEF',0dh data_empat: db 'ghi4GHI',0dh data_lima: db 'jkl5JKL',0dh data_enam: db 'mno6MNO',0dh data_tujuh: db 'pqrs7PQRS',0dh data_delapan: db 'tuv8TUV',0dh data_sembilan:
db 'wxyz9WXYZ',0dh data_nol: db ' 0',0dh end
LAMPIRAN III
GAMBAR RANGKAIAN LENGKAP
Gambar Rangkaian LCD
D6
D5
D4
TUGAS AKHIR
VCC
D2
W E L C O M E
D3
D0
U1
AT89S52
91819 29
30
31
12345678
2122232425262728
1011121314151617
373635343332
3938
4020
RSTXTAL2XTAL1 PSEN
ALE/PROG
EA/VPP
P1.0P1.1P1.2P1.3P1.4P1.5 (MOSI)P1.6 (MISO)P1.7 (SCK)
P2.0/A8P2.1/A9
P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15
P3.0/RXDP3.1/TXD
P3.2/INTOP3.3/INT1
P3.4/TOP3.5/T1
P3.6/WRP3.7/RD
P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7
P0.0/AD0P0.1/AD1 V
CC
GN
D
D1
13
2
ENB
R/W
VCC
VCC
RS
VCC K
GND A
VEE
D7
Gambar Rangkaian Keypad Matriks 4x3
6
7
U1
AT89S52
91819 29
30
31
12345678
2122232425262728
1011121314151617
373635343332
3938
4020
RSTXTAL2XTAL1 PSEN
ALE/PROG
EA/VPP
P1.0P1.1P1.2P1.3P1.4P1.5 (MOSI)P1.6 (MISO)P1.7 (SCK)
P2.0/A8P2.1/A9
P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15
P3.0/RXDP3.1/TXD
P3.2/INTOP3.3/INT1
P3.4/TOP3.5/T1
P3.6/WRP3.7/RD
P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7
P0.0/AD0P0.1/AD1 VC
CG
ND
*
8
0
9
#
2 31
4
J9GN
D &
VC
C
12
5
Gambar Rangkaian Slave
U2
SN75176
43
12
6
7
85
DDE
RRE
A
B
VCC
GN
D
X111.059M
J10
Key pad 3x4
12345678
J4Gnd&Vcc
12
J7
E & RS
12
C2 30pF
J5ISP
1 2 3 4 5 6
R7
47
U1
AT89S52
91819 29
30
31
12345678
2122232425262728
1011121314151617
373635343332
3938
4020
RSTXTAL2XTAL1 PSEN
ALE/PROG
EA/VPP
P1.0P1.1P1.2P1.3P1.4P1.5 (MOSI)P1.6 (MISO)P1.7 (SCK)
P2.0/A8P2.1/A9
P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15
P3.0/RXDP3.1/TXD
P3.2/INTOP3.3/INT1
P3.4/TOP3.5/T1
P3.6/WRP3.7/RD
P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7
P0.0/AD0P0.1/AD1 VCC
GN
D
J8
DATA LCD
12345678
R6
2,2k
Q1PNP ECB
C310uF
C1 30pF
J9GN
D &
VC
C
12
R110k
J11
Buzzer
12
J6
CON4
1234