PERANCANGAN ALAT PENGIRIM DAN PENERIMA DATA MENGGUNAKAN INFRA MERAH BERBASIS MIKROKONTROLER
AT89S51
TUGAS AKHIR
LENNI DARLIAH
042408039
PROGRAM STUDI DIPLOMA III ILMU KOMPUTER
FAKULATAS MATEMATIKA DAN ILMU PENGETAHUAN
ALAM
UNIVERSITAS SUMATERA UTARA
MEDAN
PERSETUJUAN
Judul : PERANCANGAN ALAT PENGIRIM DAN
PENERIMA DATA MENGGUNAKAN INFRA MERAH BERBASIS MIKROKONTROLER AT89S51
Katageori : TUGAS AKHIR
Nama : LENNI DARLIAH
Nomor Induk Mahasiswa : 042408039
Program Studi : D3 FISIKA INSTRUMENTASI
Departemen : FISIKA
Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN
ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA
Diluluskan di
Medan, 20 Juli 2007 Komisi Pembimbing :
Pembimbing
Drs.Muhammad Firdaus,M.Si NIP: 131273463
Diketahui/Disetujui Oleh
Departemen Fisika FMIPA USU Ketua,
PERNYATAAN
PERANCANGAN ALAT PENGIRIM DAN PENERIMA DATA MENGGUNAKAN INFRA MERAH BERBASIS MIKROKONTROLER
AT89S51
TUGAS AKHIR
Saya mengakui bahwa Tugas Akhir ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan,19 Juli 2007
PENGHARGAAN
Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Kuasa karena atas limpahan rahmat dan hidayah-Nya pada penulis serta diberikan kemudahan dan kelancaran dalam menyelesaikan tugas akhir ini.
ABSTRAK
THE DESIGN OF DATA TRANSMITTER AND RECEIVER USING INFRA RED BASED ON MICROCONTROLLER AT89S51
ABSTACT
DAFTAR ISI
BAB 2 TINJAUAN PUSTAKA
2.1. Perangkat Keras Mikrokontroler AT89S51 4
BAB 3 PERANCANGAN DAN SISTEM KERJA RANGKAIAN
3.1.Diagram Blok Rangkaian 18
3.2 Sistem Kerja Rangkaian 19
BAB 4 PEMBAHASAN RANGKAIAN DAN PROGRAM
4.6.2 Program Penerima 35 BAB 5 PENUTUP
6.1 Kesimpulan 37
6.2 Saran 37
DAFTAR PUSTAKA 38
DAFTAR TABEL
Halaman
DAFTAR GAMBAR
Halaman
Gambar 2.1 : IC Mikrokontroler AT89S51 7
Gambar 2.2: Software 8051 Editor, Assembler, Simulator(IDE) 13
Gambar 2.3: ISP- Flash Programmer 3.a 14
Gambar 2.4: Susunan Seven Segmen 17
Gambar 3.1: Diagram Blok Rangkaian 18
Gambar 4.1: Rangkaian Power Supplay(PSA) 20
Gambar 4.3: Rangkaian Minimum AT89S51 21
Gambar 4.4: Rangkaian Display Seven Segmen 22
Gambar 4.5: Rangkaian Pengirim Data Melalui Infra merah 25
ABSTRAK
THE DESIGN OF DATA TRANSMITTER AND RECEIVER USING INFRA RED BASED ON MICROCONTROLLER AT89S51
ABSTACT
PENDAHULUAN
1.1. Latar Belakang Penulisan
Tekhnologi pada saat ini sangat berkembang pesat, yang semakin hari manusia membutuhkan adanya kemajuan tekhnologi. Kebutuhan manusia terhadap peralatan yang cerdas dan dapat bekerja secara otomatis semakin meningkat, disamping cara kerjanya yang teliti juga peralatan ini tidak perlu dipantau setiap saat, tetapi mengaktifkan peralatan tersebut dan kemudian mengaturnya sesuai keinginan, maka peralatan tersebut akan mengerjakan tugasnya sesuai dengan program yang telah diberikan.
Untuk dapat memonitor peralatan tersebut secara otomatis, maka dibutuhkan sebuah alat yang bisa mengirim data sesuai yang diinginkan. Untuk lebih efisien digunakan sebuah mikrokontroler. Dengan semakin pesatnya perkembangan teknologi saat ini, hal itu sangat mungkin dilakukan
.
Salah satu alat yang cerdas yang dibutuhkan oleh manusia adalah alat pengirim data jarak jauh dengan menggunakan inframerah. Alat ini akan mengirimkan data dari jarak tertentu melalui transmitter dan akan diterima oleh receiver pada jarak tertentu juga.
Sebelum menyusun laporan tugas akhir ini, terlebih dahulu dibuat alat pengirim data menggunakan inframerah yang berbasis mikrokontroler AT89S51. Aplikasi alat ini dekat dengan kehidupan manusia sehari-hari yaitu remot control seperti remot kontrol TV, VCD, DVD,remot AC dan sebagainya.
1.2 Batasan Masalah
mikrokontroler AT89S51, sebagai pusat dari semua operasi, meliputi pengolahan data, penampilan data, pengiriman dan penerimaan data.[1]
Alat ini akan memanfaatkan sinar infra merah sebagai media pengiriman data, dan menggunakan IC TSOP 1738 sebagai penerima sinar infra merah. Alat ini akan menggunakan seven segmen sebagai penampil nilai yang dikirimkan atau nilai yang diterima.
1.3 Tujuan Penulisan
Tujuan penulisan laporan tugas akhir ini adalah sebagai berikut:
1. Sebagai salah satu syarat untuk dapat menyelesaikan studi program D3 Fisika Instrumentasi FMIPA Universitas Sumatera Utara.
2. Untuk mengaplikasikan ilmu pengetahuan yang diperoleh dari perkuliahan. 3. Untuk memperdalam wawasan dalam pemamfaatan mikrokontroler sebagai
alat pengiriman dan penerimaan data secara wireless, dengan menggunakan infra merah.
1.4 Metode Pengumpulan Data
Metode pengumpulan data yang dilakukan penulis adalah:
1. Melakukan studi keperputakaan mengenai teori-teori yang berkaitan dengan judul tugas akhir ini.
2. Mengumpulkan dan membaca data sheet mengenai komponen yang digunakan.
3. Melakukan konsultasi dengan dosen pembimbing serta dosen-dosen dan staf pengajar yang berkaitan dengan realisasi dibidang masing-masing.
I.5 Sistematika Penulisan
BAB 1 PENDAHULUAN
Dalam bab ini berisikan mengenai latar belakang, batasan masalah, tujuan penulisan serta sistematika penulisan.
BAB 2 LANDASAN TEORI
Dalam bab ini terdiri dari beberapa sub bab, yang mana akan di bahas tentang teori-teori pendukung yang berkaitan tentang mikrokontroler AT89S51(hardrware dan software) dan inframerah.
BAB 3 PERANCANGAN DAN SISTEM KERJA RANGKAIAN
Pada bab ini akan dibahas tentang perancangan alat dan sistem kerja rangkaian.
BAB 4 PEMBAHASAN RANGKAIAN DAN PROGRAM
Pada bab ini akan dibahas hasil analisa dari rangkaian-rangkaian yang digunakan untuk membentuk suatu perancangan alat serta pada bab ini berisikan program yang diisikan ke mikrokontroler AT89S51.
BAB V. PENUTUP
BAB II
LANDASAN TEORI
2.1 Perangkat keras Mikrokontroler AT89S51
2.1.1 Arsitektur Mikrokontroler AT89S51
Mikrokontroler AT89S51 merupakan salah satu keluarga dari MCS-51 keluaran Atmel. Jenis mikrokontroler ini pada prinsipnya dapat digunakan untuk mengolah data per bit ataupun data 8 bit secara bersamaan.[3]
Sebuah mikrokontroler dapat bekerja bila dalam mikrokontroler tersebut terdapat sebuah program yang berisi instruksi-instruksi dari sebuah program pada tiap jenis mikrokontroler tersebut. Instruksi-instruksi dari sebuah program pada tiap jenis mikrokontroler mempunyai beberapa perbedaan, misalkan saja instruksi pada mikrokontroler Atmel berbeda dengan instruksi pada mikrokontroler Motorola.[3]
Jenis mikrokontroller ini pada dasarnya dapat digunakan untuk mengolah data per bit maupun data 8 bit secara bersamaan. Sebuah mikrokontroler dapat bekerja apabila dalam mikrokontroler tersebut terdapat sebuah program yang berisi instruksi-instruksi yang akan digunakan untuk menjalankan sistem mikrokontroler tersebut.
Mikrokontroller AT89C51 ini merupakan mikrokontroler satu chip yang mempunyai konfigurasi sebagai berikut :[4]
a. CPU (Central Processing Unit) 8 bit yang termasuk keluarga dari MCS51. b. Kemampuan boolean processor (logika 1 bit).
c. 32 jalur port I/O bidirectional, dapat dialamati tiap port.
f. Dua buah timer internal 16 bit. g. Satu buah port komunikasi serial. h. Dua buah interupsi eksternal.
Susunan pin-pin pada Mikrokontroller AT89C51:[4] a. Port 0 (1 byte) terletak pada pin 32 hingga 39. b. Port 1 (1 byte) terletak pada pin 1 hingga 8. c. Port 2 (1 byte) terletak pada pin 21 hingga 28. d. Port 3 (1 byte) terletak pada pin 10 hingga 17. e. Kristal dipasang pada pin 18 dan 19.
f. Reset terletak pada pin 9.
g. Pin catudaya positif 5V pada kaki 40 h. Ground pada kaki 20.
Banyak aplikasi mikrokontroler diantaranya dalam bidang pengukuran jarak jauh. Misalnya pengukuran disuatu tempat yang membahayakan manusia, maka akan lebih nyaman jika dipasang suatu sistem pengukuran yang bisa mengirimkan data lewat pemancar dan diterima oleh stasiun pengamatan dari jarak yang cukup aman dari sumbernya. Sistem pengukuran jarak jauh ini jelas membutuhkan suatu sistem akuisisi data sekaligus sistem pengiriman data secara serial (melalui pemancar), yang semuanya itu bisa diperoleh dari mikrokontroler yang digunakan.
2.1.2 Kontruksi AT89S51
frekuensi maksimum 24 MHz dan kapasitor 30 piko-Farad dipakai untuk melengkapi rangkaian oscilator pembentuk clock yang menentukan kecepatan kerja mikrokontroler.[4]
Memori merupakan bagian yang sangat penting pada mikrokontroler. Mikrokontroler memiliki dua macam memori yang sifatnya berbeda.
Read Only Memory (ROM) merupakan memori yang hanya dapat dibaca. Data
yang disimpan di ROM tidak akan hilang meskipun tegangan supply dimatikan. Dari sifatnya maka ROM sering dipakai untuk menyimpan program.[3]
Random Access Memori (RAM) merupakan memori yang dapat dibaca san
ditulis. Isinya akan sirna begitu IC kehilangan catu daya, dipakai untuk menyimpan data pada saat progam bekerja. RAM yang dipakai untuk menyimpan data ini disebut sebagai memori data.[3]
Ada berbagai jenis ROM. Untuk mikrokontroler dengan progam yang sudah baku dan diproduksi secara masal, progam diisikan ke dalam ROM pada saat IC mikrokontroler dicetak di pabrik IC. Untuk keperluan tertentu mikrokontroler mengunakan ROM yang dapat diisi ulang atau Programble-Eraseable ROM yang disingkat menjadi PEROM atau PROM. Dulu banyak dipakai UV-EPROM (Ultra
Violet Eraseable Progamble ROM) yang kemudian dinilai mahal dan ditinggalkan
setelah ada flash PEROM yang harganya jauh lebih murah.[3]
Gambar 2.1: IC Mikrokontroler AT89S51
Deskripsi pin-pin pada mikrokontroler AT89S51 :[4]
VCC (Pin 40) sebagai suplai tegangan.[4]
GND (Pin 20) digunakan sebagai Ground atau pentanahan.[4]
Port 0 (Pin 39-Pin 32)
Port 0 dapat berfungsi sebagai I/O biasa. Port 0 merupakan port paralel 8 bit dua arah.[3]
Port 2 (Pin 21 – pin 28)
Port 2 merupakan port parallel 8 bit dua arah, port ini mengirim byte alamat bila dilakukan peaksesan memori eksternal.
Port 3 (Pin 10 – pin 17)
Nama pin Fungsi P3.0 (pin 10) RXD (Port input serial) P3.1 (pin 11) TXD (Port output serial) P3.2 (pin 12) INTO (interrupt eksternal 0) P3.3 (pin 13) INT1 (interrupt eksternal 1) P3.4 (pin 14) T0 (input eksternal timer 0) P3.5 (pin 15) T1 (input eksternal timer 1)
P3.6 (pin 16) WR (menulis untuk eksternal data memori) P3.7 (pin 17) RD (untuk membaca eksternal data memori)
RST (pin 9)
Reset akan aktif dengan memberikan input high selama 2 cycle.[4]
ALE/PROG (pin 30)
Digunakan untuk menahan alamat memori eksternal selama pelaksanaan instruksi.[4]
PSEN (pin 29)
Progam store enable digunakan untuk mengakses memori progam eksternal.[4]
EA/Vpp (pin 31)
Pada kondisi low, pin ini akan berfungsi sebagai EA yaitu mikrokontroler akan menjalankan program yang ada pada memori eksternal setelah sistem direset. [4]
XTAL1 (pin 19)
Input untuk clock internal.[4]
XTAL2 (pin 18)
2.2 Perangkat Lunak Mikrokontroler AT89S51
2.2.1 Bahasa Assembly MCS-51
Program bahasa Assembly adalah sebuah program yang terdiri atas label-label, mnemonic dan lain sebagainya. Sedangkan assembler adalah suatu program yang dapat menerjemahkan program bahasa assembly keprogram bahasa mesin.[2]
Bahasa yang digunakan untuk memprogram IC mikrokontroler AT89S51 adalah bahasa assembly untuk MCS-51. Angka 51 merupakan jumlah instruksi pada bahasa ini hanya ada 51 instruksi. Dari 51 instruksi, yang sering digunakan orang hanya 10 instruksi. Instruksi –instruksi tersebut antara lain :[2]
1. Instruksi MOV
Perintah ini merupakan perintah untuk mengisikan nilai ke alamat atau register tertentu. Pengisian nilai dapat secara langsung atau tidak langsung.
Contoh pengisian nilai secara langsung
MOV R0,#20h
Perintah di atas berarti : isikan nilai 20 Heksadesimal ke register 0 (R0). Tanda # sebelum bilangan menunjukkan bahwa bilangan tersebut adalah nilai. Contoh pengisian nilai secara tidak langsung
MOV 20h,#80h
...
...
MOV R0,20h
Perintah di atas berarti : isikan nilai yang terdapat pada alamat 20 Heksadesimal ke register 0 (R0).
2. Instruksi DJNZ
Decreament Jump If Not Zero (DJNZ) ini merupakan perintah untuk mengurangi nilai register tertentu dengan 1 dan lompat jika hasil pengurangannya belum nol. Contoh ,
MOV R0,#80h
Loop: ...
...
DJNZ R0,Loop
...
R0 =1, jika belum 0 lompat ke loop, jika R0 = 0 maka program akan meneruskan ke perintah pada baris berikutnya.
3. Instruksi ACALL
Instruksi ini berfungsi untuk memanggil suatu rutin tertentu. Contoh :
...
ACALL TUNDA
...
TUNDA:
...
4. Instruksi RET
Instruksi RETURN (RET) ini merupakan perintah untuk kembali ke rutin pemanggil setelah instruksi ACALL dilaksanakan. Contoh,
ACALL TUNDA
...
TUNDA:
...
5. Instruksi JMP (Jump)
Instruksi ini merupakan perintah untuk lompat ke alamat tertentu. Contoh,
Loop:
...
...
JMP Loop
6. Instruksi JB (Jump if bit)
Instruksi ini merupakan perintah untuk lompat ke alamat tertentu, jika pin yang dimaksud berlogika high (1). Contoh,
Loop:
JB P1.0,Loop
...
7. Instruksi JNB (Jump if Not bit)
Instruksi ini merupakan perintah untuk lompat ke alamat tertentu, jika pin yang dimaksud berlogika Low (0). Contoh,
Loop:
JNB P1.0,Loop
...
8. Instruksi CJNZ (Compare Jump If Not Equal)
Instruksi ini berfungsi untuk membandingkan nilai dalam suatu register dengan suatu nilai tertentu. Contoh,
Loop:
...
CJNE R0,#20h,Loop
Jika nilai R0 tidak sama dengan 20h, maka program akan lompat ke rutin Loop. Jika nilai R0 sama dengan 20h,maka program akan melanjutkan instruksi selanjutnya..
9. Instruksi DEC (Decreament)
Instruksi ini merupakan perintah untuk mengurangi nilai register yang dimaksud dengan 1. Contoh,
MOV R0,#20h R0 = 20h
...
DEC R0 R0 = R0 – 1
...
10. Instruksi INC (Increament)
Instruksi ini merupakan perintah untuk menambahkan nilai register yang dimaksud dengan 1. Contoh,
MOV R0,#20h R0 = 20h
...
INC R0 R0 = R0 + 1
2.2.2 Software 8051 Editor, Assembler, Simulator (IDE)
Instruksi-instruksi yang merupakan bahasa assembly tersebut dituliskan pada sebuah editor, yaitu 8051 Editor, Assembler, Simulator (IDE). Tampilannya seperti di bawah ini:
Gambar 2.2: 8051 Editor, Assembler, Simulator (IDE)
Setelah program selesai ditulis, kemudian di-save dan kemudian di-Assemble (di-compile). Pada saat di-assemble akan tampil pesan peringatan dan kesalahan. Jika masih ada kesalahan atau peringatan, itu berarti ada kesalahan dalam penulisan perintah atau ada nama subrutin yang sama, sehingga harus diperbaiki terlebih dahulu sampai tidak ada pesan kesalahan lagi.
2.2.3 Software Downloader
Untuk mengirimkan bilangan-bilangan heksadesimal ini ke mikrokontroller digunakan software ISP- Flash Programmer 3.0a yang dapat didownload dari internet. Tampilannya seperti gambar di bawah ini:
Gambar 2.3 : ISP- Flash Programmer 3.a
Cara menggunakannya adalah dengan meng-klik Open File untuk mengambil file heksadesimal dari hasil kompilasi 8051IDE, kemudian klik Write untuk mengisikan hasil kompilasi tersebut ke mikrokontroller.
2.3 Inframerah
Sinar infra merah adalah radiasi elektromagnetik yang merupakan sinar tidak tampak, berada pada spektrum warna merah. Infra merah berarti “bawah merah”, berasal dari bahasa Latin “infra” yang berarti bawah. Dapat dikatakan bahwa cahaya matahari 80 % nya adalah sinar inframerah, karena lebarnya jangkauan gelombang sinar ini 0,75 – 1000 micron.[6]
b. Middle Infrared ray dengan panjang gelombang 1,5 – 4 micron. c. Far Infrared ray dengan panjang gelombang 4 – 1000 micron.
Spektrum sinar matahari terdiri dari sinar tampak dan sinar tak tampak. Sinar tampak meliputi: merah, orange, kuning, hijau, dan ungu. Sinar tidak tampak antara lain: sinar ultraviolet, sinar x, sinar gamma, sinar kosmik, mikrowave, gelombang listrik dan inframerah. Gelombang elektromagnetik diantara sinar tampak dan sinar mikrowave dinamakan sinar inframerah, dengan karakteristik adalah tidak kasat mata atau tidak terlihat, bersifat linear atau menyebar, refraktif atau dapat dipantulkan dan dapat diserap oleh beberapa objek.[6]
2.3.1 Pemancar Data Infra merah
Infra Red Transmitter merupakan suatu modul pengirim data melalui
gelombang infra merah dengan frekuensi carrier sebesar 38 kHz. Modul ini dapat difungsikan sebagai output dalam aplikasi transmisi data nirkabel seperti robotik, sistem pengaman, data logger, absensi, dan sebagainya.[5]
Spesifikasi Hardware diantaranya adalah sebagai berikut:[5] 1. Tegangan kerja: +5 VDC.
2. Frekuensi carrier penerima infra merah: 38 kHz. 3. Panjang gelombang puncak 940 nm.
4. Sudut pancaran ±17o.
5. Jarak maksimum yang teruji pada sudut 0o: 16 m. 6. Jarak maksimum sesuai datasheet: 35 m
7. Memiliki input yang kompatibel dengan level tegangan TTL, CMOS, dan RS-232.
2.3.2 Penerima Data Inframerah
Infra Red Receiver merupakan suatu modul penerima data melalui gelombang infra merah dengan frekuensi carrier sebesar 38 kHz. Modul ini dapat difungsikan sebagai input dalam aplikasi transmisi data nirkabel seperti robotik, sistem pengaman, datalogger, absensi, dan sebagainya.
Spesifikasi Hardware diantaranya adalah:[5] 1. Tegangan kerja: +5 VDC.
2. Frekuensi carrier penerima infra merah: 38 kHz. 3. Panjang gelombang puncak 950 nm.
4. Sudut penerimaan ±45o.
5. Memiliki 2 output: non-inverting (OUT) dan inverting (OUT).
Keduanya kompatibel dengan level tegangan TTL, CMOS, dan RS-232.
3.1. INTERFACING SEVEN SEGMEN
Seven segmen merupakan adalah komponen integrasai led display yang paling popular diantara segmen-segmen LED yang lain(misalnya ten-segmen, matrix segmen). Pada umumnya system monitor panel-panel control untuk keperluan industri sebagian besar cukup dapat dipenuhi dengan memamfaatkan lajur seven segmen.[1]
Gambar 3.1 : susunan seven segmen
Segmen yang atas disebut segmen a, segmen sebelah kanan atas disebut segmen b, dan seterusnya sesuai gambar di atas. Dp merupakan singkatan dari desimal point.
Display
PERANCANGAN DAN SISTEM KERJA RANGKAIAN
3.1 Diagram Blok Rangkaian
P0.0
diinputkan melalui keypad akan ditampilkan ke display seven segmen yang dihubungkan ke port 3 (P3.0 dan p3.1).
Untuk mengirimkan data yang merupakan nilai dari input keypad ke mikrokontroler kedua digunakan pemancar infra merah yang dihubungkan ke port 3.7. Pada mikrokontroler kedua penerima infra merah dihubungkan ke port 3.7. Kemudian data yang diterima akan ditampilkan ke display seven segmen yang dihubungkan ke port 3.0.
III.2 Sistem Kerja rangkaian
Nilai diinputkan melalui keypad, nilai yang telah diinputkan akan diterima langsung oleh mikrokontroller dan ditampilkan hasilnya melalui display seven segment.
Mikrokontroler pertama akan mengirimkan datanya ke mikrokontroler kedua melalui pemancar infra merah. Pemancar infra merah pada alat ini akan menggunakan sebuah LED infra merah yang akan dikedipkan dengan frekuensi 38 KHz, kemudian dimodulasi dengan data yang akan dikirimkan.
Vreg
PEMBAHASAN DAN ANALISA RANGKAIAN
4.1 Perancangan Power Supplay (PSA)
Rangkaian ini berfungsi untuk mensupplay tegangan ke seluruh rangkaian yang ada. Rangkaian PSA yang dibuat terdiri dari dua keluaran, yaitu 5 volt dan 12 volt, keluaran 5 volt digunakan untuk mensupplay tegangan ke seluruh rangkaian. Rangkaian power supplay ditunjukkan pada berikut ini:
Gambar 4.1 : Rangkaian Power Supplay (PSA)
Trafo CT merupakan trafo stepdown yang berfungsi untuk menurunkan tegangan dari 220 volt AC menjadi 12 volt AC. Kemudian 12 volt AC akan disearahkan dengan menggunakan dua buah dioda, selanjutnya 12 volt DC akan diratakan oleh kapasitor 2200 μF. Regulator tegangan 5 volt (LM7805CT) digunakan agar keluaran yang dihasilkan tetap 5 volt walaupun terjadi perubahan pada tegangan masukannya. LED hanya sebagai indikator apabila PSA dinyalakan.
P1.0
4.2 Rangkaian minimum AT89S51
Rangkaian minimum mikrokontroller AT89S51 ditunjukkan pada gambar 4.2 berikut ini :[4]
Gambar 4.2 : Rangkaian minimum AT89S51
Pin 29 merupakan PSEN (Program Store Enable) dan pin 30 sebagai Address Latch Enable (ALE)/PROG dihubungkan ke ground (diset low), sedangkan Pin 31 External Access Enable (EA) diset high (H). Ini dilakukan karena mikrokontroller AT89S51 tidak menggunakan memori eskternal. Pin 18 dan 19 dihubungkan ke XTAL 12 MHz dan capasitor 33 pF. XTAL ini akan mempengaruhi kecepatan mikrokontroller AT89S51 dalam mengeksekusi setiap perintah dalam program. [5]
5V
multipleks bus alamat rendah dan bus data selama adanya akses ke memori program eksternal. Karena fungsi tersebut maka Port 0 dihubungkan dengan resistor array. Pin 20 merupakan ground dihubungkan dengan ground pada power supplay. Pin 40 merupakan sumber tegangan positif dihubungkan dengan + 5 volt dari power supplay.[5]
4.3 Rangkaian Display Seven Segmen
Input data dari keypad akan diolah oleh mikrokontroler AT89S51 untuk selanjutnya ditampilkan pada 1-digit seven segmen. Rangkaian display seven segmen tampak seperti gambar di bawah ini :
Gambar 4.3: Rangkaian Display Seven Segmen
Dengan menghubungkan P3.0 dengan IC serial to paralel (IC 4094), maka data serial yang dikirim akan diubah menjadi data paralel. Kemudian IC 4094 ini dihubungkan dengan seven segmen agar data tersebut dapat ditampilkan dalam bentuk angka. Seven segmen yang digunakan adalah aktif low, ini berarti segmen akan hidup jika diberi data low (0) dan segmen akan mati jika diberi data high (1). Untuk menampilkan angka pada seven segmen, maka data yang harus diberikan adalah sebagai berikut:
a. Untuk menampilkan angka nol, data yang harus dikirim adalah 20h
b. Untuk menampilkan angka satu, data yang harus dikirim adalah 0ech
c. Untuk menampilkan angka dua, data yang harus dikirim adalah 18h
d. Untuk menampilkan angka tiga, data yang harus dikirim adalah 88h
e. Untuk menampilkan angka empat, data yang harus dikirim adalah 0c4h
f. Untuk menampilkan angka lima, data yang harus dikirim adalah 82h
g. Untuk menampilkan angka enam, data yang harus dikirim adalah 02h
h. Untuk tampilan kosong (tidak ada nilai yang tampil), data yang harus dikirim adalah 0ffh
Program untuk menampilkan angka pada display seven segmen adalah sebagai berikut:
bil0 equ 20h
bil1 equ 0ech
bil2 equ 18h
bil3 equ 88h
bil4 equ 0c4h
bil5 equ 82h
bil6 equ 02h
bil8 equ 0h
bil9 equ 80h
bilkosong equ 0ffh
mov 60h,#bil1
mov 61h,#bil2
mov 62h,#bil3
Tampil:
mov sbuf,62h
jnb ti,$
clr ti
mov sbuf,61h
jnb ti,$
clr ti
mov sbuf,60h
jnb ti,$
clr ti
sjmp Tampil
4.4 Rangkaian Pengirim Data Melalui Infra Merah
Data yang yang telah diolah mikrokontroler AT89S51, selain ditampilkan pada display seven segmen, data tersebut juga dikirimkan ke rangkaian penerima dengan menggunakan LED infra merah. Rangkaiannya seperti gambar di bawah ini :
Gambar 4.4: Rangkaian Pengirim Data Melalui Infra Merah
Pada rangkaian di atas LED infra merah akan menyala jika basis pada transistor C945 diberi tegangan yang lebih besar dari 0,7 volt, ini akan sama artinya jika pada P3.7 AT89S51 diberi logika high (1), karena pin yang diberi logika high akan mempunyai tegangan 4 s/d 5 volt, cukup untuk mengaktifkan transistor. Sedangkan untuk mematikan LED infra merah, maka P3.7 AT89S51 harus diberi logika low (0), karena dengan memberikan logika low pada P3.7, maka P3.7 akan memiliki tegangan 0 s/d 0,009 volt, tegangan ini akan menyebabkan transistor tidak aktif.
Untuk pengiriman data agar data dapat dikirimkan dari jarak yang jauh, maka LED infra merah harus dipancarkan dengan frekuensi 38 KHz karena frekuensi ini bebas dari gangguan frekuensi infra merah alam. Jika LED infra merah dipancarkan
P3.7 ( AT89S51)
LED_ir 5V VCC
330?
R2
4.7k?
dengan frekuensi selai 38 KHz, maka pancarannya akan terganggu oleh frekuensi-frekuensi infra merah dari alam, seperti frekuensi-frekuensi infra merah yang dipancarkan oleh matahari, tumbuhan, bahkan badan manusia. Dengan menggunakan frekuensi 38 KHz, maka pancaran LED infra merah yang dihasilkan oleh rangkaian tidak terganggu oleh pancaran infra merah alam, sehingga jarak pengiriman data semakin jauh.
Untuk memancarkan frekuensi 38 KHz dari LED infra merah, langkah yang harus dilakukan adalah dengan mengedipkannya (menghidupkan dan mematikannya) dengan frekuensi tersebut, yaitu dengan memberikan logika high dan low pada P3.7 dengan selang waktu (perioda) :
1 1 13 0, 0000263 26, 3
38 38 10
T s s
f KHz x Hz µ
= = = ==
nop
Mikrokontroler AT89S51 memerlukan 12 Clock setiap satu siklus mesin. Dengan demikian, jika digunakan kristal 12 MHz, maka waktu yang diperlukan untuk satu siklus mesin adalah :
6
Lamanya logika low (0) pada P3.7 adalah 13 μ dan lamanya logika high (1) adalah 13 μs, sehingga periodanya menjadi 26 μs.
13 μs 13 μs
Low High 26 μs
Dengan demikian frekuensi yang dihasilkan oleh P3.7 adalah :
6
Ketika penerima infra merah menerima pancaran infra merah dengan frekuensi 38 KHz dari rangkaian pemancar, maka output dari penerima akan berlogika high (1), jika pancaran infra merah ini dihentikan, maka penerima akan mendapatkan logika low (0) sesaat (± 1200 μs ) kemudian berubah menjadi high (1) kembali walaupun
tidak ada pancaran infra merah dengan frekuensi 38 KHz. Ini sudah merupakan karakteristik dari penerima infra merah yang digunakan (TSOP 1738). Pada alat ini, logika high setelah setelah logika low sesaat itulah yang dijadikan sebagai data, sehingga dengan mengatur lebar pulsa high (1) tersebut dengan suatu nilai tertentu dan menjadikan nilai tersebut sebagai datanya, maka pengiriman data dapat dilakukan.
Setiap data mempunyai lebar pulsa high (1) tertentu. Untuk nilai data 0, maka lebar pulsa high yang dikirim adalah ± 1131 μ sekon. Programnya seperti berikut:
P3.7 ( AT89S51)
Demikian juga seterusnya jika yang dikirimkan data 1 s/d data 9, maka data ini akan ditambah dengan nilai 1, dan kemudian hasil penjumlahannya digunakan sebagai banyaknya perulangan dalam pengiriman pulsa.
Sebagai contoh jika data yang dikirimkan adalah data 1, maka data ini akan ditambahkan 1 sehingga hasilnya menjadi 2. 2 inilah yang merupakan banyaknya perulangan pengiriman pulsa. Jadi lebar pulsa untuk data satu ± 2 x 1.131 μs = 2.262 μs. Demikian pula untuk data-data yang lainnya.
4.5 Rangkaian Penerima Data Melalui Infra Merah
IC yang digunakan sebagai penerima infra merah adalah IC TSOP 1738. IC ini sering digunakan sebagai penerima/receiver remote control dari TV atau VCD. Rangkaiannya tampak seperti dibawah ini:
TSOP1738
Gambar 4.5: Rangkaian Penerima Infra Merah
IC ini mempunyai karakteristik yaitu akan mengeluarkan logika high (1) atau tegangan ± 4,5 volt pada outputnya jika IC ini mendapatkan pancaran sinar infra merah dengan frekuensi antara 38 – 40 KHz, dan IC ini akan megeluarkan sinyal low (0) atau tegangan ± 0,109 volt jika pancaran sinar infra merah dengan frekuensi antara 38 – 40 KHz berhenti, namun logika low tersebut hanya sesaat yaitu sekitar 1200 μs, setelah itu outputnya kan kembali menjadi high. Sifat inilah yang dimanfaatkan sebagai pengiriman data.
Output dari IC ini dihubungkan ke P3.7 pada mikrokontroler, sehingga setiap kali IC ini mengeluarkan logika low atau high pada outputnya, maka mikrokontroller dapat langsung mendeteksinya. Programnya sebagai berikut :
Utama:
mov 60h,#0h
jb P3.7,$
nop
jnb P3.7,$
nilai:
inc 60h
acall hitung
jb P3.7,nilai
mov a,60h
mov b,#10
div ab
dec a
cjne a,#10,Utama
BAB V
PROGRAM
Adapun program yang diiskan kedalam mikrokontroller pada alat pengiriman data jarak jauh dengan menggunakan infra merah adalah sbb:
djnz r0,loop1
5.2 Program Penerima:
acall kirim_disp
ljmp utama
ke7:
cjne r0,#8,ke8
mov 74h,#bil7
acall kirim_disp
ljmp utama
ke8:
cjne r0,#9,ke9
mov 74h,#bil8
acall kirim_disp
ljmp utama
ke9:
cjne r0,#10,balik1
mov 74h,#bil9
acall kirim_disp
balik1:
ljmp utama
kirim_disp:
mov sbuf,74h
jnb ti,$
clr ti
ret
hitung:
mov r7,#50
djnz r7,$
BAB V
PENUTUP
5.1. KESIMPULAN
1) Pengembangan dari pemancaran sinar inframerah yang dimodulasi frekuensi dari 38 KHz – 40 KHz bisa dimanfaatkan untuk mengirim sebuah data.
2) Data yang dikirim dari pemancar inframerah akan diterima oleh penerima inframerah, penerimanya menggunakan IC TSOP 1738 dengan frekuensi 38 KHz. 3) Aplikasi dari alat pemancar dan penerima dengan menggunakan infra merah
adalah seperti pada remot kontrol televisi, AC, DVD dan sebagainya.
4) Untuk pengiriman data agar data yang dikirmkan sesuai dengan data yang dipancarkan maka inframerah harus dipancarkan dengan frekuensi 38 KHz karena frekuensi ini bebas dari gangguan frekuensi inframerah alam.
5.2. SARAN
1) Dengan seiringnya kemajuan tekhnologi, diharapkan agar alat ini lebih ditingkatkan pengembangannya seperti penambahan kemampuan alat ini dengan menambahkan program yang lebih kompleks
2) Diharapakan agar pengiriman data sesuai dengan frekuensi 38 KHz, agar pancaran LED infra merah yang dihasilkan oleh rangkaian tidak terganggu oleh pancaran infra merah alam, sehingga jarak pengiriman data semakin jauh.
3) Agar alat ini dapat dimamfaatkan dan disosialisasikan dikalangan mahasiswa guna mengembangkan inovasi yang lebih canggih lagi.
DAFTAR PUSTAKA
[1] Pituwarno, Endra. 2005. Mikroprosesor dan Interfacing. Andi:Yogyakarta
[2] Putra,Agfianto Eko. 2002. Belajar Mikrokontroler AT89C51/52/55 Teori dan
Aplikasi. Edisi Kedua. Gava Media: Yogyakarta.
[3] Suhata,ST. 2004. Aplikasi Mikrokontroler Sebagai Pengendali Peralatan Via Line
Telepon. PT. Elex Media Komputindo: Jakarta.
[4] Diakses
tanggal 21 Juni,2007.
[5] Diakses tanggal 24 Juni, 2007. [6]