SISTEM PENGIRIMAN DATA TEMPERATUR JARAK JAUH
MENGGUNAKAN INFRARED BERBASIS AT89S51
TUGAS AKHIR
SINEMASO H. MANIK
052408061
PROGRAM STUDI FISIKA INSTRUMENTASI D-3
DEPARTEMEN FISIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
SISTEM PENGIRIMAN DATA TEMPERATUR JARAK JAUH MENGGUNAKAN INFRARED BERBASIS AT89S51
TUGAS AKHIR
Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Ahli Madya
SINEMASO H. MANIK 052408061
PROGRAM STUDI D3 FISIKA INSTRUMENTASI DEPARTEMEN FISIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA
PERNYATAAN
SISTEM PENGIRIMAN DATA TEMPERATUR JARAK JAUH MENGGUNAKAN INFRARED BERBASIS 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, Juli 2008
PERSETUJUAN
Judul : SISTEM PENGIRIMAN DATA TEMPERATUR
JARAK
JAUH MENGGUNAKAN INFRARED BERBASIS AT89S51
Kategori : TUGAS AKHIR
Nama : SINEMASO H. MANIK
Nomor Induk Mahasiswa : 052408061
Program Studi : DIPLOMA III FISIKA INSTRUMENTASI Departemen : FISIKA
Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN
ALAM
(FMIPA) UNIVERSITAS SUMATERA UTARA MEDAN
Diluluskan di
Medan, Juli 2008
Diketahui oleh
Departemen Fisika FMIPA USU Pembimbing
Ketua Program Studi
Drs. Syahrul Humaidi, M.Sc
NIP. 132 050 870 NIP. 131 695 906
PENGHARGAAN
Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa yang telah memberikan anugerah-Nya sehingga penulisan Tugas Akhir ini dapat diselesaikan dalam waktu yang telah ditentukan.
ABSTRAK
DAFTAR ISI
Daftar Gambar viii
2.2.2 Software 8051 Editor,Assembler,Simulator ( IDE ) 19
Bab 4 Analisa Rangkaian dan sistem kerja alat 31
DAFTAR GAMBAR
Halaman
Gambar 2.1 IC Mikrokontroler AT89S51 9
Gambar 2.2 Susunan Seven Segmen 12
Gambar 2.3 Konfigurasi seven segmen tipe common anoda 12
Gambar 2.4 Konfigurasi seven segmen tipe common katoda 13
Gambar 2.5 IC ADC 0804 14
Gambar 2.6 LM 35 Basic Temperature Sensor 15
Gambar 2.7 8051 Editor, Assembler, Simulator (IDE) 19
Gambar 2.8 ISP-Flash Programmer 3.0a 20
Gambar 3.1 Diagram Blok 21
Gambar 3.2 Rangkaian Power Supplay (PSA) 22
Gambar 3.3 Rangkaian Mikrokontroller AT89S51 23
Gambar 3.4 Rangkaian Sensor Temperatur dan ADC 25
Gambar 3.5 Rangkaian Display Seven Segmen 27
Gambar 3.6 Rangkaian Pengirim Data Melalui Inframerah 28
Gambar 3.7 Rangkaian Penerima Inframerah 29
Gambar 4.1 Rangkaian Pengirim Data Melalui Inframerah 36
DAFTAR TABEL
ABSTRAK
BAB 1
PENDAHULUAN
1.1. Latar Belakang Masalah
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 merancang sebuah peralatan yang cerdas dan dapat bekerja secara
otomasis tesebut, dibutuhkan sebuah alat/komponen yang dapat menghitung,
mengingat, dan mengambil pilihan. Kemampuan ini dimiliki oleh sebuah komputer
(PC), namun tidaklah efisien jika harus menggunakan komputer hanya untuk
keperluan tersebut diatas. Untuk itu komputer dapat digantikan dengan sebuah
mikrokontroler. Mikrokontroler merupakan sebuah chip atau IC yang di dalamnya
terdapat sebuah prosessor dan flash memori yang dapat dibaca/tulis sampai 1000 kali,
sehingga biaya pengembangan menjadi murah karena dapat dihapus kemudian diisi
Salah satu alat yang cerdas yang dibutuhkan oleh manusia adalah pengontrol
temperatur ruangan otomatis. Alat ini akan menjaga temperatur ruangan agar tidak
melebihi temperatur tertentu yang telah ditetapkan. Sebagai contoh jika temperatur
yang ditetapkan adalah 30oC, maka jika temperatur ruangan tersebut sama atau
melebihi 30oC, alat akan secara otomatis menghidupkan pendingin. Dan sebaliknya
jika temperatur ruangan lebih kecil dari 30o
Alat seperti ini dibutuhkan untuk menjaga kestabilan temperatur suatu
ruangan. Sebagai contoh ruangan tempat penyimpanan bahan-bahan kimia yang
membutuhkan temperatur khusus dan juga dapat diaplikasikan untuk menjaga
kestabilan temperatur dalam rumah secara otomatis.
C, maka alat akan mematikan pendingin.
Kendala lainnya yang sering dialami oleh manusia adalah ketika harus
mengukur temperatur di tempat yang memiliki temperatur yang cukup tinggi.
Pekerjaan ini akan sangat menyulitkan. Karena itu dibutuhkan sebuah alat yang dapat
mengirimkan data temperatur di suatu ruangan ke tempat lain.
1.2. Rumusan Masalah
Berdasarkan uraian yang terdapat dalam latar belakang di atas, maka dalam tugas
akhir ini akan dibuat sebuah alat yang dapat mengirimkan data temperaturnya ke
Pada alat ini akan digunakan dua buah mikrokontroler AT89S51, sebuah
pemancar infra merah, sebuah penerima sinar infra merah. Beberapa buah seven
segmen, sebuah sensor suhu dan sebuah ADC. Mikrokontroler AT89S51 sebagai otak
dari sistem, dimana yang satu berfungsi mengolah data temperature yang dihasilkan
oleh sensor suhu dan ADC, kemudian menampilkannya pada seven segmen sekaligus
mengirimka data temperature tersebut ke rangkaian penerima. Sedangkan
mikrokontroler yang kedua berfungsi untuk mengolah data yang dikirimkan oleh
mikrokontroler pertama melalui infra merah, kemudian menampilkannya pada seven
segmen.
Pemancar infra merah berfungsi untuk mengirimkan data temperature ke
rangkaian penerima. Penerima infra merah berfungsi untuk menerima data yang
dipancarkan oleh pemancar infra merah. Seven segmen berfungsi sebagai display
nilai dari temperatur. Sensor suhu berfungsi untuk mengukur temperature dan
merubahnya menjadi tegangan dan ADC ( Analog to Digital Converter) berfungsi
untuk merubah tegangan yang dihasilkan oleh sensor temperature manjadi 8 bit data
biner sehingga dapat diolah oleh mikrokontroler AT89S51.
1.3 Tujuan Penulisan
1. Memanfaatkan mikrokontroler sebagai alat ukur temperatur secara digital
(termometer digital).
2. Memanfaatkan mikrokontroler sebagai alat pengiriman dan penerimaan data
secara wireless, dengan menggunakan infra merah.
3. Membuat alat sederhana yang dapat mengirimkan data temperatur secara
otomatis.
Batasan masalah:
Adapun batasan permasalahan yang dibahas dalam tugas akhir ini adalah:
1. sensor suhu yang digunakan adalah LM35
2. pemancar yang digunakan adalah infra red dan penerima sinyal digunakan
IC TSOP
3. jarak pengiriman data berkisar 50 meter
4. pada alat ini difokuskan hanya pada pengiriman data temperatur saja dan
tidak pada pengontrolan suhu
1.4 Sistematika Penulisan
Untuk mempermudah pembahasan dan pemahaman maka penulis membuat
sistematika pembahasan bagaimana sebenarnya prinsip kerja dari alat yang dapat
mengirimkan data temperaturnya ke tempat lain, maka penulis menulis laporan ini
sebagai berikut:
Dalam bab ini berisikan mengenai latar belakang, tujuan penulisan,
batasan masalah, serta sistematika penulisan.
BAB II. LANDASAN TEORI
Landasan teori, dalam bab ini dijelaskan tentang teori pendukung yang
digunakan untuk pembahasan dan cara kerja dari rangkaian Teori
pendukung itu antara lain tentang mikrokontroler AT89S51 (hardware
dan software), bahasa program yang digunakan, serta cara kerja dari
sensor temperature dan ADC ( Analog to Digital Converter ).
BAB III. PERANCANGAN ALAT DAN PROGRAM
Pada bagian ini akan dibahas perancangan dari alat, yaitu diagram
blok dari rangkaian, diagram alir dari program yang akan diisikan ke
mikrokontroler AT89S51.
BAB IV. ANALISA RANGKAIAN DAN SISTEM KERJA ALAT
Pada bab ini akan dibahas hasil analisa dari rangkaian dan sistem kerja
alat, penjelasan mengenai rangkaian-rangkaian yang digunakan,
penjelasan mengenai program yang diisikan ke mikrokontroler
AT89S51.
Bab ini merupakan penutup yang meliputi tentang kesimpulan dari
pembahasan yang dilakukan dari tugas akhir ini serta saran apakah
rangkaian ini dapat dibuat lebih efisien dan dikembangkan
perakitannya pada suatu metode lain yang mempunyai sistem kerja
BAB 2
LANDASAN TEORI
2.1. PERANGKAT KERAS
2.1.1. Arsitektur Mikrokontroler AT89S51
Mikrokontroler, sebagai suatu terobosan teknologi mikrokontroler dan
mikrokomputer, hadir memenuhi kebutuhan pasar (market need) dan teknologi baru.
Sebagai teknologi baru, yaitu teknologi semikonduktor dengan kandungan transistor
yang lebih banyak namun hanya membutuhkan ruang kecil serta dapat diproduksi
secara massal (dalam jumlah banyak) sehingga harga menjadi lebih murah
(dibandingkan mikroprosesor). Sebagai kebutuhan pasar, mikrokontroler hadir untuk
memenuhi selera industri dan para konsumen akan kebutuhan dan keinginan alat-alat
Bantu dan mainan yang lebih canggih.
Ilustrasi yang mungkin bisa memberikan gambaran yang jelas dalam
penggunaan mikrokontroler adalah aplikasi mesin tiket dalam arena permainan yang
saat ini terkenal di Indonesia. Jika kita sudah selesai bermain, maka akan diberikan
suatu nilai, nilai inilah yang menentukan berapa jumlah tiket yang bisa diperoleh dan
ditangani dengan mikrokontroler, karena tidak mungkin menggunakan komputer PC
yang harus dipasang disamping (atau di belakang) mesin permainan yang
bersangkutan.
Selain sistem tiket, kita juga dapat menjumpai aplikasi mikrokontroler dalam
bidang pengukuran jarak jauh atau yang dikenal dengan sistem telemetri. 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.
Tidak seperti sistem komputer, yang mampu menangani berbagai macam
program aplikasi (misalnya pengolah kata, pengolah angka dan lain sebagainya),
mikrokontroler hanya bisa digunakan untuk satu aplikasi tertentu saja. Perbedaan
lainnya terletak pada perbandingan RAM-nya dan ROM. Pada sistem computer
perbandingan RAM dan ROM-nya besar, artinya program-program pengguna
disimpan dalam ruang RAM yang relative besar, sedangkan rutin-rutin antarmuka
perangkat keras disimpan dalam ruang ROM yang kecil. Sedangkan pada
mikrokontroler, perbandingan ROM dan RAM-nya yang besar artinya program
ukurannya relatif lebih besar, sedangkan RAM digunakan sebagai tempat
penyimpanan sementara, termasuk register-register yang digunakan pada
mikrokontroler yang bersangkutan.
2.1.2. Konstruksi AT89S51
Mikrokontroler AT89S52 hanya memerlukan tambahan 3 kapasitor, 1 resistor dan 1
kristal serta catu daya 5 Volt. Kapasitor 10 mikro-Farad dan resistor 10 Kilo Ohm
dipakai untuk membentuk rangkaian reset. Dengan adanya rangkaian reset ini
AT89S52 otomatis direset begitu rangkaian menerima catu daya. Kristal dengan
frekuensi maksimum 12 MHz dan kapasitor 30 piko-Farad dipakai untuk melengkapi
rangkaian oscilator pembentuk clock yang menentukan kecepatan kerja
mikrokontroler. Memori merupakan bagian yang sangat penting pada mikrokontroler.
Mikrokontroler memiliki dua macam memori yang sifatnya berbeda.
Read Only Memory (ROM) yang isinya tidak berubah meskipun IC kehilangan
catu daya. Sesuai dangan keperluannya, dalam susunan MCS-51 memori
penyimpanan progam ini dinamakan sebagai memori progam.
Random Access Memori (RAM) isinya akan sirna begitu IC kehilangan catu
daya, dipakai untuk menyimpan data pada saat progam bekerja. RAM yang dipakai
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.
Jenis memori yang dipakai untuk Memori Program AT89S52 adalah Flash
PEROM, program untuk mengendalikan mikrokontroler diisikan ke memori itu lewat
bantuan alat yang dinamakan sebagai AT89S52 Flash PEROM Programmer.
Memori Data yang disediakan dalam chip AT89S52 sebesar 128 byte,
meskipun hanya kecil saja tapi untuk banyak keperluan memori kapasitas itu sudah
cukup.
Sarana Input/Ouput yang disediakan cukup banyak dan bervariasa. AT89S51
mempunyai 32 jalur Input/Ouput. Jalur Input/Ouput paralel dikenal sebagai Port 1
(P1.0..P1.7) dan Port 3 (P3.0..P3.5 dan P3.7) adalah sebagai berikut (gambar 2.1)
Gambar 2.1. IC Mikrokontroler AT89S51
Deskripsi pin-pin pada mikrokontroler AT89S51 :
VCC (Pin 40)
Suplai tegangan
GND (Pin 20)
Ground
Port 0 (Pin 39-Pin 32)
Port 0 dapat berfungsi sebagai I/O biasa, low order multiplex address/data ataupun
penerima kode byte pada saat flash progamming Pada fungsi sebagai I/O biasa port ini
dapat memberikan output sink ke delapan buah TTL input atau dapat diubah sebagai
multiplex address/data, port ini akan mempunyai internal pull up. Pada saat flash
progamming diperlukan eksternal pull up, terutama pada saat verifikasi program.
Port 2 (Pin 21 – pin 28)
Port 2 berfungsi sebagai I/O biasa atau high order address, pada saat
mengaksememori secara 16 bit. Pada saat mengakses memori 8 bit, port ini akan
mengeluarkan isi dari P2 special function register. Port ini mempunyai internal pull
up dan berfungsi sebagai input dengan memberikan logika 1. Sebagai output, port ini
dapat memberikan output sink keempat buah input TTL.
Port 3 (Pin 10 – pin 17)
Port 3 merupakan 8 bit port I/O dua arah dengan internal pullup. Port 3 juga
mempunyai fungsi pin masing-masing, yaitu sebagai berikut :
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 0 eksternal)
P3.3 (pin 13) INT1 (interrupt 1 eksternal)
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)
ALE/PROG (pin 30)
Address latch Enable adalah pulsa output untuk me-latch byte bawah dari alamat
selama mengakses memori eksternal. Selain itu, sebagai pulsa input progam (PROG)
selama memprogam Flash.
PSEN (pin 29)
Progam store enable digunakan untuk mengakses memori progam eksternal.
EA (pin 31)
Pada kondisi low, pin ini akan berfungsi sebagai EA yaitu mikrokontroler akan
menjalankan progam yang ada pada memori eksternal setelah sistem direset. Jika
kondisi high, pin ini akan berfungsi untuk menjalankan progam yang ada pada
memori internal. Pada saat flash progamming, pin ini akan mendapat tegangan 12
Volt.
XTAL1 (pin 19)
Input untuk clock internal.
XTAL2 (pin 18)
2.1.3 Seven Segmen
Seven segmen merupakan komponen elektronika yang banyak digunakan untuk
menampilkan angka. Seven segmen ini sebenarnya merupakan LED yang disusun
sedemikian rupa sehingga membentuk suatu pola tertentu, dimana jika LED –LED
tersebut dinyalakan dengan kombinasi tertentu, maka akan terbentuk suatu angka
tertentu.
Seven segmen mempunyai 7 buah segmen ditambah 1 segmen yang berfungsi
sebagai desimal point. Gambar susunan dari seven segmen ditunjukkan pada gambar
berikut ini :
Gambar 2.2. 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.
Seven segmen ada 2 tipe, yaitu common anoda dan common katoda. Pada
kemudian dihubungkan ke sumber tegangan positip dan katoda dari masing-masing
LED berfungsi sebagai input dari seven segmen, seperti ditunjukkan pada gambar
berikut ini :
Gambar 2.3. Konfigurasi seven segmen tipe common anoda
Sesuai dengan gambar di atas, untuk menyalakan salah satu segmen, maka
katodanya harus diberi tegangan 0 volt atau logika low. Misalnya jika segmen a akan
dinyalakan, maka katoda pada segmen a harus diberi tegangan 0 volt atau logika low,
dengan demikian maka segmen a akan menyala. Demikian juga untuk segmen
lainnya.
Pada seven segmen tipe common katoda, kaoda dari setiap LED dihubungkan
menjadi satu kemudian dihubungkan ke ground dan anoda dari masing-masing LED
berfungsi sebagai input dari seven segmen, seperti ditunjukkan pada gambar berikut
Gambar 2.4. Konfigurasi seven segmen tipe common katoda
Sesuai dengan gambar di atas, maka untuk menyalakan salah satu segmen,
maka anodanya harus diberi tegangan minimal 3 volt atau logika high. Misalnya jika
segmen a akan dinyalakan, maka anoda pada segmen a harus diberi tegangan minimal
3 volt atau logika high, dengan demikian maka segmen a akan menyala. Demikian
juga untuk segmen lainnya.
2.1.4 Analog to Digital Converter (ADC)
ADC yang digunakan adalah ADC 0804. ADC ini akan merubah tegangan yang
merupakan keluaran dari LM35 menjadi 8-bit data biner. Gambar IC ADC 0804
Gambar 2.5. IC ADC 0804
8-bit data yang keluar dari ADC inilah yang akan dioleh oleh mikrokontroler
2.1.5 Sensor Suhu LM35
Untuk mendeteksi suhu digunakan sebuah sensor suhu LM 35 yang dapat
dikalibrasikan langsung dalam C, LM 35 ini difungsikan sebagai basic temperature
sensor seperti pada gambar 2.6
Gambar 2.6. LM 35 basic temperature sensor
Vout dari LM 35 ini dihubungkan dengan ADC (Analog To Digital Converter).
Dalam suhu kamar (25oC) tranduser ini mampu mengeluarkan tegangan 250mV dan
1,5V pada suhu 150oC dengan kenaikan sebesar 10mV/oC.
2.2.PERANGKAT LUNAK 2.2.1 Bahasa Assembly MCS-51
Bahasa yang digunakan untuk memprogram IC mikrokontroler AT89S51 adalah
ini hanya ada 51 instruksi. Dari 51 instruksi, yang sering digunakan orang hanya 10
instruksi. Instruksi –instruksi tersebut antara lain :
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).
Tanpa tanda # sebelum bilangan menunjukkan bahwa bilangan tersebut adalah
alamat.
2. Instruksi DJNZ
Decreament Jump If Not Zero (DJNZ) ini merupakan perintah untuk
MOV R0,#80h
meneruskan ke perintah pada baris berikutnya.
3. Instruksi ACALL
Instruksi ini berfungsi untuk memanggil suatu rutin tertentu. Contoh :
...
Instruksi RETURN (RET) ini merupakan perintah untuk kembali ke rutin
pemanggil setelah instruksi ACALL dilaksanakan. Contoh,
Instruksi ini merupakan perintah untuk lompat ke alamat tertentu. Contoh,
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:
...
...
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
...
11.Dan lain sebagainya
Instruksi-instruksi yang merupakan bahasa assembly tersebut dituliskan pada sebuah
editor, yaitu 8051 Editor, Assembler, Simulator (IDE). Tampilannya seperti di bawah
ini.
Gambar 2.7. 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.
Software 8051IDE ini berfungsi untuk merubah program yang kita tuliskan ke
dalam bilangan heksadesimal, proses perubahan ini terjadi pada saat peng-compile-an.
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.8. ISP- Flash Programmer 3.0a
Cara menggunakannya adalah dengan meng-klik Open File untuk mengambil
file heksadesimal dari hasil kompilasi 8051IDE, kemudian klik Write untuk
BAB 3
PERANCANGAN ALAT
3.1 Diagram Blok
Adapun diagram blok dari sistem ini dapat digambarkan seperti gambar dibawah ini
(gambar 3.1).
Mikrokontroller DISPLAY SEVEN
SEGMEN
ADC SENSOR LM 35
PEMANCAR
Mikrokontroller DISPLAY SEVEN
SEGMEN
Vreg
Gambar 3.1. Diagram Blok
3.2 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 gambar 3.1 berikut ini :
Gambar 3.2 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
5V
masukannya. LED hanya sebagai indikator apabila PSA dinyalakan. Transistor PNP
TIP 32 disini berfungsi untuk mensupplay arus apabila terjadi kekurangan arus pada
rangkaian, sehingga regulator tegangan (LM7805CT) tidak akan panas ketika
rangkaian butuh arus yang cukup besar. Tegangan 12 volt DC langsung diambil dari
keluaran 2 buah dioda penyearah.
3.3 Rangkaian Mikrokontroler AT89S51
Rangkaian ini berfungsi sebagai pusat kendali dari seluruh sistem yang ada. Kompoen
utama dari rangkaian ini adalah IC mikrokontroler AT89S51. Pada IC inilah semua
program diisikan, sehingga rangkaian dapat berjalan sesuai dengan yang dikehendaki.
Gambar 3.3 Rangkaian mikrokontroller AT89S51
Mikrokontroler ini memiliki 32 port I/O, yaitu port 0, port 1, port 2 dan port
3. Pin 32 sampai 39 adalah Port 0 yang merupakan saluran/bus I/O 8 bit. Pin 1 sampai
8 adalah port 1. Pin 21 sampai 28 adalah port 2. Dan Pin 10 sampai 17 adalah port 3
Pin 40 dihubungkan ke sumber tegangan 5 volt. Dan pin 20 dihubungkan ke ground.
Rangkaian mikrokontroler ini menggunakan komponen kristal 12 MHz sebagai
sumber clocknya. Nilai kristal ini akan mempengaruhi kecepatan mikrokontroler
dalam mengeksekusi suatu perintah tertentu.
Pada pin 9 dihubungkan dengan sebuah kapasitor 10 uF yang dihubungkan ke
positip dan sebuah resistor 10 Kohm yang dihubungkan ke ground. Kedua komponen
ini berfungsi agar program pada mikrokontroler dijalankan beberapa saat setelah
power aktip. Lamanya waktu antara aktipnya power pada IC mikrokontroler dan
aktipnya program adalah sebesar perkalian antara kapasitor dan resistor tersebut. Jika
dihitung maka lama waktunya adalah :
10 10 1 det
t = =ΩR x C K =x µF m ik
3.4 Rangkaian Sensor Temperatur dan ADC (Analog to Digital Converter)
Untuk mengetahui temperatur dalam inkibator, digunakan LM35 yang merupakan
sensor temperatur. Output dari LM35 ini dimasukkan sebagai input ke Op-Amp
kemudian dimasukkan sebagi input ADC. Rangkaiannya seperti dibawah ini:
Gambar 3.4 Rangkaian Sensor Temperatur dan ADC
Agar output yang dihasilkan oleh ADC bagus, maka tegangan refrensi ADC
harus benar-benar stabil, karena perubahan tegangan refrensi pada ADC akan
merubah output ADC tersebut. Oleh sebab itu pada rangkaian ADC di atas tegangan
keluarannya menjadi 9 volt, kemudian keluaran 9 volt ini dimasukkan kedalam
regulator tegangan 5 volt (7805), sehingga keluarannya menjadi 5 volt. Tegangan 5
volt inilah yang menjadi tegangan refrensi ADC. Dengan demikian walaupun
tegangan masukan turun setengahnya, yaitu dari 12 volt menjadi 6 volt, tegangan
refrensi ADC tetap 5 volt.
Output dari LM35 diinputkan ke Op Amp LM358. Pada Op Amp ini tidak
terjadi penguatan tegangan tetapi terjadi penguatan arus. Output dari Op Amp ini
merupakan input pada ADC, ini berarti setiap perubahan tegangan yang terjadi pada
input ini maka akan terjadi perubahan pada output ADC.
Keluaran dari rangkaian sensor cahaya dihubungkan ke rangkaian ADC untuk
diubah datanya menjadi data biner agar dapat dikenali oleh mikrokontroler AT89S51.
Untuk mendapatkan Vref/2 digunakan dioda zener 4,7 volt, kemudian
outputnya dihubungkan ke rangkaian pembagi tegangan. Potensio yang digunakan
adalah 1 K ohm.
Output dari ADC dihubungkan ke mikrokontroler, sehingga setiap perubahan
output ADC yang disebabkan oleh perubahan inputnya (tegangan baterai) akan
SEVEN_SEG_DISPLAY
3.5 Rangkaian Display Seven Segmen
Rangkaian display seven segmen ini berfungsi untuk menampilkan nilai dari hasil
pengukuran suhu. Rangkaian display seven segmen ditunjukkan pada gambar 3.3
berikut ini :
Gambar 3.5 Rangkaian Display Seven Segmen
Display ini menggunakan 3 buah seven segmen common anoda yang
dihubungkan ke IC 4094 yang merupakan IC serial to paralel. IC ini akan merubah 8
bit data serial yang masuk menjadi keluaran 8 bit data paralel. Rangkaian ini
dihubungkan dengan P3.0 dan P3.1 AT89S51. P3.0 merupakan fasilitas khusus
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 tipe common katoda (aktif high), ini
berarti segmen akan menyala jika diberi data high (1) dan segmen akan mati jika
diberi data low (0).
3.6 Rangkaian Pengirim 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 3.6 Rangkaian Pengirim Data Melalui Infra Merah P3.7 ( AT89S51)
LED_ir 5V VCC
330
R2
4.7k
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 mengaktipkan 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
aktip.
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
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
P3.7 ( AT89S51) 3.7 Rangkaian Penerima 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 3.7 Rangkaian Penerima Infra Merah
Pada rangkaian diatas digunakan resistor 100 ohm untuk membatasi arus yang masuk
pada rangkaian, sedangkan kapasitor 10 μF digunakan agar arus yang masuk ke IC
TSOP 1738 lebih stabil.
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
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 hing pada outputnya, maka mikrokontroller
dapat langsung mendeteksinya
BAB 4
ANALISA RANGKAIAN DAN SISTEM KERJA ALAT
4.1 Pengujian Rangkaian Power Supplay (PSA)
Pengujian pada bagian rangkaian power supplay ini dapat dilakukan dengan mengukur
tegangan keluaran dari rangkaian ini dengan menggunakan volt meter digital. Pada
power supplay ini terdapat dua keluaran. Dari hasil pengujian diperoleh tegangan
keluaran pertama sebesar + 5,1 volt. Tegangan ini dipergunakan untuk mensupplay
tegangan ke seluruh rangkaian. Mikrokontroler AT89S51 dapat bekerja pada
tegangan 4,0 sampai dengan 5,5 volt, sehingga tegangan 5,1 volt ini cukup untuk
mensupplay tegangan ke mikrokontroler AT89S51. Sedangkan tegangan keluaran
kedua sebesar 11,9 volt. Tegangan ini digunakan untuk mensupplay tegangan ke
ADC., dimana ADC dapat aktif pada tegangan 9 sampai 15 volt, sehingga tegangan
4.2 Pengujian Rangkaian Mikrokontroler AT89S51
Untuk mengetahui apakah rangkaian mikrokontroler AT89S51 telah bekerja dengan
baik, maka dilakukan pengujian.Pengujian bagian ini dilakukan dengan memberikan
program sederhana pada mikrokontroler AT89S51. Programnya adalah sebagai
berikut:
Program di atas bertujuan untuk menghidupkan LED yang terhubung ke P0.0
selama ± 0,13 detik kemudian mematikannya selama ± 0,13 detik secara terus
menerus. Perintah Setb P0.0 akan menjadikan P0.0 berlogika high yang menyebabkan
LED mati. Acall tunda akan menyebabkan LED ini mati selama beberapa saat.
Perintah Clr P0.0 akan menjadikan P0.0 berlogika low yang menyebabkan LED akan
Perintah Sjmp Loop akan menjadikan program tersebut berulang, sehingga akan
tampak LED tersebut tampak berkedip.
Lamanya waktu tunda dapat dihitung dengan perhitungan sebagai berikut :
Kristal yang digunakan adalah kristal 12 MHz, sehingga 1 siklus mesin membutuhkan
waktu = 12 1
12 MHz = mikrodetik, untuk 2 siklus dihitung dengan cara yang sama
sehingga diperoleh harga sebagai berikut:
Mnemonic Siklus Waktu Eksekusi
MOV Rn,#data 2 2 x 1 μd = 2 μd
DJNZ 2 2 x 1 μd = 2 μd
RET 1 1 x 1 μd = 1 μd
Dari table diatas, maka dapat dibuat program sebagai berikut:
Tunda:
mov r7,#255 2
Tnd: mov r6,#255 2
djnz r6,$ 255 x 2 = 510 x 255 = 131.070 = 131.073
2
1
djnz r7,loop3
Jadi waktu yang dibutuhkan untuk mengerjakan program di atas adalah 131.073
μdetik atau 0,131073 detik dan dapat dibulatkan menjadi 0,13 detik.
Jika program tersebut diisikan ke mikrokontroler AT89S51, kemudian
mikrokontroler dapat berjalan sesuai dengan program yang diisikan, maka rangkaian
minimum mikrokontroler AT89S51 telah bekerja dengan baik.
4.3 Pengujian Rangkaian Display Seven Segmen
Pengujian pada rangkaian ini dapat dilakukan dengan menghubungkan rangkaian ini
dengan rangkaian mikrokontroler, kemudian memberikan data tertentu pada port serial
dari mikrokontroler. Seven segmen yang digunakan adalah common anoda, dimana
semen akan menyala jika diberi logika 0 dan sebaliknya segmen akan mati jika diberi
logika 1.
Dari hasil pengujian diperoleh data yang harus dikirimkan ke port serial untuk
menampilkan angka desimal adalah sebagai berikut:
Angka Data yang dikirim
1 0EDH
2 19H
4 0C5H
Program yang diisikan pada mikrokontroler untuk menampilkan nilai-nilai
tersebut adalah sebagai berikut:
Program di atas akan menampilkan angka 0 pada semua seven segmen.
Sedangkan untuk menampilkan 3 digit angka yang berbeda pada seven segmen adalah
dengan mengirimkan ke 3 data angka yang akan ditampilkan pada seven segmen.
Programnya adalah sebagai berikut :
Loop:
mov sbuf,#bil1
Jnb ti,$
Clr ti
mov sbuf,#bil2
Jnb ti,$
Clr ti
mov sbuf,#bil3
Jnb ti,$
Clr ti
sjmp loop
Program di atas akan menampilkan angka 1 pada seven segmen ketiga, angka 2 pada
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.1 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 P3.7 ( AT89S51)
LED_ir 5V VCC
330
R2
4.7k
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
dengan frekuensi 38 KHz, maka pancarannya akan terganggu oleh frekuensi-frekuensi
infra merah dari alam, seperti 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 µ
= = = ==
Untuk mendapatkan perioda tersebut, maka program yang harus diberikan pada
mikrokontroler AT89S51 adalah:
38KHz:
clr p3.7
nop
Mikrokontroler AT89S51 memerlukan 12 Clock setiap satu siklus mesin. Dengan
demikian, jika digunakan kristal 12 MHz, maka waktu yang diperlukan untuk satu
T =12 1 106 1 12
Clock
x sekon s MHz = = µ
Jika dihitung lamanya mikrokontroler AT89S51 mengerjakan perintah di atas adalah
sebagai berikut:
Instruksi Siklus mesin Waktu (μS)
CLR
Berdasarkan tabel di atas, maka lamanya logika low (0) pada P3.7 adalah 13 μs 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 :
Jika LED infra merah dipancarkan dengan frekuensi ini, maka pancaran LED infra
merah dari rangkaian tidak akan terganggu oleh frekuensi infra merah alam. Sebagai
catatan frekuensi infra merah yang tidak dipengaruhi oleh frekuensi infra merah dari
alam adalah anatara 38 KHz s/d 40 KHz, frekuensi inilah yang digunakan sebagai
frekuensi remote kontrol dari TV, VCD dan DVD di seluruh dunia.
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.
Pada alat ini, data yang dikirimkan sebanyak 3 data, yaitu data untuk nilai
ratusan, nilai puluhan dan nilai. Setiap pengiriman masing-masing data dari ketiga
data tersebut, didahului dengan pengiriman sinyal low, jadi ada 3 sinyal low dan ada 3
data. Akan terjadi masalah jika pengiriman data dilakukan seperti ini, yaitu data yang
dikirimkan adalah 567, kemungkinan data yang diterima adalah: 675, dan 756.
Sehingga hanya 1/3 kemungkinannya data yang dikirimkan benar.
Kesalahan pengambilan data oleh penerima disebabkan karena adanya
penghalang atau karena kesalahan pengambilan data ketika alat pertama kali
dihidupkan. Seharusnya penerima mengambil sinyal low dari data yang pertama,
kemudian mengambil data pertama, setelah itu mengambil sinyal low dari data kedua,
kemudian mengambil data kedua, dan demikian seterusnya, sehingga data tersebut
sesuai dengan urutannya. Namun jika ada penghalang sesaat atau ketika pertama kali
dihidupkan terjadi kesalahan pengambilan sinyal low, maka pengambilan data
seterusnya akan salah. Misalnya jika ada penghalang sesaat, sehingga sinyal low yang
diterima adalah sinyal low yang kedua, maka data kedua akan dianggap sebagai data
pertama, dan data ketiga akan dianggap sebagai data kedua, demikian seterusnya,
sehingga urutan data menjadi salah.
Untuk menghindari kesalahan dalam pengambilan data, maka pada alat ini
ditambahkan satu data yang berfungsi sebagai startbit atau data awal. Data awal ini
mempunyai nilai tertentu, jadi ketika penerima mendapatkan sinyal low, penerima
akan mengambil 1 data setelah sinyal low tersebut dan membandingkannya apakah
sesuai dengan data awal atau tidak. Jika tidak sama, maka penerima akan mengambil
data berikutnya , kemudian membandingkan lagi sesuai atau tidak dengan data awal.
data yang sesuai dengan data awal, maka penerima akan mengambil data pertama
setelah data awal sebagai data pertama, data kedua setelah data awal sebagai data
kedua, dan seterusnya hingga data ketiga. Dengan demikian tidak akan terjadi
kesalahan urutan data, walaupun ada penghalang sesaat.
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 pulsa untuk data satu ± 2 x 1.131 μs = 2.262 μs.
Demikian pula untuk data-data yang lainnya.
4.5 Rangkaian Penerima 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:
Gambar 4.2 Rangkaian Penerima Infra Merah
Pada rangkaian diatas digunakan resistor 100 ohm untuk membatasi arus yang masuk
pada rangkaian, sedangkan kapasitor 10 μF digunakan agar arus yang masuk ke IC
TSOP 1738 lebih stabil.
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 hing pada outputnya, maka mikrokontroler
dapat langsung mendeteksinya. Programnya sebagai berikut :
Utama:
mov 60h,#0h
jb P3.7,$
nop
jnb P3.7,$
nilai:
acall hitung
jb P3.7,nilai
mov a,60h
mov b,#10
div ab
dec a
cjne a,#10,Utama
Awalnya mikrokontroler akan memasukkan nilai 0 pada alamat 60h, kemudian
menunggu sinyal low dari P3.7 yang terhubung ke output dari IC TSOP 1738. Jika ada
sinyal low, itu berarti ada data yang akan dikirim oleh pemancar, kemudian
mikrokontroler akan mengabaikan sinyal low tersebut sampai datang sinyal high,
sinyal high inilah yang dihitung oleh mikrokontroler sebagai data yang masuk. Data
yang masuk akan dibagikan dengan nilai 10. Hal ini dilakukan karena lebar data
pengirim 10 kali lebih besar daripada lebar data penerima, sehingga harus dibagi
dengan 10. Kemudian hasilnya akan dikurangi dengan 1, hal ini karena pada saat
pengiriman, setiap data telah ditambah dengan nilai satu. Selanjutnya lebar data akan
dibandingkan, apakah sama dengan 10 atau tidak, jika sama dengan 10 maka data ini
merupakan data startbit, dengan demikian 3 data setelah ini adalah merupakan data
temperatur, dan akan diambil untuk ditampilkan nilainya. Namun jika data tersebut
tidak sama dengan 10, maka data ini bukan merupakan data startbit, program akan
Setelah mendapatkan data startbit, maka mikrokontroler akan mengambil 3
data setelah data startbit tersebut, yang merupakan dara dari nilai temperatur yang
dikirimkan oleh pemancar. Programnya sebagai berikut :
acall hitung
jb P3.7,nilai3
Pada program di atas data nilai satuan akan disimpan di alamat 61h, data untuk nilai
puluhan akan disimpan pada alamat 62h, sedangkan data untuk nilai ratusan akan
disimpan pada alamat 63h . Kemudian data ini akan masing-masing akan dibagi
dengan nilai 10 dan dikurangi dengan 1 seperti data pada starbit, kemudian
ditampilkan pada display.
4.6 Pengujian Rangkaian ADC
Pengujian pada bagian rangkaian ADC ini dapat dilakukan dengan menghubungkan
rangkaian ADC ini dengan rangkaian mikrokontroler. Selanjutnya rangkaian
mikrokontroler dihubungkan dengan rangkaian display seven segmen. Mikrokontroler
diisi dengan program untuk membaca nilai yang ada pada rangkaian ADC, kemudian
hasil pembacaannya ditampilkan pada display seven segmen. Programnya adalah
sebagai berikut :
mov a,p2
mov b,#100
div ab
mov 70h,a
mov b,#10
div ab
mov 71h,a
mov 72h,b
Dengan program di atas, maka akan tampil nilai temperatur yang dideteksi
oleh sensor temperatur. Dengan demikian maka rangkaian ini telah berfungsi dengan
baik. Dari hasil pengujian didapatkan data sebagai berikut:
Tabel 4.1. Nilai temperatur yang dideteksi oleh sensor temperatur
Suhu terukur (°C) Output LM35 (mV) Output ADC Tampilan Display
BAB 5
KESIMPULAN DAN SARAN
5.1. Kesimpulan
Mikrokontroler merupakan sebuah chip atau IC yang di dalamnya terdapat sebuah
prosessor dan flash memori yang dapat dibaca/tulis sampai 1000 kali, sehingga biaya
pengembangan menjadi murah karena dapat dihapus kemudian diisi kembali dengan
program lain sesuai dengan kebutuhan. Sistem Pengendalian suhu dengan AT89S51
ini mampu mempertahankan suhu yang dikehendaki pada daerah sekitar sensor. Hasil
Pengendaliannya dilakukan pada satu daerah atau pada daerah didekat sensor suhu,
dan untuk daerah yang letaknya jauh dari sensor. 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 tetapi
instruksi yang digunakan disini ada 10 instruksi.
5.2. Saran
Agar sistem/rangkaian yang diinginkan tidak terganggu, sebaiknya alat dikemas dalam
bentuk yang lebih aman dan terlindungi sehingga penggunaannya lebih efektif.
kegunaannya dikalangan mahasiswa maupun masyarakat. Untuk dimasa yang akan
DAFTAR PUSTAKA
Afgianto. 2004. Belajar Mikrokontroler AT89C51/52/55 Teori dan Aplikasi . Edisi
Kedua. Yogyakarta: Gava Media.
Ibrahim, KF. 1996. Teknik Digital . Edisi Pertama. Yogyakarta: ANDI
Lukito, Ediman. 1991. Pemrograman Dengan Menggunakan Bahasa Assembly.
Jakarta: PT. Elex Media Komputindo-Gramedia.
Samuel, H dan Tirtamihardja. 1996. Elektronika Digital. Cetakan 1. Yogyakarta: