i
MIKROKONTROLER AT89C51 SEBAGAI ENKODER / DEKODER DALAM SISTEM KENDALI KOMUNIKASI ANTAR RUANG
SKRIPSI Diajukan Dalam Rangka Penyelesaian Studi Strata Satu guna Meraih Gelar Sarjana Pendidikan
Disusun Oleh: Nama
: Agustian Dhany Saputro
NIM
: 5314982076
Program Studi : Pendidikan Teknik Elektro S-1 Jurusan
: Teknik Elektro
FAKULTAS TEKNIK UNIVERSITAS NEGERI SEMARANG 2004
i
ii
HALAMAN PENGESAHAN Telah dipertahankan dihadapan sidang panitia ujuan skripsi Fakultas Teknik Universitas Negeri Semarang pada : Hari
:
Tanggal
:
Panitia Ujian Ketua
Sekretaris
Prof. Dr. Soesanto NIP. 130875753
Drs. Suryono, M.T. NIP. 131474223
Pembimbing I
Ketua Penguji
Drs. Hari Wibawanto, M.T. NIP. 131951824
Drs. Hari Wibawanto, M.T. NIP. 131951824
Pembimbing II
Anggota Penguji :
Drs. R. Kartono, Mpd. NIP. 131474229
1. Drs. R. Kartono, Mpd. NIP. 131474229
2. Drs. Eko Supraptono, Mpd. NIP. 131658242 ii
iii
ABSTRAKSI Agustian Dhany Saputro ( 2004 ): Mikrokontroler AT89C51 Sebagai Enkoder / Dekoder Dalam Sistem Kendali Komunikasi Antar Ruang. Tugas Akhir. Fakultas Teknik Universitas Negeri Semarang.
Adanya tuntutan akan kebutuhan komunikasi dalam suatu lingkungan kerja menuntut dibuatnya sebuah sistem komunikasi yang mendukung kerja secara murah, variatif, efisien dan efektif dengan tidak mengurangi nilai estetis di lingkungan kerja tersebut. Menimbang akan pentingnya hal tersebut, maka diwujudkanlah saat ini berbagai peralatan bantu komunikasi yang termasuk juga didalamnya berfungsi mengendalikan arah tujuan komunikasi baik yang menggunakan sistem kabel sebagai perantara informasinya ataupun tanpa kabel sebagai perantara informasinya ( wireless ). Tingkat kesulitan yang tinggi dalam pembuatan sistem kendali komunikasi antar ruang menggunakan sistem tanpa kabel ( wireless ) dan sedikitnya ketersediaan jalur frekuensi bagi kepentingan umum menyebabkan sistem pengendali komunikasi antar ruang tanpa kabel diwujudkan sebagai alat pengendali komunikasi yang mahal dan tidak efektif. Permasalahan yang ditemui dalam sistem pengendali komunikasi antar ruang apabila menggunakan kabel sebagai perantaranya adalah masalah yang timbul dalam pengendalian komunikasi secara paralel sehubungan dengan banyaknya kabel ruangan yang digunakan . Kemudian masalah lain yang timbul dalam pengendalian komunikasi secara serial adalah pengaturan atau pengendalian sistem komunikasi yang teratur sehingga sistem bekerja sesuai sasaran. Dengan fasilitas-fasilitas dasar yang dimiliki Mikrokontroler AT89C51diantaranya adanya port komunikasi serial sebagai jalur interaksi data pengendalian dan Flash PEROM terintegrasi sebagai media untuk menyimpan program kendali dan alamat tiap-tiap ruang tujuan pengendalian , diharapkan dapat dijadikan pilihan guna terwujudnya sebuah alat pengendali komunikasi yang sesuai dengan fungsinya, murah, efisien dan efektif Hasil dari pembuatan alat ini adalah terwujudnya sebuah system pengendali komunikasi antar ruang berbasis Mikrokontroler AT89C51 yang teratur, murah, variatif terhadap ruang tujuannya, efisien dari segi biaya dan efektif terhadap tuntutan kerjanya. Saran yang dikemukakan dalam eksperimen atau pembuatan alat ini adalah perlunya kestabilan dalam proses regulasi daya dan penelitian lebih lanjut untuk sistem kendali jarak jauh dan pengembangannya menuju sistem kendali loop tertutup ( closed loop ) guna mengetahui status hasil pengendalian.
iii
iv
MOTTO DAN PERSEMBAHAN
Jalan terbaik untuk menepis ketakutan adalah dengan mencari pemahaman dan pengetahuan yang ada dalam ketakutan .
Waspadalah dalam setiap masalah yang datang kepadamu , Perhatikan !! karena Allah berbicara lewat kias–kias-nya, sehalus helaian rambutmu yang dibelah 7 dan serapat shaf-shaf nafas yang menghidupi jiwamu.
Persembahan : 1. Bapak dan ibu tercinta. 2. Ketiga saudaraku tersayang, 3. Beloved “ Edwina Damayanti Fahmi , S.H. 4. Bapak Alwi Sasongko, Bapak Rusmadi
dan segenap
teman
Padepokan Papan Kencono, sumber inspirasiku. 5. Paryono, Novita, Kukuh, Teguh, Prastoto, Yusuf, Kenang , teman dalam setiap dukaku. 6.
Mas Aris Gunanto dan Sahabat-sahabatku PTE Angkatan ‘98.
7. H 5998 CR yang selalu mengingatkan tulang punggungku dan mengiringi derum perjuanganku.
iv
v
KATA PENGANTAR Puji syukur kehadirat Allah SWT yang telah melimpahkan rahmat, dan karunia-Nya sehingga penyusunan skripsi ini dapat berjalan dengan baik. Pada kesempatan ini tidak lupa penulis mengucapkan banyak terima kasih kepada: 1. Drs. Suryono, MT, selaku dosen pembimbing 1 yang telah memberikan pengarahan dan bimbingan. 2. Ir, Ulfah mediati, MT , selaku dosen pembimbing II yang telah memberikan pengarahan dan bimbingan. 3. Drs. Djoko Adi Widodo, MT, selaku Ketua Jurusan Teknik Elektro Universitas Negeri Semarang. 4. Ayah dan ibunda tercinta yang telah membesarkan, mendidik, mengarahkan, memotivasi dan memberikan yang terbaik bagi penulis. 5. Edwina Damayanti
Fahmi
yang telah memberi dorongan semangat dan
perhatian yang tak terhingga bagi penulis. 6. Semua pihak yang telah membantu dalam penulisan skripsi ini yang tidak dapat penulis sebut satu-persatu. Penulis menyadari bahwa skripsi ini jauh dari sempurna sehingga kritik dan saran senantiasa penulis harapkan. Semoga skripsi ini dapat bermanfaat bagi kita semua sebagai tambahan pengetahuan, Amin. Penulis, Januari 2004
Penulis
v
vi
DAFTAR ISI Halaman HALAMAN JUDUL ....................................................................................
i
HALAMAN PENGESAHAN .......................................................................
ii
ABSTRAK ................................................................................................... ..... iii MOTTO DAN PERSEMBAHAN................................................................. ..... iv KATA PENGANTAR .................................................................................. ...... v DAFTAR ISI ................................................................................................ ..... vi DAFTAR GAMBAR .................................................................................... ... viii DAFTAR TABEL ........................................................................................ ...... x DAFTAR LAMPIRAN ................................................................................. ..... xi
BAB I. PENDAHULUAN A. Latar Belakang .................................................................................. 1 B. Perumusan masalah ............................................................................ 2 C. Penegasan istilah ................................................................................ 2 D. Pembatasan Masalah........................................................................... 4 E. Tujuan Penelitian................................................................................ 5 F. Manfaat Penelitian .............................................................................. 5 G. Sistematika Skripsi ............................................................................. 6
BAB II. LANDASAN TEORI A. Mikrokontroler AT89C51 .................................................................. 7 1. Konfigurasi dan fungsi Ppin AT89C51 ........................................ 9 2. Organisasi Memori Mikrokontroler AT89C51 ........................... 13 3. Memori Program ........................................................................ 15 4. Memori Data .............................................................................. 17 5. Pewaktuan CPU ......................................................................... 21 6. Siklus Mesin CPU ...................................................................... 22 7. Sistem Interupsi ......................................................................... 22 8. Register Mikrokontroler AT89C51 ............................................ 23
vi
vii
9. Pewaktu/Pencacah (Timer/Counter) ........................................... 26
B. Papan saklar .................................................................................... 26 C. Pre Amp Microphone dengan pemindah jalur .................................. 27 D. Audio Amplifier .............................................................................. 28 E. Driver Relay komunikasi data ......................................................... 29 F. Driver Relay komunikasi suara ....................................................... 30 G. Kerangka Berfikir ............................................................................ 31
BAB III. METODE PENELITIAN A. Alat dan Bahan ................................................................................ 34 B. Perencanaan Perangkat Keras .......................................................... 36 1. Dagram Block ............................................................................. 36 2. Perencanaan Rangkaian............................................................... 38 3. Pembuatan PCB dan Perakitan .................................................... 45 C. Desain Perangkat Lunak .................................................................. 48 1. Cara Kerja Rangkaian ................................................................. 48 2. Rancangan Tampilan Program / Garis alir rangkaian ....................... D. Teknik Analisis Data ...........................................................................
BAB IV. HASIL PENELITIAN DAN PEMBAHASAN ..................................... A. Hasil Penelitian ..................................................................................... B. Pembahasan ........................................................................................... 1. Perangakat Keras (Hardware) ............................................................ 2. Perangkat Lunak (Software)............................................................... C. Kekurangan Penelitian ...........................................................................
vii
viii
BAB V. PENUTUP ............................................................................................. A. Simpulan ............................................................................................. B. Saran ...................................................................................................
DAFTAR PUSTAKA ........................................................................................... LAMPIRAN-LAMPIRAN
viii
ix
DAFTAR GAMBAR Halaman Gambar 1. Blok diagram AT89C51............................................................... Gambar 2. Pin out AT89C51......................................................................... Gambar 3. Struktur Memori AT89C51 .......................................................... Gambar 4. Memori Program ........................................................................ Gambar 5. Eksekusi dari memori program eksternal ..................................... Gambar 6. Pengaksesan memori data eksternal ............................................. Gambar 7. Memori data internal ................................................................... Ganbar 8. 128 byte rendah dari RAM Internal .............................................. Gambar 9. Bagian 128 byte atas dari RAM internal ...................................... Gambar 10. Ruang SFR ( Special Function Register ) ................................... Gambar 11. Penggunaan oscilator internal CPU ............................................ Gambar 12. Penggunaan oscilator eksternal CPU .......................................... Gambar 13. Papan saklar............................................................................... Gambar 14. Pre-amp mic 1 transistor dengan pemindah jalur ........................ Gambar 15. Audio amplifier ......................................................................... Gambar 16. Driver relay komunikasi data ..................................................... Gambar 17.Driver relay komunikasi suara .................................................. Gambar 18 Catu Daya ................................................................................... Gambar 19. Blok diagram komunikator antar ruang dengan Mikrokontroler AT 89c51 sebagai enkoder / dekodernya .................................... Gambar 20. Minimum sistem AT89C51 .......................................................
ix
x
Gambar 21. Papan saklar............................................................................... Gambar 22. Driver relay komunikasi data serial ............................................ Gambar 23. Driver relay komunikasi suara ................................................... Gambar 24. Pre-amp mic dengan pengubah jalur .......................................... Gambar 25. Audio amplifier ( skema ) .......................................................... Gambar 26. Catu Daya .................................................................................. Gambar 27. Diagram alir ( Flow Chart ) program ......................................... Gambar 28. .................................................................................................. Gambar 29. .................................................................................................. Gambar 30. .................................................................................................. Gambar 31. .................................................................................................. Gambar 32. .................................................................................................. Gambar 33. ..................................................................................................
x
xi
DAFTAR TABEL Halaman Tabel 1. Fungsi alternatif Port 3 .................................................................... Tabel 2. ........................................................................................................ Tabel 3. ........................................................................................................ Tabel 4. ........................................................................................................ Tabel 5. ........................................................................................................ Tabel 6. ........................................................................................................ Tabel 7. ........................................................................................................ Tabel 8. ........................................................................................................ Tabel 9. ........................................................................................................
xi
xii
DAFTAR LAMPIRAN
Halaman 1. Listing Program ................................................................................................. 2. Data Sheet Mikrokontroler AT89C51................................................................
xii
xiii
BAB I PENDAHULUAN
A. Latar Belakang Kemajuan di bidang elektronika makin pesat, terutama dalam teknologi kendali. Tuntutan akan adanya sistem kerja yang murah, efisien dan efektif memaksa pula sebuah lingkungan kerja menjadi sebuah lingkungan yang komunikatif. Komunikatif dalam arti setiap kepentingan yang berhubungan
dengan komunikasi
dapat terpenuhi tanpa mengurangi
unsur–unsur
terpercaya, efisiensi dan efektifitas. Pengendali komunikasi antar ruang
merupakan salah satu contoh tuntutan akan adanya
kebutuhan diatas. Munculnya sistem-sistem komunikasi terkendali dengan berbagai media perantara pengendalian dan sistem pengendalian menyebabkan beragamnya nilai–nilai ekonomis, efisiensi dan efektifitas suatu
sistem komunikasi terkendali. Dapat dijadikan
pembanding dalam segi ekonomis adalah perbandingan harga di pasaran sistem komunikasi antar ruang terkendali yang menggunakan media pengendalian tanpa kabel ( wireless ) terhadap harga sistem komunikasi antar ruang menggunakan kabel. Selain itu adanya perbandingan pengendalian komunikasi menggunakan sistem parallel yang secara teknis lebih mudah tetapi banyak membutuhkan kabel sebagai perantaranya dibandingkan sistem serial yang ditinjau secara teknis lebih tinggi tingkat kesulitannya tetapi dari segi efisiensi dan efektifitas jauh melebihi sistem paralel apabila dikondisikan pada lingkungan kerja yang membutuhkan banyaknya area-area pengaturan. Dipilihnya Mikrokontroler AT89C51 sebagai basis dari pengendali sistem komunikasi antar ruang
adalah karena fasilitas-fasilitas dasar yang dimilikinya untuk mendukung sistem
pengendalian secara serial yang terprogram sehingga terwujud sistem komunikasi yang murah, teratur dan efisien tetapi tetap efektif terhadap tujuan dibuatnya alat ini .
B. Perumusan masalah
xiii
xiv
Berdasarkan uraian diatas, maka masalah yang timbul dapat diuraikan sebagai berikut ; 1.
Apakah
perbandingan dari banyaknya kabel perantara yang dipakai dengan banyaknya
variasi ruang tujuan memang dapat menjadi sebuah nilai keuntungan dalam efektifitas dan efisiensi dibandingkan pengendalian menggunakan sistem parallel ? 2.
Bagaimanakah cara kerja sistem sehingga tidak terjadi kesalahan tujuan ataupun benturanbenturan sinyal kendali
yang menyebabkan ketidakteraturan ketika proses komunikasi
dilakukan ?
C. Penegasan istilah Untuk menghindari salah penafsiran perlu kiranya penulis memberikan penegasan istilah dari judul skripsi ini agar ada kesatuan pengertian dari beberapa istilah pada penelitian ini yaitu: 1.
Mikrokontroler adalah suatu system mikrokomputer yang dirancang khusus untuk keperluan pengontrolan suatu system. Mikrokontroler dibangun dari sebuah system mikroprosesor yang digabungkan dengan I / O ( input/output ) dan memori yang dibuat dalam sebuah single chip semiconduktor. Secara sederhana mikrokontroler akan menghasilkan output spesifik berdasarkan
masukan yang diterimanya dan mengeluarkan keluaran sebagai hasil dari
program yang telah dikerjakan ( Paulus Andi Nalwan , Pengantar Teknik antar muka dan pemrograman AT89C51 ). 2.
AT89C51 merupakan mikrokontroler 8 bit dengan 4 kilo byte flash PEROM
(
Programable Erasable Read Only Memory ) yang termasuk dalam keluarga MCS 51 produksi Atmel ( www.Atmel.com )
xiv
xv
3.
Baud rate adalah jumlah bit data yang terkirim tiap detiknya dalam system komunikasi serial. ( Paulus Andi Nalwan , Pengantar Teknik antar muka dan pemrograman AT89C51 ).
4.
Enkoder adalah pengubah atau penyandi informasi dari bentuk dasarnya menjadi sebuah format informasi yang baru. ( Kamus Besar Bahasa Indonesia, 1983 )
5.
Dekoder adalah penerjemah atau pengubah format informasi yang telah tersandi menjadi kembali ke bentuk format informasi dasarnya.( Kamus Besar bahasa Indonesia, 1983 )
6.
Sistem kendali adalah system yang mengatur / mengekang / menahan atau mengendalikan suatu obyek atau perangkat guna memenuhi suatu tujuan tertentu. ( Kamus Besar Bahasa Indonesia, 1983 )
7.
Komunikasi adalah sebuah kegiatan yang berhubungan dengan proses pertukaran informasi . Komunikasi antar ruang dalam hal ini adalah kegiatan yang berhubungan dengan proses pertukaran informasi dari satu ruang dengan ruang yang lain. ( Kamus Besar bahasa Indonesia, 1983 )
D. Pembatasan Masalah Agar pembahasan masalah dapat terarah dan tidak menyimpang dari pokok masalah, maka dalam penyusunan skripsi ini diberikan batasan-batasan yaitu: 1.
Mkrokontroler yang dipakai adalah keluarga MCS-51 produksi Atmel Corp yaitu AT89C51.
2.
Sample alat peraga adalah 2, contoh varian ruang dapat ditunjukkan dengan memanipulasi perangkat lunak yang diisikan dalam FLASH PEROM.
3.
Kajian kerja system yang ditampilkan adalah system dengan loop terbuka ( opened loop ).
4.
Sistem komunikasi data antar Mikrokontroler menggunakan system serial.
5.
Titik berat pembahasan berkisar pada fungsi mikrokontroler AT89C51 sebagai enkoder ataupun dekoder dalam rangkaian komunikasi antar ruang. Jadi dalam hal ini tidak diberikan pembahasan-pembahasan mendalam mengenai pre-amplifier microphone dan audio amplifier
xv
xvi
dalam hubungannya dengan
jangkah frekuensi yang dikeluarkan, besarnya penguatan,
frekuensi respon masukkan, analisa rangkaian, filter-filter , dll. E. Tujuan Penelitian Tujuan yang ingin dicapai dari pembuatan alat ini, adalah:
1. Menghasilkan suatu alat yang mampu mengatasi permasalahan komunikasi dalam suatu lingkungan kerja dengan tingkat nilai ekonomi, efisiensi, efektifitas dan nilai keamanan yang relatif baik.. 2. Untuk mengetahui prinsip kerja komunikasi data secara serial dalam mikrokontroler AT89C51 . 3. Sebagai model hasil rekayasa untuk pengembangan media praktikum mahasiswa.
F. Manfaat Penelitian Sedangkan manfaat yang diharapkan dari pembuatan alat pengukur temperatur berbasis personal komputer ini, adalah : 1.
Terciptanya suatu alat sederhana berbasis mikrokontroler yang nantinya menjadi dasar atau referensi guna pengembangan system komunikasi yang lebih murah, efektif, efisien dan relatif aman.
2.
Meningkatkan pemahaman bagi pembaca mengenai suatu alat yang dikendalikan dengan program komputer (software) dalam bahasa assembler.
G. Sistematika Skripsi Sistimatika yang digunakan dalam skripsi ini sebagai berikut :
xvi
xvii
Bab-I
: Pendahuluan Pada bab ini diuraikan tentang alasan pemilihan judul yaitu harapan akan adanya sistem komunikasi antar ruang yang efisien dan efektif dengan berbasis mikrokontroler AT89C51, penegasan istilah, permasalahan, pembatasan masalah, tujuan, manfaat, dan sistimatika skripsi.
Bab-II
: Landasan Teori
Pada bab ini diuraikan tentang sistem mikrokontroler AT89C51 yang bekerja diantaranya sebagai penyandi, penerjemah dan pengatur yang termasuk didalamnya mengendalikan relay komunikasi data, relay komunikasi audio dan mengatur kondisi jalur komunikasi. Juga mengenai detail dari Mikrokontroler AT89C51 sebagai otak dari system, Papan saklar penentu tujuan, Driver relay komunikasi audio, driver relay komunikasi data, audio amplifier, catu daya (Power supply) dan kerangka berpikir.
Bab-III
: Cara Penelitian
Pada bab ini dijelaskan mengenai cara penelitian yaitu pembuatan rangkaian mulai dari penyediaan alat serta bahan sampai pada pengujian rangkaian, merencanakan perangkat keras (hardware) dan perangkat lunak (software), metode pengambilan data / validasi dan desain penelitian.
Bab-IV
: Hasil Penelitian dan Pembahasan Pada bab ini berisi hasil penelitian dari alat yang dibuat . Pembahasan penelitian berupa pembahasan perangkat lunak (sofware) dan perangkat keras (hardware).
Bab-V
: Penutup Pada bab ini berisi simpulan dan saran dari penelitian yang dilakukan.
xvii
xviii
BAB II LANDASAN TEORI
Peralatan ini merupakan suatu alat yang dapat mengatur system komunikasi antar ruang dengan menggunakan mikrokontroler AT89C51 sebagai otak dari setiap kerja yang dilakukan oleh system ini. Dalam system ini tentu saja mikrokontroler AT89C51 bekerja diantaranya sebagai penyandi, penerjemah dan pengatur yang termasuk didalamnya mengendalikan relay komunikasi data,
relay komunikasi audio
dan mengatur kondisi jalur komunikasi sehingga memungkinkan setiap jalannya operasi tidak saling mengganggu. Pada dasarnya alat ini terdiri dari Mikrokontroler AT89C51 sebagai otak dari system, Papan saklar, Driver relay komunikasi audio, driver relay komunikasi data, Pre-amp Mic beserta line changer-nya, audio amplifier dan catu daya .
A.
Mikrokontroler AT89C51 Flash PEROM 4 Kbyte Mikrokontroler merupakan satu sistem mikrokomputer yang dirancang khusus untuk keperluan pengontrolan suatu sistem. Di dalam chip mikrokontroler telah dilengkapi dengan CPU (mikroprosesor), memori dan perangkat peripheral lainnya, sehingga mikrokontroler juga sering disebut dengan mikrokomputer chip tunggal. Dengan fasilitas-fasilitas yang telah ada
xviii
xix
tersebut tentu saja membuat mikrokontroler banyak dipergunakan pada sistem pengontrolan baik dalam dunia industri, militer, komunikasi maupun aplikasi yang lain. AT89C51 yang merupakan keluarga MCS 51 termasuk salah satu jenis mikrokontroler buatan Atmel yang paling banyak digunakan dalam sistem pengendalian dan instrumentasi. AT89C51 mempunyai beberapa fasilitas antara lain : 1.
Flash memori program didalam chip 4 Kbyte.
2.
Beroperasi secara fully static 0 Hz sampai dengan 24 MHz.
3.
128 x 8 bit RAM internal.
4.
UART Full duplex.
5.
6 buah sumber interupsi.
6.
Pembangkit oscilator clock internal. Sumber : ( www.atmel.com )
Block diagram AT89C51 dapat dilihat dalam gambar 1 dibawah ini :
KONTROL INTERUPSI
ON-CHIP RAM
ON-CHIP FLASH
TIMER.0
TIMER.1
C PU OSC
KONTROL BUS
I /O 4 PORT
xix
SERIAL PORT
xx
Gambar 1 . Blok diagram AT89C51
1.
Konfigurasi dan Fungsi Pin AT89C51 Mikrokontroler AT89C51 dikemas dalam bentuk DIP 40 pin, 32 kaki diantaranya adalah kaki untuk keperluan port paralel. Satu port paralel terdiri dari 8 kaki, dengan demikian 32 kaki tersebut membentuk 4 buah port paralel, yang masing-masing dikenal sebagai Port 0, Port 1, Port 2, dan Port 3. Nomor dari masing-masing jalur(kaki) dari Port paralel mulai dari 0 sampai 7, jalur (kaki) pertama Port 0 disebut sebagai P0.0 dan jalur terakhir untuk Port 3 adalah P3.7. untuk jelasnya dapat dilihat pada gambar dibawah ini :
Gambar 2. Pin Out AT89C51 (www.Atmel.com)
xx
xxi
Fungsi masing-masing pin pada mikrokontroler AT89C51 secara rinci adalah sebagai berikut : 1.
VCC, merupakan pin catu daya positif untuk mikrokontroler sebesar +5V.
2.
GND, hubungan ke catu daya 0 atau ground.
3.
Port 0 Port 0 merupakan port keluaran / masukkan (I/O) bertipe open drain bidirectional.
Sebagai port keluaran, masing-masing kaki dapat menyerap arus (sink) delapan masukkan TTL ( sekitar 3,8 mA ) . Pada saat “ I “ dituliskan ke kaki-kaki Port ini, maka kaki-kaki Port 0 dapat digunakan sebagai masukkan-masukkan berimpedansi tinggi. Port 0 juga dapat dikonfigurasikan sebagai bus alamat/data bagian rendah (low byte) selama proses pengaksesan memori data dan program eksternal. Jika digunakan dalam mode ini Port 0 memiliki pull-up internal. Port 0 juga menerima kode-kode yang dikirimkan kepadanya selama proses pemrograman dan mengeluarkan kode-kode selama proses verifikasi program yang telah tersimpan dalam flash. Dalam hal ini dibutuhkan pull-up eksternal selama proses verifikasi program. 4.
Port 1 Port 1 merupakan Port I/O dwi arah yang dilengkapi dengan pull-up internal.
Penyangga keluaran Port 1 mampu memberikan / menyerap arus empat masukkan TTL (sekitar 1,6 mA). Jika “I” dituliskan ke kaki-kaki Port 1, maka masing-masing kaki akan di pulled high dengan pull-up internal sehingga dapat digunakan sebagai masukkan. Sebagai masukkan, jika kaki-kaki Port 1 dihubungkan ke ground (di pulled low ), maka masingmasing kaki akan memberikan arus karena di-pulled high secara internal. Port 1 juga menerima alamat bagian rendah (low byte) selama pemrograman dan verifikasi flash. 5.
Port 2 Port 2 merupakan Port I/O dwi arah dengan dilengkapi pull-up internal. Penyangga
keluaran Port 2 mampu memberikan / menyerap arus empat masukkan TTL ( sekitar 1,6
xxi
xxii
mA). Jika “ I” dituliskan ke kaki-kaki Port 2 , maka masing-masing kaki akan di pulled high dengan pull up internal sehingga dapat digunakan sebagai masukkan. Sebagai masukkan, jika kaki-kaki Port 2 dihubungkan ke ground ( di pulled low ), maka masing-masing kaki akan memberikan arus karena di pulled high secara internal. Port 2 akan memberikan byte alamat bagian tinggi ( high byte ) selama pengambilan instruksi dari memori program eksternal dan selama pengaksesan memori data eksternal yang mengghunakan perintah dengan alamat
16-bit ( misalnya : MOVX @DPTR ). Dalam aplikasi ini, jika ingin
mengirimkan “I”, maka digunakan pullup internal yang sudah disediakan. Selama pengaksesan memori data eksternal yang menggunakan perintah dengan alamat 8-bit (misalnya: MOVX @R1), Port 2 akan mengirimkan isi dari SFR P2. Port 2 juga menerima alamat bagian tinggi selama pemrograman dan verifikasi flash.
6.
Port 3 , Merupakan port I/ O 8 bit dua arah yang dapat menyerap atau memberikan arus
sebesar 4 input. Apabila akan digunakan sebagai input maka port 3 harus dikirim logik 1. Port 3 juga dapat difungsikan sebagai fungsi alternatif seperti berikut : Tabel 1 . Fungsi Alternatif Port 3
xxii
xxiii
Pin Port
Fungsi Alternatif
P3.0
RxD ( Port masukkan serial )
P3.1
TxD ( Port keluaran serial )
P3.2
INT 0 ( Interupsi luar no. 0 )
P3.3
INT 1 ( Interupsi luar no. 1 )
P3.4
T 0 ( Masukkan luar timer 0 )
P3.5
T 1 ( Masukkan luar timer 1 )
P3.6
WR ( Sinyal tanda baca memori data eksternal )
P3.7
RD ( Sinyal tanda tulis memori data eksternal )
Port 3 juga menerima masukkan beberapa sinyal kendali pada saat pemrograman / verifikasi memori flash. 7.
RST, merupakan pin reset yang digunakan untuk mereset Program Counter sehingga
program dilaksanakan mulai dari alamat 0000H. Diaktifkan dengan logika tinggi “ I “. 8.
ALE / PROG ( Addres Latch Enable ) merupakan pulsa keluaran untuk mengunci
addres byte rendah selama berhubungan dengan memori eksternal. Pada pemakaian normal ALE mengeluarkan pulsa sebesar 1/6 dari frekwensi osilator dan dapat digunakan sebagai sinyal clock atau timing perangkat luar. Pin ALE juga digunakan untuk memberikan pulsa program selama proses pemrograman memori flash.
9.
PSEN ( Program Store Enable ) merupakan pin keluaran pulsa strobe untuk memori
program eksernal. Pada saat AT89C51 menjalankan perintah dari memori program eksternal, PSEN akan diaktifkan dua kali setiap periode mesin kecuali untuk berhubungan dengan memori data eksternal maka akan dilewati. 10.
EA/ Vpp ( Eksternal Acces Enable ) maka untuk menjalankan program dari memori
luar (eksternal) lokasi 0000H hingga FFFFH maka harus dihubungkan ke Ground,
xxiii
xxiv
sebaliknya agar program yang dijalankan berasal dari dalam ( internal ) maka EA harus dihubungkan dengan Vpp. Untuk fungsi pemrograman, EA dihubungkan dengan Vpp umumnya sebesar +12 V. 11.
XTAL 1 merupakan pin masukkan ke penguat
inverting oscillator dan input
rangkaian clock eksternal. 12.
2.
XTAL 2 merupakan keluaran dari penguat inverting oscillator.
Organisasi Memori Mikrokontroler AT89C51 Semua produk mikrokontroler Flash AT89C51 dari Atmel memiliki ruang alamat memori data dan program yang terpisah, sebagaiamana ditunjukkan pada gambar 3. Pemisahan memori proghram dan data tersebut memperboehkan memori data diakses dengan alamat 8-bit, sehingga dapat dengan cepat dan mudah disimpan dan dimanipulasi oleh CPU 8-bit. Namun demikian, alamat memori data 16-bit bisa juga dihasilkan melalui register DPTR.
Gambar 3 . Struktur memori AT89C51
xxiv
xxv
Memori program hanya bisa dibaca saja. Terdapat memori program yang bias diakses langsung hingga 64 Kbyte. Sedangkan strobe (tanda) untuk akses program memori eksternal melalui sinyal PSEN atau Program Store Enable. Memori data menempati suatu ruang alamat yang terpisah dari memori program. Memori eksternal dapat diakses secara langsung hingga 64 Kbyte dalam ruang memori data eksternal. CPU akan memberikan sinyal baca dan tulis, RD dan WR, selama pengaksesan memori data eksternal. Memori data eksternal dan memori program program eksternal dapat dikombinasikan dengan cara menggabungkan sinyal RD dan PSEN melalui gerbang AND dan keluarannya sebagai tanda baca ke memori data/program eksternal. 3.
Memori Program Gambar 4 dibawah ini menunjukan pemetaan bagian bawah dari memori program. Setelah reset, CPU segera mengerjakan program mulai dari lokasi 0000h. Sebagaimana ditunjukkan pada gambar tersebut, masing-masing interupsi disimpan pada lokasi yang sudah tetap dalam memori program. Sebuah interupsi disimpan pada lokasi yang sudah tetap dalam memori program. Sebuah interupsi menyebabkan CPU melompat ke lokasi interupsi yang bersangkutan, yaitu letak dari subrutin layanan interupsi tersebut. Lokasi-lokasi layanan interupsi tersebut menempati lokasi-lokasi dengan jarak 8-byte: 0003h untuk External Interrupt 0, 000Bh untuk timer 0, 0013h untuk External Interrupt 1, 001Bh untuk Timer 1 dan seterusnya. Alamat-alamat yang paling bawah dari memori program dapat berada dalam Flash onchip maupun memori eksternal ( perhatikan gambar 2 ). Untuk melakukan hal ini dilakukan pengkabelan pada pin EA atau External Acces ke Vcc ( akses internal ) atau GND ( akses eksternal ) sesuai dengan kebutuhan.
xxv
xxvi
Misalnya dalam AT89C51 dengan Flash on-chip sebesar 4 Kbyte, jika EA disambung ke Vc, pengambilan (fetching) instruksi pada lokasi 0000h hingga 0FFFh untuk memori internal. Seddangkan pengambilan instruksi untuk memori eksternal pada lokasi 1000h hingga FFFFh. Jika EA=GND, maka semua pengambilan instruksi langsung dilakukan pada memori eksternal.
Gambar 4. Memori program
Suatu konfigurasi perangkat keras untuk eksekusi program eksternal ditunjukkan pada gambar 5. Terlihat bahwa 16 jalur I/O ( melalui Port 0 dan Port 2 ) didedikasikan sebagai bus data maupun alamat. Port 0 ( P0 pada gambar 4 ) sebagai bus alamat / data yang dimultipleks, yang mengirimkan byte rendah dari pencacah program ( PCL, Program Counter Low ) sebagai suatu alamat kemudian berubah dalam kondisi mengambang ( Float ) selama menunggu datang byte kode dari memori program (eksternal ). Saat byte rendah pada pencacah program sah di P), sinyal ALE ( Address latch Enable ) meng-clock byte ini ke suatu pengunci alamat (Address Latch ). Sementara itu, Port 2 ( P2 dalam gambar 4 ) mengirimkan byte tinggi dari pencacah program ( PCH, Program Counter High ). Kemudian PSEN memberikan tanda pada memori eksternal dan mikrokontroler membaca byte kode tersebut.
xxvi
xxvii
Gambar 5. Eksekusi dari memori program eksternal.
4.
Memori Data Bagian kanan dari gambar 3 menampilkan ruang-ruang memori data internal dan eksternal yang tersedia pada mikrokontroler flash dari Atmel. Pada gambar 6 ditunjukkan suatu konfigurasi perangkat keras untuk mengakses RAM hingga 2 Kbyte. Dalam hal ini, CPU mengeksekusi instruksi pada Flash internal. Port 0 bertindak sebagai bus alamat / data yang termultipleks ke RAM dan 3 jalur pada Port 2 digunakan untuk menghalamani (page) RAM. CPU menghasilkan sinyal-sinyal RD dan WR sesuai kebutuhan selama pengakssan RAM eksternal. Data eksternal dapat ditentukan hingga 64 Kbyte. Alamat memori data eksternal bias 1 atau 2 byte. Alamat satu byte sering digunakan untuk membantu satu atau lebih jalur I / O dalam penghalaman-an RAM, sebagaimana ditunjukkan pada gambar 6. Alamat 2 byte dapat dipakai dalam kasus jika byte tinggi dikirim melalui Port 2.
xxvii
xxviii
Page bits
Gambar 6. Pengaksesan memori data eksternal.
Gambar 7. Memori data Internal
xxviii
xxix
Memori data internal ditunjukkan pada gambar 6. Ruang memori dibagi menjadi tiga blok, yang dikenal sebagai 128 bawah ( lower ), 128 atas ( upper 128 ) dan register fungsi khusus ( Special Function Register = SFR ).dalam AT89C51 serta mikrokontroler lain yang kompatibel.
Gambar 8. 128 byte rendah dari RAM Internal.
Pada gambar 8 ditunjukkan bagian RAM 128 byte bawah. Semua byte yang berada didalam 128 bawah dapat diakses secara langsung maupun tidak langsung. Bagian 128 atas ( gambar 9 ) hanya dapat diakses dengan pengalamatan tidak langsung. Bagian 128 atas dari RAM hanya ada didalam piranti yang memiliki RAM berukuran 256 byte.
xxix
xxx
FF
RAM SERBAGUNA 30 2F 2E 2D 2C 2B 2A 29 28 27 26 25 24 23 22 21 20 1F 18 17 10 0F 8 7 0
F0
F7
F6
F5
F4
F3
F2
F1
F0
B
E0
E7
E6
E5
E4
E3
E2
E1
E0
ACC
D0
D7 D6
D3 D2
~
B8 7F
7E
7D
7C
7B
7A
79
78
77
76
75
74
73
72
71
70
6F
6E
6D
6C
6B
6A
69
68
67
66
65
64
63
62
61
60
5F
5E
5D
5C
5B
5A
59
58
~
~
D5 D4 ~
B0
B7 B6
A8
AF
~
~
A0
A7
A6
A5
BC BB BA B9
B5 B4
B3 B2
D0
PSW
B8
IP
B1
B0
P3
AC AB AA A9
A8
IE
A4
A0
A3
A2
A1
P2
57
56
55
54
53
52
51
50
4F
4E
4D
4C
4B
4A
49
48
99 98
9F
9E
9D 9C 9B 9A
99
98 SCON
90
97
96
95
91
90
47
46
45
44
43
42
41
40
3F
3E
3D
3C
3B
3A
39
38
37
36
35
34
33
32
31
30
2F
2E
2D
2C
2B
2A
29
28
SBUF
BUKAN BIT YANG DAPAT DIALAMATI
94
93
92
P1
8D
BUKAN BIT YANG DAPAT DIALAMATI
TH 1
27
26
25
24
23
22
21
20
1F
1E
1D
1C
1B
1A
19
18
8C
BUKAN BIT YANG DAPAT DIALAMATI
TH 0
17
16
15
14
13
12
11
10
8B
BUKAN BIT YANG DAPAT DIALAMATI
TL 1
0F
0E
0D
0C
0B
0A
9
8
8A
BUKAN BIT YANG DAPAT DIALAMATI
TL 0
7
6
5
4
3
2
1
0
89 88
BUKAN BIT YANG DAPAT DIALAMATI
8F
8E
8D 8C 8B 8A
89
TMOD 88 TCON
BANK 3
87
BUKAN BIT YANG DAPAT DIALAMATI
PCON
BANK 2
83
BUKAN BIT YANG DAPAT DIALAMATI
DPH
82
BUKAN BIT YANG DAPAT DIALAMATI
DPL
81
BUKAN BIT YANG DAPAT DIALAMATI
BANK 1 BANK DEFAULT UNTUK R 0 -- R 7
80
Gambar 9. Bagian 128 atas RAM internal
87
86
85
84
83
82
81
SP
80
P0
Gambar 10. Ruang SFR
Pada gambar 10 ditunjukkan register fungsi khusus-SFR secara singkat dalam RAM internal lokasi 80h hingga 7Fh. SFR ini mencakup Port-port, pewaktu (timer), kontrol periferal dan lain-lain. Register-register ini hanya bias diakses dengan pengalamatan langsung. Secara umum, semua mirokontroler Atmel memiliki alamat-alamat SFR yang sama dalam ruang SFR sebagaimana
5.
Pewaktuan CPU Mikrokontroler AT89C51 memiliki oscillator internal (on-chip oscillator ) yang dapat digunakan sebagai sumber clock bagi CPU. Untuk menggunakan osilator internal diperlukan sebuah kristal atau resonator keramik antara pena XTAL 1 dan pena XTAL 2 dan sebuah kapasitor ke ground. Untuk kristalnya dapat digunakan frekuensi dari 0 sampai 12 MHz.
xxx
xxxi
Kapasitor yang digunakan sebesar 30 pf + 10 pf untuk kristal dan 40 pf + 10 pf untuk keramik resonator seperti terlihat pada gambar 11 dibawah ini. Sedangkan bila menggunakan clock eksternal, rangkaiannya dihubungkan seperti gambar 12.
Gambar 11. Menggunakan Osilator internal
Gambar 12. Menggunakan sumber clock eksternal
6.
Siklus Mesin CPU
xxxi
xxxii
Satu siklus mesin (machine cycle) berisi urutan 6 keadaan. Setiap keadaan waktu adalah sepanjang 2 periode osilator, sehingga satu siklus mesin membutuhkan 12 periode osilator atau 1 mikrodetik jika frekuensi osilator 12 MHz.
7.
Sistem Interupsi Sistem interupsi pada mikrokontroler AT89C51 akan menghasilkan suatu program yang berjalan, serta melayani interupsi yang diminta. Bila permintaan interupsi telah dilaksanakan, maka CPU akan kembali ke pelaksanaan program utama yang ditinggalkan ( Ibnu Malik, 1997: 16). Mikrokontroler AT89C51 memiliki 2 jenis interupsi, yaitu : 1)
Saluran interupsi internal, yaitu terdiri dari pewaktu/ pencacah 0 (T0), pewaktu/ pencacah 1 (T1), dan terminal serial.
2)
Saluran interupsi eksternal, yaitu terdiri dari interupsi eksternal 0 (INT0) dan interupsi eksternal 1 (INT1).
Sistem kerja interupsi dapat dijelaskan sebagai berikut: pada saat interupsi terjadi, informasi alamat terakhir pada pencacah program (PC) disimpan dalam Stack Pointer (SP), kemudian pencacah program diisi dengan alamat interupsi yang akan dituju. Kemudian CPU melaksanakan interupsi yang ditunjukkan pencacah program, sehingga interupsi dilaksanakan. Selanjutnya informasi pada Stack Pointer akan dikembalikan kepada pencacah program bila interupsi telah dilaksanakan.
8.
Register Mikrokontroler AT89C51 Register-register pada mikrokontroler AT89C51 dapat digolongkan menjadi 2 register, yaitu register serbaguna (General Purpose Register) dan register
dengan fungsi khusus (
Special Function register: SFR). Register serbaguna adalah register yang berfungsi untuk menyimpan data sementara untuk diolah oleh CPU baik operasi logika maupun aritmetika. Register serbaguna hanya dapat berfungsi sebagai nilai operan kedua pada perhitungan aritmetika ataupun operasi logika dengan operan utama register akumulator (register ini
xxxii
xxxiii
termasuk dalam SFR). Register serbaguna tidak memiliki fungsi-fungsi khusus. Mikrokontroler AT89C51 memiliki register serbaguna 8 bit yang terdiri dari R0-R7 yang menempati 4 bank alamat pada lokasi RAM internal. Register-register fungsi khusus / SFR yang dimiliki oleh mikrokontroler AT89C51 menempati alamat pada RAM internal 128. Adapun register-register tersebut adalah sebagai berikut : 1)
Register A (Accumulator), yaitu register 8 bit yang berfungsi sebagai akumulator yang digunakan untuk operasi aritmetika atau logika dan berfungsi untuk menyimpan hasil operasi tersebut.
2)
Register B, yaitu register 8 bit yang digunakan bersama dengan register A untuk operasi perkalian dan pembagian.
3)
Register penyimpan program status ( Program Status Word: PSW ), yaitu register 8 bit yan g berfungsi sebagai penanda status ( status flag)
sebagai akibat dari
pelaksanaan suatu instruksi. Register ini meliputi bit-bit : carry (CY), auxiliary ( AC), Zero Flag (F0), pemilih register bank (RS0 dan rs1), over flow (OV), dan parity flag (P). Flag CY, AC dan OV merupakan keluaran dari suatu proses aritmetika yang dilakukan di akumulator. Flag P merupakan parity dari isi register akumulator. Flag C digunakan juga sebagai akumulator operasi bit. RS0 dan RS1 digunakan untuk memilih register bank yang aktif pada saat itu. 4)
Register penunjuk tumpukan (Stack Pointer:SP), yaitu register 8 bit yang menunjukkan alamat data terakhir yang dimasukkan (push) ke dalam stack, juga sebagai alamat dari byte selanjutnya yang akan dikeluarkan (pop). Nilai register SP akan bertambah bila diberi instruksi push dan akan berkurang bila diberi perintah pop. Lokasi SP dapat ditentukan dengan cara perangkat lunak.
5)
Register penunjuk data ( Data Pointer: DPTR), yaitu register 16 bit yang berfungsi untuk mengakses lokasi kode alamat dan lokasi alamat eksternal. DPTR terdiri dari 2 buah register, yaitu DPL byte rendah dan DPH byte tinggi.
xxxiii
xxxiv
6)
Register pengontrol prioritas interupsi ( Interrupt Priority: IP ), yaitu register 8 bit yang berfungsi menentukan prioritas interupsi sesuai yang diinginkan. Jika salah satu bit pengatur prioritas interupsi diberi masukkan sinyal logika tinggi maka pena interupsi tersebut memiliki interupsi dengan prioritas tinggi.
7)
Register pengatur interupsi ( Interrupt Enable: IE ), yaitu register 8-bit yang berfungsi sebagai pengatur interupsi.
8)
Register pengatur ragam kerja pewaktu / pencacah ( Timer / Counter Mode Register : TMOD ), yaitu register 8 bit yang berfungsi untuk memilih mode waktu atau pencacah yang dilakukan mikrokontroler.
9)
Register pengatur kerja pewaktu/pencacah ( Timer/Counter: TCON ), yaitu register 8-bit yang berfungsi untuk mengatur kerja pewaktu / pencacah.
10)
Register pengatur komunikasi serial ( Serial Port Control: SCON ), yaitu register 8 bit yang berfungsi untuk mengatur ragam penerimaan atau pengiriman data serial melalui terminal serial.
11)
Register penampung data serial ( Serial Buffer: SBUF ), yaitu register yang berfungsi sebagi penampungan sementara dari penerimaan atau pengiriman data serial dari atau ke terminal data serial.
12)
Register pencacah program ( Program Counter: PCON ), yaitu register 16 bit yang berisi alamat dari instruksi berikutnya yang akan dilaksanakan oleh CPU.
9.
Pewaktu / Pencacah ( Timer/Counter ) Mikrokontroler AT89C51 memiliki 2 buah timer / counter 16 bit, yaitu: timer/counter 0, dan timer counter 1. Pada fungsi timer, register ini ditambah tiap satu siklus mesin atau dapat diartikan sebagai penghitung siklus mesin. Bila pewaktu / pencacah diaktifkan pada frekuensi 12 MHz, maka pewaktu / pencacah akan melakukan penghitungan sekali tiap satu mikrodetik tidak tergantung pada pelaksanaan suatu instruksi. Apabila periode waktu tertentu telah dilampaui, maka pewaktu/ pencacah akan memberi interupsi ke mikrokontroler bahwa instruksi perhitungan waktu telah selesai dilaksanakan. ( Ibnu malik, 1997: 20)
xxxiv
xxxv
10.
Baud rate Baud rate dalam system komunikasi serial tidak dapat dilepaskan fungsi dan pemahamannya, karena dengan Baud rate jumlah bit data serial yang dikirim dapat diketahui secara teoritis guna mengetahui validitas dan keakuratan data terkirim. Pada Port serial 89C51 , Baud rate dapat diatur pada Mode 1 dan Mode 3 , namun pada Mode 0 dan Mode 2, baud rate tersebut mempunyai kecepatan yang permanen yaitu untuk mode 0 adalah 1 / 12 dari frekwensi oscillator dan mode 2 adalah 1 / 64 dari frekwensi osilator. Dengan mengubah bit SMOD yang terletak pada register PCON menjadi set ( kondisi awal pada sat system reset adalah clear ), baud rate pada Mode 1 , 2 dan 3 akan berubah menjadi dua kali lipat. Pada system komunikasi antar ruang dengan AT89C51 sebagai Enkoder ataupun Dekoder digunakan Serial Mode 1 dimana baud rate dapat diubah dan disesuaikan dengan system 8 bit UART. Perhitungan guna mengatur Baud rate pada port serial dalam system komunikasi ini menggunakan rumus :
Baud rate =
F. Oscilator 12 x ( 256
TH 1 ) x 16
rumus diatas ditentukan karena jenis Serial Mode yang dipilih berada pada alamat 50h atau pada SMOD1
B.
Papan saklar Papan saklar adalah sebuah rangkaian yang terdiri dari saklar-saklar yang berfungsi untuk melakukan pilihan-pilihan tujuan dari ruang yang akan diajak berinteraksi, tentu saja setelah perintah–perintah dari keypad diterjemahkan oleh mikrokontroler AT89C51. Prinsip membuka / menutup saklar antara port masukkan dari mikrokontroler dengan pengaktifan catuan positif ataupun negatif. Berikut ini adalah gambar skema Papan saklar yang digunakan.
xxxv
xxxvi
RUANG.1
RUANG.2
RUANG.3
RUANG.4
P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 END
CALL
47 Ohm
P1.0 P1.1
RED
Vcc GND
SIBUK 47 Ohm GREEN
BEBAS
Gambar 13 . Papan saklar
Pre amplifier microphone Adalah penguat tingkat pertama dari sinyal suara yang telah diubah menjadi getaran electromagnet ( sinyal listrik ) oleh microphone . Pre amplifier yang akan digunakan sebagai penguat pertama adalah pre-amplifier dengan 1 transistor sebagai komponen aktif yang disatukan juga dengan rangkaian pemindah line ( jalur ) . Berikut adalah gambar skema pre amplifier 1 transistor dengan pengubah jalur ( line changer ) .
MICROPHONE 4,7 uF/ 16 V 5K
+
220 K
5K6
10 K
+6V
SW. DPDT
C.
C 1815 100 nF
0V
SPEAKER
PRE-AMP MIC DENGAN CHANGER LINE
NO I / O MIC RELAY DPDT +5V
Gambar 14 . Pre amplifier microphone 1 transistor.dengan pemindah jalur
xxxvi
xxxvii
D.
Audio amplifier Audio amplifier adalah sub unit dari komunikator antar ruang berbasis mikrokontroler AT89C51 yang berfungsi menguatkan sinyal suara dalam bentuk sinyal listrik sehingga dapat cukup kuat untuk diubah kembali ke bentuk suara dengan jarak dan ruang yang dikehendaki. Sinyal inilah yang dikehendaki oleh pemakai karena bersifat mewakili dari informasi antar pengguna yang menjadikan alas an dibuatnya alat ini. Daya keluaran amplifier audio yang digunakan berada pada kisaran 2 Watt sampai dengan 5 Watt. Berikut dibawah ini adalah gambar skema audio amplifier yang digunakan.
Gambar 15 . Audio amplifier
E.
Driver relay komunikasi data Driver relay komunikasi data adalah sub-unit dari komunikator antar ruang berbasis mikrokontroler AT89C51 yang berfungsi sebagai driver atau pengendali relay yang dalam pin-pin konektornya
terdapat
saluran
komunikasi data serial antara
pemanggil dan mikrokontroler yang akan dihubungi.
xxxvii
mikrokontroler
xxxviii
Line komunikasi data serial
NC
com
VCC + 5 V
RxD Port NO
TxD Port
IN4001 P2.1 A 733
Gambar 16 . Skema driver relay komunikasi data. Driver relay komunikasi data dikendalikan oleh transistor PNP karena sifat mikrokontroler yang berada pada kondisi rendah/low pada saat diaktifkan. Berikut dibawah ini adalah skema driver relay komunikasi data. F.
Driver relay komunikasi audio / suara Driver relay komunikasi audio adalah sub-unit dari komunikator antar ruang berbasis mikrokontroler AT89C51 yang berfungsi sebagai driver atau pengendali relay komunikasi informasi
suara
yang
menghubung/putuskan dihubungi.
didalamnya
terdapat
pin-pin
konektor
jalur komunikasi suara antara pemanggil
Karena mikrokontroler AT89C51 berkarakter
yang
berfungsi
dengan pengguna yang
keluaran
aktif rendah, maka
digunakan transistor PNP untuk menguatkan sinyal pengaktifannya. Berikut dibawah ini adalah gambar skema rangkaian driver relay komunikasi suara / audio. Line komunikasi suara NC VCC + 5 V
com
Blank ( No Conection ) NO
IN4001 P2.0 A 733
xxxviii
Line Suara dari relay 3
xxxix
Gambar 17 . Skema driver relay komunikasi suara. G.
Catu Daya Catu daya atau Power supply regulator adalah sebuah sub-unit dari komunikator antar ruang berbasis Mikrokontroler AT89C51 yang berfungsi memberikan masukan daya sehingga seluruh kesatuan sistem Komunikator antar ruang dapat difungsikan sebagaimana mestinya. Berikut dibawah ini adalah gambar dari catu daya sistem komunikasi antar ruang berbasis Mikrokontroler AT89C51. PLUG AC MALE 220 V
T1 TRANSFORMATOR 2 AMPER
4 Amp
~ -
2SC1061
LM 7812
15 V
+
1
~ +
VIN
VOUT
C1 4700 uF/16V
3
+ C1 470 uF/16V
2
LM 7809 2
1
PRE-AMP MIC DAN AMPLIFIER
MINIMUM SISTEM & DRIVER RELAY
3 VI
1
VI
LM7806
2
2
VO
3
GND
VO
1
GND
3
LM7805
IN4001
Gambar 18. Catu daya Sistem komunikasi berbasis Mikrokontroler AT89C51
H.
Kerangka Berpikir Pada prinsipnya alat ini akan mengatur system komunikasi dalam keterbatasan media
perantara dengan meminimalisasi adanya gangguan atau kekacauan dalam media perantara tersebut saat system difungsikan. Latar belakang dibuatnya alat ini adalah tuntutan kebutuhan komunikasi dalam suatu lingkungan kerja yang memaksa efisiensi dan efektifitas
yang berhubungan dengan dana
disamping tetap terjaganya nilai estetika di lingkungan tersebut.
Sistem
kendali
komunikasi
antar
ruang
dengan
memanfaatkan
Mikrokontroler AT89C51 sebagai enkoder ataupun decoder merupakan sebuah
xxxix
xl
system kendali dengan menggunakan lup terbuka (open loop). Kendali diarahkan hanya untuk memilih atau mengendalikan daerah tujuan melewati system komunikasi serial, dan tidak untuk diumpan balikkan guna mengetahui hasil kendali. Hasil dari pembuatan alat ini adalah system komunikasi antar ruang yang terkendali, teratur dan variatif terhadap tujuannya .Meski hanya menggunakan 1 jalur kendali dan 1 jalur komunikasi, tetapi tidak tertutup kemungkinan untuk melakukan komunikasi dengan 255 pilihan ruang berbeda secara teratur dan bergantian. Berdasarkan kerangka berpikir tersebut diharapkan penelitian akan terarah dan akan berjalan lancar sesuai dengan prosedur.
xl
xli
BAB III METODE PENELITIAN
Penggunaan AT89C51 sebagai enkoder / dekoder dalam sistem komunikasi antar ruang direncanakan sebagai alat yang berfungsi untuk mengatur komunikasi antar ruang dengan memberikan pilihan tujuan ruangan yang akurat dan laporan akan kondisi jaringan yang dipakai . Alat ini bekerja dengan program yang diisikan kedalam Flash PEROM internal yang terdapat dalam chip mikrokontroler AT89C51, yang sebelumnya diisi program dengan perantara personal komputer dan programer board AT89C51 buatan Haline sebagai perangkat kerasnya (Hardware) kemudian didukung pula oleh HB2000 sebagai perangkat lunak (software) yang memungkinkan
kedua perangkat tersebut
bekerja dengan baik dan kompak. Oleh karena itu secara garis besar perencanaan alat dipisahkan menjadi dua bagian, yaitu perencanaan perangkat keras (hardware) dan perencanaan perangkat lunak (software). Perangkat keras dalam hal ini adalah rangkaian elektronika yang berfungsi sebagai sub-sistem seperti minimum system AT89C51, pre-amplifier microphone, audio amplifier, driver relay komunikasi data, driver relay komunikasi suara, Papan saklar dan Catu daya . Sedang perangkat lunak (program) adalah deretan perintah yang menentukan urutan langkah kerja perangkat keras komputer.
xli
xlii
Alat Dan Bahan Dalam pembuatan alat komunikator antar ruan berbasis mikrokontroler AT89C51 , alat yang diperlukan adalah sebagai berikut : Alat : a. Personal Komputer dengan aplikasi program HB2000. b. Multimeter tipe Sanwa 15 D. c. Multimeter Digital HIOKI tipe PR 630 d. Tool set. e. Power Supply DC 12 V dan 5 V f. Bor listrik ukuran 0,8 mm , 1 mm dan 1,5 mm. g. Kabel paralel port DB 25 h. Programer dan evaluator board produksi Haline. i. Osiloskop TRIO tipe CS 1010 Bahan : a. PCB single layer b. Resistor c. Kapasitor d. Relay DPDT e. Box Ekstra mic f. Microphone condenser g. Microswitch h. Switch DPDT i. Speaker 8 ohm , 2 - 5 Watt
xlii
xliii
j. IC AT89C51 k. IC LM 7809, LM 7806, LM 7805 l. Xtal 12 MHz m. Header n. Socket pin header o. Variabel Resistor p. Kabel. q. Transformator 2 Ampere r. Dioda 4 A
Perencanaan Perangkat Keras Diagram Blok Komunikator antar ruang berbasis mikrokontroler AT89C51 direncanakan menjadi 7 bagian penting, yaitu Papan saklar, minimum sistem AT89C51, pre-amplifier microphone yang dilengkapi pemindah jalur, audio amplifier, driver relay komunikasi data, driver relay komunikasi audio dan Catu Daya ( Power supply regulator ) . Papan saklar digunakan sebagai pemilih / pemberi perintah minimum sistem yang didalamnya terdapat dasar atau komponen inti yaitu AT89C51 . Pre–amplifier microphone digunakan sebagai penguat tingkat pertama setelah tranduser suara merubah getaran suara menjadi getaran elektromagnet. Audio amplifier digunakan sebagai penguat suara tingkat akhir dengan tujuan tranduser suara berupa speaker dengan daya keluaran berkisar 2 Watt sampai dengan 5 Watt, dengan impedansi 8 ohm. Driver relay komunikasi data digunakan sebagai jalan bagi terbuka atau tertutupnya sebuah jalur komunikasi saat akan difungsikannya AT89C51 sang pemanggil maupun yang dipanggil, dengan adanya driver relay komunikasi data inilah, nantinya data-data logika yang dikirim serial dapat dikirim, diterima dan diterjemahkan menjadi sebuah perintah yang memungkinkan terjadinya komunikasi antar ruang. Driver relay komunikasi suara digunakan sebagai pengendali terbuka atau
xliii
xliv
tertutupnya jalur komunikasi suara. Disinilah interaksi bolak-balik antara pemanggil dan yang dipanggil terjadi secara bergantian . Kemudian juga yang membuat rangkaian ini dapat bekerja dengan baik yaitu power supply yang teregulasi sesuai dengan kebutuhan beban. Hal ini tidak bisa dipungkiri karena masing-masing sistem membutuhkan sumber daya yang berbeda tegangannya.
Blok diagram komunikator antar ruang berbasis mikrokontroler AT89C51 ditunjukkan pada gambar 18 dibawah ini, dengan meniadakan atau menganggap masing-masing blok telah diperlengkapi Power supply didalamnya .
Gambar 19. Blok Diagram komunikator antar ruang berbasis mikrokontroler AT89C51 sebagai enkoder / dekodernya.
Diagram blok diatas menunjukkan blok diagram penggunaan AT89C51 sebagai enkoder / dekoder dalam sistem komunikator antar ruang berbasis mikrokontroler AT89C51, Input atau perintah dari alat tersebut diatas berupa saklar-saklar yang terdapat dalam papan saklar yang diterima oleh salah satu port yang dimaksudkan sebagai port masukan dari mikrokontroler diatas.
Perencanaan rangkaian
xliv
xlv
Penggunaan komunikator antar ruang berbasis mikrokontroler AT89C51 sebagai enkoder / dekodernya adalah sebuah sistem yang terdiri dari 6 blok rangkaian utama, yaitu : a)
Rangkaian minimum sistem AT89C51. Rangkaian minimum sistem AT89C51 adalah rangkaian dengan konfigurasi komponen pendukung terkecil yang dapat mendukung kerja mikrokontroler AT89C51 . Dalam rangkaian ini , konfigurasi yang dibutuhkan adalah clock internal, regulator daya ± 5 V, saklar reset dan terminal port I / O. Berikut dibawah ini adalah skema dari minimum sistem AT89C51 :
VCC + 5 V
40 39 38 37 36 35 34 33 32 1 2 3 4 5 6 7 8
30 pF
19 18 12 MHz 30 pF
31 9
VCC
P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 XTAL1 XTAL2
P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD ALE/PROG PSEN
21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17 30 29
EA/VPP RST
20
+
AT89C51
10 uF/16 V
Reset Switch
Gambar 20 . Minimum sistem AT89C51
b)
Rangkaian Papan saklar Rangkaian papan saklar sekali lagi dijelaskan dalam bahasan ini sebagai konfigurasi saklar yang dirangkai sedemikian rupa dalam interaksinya terhadap port masukkan mikrokontroler AT89C51 guna menentukan perintah yang harus dikerjakan oleh mikrokontroler yang bersangkutan. Berikut dibawah ini skema papan saklar mikrokontroler AT89C51 :
xlv
xlvi
RUANG.1
RUANG.2
RUANG.3
RUANG.4
P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 END
CALL
47 Ohm
RED
P1.0 P1.1
SIBUK 47 Ohm GREEN
VCC + 5 V BEBAS
Gambar 21 . Skema Papan saklar komunikator antar ruang.
c)
Rangkaian kendali relay komunikasi data Rangkaian ini mempunyai tugas sebagai penguat keluaran sinyal berlogika rendah atau ‘ 0 ‘ yang dikeluarkan oleh mikrokontroler AT89C51 saat dia bersikap aktif terhadap perintah. Rangkaian ini terdiri dari transistor PNP sebagai komponen aktif utama yang penyaklarannya dengan menggunakan arus negatif yang dikeluarkan oleh mikrokontroler AT89C51 saat aktif. Dalam DPDT ( Double pool double throw ) relay yang dikendalikan terdapat pin-pin konektor yang apabila dirunut sesuai dengan skema akan diketahui sistem kerjanya. Lewat pinpin konektor inilah nantinya komunikasi data via serial port diperantarai dan diatur sehingga tidak terjadi kekacauan antar data yang akan diterjemahkan. Berikut dibawah ini skema rangkaian driver relay komunikasi data sebagai sub-sistem rangkaian komunikator antar ruang berbasis mikrokontroler AT89C51.
Line komunikasi data serial
NC VCC + 5 V
com
RxD Port NO
TxD Port
IN4001 P2.1 A 733
Gambar 22 . Rangkaian relay komunikasi data beserta pin-pin konektornya
xlvi
xlvii
d)
Rangkaian kendali relay komunikasi suara Jenis rangkaian kendali relay komunikasi suara identik sekali dengan rangkaian kendali relay guna komunikasi data, semuanya termasuk komponen utama yaitu transistor PNP tidak mengalami perombakan yang berarti karena kendali relay ini menggunakan prinsip yang sama , yaitu sebagai saklar dengan arus negatif sebagai pemicunya. Yang membedakan dari kedua sub-sistem ini adalah masing-masing pin konektornya yang difungsikan pada antar muka rangkaian yang berbeda , sehingga berbeda pula sistem manipulasi data / informasi yang diperantarainya. Berikut dibawah ini adalah gambar . skema dari rangkaian driver/ pengendali relay komunikasi suara.
Line komunikasi suara NC VCC + 5 V
com
Blank ( No Conection ) NO
Line Suara dari relay 3
IN4001 P2.0 A 733
Gambar 23 . Rangkaian relay komunikasi suara beserta pin-pin konektornya
e)
Rangkaian Pre-amplifier microphone Rangkaian ini bekerja sebagai penguat getaran elektromagnet yang telah dihasilkan oleh tranduser suara yaitu mic condenser, untuk kemudian dikuatkan sesuai dengan kemampuan rangkaian pre-amplifier microphone yang disebut untuk menguatkan sinyal elektromagnet tersebut menjadi sinyal listrik yang cukup kuat. Pada alat yang penulis buat, wujud konfigurasi pre-amplifier microphone-nya menggunakan 1 transistor sebagai satusatunya komponen aktif dalam microphone tersebut, yang tentu saja tidak diharapkan kualitas suara yang prima , tetapi cukup untuk menghadirkan suara yang cukup jelas didengar tanpa adanya cacat / distorsi didalamnya. Berikut dibawah ini gambar rangkaian pre-amplifier microphone dengan 1 transistor yang telah disesuaikan fungsinya dengan pemindah jalur pada box ekstra mic..
xlvii
xlviii
MICROPHONE 4,7 uF/ 16 V 5K
+
220 K
5K6
10 K
SW. DPDT
+6V
C 1815 100 nF
0V
SPEAKER
PRE-AMP MIC DENGAN CHANGER LINE
NO I / O MIC RELAY DPDT +5V
Gambar 24 . Skema rangkaian pre-amp microphone 1 transistor dengan pengubah jalur.
f)
Rangkaian amplifier audio Rangkaian yang berfungsi sebagai penguat akhir sinyal suara yang dihasilkan oleh pre-ampifier microphone . Rangkaian yang digunakan adalah rangkaian amplifier audio dengan daya keluaran berkisar antara 2 Watt sampai dengan 5 Watt, disesuaikan dengan daya maksimal yang dapat diterima oleh speaker dengan ukuran 2 watt dengan impedansi 8 ohm. Berikut dibawah ini gambar skema dari audio amplifier yang digunakan
xlviii
xlix
Persamaan Ic UPC1181 sebagai komponen aktif dapat digantikan dengan Ic UPC 1182 dengan pemasangan pin yang dibalik.
Gambar 25 . Skema Audio amplifier.
g)
Catu daya
Catu daya atau Power supply regulator adalah sebuah sub-unit dari komunikator antar ruang berbasis Mikrokontroler AT89C51 yang berfungsi memberikan masukan daya sehingga seluruh kesatuan sistem Komunikator antar ruang dapat difungsikan sebagaimana mestinya. Berikut dibawah ini adalah gambar dari catu daya sistem komunikasi antar ruang berbasis Mikrokontroler AT89C51.
T1 TRANSFORMATOR 2 AMPER
4 Amp
~ -
+
2SC1061
LM 7812
15 V 1
~ +
VIN
VOUT
C1 4700 uF/16V
3
+ C1 470 uF/16V
2
LM 7809 2
1
PRE-AMP MIC DAN AMPLIFIER
MINIMUM SISTEM & DRIVER RELAY
3 VI
1
1
VI
VO
3
GND
VO
LM7806
2
3
GND
PLUG AC MALE 220 V
2
NB:
LM7805
IN4001
Gambar 26. Catu daya Sistem komunikasi berbasis Mikrokontroler AT89C51
xlix
l
3. Pembuatan PCB dan Perakitan. Setelah gambar rancangan rangkaian jadi seperti pada gambar 23 langkah selanjutnya adalah membuat jalur pengawatan pada PCB dan tata letak komponen. Jalur pengawatan PCB dibuat single layer, lebih jelasnya dapat dilihat pada lampiran.
a. Pembuatan PCB Hal-hal yang harus dilakukan dalam pembuatan PCB antara lain :
b.
1.
Rencanakan tata letak komponen.
2.
Ubah gambar menjadi layout.
3.
Pindah gambar layout salah satu sisi pada papan PCB single layer.
4.
Cek kembali posisi komponen, jangan sampai terbalik.
5.
Cetak jalur pengawatan PCB bagian bawah.
6.
Pastikan jalur layout yang dibuat sudah benar ( tidak terbalik ).
7.
Larutkan PCB pada larutan ferri clorida ( FeC13 ).
8.
Cuci PCB hingga bersih.
Perakitan Dalam perakitan yang harus diperhatikan adalah memasang komponen pasif terlebih dahulu diantaranya Resistor
dan Capasitor, selanjutnya memasang komponen aktif yaitu Transistor dan IC.
c.
Pengujian Rangkaian Pengujian rangkaian dilakukan dengan cara : 1. Pengujian dengan mengukur tegangan keluaran pada power supply dengan sistem regulasi tegangan pada kisaran 12 V. 2.
Pengujian pada bagian mikrokontroler, dilakukan dengan cara : a.
Mengukur tegangan Vcc hasil regulasi yang masuk ke dalam minimum sistem AT89C51 pada kisaran 5 Volt dengan toleransi sebesar 10 %.
b.
Mengecek bentuk gelombang pada pin X-TAL 1 dan X-TAL 2.
c.
Mengecek tegangan dan bentuk gelombang pada pin EA.
d.
Mengecek bentuk gelombang pada pin ALE.
e.
Mengecek tegangan pin-pin keluaran yaitu pin pada : P2.0 , P2.1 , P1.0 dan P1.1 .
f.
Mengecek bentuk gelombang keluaran pada port TXD saat Keypad diaktifkan sebagai masukkan.
l
li
g.
Mengecek dua sistem mikrokontroler yang di antar muka dengan masing-masing berperilaku sebagai enkoder ataupun dekoder.
3. Pengujian pada bagian driver relay :
4.
a.
Mengecek tegangan yang masuk pada salah satu triger relay pada kisaran 5 V.
b.
Menyundut atau memicu masukan pada basis transistor driver dengan tegangan 0.
c.
Mengecek posisi dan kualitas conector pada relay.
Pengujian pada bagian Pre-amp mic dan Audio Amplifier : a.
Mengecek tegangan masukan dengan patokan pada kisaran 6 Volt sampai dengan 12 Volt.
b.
Mengecek sinyal keluaran saat amplifier diberi sinyal masukkan.
Desain Perangkat Lunak Semua rangkaian membutuhkan tegangan sebesar 5 V dan sebagian 6 V DC . Untuk tegangan referensi membutuhkan 12 V DC yang diambil dari catu daya. Perencanaan perangkat lunak untuk sistem AT89C51 sebagai enkoder ataupun dekoder sebagai komunikator antar ruang, langkahnya sebagai berikut : Penentuan sistem kerja dari AT89C51, yakni saat reset menjalankan mulai menjalankan program utama , selanjutnya mulai melaksanakan rutin
guna inisialisasi port serial dan inisialisasi timer guna mengatur baud rate yang akan
digunakan untuk pengaturan komunikasi data serial. Penentuan baud rate di set pada mode 1 yang berada pada alamat 50h , dimana pada kondisi ini AT89C51 berada pada gambaran seperti dibawah ini :
( MSB )
( LSB )
SM0
SM1
SM2
REN
TB8
RB
T1
R1
0
1
0
1
0
0
0
0
* SM1 = Serial mode 1 , mendeskripsikan sistem 8 bit UART dengan baud rate yang dapat diatur ( variabel ). * REN = Status aktifasi RXD lewat manipulasi perangkat lunak. Keadaan bagi masing-masing sistem komunikasi saat bebas atau led hijau menyala adalah dalam kondisi siap menunggu perintah lewat masukkan dari serial port atau membaca masukkan yang diberikan lewat P1.2 s / d P1.7 sebagai
li
lii
sumber masukkan internal unit sistem , Sehingga untuk hal ini perlu dibuat program simulasi masukkan dan keluaran terhadap AT89C51 dan responnya terhadap data serial yang keluar. Ketika sistem internal mulai mengajukan perintah lewat papan saklar, langkah untuk aktivasi komunikasi dengan jaringan luar harus dijadikan prioritas pertama , dengan harapan pengiriman data alamat ruang yang akan saling berinteraksi tidak sia-sia. Hal ini bisa dilakukan dengan penekanan saklar
‘ Call ‘( koneksitas P1.2 ) , pada
saat perintah ‘ Call ‘ dibaca, driver relay komunikasi data si pemanggil mengaktifkan relay , sehingga port serial TXD siap mengirimkan data lewat jalur komunikasi data serial. Pada saat ini secara otomatis , sistem internal dari si pemanggil mengaktifkan led indikator warna merah yang berarti jaringan data sedang sibuk. Pada keadaan ini relay bekerja lebih dulu kemudian baru diikuti led merah menyala sebagai akibat dari proses penundaan guna memastikan bahwa jalur komunikasi data serial benar-benar telah siap mengirimkan data. Bersamaan dengan nyala led merah, dikirim juga data guna mengunci papan saklar unit-unit komunikasi yang lain supaya tidak terjadi kekacauan dalam pemanggilan. Perintah ‘ Call ‘ , memberi keadaan si pemanggil pada kondisi mengirim data serial, dan bukannya menerima data serial. Pada kondisi inilah si pemanggil tidak dapat merespon panggilan pada saat yang bersamaan guna membedakan kondisi pemanggil dan yang dipanggil terhadap ruangan lain yang tidak aktif maka dari sini diperlukan rutin pengunciyang bersamaan dikirim dengan led indikator merah menyala . Pada saat tombol nomer ruangan ( sebagai simulasi dipakai ruang 1 s/d ruang 4 ) ditekan, Mikrokontroler AT89C51 menyandikan 8 bit data yang berisi alamat ruang dengan bentuk bilangan biner. Data sandi biner 8 bit ini kemudian dikirim secara serial lewat Port serial TXD pada mmikrokontroler AT89C51. Respon hanya diberikan oleh Mikrokontroler yang telah teralamati pada FLASH PEROM-nya, sesuai dengan bilangan biner / heksadesimal yang menunjukkan nomer / identitas ruangan lewat deklarasi program yang dibuat. Bagi mikrokontroler yang menerima sandi sesuai dengan alamat ruangnya akan mengaktifkan relay komunikasi suara dan tetap memberikan tanda bahwa jaringan komunikasi data sibuk ( Led merah
menyala ). Sedangkan bagi
Mikrokontroler pada alamat lain yang tidak sesuai, akan mengaktifkan indikator sibuk ( Led Merah ) pada sistem diruangan tersebut. Indikator sibuk ini nantinya akan menyebabkan tidak berfungsinya papan saklar yaitu P1.2 s/d P1.7 juga masukkan dan keluaran lain yang ada pada sistem tersebut sehingga keberadaan sistem ini nantinya tidak mengganggu unit yang sedang berkomunikasi . Pada saat proses komunikasi diinginkan untuk selesai, maka hanya si pemanggil yang dapat mengakhirinya. Penekanan tombol ‘END’ berfungsi untuk mengirim kembali data biner / heksa yang dikomunikasikan serial lewat Port TXD, data ini adalah data yang memiliki kesepakatan bersama dalam sistem besar komunikasi bahwasanya dengan dikirim atau diterimanya data ini lewat serial Port ‘ RXD ‘, maka otomatis akan mereset ulang kondisi masingmasing sistem pada keadaan bebas. Untuk memudahkan pemahamannya, sebagai contoh dibuat sebuah diagram alir seperti gambar 27. dibawah ini :
lii
liii
Gambar 27. Diagram alir pengendalian port
D. Teknik Analisis data Metode penulisan tugas akhir ini menggunakan metode studi kepustakaaan dan percobaan laboratorium. Studi kepustakaan dilakukan untuk
liii
liv
mencari materi yang mendukung dan sesuai dengan materi tugas akhir ini, disamping sebagai bahan perbandingan landasan teori dari rangkaian yang dibuat, sedangkan percobaan laboratorium berupa pemanipulasian program, dilakukan untuk menguji kerja alat yang dibuat, alamat dan varian ruang tujuan yang dihasilkan. Sebagai bahan pengujian digunakan 2 sampel ruang yang didalamnya terdapat 2 unit sistem komunikasi antar ruang. Penelitian yang dilakukan dalam pengambilan data alat instrumen ini menggunakan pendekatan “One Shoot” model. Model pendekatan ini berprinsip pada pendekatan yang menggunakan satu kali pengumpulan data pada “suatu saat”. Mengenai tingkat validitasnya juga mengenai data yang berhubungan dengan alamat ruang dan nilai-nilai bilangan heksadesimal yang digunakan didalamnya yang keadaannya sengaja dibuat guna perbandingan.
liv
lv
BAB IV
HASIL PENELITIAN DAN PEMBAHASAN Hasil Penelitian Rangkaian mikrokontroler AT89C51 sebagai encoder dan decoder dalam system kendali komunikasi antar ruang diujicoba untuk dapat mengetahui prinsip dasar komunikasi data serial yang mendasari cara kerja system kontrol jarak jauh dengan media terbatas tetapi tetap memberikan banyak pilihan pengendalian. Program yang dicoba untuk mengatur komunikasi data serial beserta pilihan kendalinya adalah sebagai berikut :
Program pengendali komunikasi antar ruang via serial port
count equ
0E8H ; ;
Bilangan dasar dimulainya penghitungan dari 0e8h sampai dengan FFFFh guna fungsi delay
r1a
bit
p1.4
; Identitas r1a sebagai ruang 1 beralamat di p1.4
r2a
bit
p1.5
; Identitas r2a sebagai ruang 2 beralamat di p1.5
r3a
bit
p1.6
; Identitas r3a sebagai ruang 3 beralamat di p1.6
r4a
bit
p1.7
; Identitas r4a sebagai ruang 4 beralamat di p1.7
call1
bit
p1.2
; Identifikasi tombol ‘Call’ beralamat di p1.2
end1
bit
p1.3
; Identifikasi tombol ‘End’ beralamat di p1.3
tx_r
bit
p2.1
; Identifikasi port trigger relay data serial
green bit
p1.1
; Identifikasi port status led hijau
red
p1.0
; Identifikasi port status led merah
kunci bit
20h.0
; Aktifasi Ram pada alamat 20h bit ke 0
audio_r
bit
org
bit
p2.0
; Identifikasi port trigger relay audio
000h clr
20h.0
lv
lvi
trs1:
trs2:
sjmp
main1
org
023H
clr
TI
jnb
RI,Byte
mov
a,sbuf
clr
RI
cjne
a,#02h,trs1
clr
red
setb
green
clr
audio_r
cjne
a,#08h,trs2
setb
audio_r
setb
red
clr
green
clr
kunci
cjne
a#10h,byte
setb
kunci
;
Byte: ret
org
50H
main1: clr
green
main: ;clr
p1.1
lvi
lvii
;
;JB
P1.2,$
;Jnb
p1.2,$
;setb
p1.1
;clr
p2.1
;clr
p1.0
mov
IE,#00
mov
TH1,#Count
mov
TL1,#count
mov
tmod,#20H
mov
Tcon,#40H
mov
scon,#50h
mov
87h,#7Fh
mov
IE,#90H
;sjmp main
ulang: jb
call1,$
jb
kunci,ulang
jnb
call1,$
CLR
audio_r
clr
tx_r
clr
red
setb
green
lvii
lviii
bl:
l1:
l2:
l3:
l4:
mov
a,#09h
acall
send
jb
r1a,l1
jnb
r1a,$
mov
a,#01h
acall
send
jb
r2a,l2
jnb
r2a,$
mov
a,#02h
acall
send
jb
r3a,l3
jnb
r3a,$
mov
a,#03h
acall
send
jb
r4a,l4
jnb
r4a,$
mov
a,#04h
acall
send
jb
end1,bl
jnb
end1,$
mov
a,#00
setb
red
clr
green
lviii
lix
mov
a,#08h
acall
send
acall
ldelay
setb
tx_r
setb
audio_r
ajmp ulang send: mov
sbuf,a
ret Delay: DJNZ R3,delay
; R3=R3-1 bila <> 0 ke label delay
Djnz
; R1=R1-1 bila <> 0 ke label delay
R1,Delay
Ret Ldelay:
; Kembali ke alamat setelah perintah acall
delay
acall
delay
acall
delay
acall
delay
;acall delay ;acall delay ;acall delay ;acall delay ;acall delay ret
; 'call Delay'
end
lix
lx
Analisa
Sistem kerja rangkaian dimulai dari dibacanya papan saklar yang tercatu pada tegangan kerja + 5 V dan terkoneksi pada P1.0 dan P1.1 sebagai output atau hasil proses eksekusi mikrokontroler AT89C51 yang ditampilkan oleh led merah dan led hijau. Kemudian juga P1.2 , P1.3 , P1.4 , P1.5 , P1.6 dan P1.7 sebagai titik – titik pemberi masukan atau perintah kepada mikrokontroler AT89C51 . Metode inputan yang diberikan adalah berupa inputan rendah ( Low Input ). Pada kondisi awal system diketahui terisi atau tidaknya sebuah jaringan komunikasi adalah dengan ditampilkannya led hijau atau led merah yang menyala , pada kondisi seperti ini seluruh system dalam sebuah komunitas dapat dikatakan berada pada kondisi bebas atau standby apabila led hijau yang menyala , tetapi tidak demikian halnya apabila led merah yang menyala, pada saat led merah menyala mikrokontroler memberi tanda bahwa jaringan perantara komunikasi dalam keadaan sibuk atau terisi, pada unit pemanggil saat led merah menyala papan saklar masih dapat difungsikan karena diantara prosedur yang berlaku pada system ini adalah unit pemanggil haruslah juga unit yang
lx
lxi
mengakhiri komunikasi. Pada kondisi led merah menyala, unit tujuan dan unit-unit lain yang tidak berkepentingan dimatikan funsi saklarnya hal ini dimaksudkan guna menjaga adanya kerahasiaan dan kenyamanan dalam berkomunikasi dari gangguan unit-unit lain dalam satu komunitas. Pada saat menekan tombol “ Call” , papan saklar memberi perintah kepada mikrokontroler untuk mengaktifkan rutin interupsi , setelah proses interupsi memberikan hasil kemudian mikrokontroler menyiapkan pengiriman data serial dengan terlebih dahulu menyiapkan relay pada posisi TXD ON setelah sebelumnya memanggil rutin delay sebelum SBUF siap mengirim data pengunci . Data yang dikirim ke semua unit tujuan adalah sama Baud ratenya karena berada pada SMOD1, berikut di bawah ini adalah perhitungan Baud rate yang digunakan dalam system ini :
F. Oscilator
Baud rate =
12 x ( 256
TH1
= FF h – E8 h
= 17 h
lxi
TH 1 ) x 16
lxii
= 23 desimal. Jadi jumlah bit data yang terkirim tiap detiknya adalah = 12.000.000
Hz
=
12.000.000 Hz
12 x ( 256 – 23 ) x 16
=
12 x 233 x 16
12.000.000 Hz 44.736
= 268,240 bps
Setelah data pengunci saklar 08h diterima oleh unit-unit selain pengirim data , maka Port 1.2 sampai dengan Port 1.7 menjadi tidak dapat membaca perintah, sehingga papan saklar menjadi tidak berfungsi. Pada kondisi seperti ini unit selain pemanggil hanya dapat menunggu perintah selanjutnya dari pemanggil yaitu perintah pemanggilan ruang dan perintah untuk mengakhiri komunikasi. Pada perintah pemanggilan ruang , unit pemanggil mengirimkan data alamat secara serial kepada semua unit ruangan , ruangan yang dalam flash memorinya telah teralamati sesuai dengan data yang dikirim akan memberika respon berupa aktifnya relay komunikasi audio ke dalam kondisi NO = Common. Berikut alamat ruang yang telah teralamati
Ruang
Alamat
1
01 H
2
02 H
3
03 H
4
04 H
Diantara perintah utama “ Call “ dan Pemanggilan ruang , Perintah “End” juga perintah utama yang diproses Mikrokontroler untuk mengakhiri komunikasi dengan arahan kerja mengaktifkan kembali port masukan P1.2 sampai dengan P1.7 semua unit komunikasi , me-nonaktifkan relay audio ruang tujuan , memberi status bebas pada semua ruangan dan me-nonaktifkan relay data pada unit pemanggil kembali ke kondisi RXD.
lxii
lxiii
Penbahasan Program komunikasi antar ruang dengan menggunakan mikrokontroler sebagai pengendali data serial dimulai dengan mendeklarasikan besaran-besaran penting dalam program yang nantinya digunakan sebagai arah masukan perintah dan hasil dari proses pengolahan data oleh AT89C51. count equ
0E8H
r1a
bit
p1.4
; Identitas r1a sebagai ruang 1 beralamat di p1.4
r2a
bit
p1.5
; Identitas r2a sebagai ruang 2 beralamat di p1.5
r3a
bit
p1.6
; Identitas r3a sebagai ruang 3 beralamat di p1.6
r4a
bit
p1.7
; Identitas r4a sebagai ruang 4 beralamat di p1.7
call1
bit
p1.2
; Identifikasi tombol ‘Call’ beralamat di p1.2
end1
bit
p1.3
; Identifikasi tombol ‘End’ beralamat di p1.3
tx_r
bit
p2.1
; Identifikasi port trigger relay data serial
green bit
p1.1
; Identifikasi port status led hijau
red
p1.0
; Identifikasi port status led merah
bit
kunci bit
20h.0 ; aktifasi ram pada alamat 20h bit ke- 0
audio_r
bit
p2.0
; Identifikasi port trigger relay audio
system kerja AT89C51, yakni setelah reset mengawali program pada alamat 0000h mengaktifkan Ram internal yang teralamati pada 20h bit ke-0. Dan mulai
menjalankan program utama ( alamat 0050h ),
melakukan berbagai perintah inisialisasi dan interupsi org
50H
lxiii
dengan diantaranya
lxiv
main1: clr
green
main: ;clr
p1.1
;JB
P1.2,$
;Jnb
p1.2,$
;setb
p1.1
;clr
p2.1
;clr
p1.0
mov
IE,#00
; Nyalakan status led hijau
; Aktifkan vector interupsi pada alamat 00h, ; tunggu perintah dari papan saklar.
mov
TH1,#Count ; Masukkan nilai E8h ke timer high1
mov
TL1,#count
; Masukkan nilai E8h ke timer low 1
mov
tmod,#20H
; Aktifkan timer pada alamat 20h
mov
Tcon,#40H
; Aktifkan TCON pada alamat 40h
mov
scon,#50h
; Aktifkan serial control pada ; alamat 50h = universal UART baud rate
set. ;
mov
87h,#7Fh
mov
IE,#90H
; Aktifkan vector saat ada data 90h yang
masuk
Setelah program utama selesai, mikrokontroler berada dalam keadaan siap menerima perintah dan interupsi , pada kondisi tersebut setiap perintah telah disiapkan dengan pelayanan-pelayanan rutin, diantaranya dalam listing rutin program interupsi yang tersebut dibawah ini
lxiv
lxv
org
023H
; Alamat dimulainya rutin interupsi
clr
TI
; Siapkan transmit interupt
jnb
RI,Byte
; Isikan byte rendah ke R1
mov
a,sbuf
; Isikan serial buffer ke ; acumulator
mov
p1,a
; Pindahkan isi Acc ke Port 1
clr
RI
; Register 1 ke Low bit
cjne
a,#01h,trs1
; Bandingkan isi Acc dengan ; data 01h , jika tidak sama lanjutkan ke rutin ; “trs1 “. Bila sama teruskan program ; selanjutnya
trs1:
clr
red
; Nyalakan led merah ( sibuk )
setb
green
; Matikan led hijau
clr
audio_r
; Aktifkan relay audio
cjne
a,#08h,trs2
; Bandingkan data 08h dengan isi Acc , bila ; tidak sama jalankan rutin “trs2” bila sama ; lepas pengunci papan saklar.
setb
audio_r
; Bila datanya tidak sama relay audio tidak
setb
red
; Matikan led merah
aktif
lxv
lxvi
trs2:
clr
green
; Nyalakan kondisi standby
clr
kunci
; Fungsikan kembali papan saklar
cjne
a,#09h,byte
; Rutin pengunci papan saklar , bandingkan
data ; dengan acc , bila tidak sama lanjutkan ke ; rutin “byte” bila data sama lanjutkan program setb
kunci
; Apabila data sama aktifkan perintah kunci ; bagi papan saklar.
Byte: reti
; kembali ke rutin interupsi
Rutin interupsi utama yang telah tersebut dalam daftar program diatas hanya sebatas pengalamatan terhadap tujuan , interupsi – interupsi tersebut masih sangat memerlukan rutin – rutin guna spesifikasi perintah , diantaranya adalah : ulang:
; Label pelayanan rutin interupsi jb
call1,$
; baca status masukkan tinggi
jb
kunci,ulang
; bila masukkan tinggi, kembali ke label ulang
jnb
call1,$
; Jika masukkan tombol “Call1” rendah, teruskan
CLR
audio_r
; aktifkan relay audio
clr
tx_r
; aktifkan relay TXD
clr
red
; nyalakan led merah
setb
green
; matikan led hijau
mov
a,#09h
; isikan data 90h ke Acc , data ini berfungsi
mengunci
lxvi
lxvii
; unit lain yang menerima data ini. acall
send
; tunggu sebanyak jumlah delay , kemudian kirim
Rutin pelayanan interupsi diatas berfungsi untuk melayani apabila tombol “Call” ditekan oleh pemanggil . Kemudian setelah proses pengolahan perintah selesai, mikrokontroler masih menunggu perintah selanjutnya, diantara perinta tersebut adalah perintah “Pilih Ruang” dan perintah “End”. Dibawah ini merupakan rutin pelayanan guna melayani perintah pemilihan ruang dan dperintah “ End “ guna mengakhiri komunikasi :
bl:
1:
l2:
jb
r1a,l1 ; Bila masukkan tinggi teruskan pada pilihan I1.
jnb
r1a,$ ; Bila masukkan rendah maka ruang 1 yang dipilih
mov
a,#01h ; Kemudia isikan data 01h ke Acc
acall
send
jb
r2a,l2 ; Bila masukkan tinggi , teruskan ke label I2
jnb
r2a,$ ; Bila masukkan pada ruang 2 rendah, teruskan proses
mov
a,#02h ; Isikan data 02h ke Acc
acall
send
jb
r3a,l3 ; Bila masukkan tinggi, teruskan ke label I3
jnb
r3a,$ ; Bila masukkan pada ruang 3 rendah, teruskan proses
mov
a,#03h ; Isikan data 03h ke Acc
acall
send
; Panggil rutin pengiriman
; Panggil rutin pengiriman
; Panggil rutin pengiriman
lxvii
lxviii
l3:
l4:
jb
r4a,l4 ; Bila masukkan tinggi, teruskan ke label I4
jnb
r4a,$ ; Bila masukkan pada ruang 4 rendah, teruskan proses
mov
a,#04h ; Isikan data 04h ke Acc
acall
send
jb
end1,bl
; Panggil rutin pengiriman ; Bila masukkan pada tombol “End” tinggi teruskan ; ke label b1
jnb
end1,$
; Bila masukkan pada tombol “End” rendah,
mov
a,#00
; Isikan data 00h ke Acc
setb
red
; Matikan led merah
clr
green
; Nyalakan led hijau
mov
a,#08h
; Isikan data 08h ke Acc
acall
send
; Panggil rutin pengiriman
acall
ldelay
; Panggil perintah penundaan
setb
tx_r
; Matikan fungsi TXD dari relay
setb
audio_r
; Matikan relay audio
teruskan
ajmp ulang
; Ulangi perintah ini dimulai dari label ulang
Rutin pelayanan interupsi diatas berguna untuk melayani proses interupsi. Kemudian rutin guna melayani pengiriman data serial ditunjukkan dalam program assembly di bawah ini : send: mov sbuf,a ; Isikan isi Acc ke register Serial buffer ret
; Kembali ke alamat perintah rutin.
Delay: DJNZ R3,delay
; R3=R3-1 bila <> 0 ke label delay
Djnz
; R1=R1-1 bila <> 0 ke label delay
Ret
R1,Delay
; Kembali ke alamat setelah perintah
lxviii
lxix
Kemudian setelah rutin -rutin diatas , terdapat rutin delay yang sengaja ditempakan di akhir penulisan program dengan maksud untuk membuat program ini lebih mudah dibaca dan dianalisa , karena fungsinya yang berfungsi untuk melakukan penundaan , maka keterangan mengenai delaya hanya berkisar pada hitungan penundaan yang diawali nilainya dari label Count sebesa nilai data yang ditulis. Berikut adalah rutin delay : Ldelay:
acall
delay ; Lamanya tunda ( FFh – E8h )
acall
delay
acall
delay
acall
delay
;acall delay ;acall delay ;acall delay ;acall delay ;acall delay ret
Kekurangan Penelitian Penelitian pada uji alat mikrokontroler sebagai encoder / decoder dalam fungsinya mengendalikan komunikasi via serial port ini memiliki kekurangan-kekurangan antara lain :
lxix
lxx
1. Karena system berjalan dalam konfigurasi rangkaian terbuka ( Opened Loop ) maka data serial yang dikirim guna mengendalikan daerah tujuan dapat saja gagal dan tidak dilaporkan statusnya, begitu juga dengan apabila data tersebutpun diterima dengan baik oleh port RXD. 2. Pada kabel transmisi yang terlalu panjang , dapat saja terjadi masalah yang diakibatkan penurunan level tegangan karena pengaruh karakter dan impedansi kabel.
lxx
lxxi
BAB V PENUTUP
A. KESIMPULAN Berdasarkan penelitian dan analisa, dapat diambil simpulan sebagai berikut : 1. Terciptanya alat pengendali jalur komunikasi yang murah, efisien dan efektif yang dapat mengatur proses komunikasi antar ruang dengan 2 hinnga 8 pilihan ruang yang berbeda secara teratur dengan media perantara yang minimal ( 3 kabel ) . 2. Sistem dapat bekerja secara teratur karena adanya alamat yang berbeda di setiap ruang yang saling berinteraksi tersebut, disamping adanya program / tahapan prosedur dalam jalannya proses komunikasi yang harus dipenuhi
B. SARAN Disarankan menggunakan Catu daya yang teregulasi dengan baik, karena hal ini sangat membantu dalam menjaga kestabilan kerja Mikrokontroler dan blok-blok rangkaian yang lainnya. Perlunya penelitian lebih lanjut mengenai pengiriman data pada jarak jauh guna penerapan terhadap kondisi jarak dan area yang luas. Untuk pengembangan lebih lanjut peralatan ini dapat dikembangkan menjadi peralatan dengan system kendali terumpan balik ( closed loop ), dimana nantinya unit tujuan dapat memberikan laporan tentang hasil kendali kepada ruang pemanggil.
lxxi
lxxii
DAFTAR PUSTAKA
Agfianto, Eko Putra. 2002. Teknik Antarmuka Komputer Konsep dan Aplikasi, Yogyakarta: Graha Ilmu Andi Nalwan, Paulus 2003. Teknik antarmuka dan pemrograman Mikrokontroler AT89C51. Jakarta; PT. Elex Media Computindo. AT89C51 / 52. Data Sheet. 1997. www.Atmel .com Douglas C. Giancoli. 2001. Fisika 1, Edisi Kelima. Alih Bahasa, Dra. Yuliza Hanum, M. Ing. Jakarta : PT Erlangga Fred Halsall dan Paul Lister, 1992. Dasar-dasar Mikroposesor Edisi Kedua, Jakarta: Gramedia Group. Hari Wibawanto. 2000. “Akuisisi Data Melalui Pangkalan Paralel (Studi Kasus Implementasi) Emulasi Intrinsik Inp dan Out pada Perangkat Pengembang Aplikasi Visual basic 5.0”. Tesis, Universitas Gajahmada Ibnu Malik. 1997. Bereksperimen dengan Mikrokontroler 8031, Jakarta : PT. Gramedia Jacob Millman. 1993. Mikroelktronika Sistem Digital dan Rangkaian Analog ( Alih bahasa oleh Sutanto ), Jakarta : Erlangga. Nazir M , 1988. Metode Penelitian. Jakarta: Ghalia Indonesia Rajalu, B. G. 1991. IBM PC and Clones: Hardware, Troubleshooting and Maintenance, Tata Mc. Grawhill Pub. Co. Limited, New Delhi. Tim Penyusun Kamus Pusat Bahasa. 1995. Kamus Besar Bahasa Indonesia. Jakarta: Balai Pustaka.
lxxii
lxxiii
count equ r1a bit r2a bit r3a bit r4a bit call1 bit end1 bit tx_r bit green bit red bit kunci bit audio_r org clr sjmp
0E8H p1.4 p1.5 p1.6 p1.7 p1.2 p1.3 p2.1 p1.1 p1.0 20h.0 bit p2.0 000h 20h.0 main1
org clr jnb mov ;mov clr cjne clr setb clr trs1: cjne setb setb clr clr trs2: cjne setb Byte: reti
023H TI RI,Byte a,sbuf p1,a RI a,#01h,trs1 red green audio_r a,#08h,trs2 audio_r red green kunci a,#09h,byte kunci
org main1: main: ;clr ;JB ;Jnb ;setb ;clr ;clr mov mov mov mov mov mov ; mov mov ;sjmp
50H clr green p1.1 P1.2,$ p1.2,$ p1.1 p2.1 p1.0 IE,#00 TH1,#Count TL1,#count tmod,#20H Tcon,#40H scon,#50h 87h,#7Fh IE,#90H main
ulang: jb jb
call1,$ kunci,ulang
lxxiii
lxxiv
jnb call1,$ clr tx_r clr audio_r acall ldelay clr red setb green mov a,#09h acall send bl: jb r1a,l1 jnb r1a,$ mov a,#01h acall send l1: jb r2a,l2 jnb r2a,$ mov a,#02h acall send l2: jb r3a,l3 jnb r3a,$ mov a,#03h acall send l3: jb r4a,l4 jnb r4a,$ mov a,#04h acall send l4: jb end1,bl jnb end1,$ mov a,#00 setb red clr green mov a,#08h acall send acall ldelay setb audio_r setb tx_r ajmp ulang send: mov sbuf,a ret Delay: DJNZ R3,delay ; R3=R3-1 bila <> 0 ke label delay Djnz R1,Delay ; R1=R1-1 bila <> 0 ke label delay Ret ; Kembali ke alamat setelah perintah Ldelay: acall delay acall delay acall delay acall delay ;acall delay ;acall delay ;acall delay ;acall delay ;acall delay ret ; 'call Delay' end
lxxiv
lxxv
count equ r1a bit r2a bit r3a bit r4a bit call1 bit end1 bit tx_r bit green bit red bit kunci bit audio_r org clr sjmp
0E8H p1.4 p1.5 p1.6 p1.7 p1.2 p1.3 p2.1 p1.1 p1.0 20h.0 bit p2.0 000h 20h.0 main1
org clr jnb mov clr cjne clr setb clr trs1: cjne setb setb clr clr trs2: cjne setb Byte: reti
023H TI RI,Byte a,sbuf RI a,#02h,trs1 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; red green audio_r a,#08h,trs2 audio_r red green kunci a,#09h,byte kunci
org main1: main: ;clr ;JB ;Jnb ;setb ;clr ;clr mov mov mov mov mov mov ; mov mov ;sjmp
50H clr green p1.1 P1.2,$ p1.2,$ p1.1 p2.1 p1.0 IE,#00 TH1,#Count TL1,#count tmod,#20H Tcon,#40H scon,#50h 87h,#7Fh IE,#90H main
ulang: jb jb
call1,$ kunci,ulang
lxxv
lxxvi
jnb call1,$ CLR audio_r clr tx_r acall ldelay clr red setb green mov a,#09h acall send bl: jb r1a,l1 jnb r1a,$ mov a,#01h acall send l1: jb r2a,l2 jnb r2a,$ mov a,#02h acall send l2: jb r3a,l3 jnb r3a,$ mov a,#03h acall send l3: jb r4a,l4 jnb r4a,$ mov a,#04h acall send l4: jb end1,bl jnb end1,$ mov a,#00 setb red clr green mov a,#08h acall send acall ldelay setb tx_r setb audio_r ajmp ulang send: mov sbuf,a ret Delay: DJNZ R3,delay ; R3=R3-1 bila <> 0 ke label delay Djnz R1,Delay ; R1=R1-1 bila <> 0 ke label delay Ret ; Kembali ke alamat setelah perintah Ldelay: acall delay acall delay acall delay acall delay ;acall delay ;acall delay ;acall delay ;acall delay ;acall delay ret ; 'call Delay' end
lxxvi
lxxvii
lxxvii
lxxviii
lxxviii