Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah

(1)

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.

USU Repository © 2009

APLIKASI MIKROKONTROLER AT89S51 DALAM PENGUKURAN DAN PENGIRIMAN DATA TEMPERATUR MENGGUNAKAN SINAR INFRA MERAH

TUGAS AKHIR

Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar ahli madya

IHUT PARULIAN TOGATOROP

062408022

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

PROGRAM STUDI FISIKA INSTRUMENTASI

UNIVERSITAS SUMATERA UTARA

MEDAN


(2)

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.

USU Repository © 2009

PERSETUJUAN

JuduI : APLIKASI MIKROKONTROLER AT89S5I

DALAM PENGUKURAN DAN PENGIRIMAN DATA TEMPERATUR MENGGUNAKAN SINAR INFRA MERAH

Kategori : TUGAS AKHIR

Nama : IHUT PARULIAN TOGATOROP

Nomor Induk Mahasiswa : 062408022

Program Studi : D3 FISIKA INSTRUMENTASI

Departemen : FISIKA

Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN

ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA

Diluluskan di Medan, 29 Juni 2009

Ketua Program Studi

D3 Fisika Instrumentasi Pembimbing

( Drs. Syahrul Humaidi, M.Sc ) ( Drs. Syahrul Humaidi, M.Sc ) NIP 132 050 870 NIP 132 050 870


(3)

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.

USU Repository © 2009

PERNYATAAN

APLIKASI MIKROKONTROLER AT89S51 DALAM PENGUKURAN DAN PENGIRIMAN DATA TEMPERATUR MENGGUNAKAN SINAR INFRA MERAH

TUGAS AKHIR

Saya mengakui bahwa tugas akhir ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, Juni 2009

IHUT PARULIAN TOGATOROP 062408022


(4)

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.

USU Repository © 2009

PENGHARGAAN

Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa atas segala anugerah dan rahmatnya sehingga penulis dapat menyelesaikan tugas akhir ini.

Ucapan terimakasih saya sampaikan kepada Bapak Drs.Syahrul Humaidi,M.Sc selaku Ketua Program Studi Fisika Instrumentasi serta Dosen pembimbing pada penyelesaian tugas akhir ini yang telah memberikan panduan dan perhatian kepada penulis untuk menyempurnakan tugas akhir ini. Ucapan terimakasih juga ditujukan kepada ketua Departemen Fisika Bapak Dr. Marhaposan Situmorang serta Dosen-dosen pengajar pada jurusan Fisika Instrumentasi,dan kawan-kawan angkatan 2006 khususnya Debagor Community (Alex P, Juna idi, Mangasi, Ihut P, Hermanto, Neronzie, Herman dan Charles) atas segala bantuan dan motivasinya sehingga penulis dapat menyelesaikan tugas akhir ini dengan baik. Dan saya juga tidak lupa mengucapkan terimakasih yang sebesar-besarnya kepada kedua orang tua, Abang Hepson, Kak Dewi Marisa dan adik-adik penulis serta teman-teman The Langsir TSM, yang begitu banyak memberikan dukungan berupa material maupun spiritual pada penulis, sehingga penulis dapat menyelesaikan tugas akhir ini hingga selesai. Semoga Tuhan Yang Maha Esa memberikan berkat yang berlimpah kepada kita semua.


(5)

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.

USU Repository © 2009

ABSTRAK

Salah satu alat yang cerdas yang dibutuhkan oleh manusia adalah alat pengirim data jarak jauh dengan menggunakan infra merah. Alat ini akan mengirimkan data dari jarak tertentu melalui transmitter dan akan diterima oleh receiver pada jarak tertentu juga.

Pada alat ini akan digunakan dua buah mikrokontroler AT89S51, sebuah pemancar infra merah, sebuah penerima sinar infra merah ( TSOP 1738 ). Beberapa buah penguat sinyal dan Beberapa buah seven segmen, Mikrokontroler AT89S51 sebagai otak dari system, dimana yang satu berfungsi mengolah data yang akan dikirimkan, kemudian menampilkannya pada seven segmen sekaligus mengirimkan data 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 ke rangkaian penerima. Penerima infra merah berfungsi untuk menerima data yang dipancarkan oleh pemancar infra merah. Seven segmen berfungsi sebagai display dari nilai yang dikirimkan atau yang diterima.


(6)

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.

USU Repository © 2009

DAFTAR ISI

Halaman

Persetujuan ii

Pernyataaan iii

Penghargaan iv

Abstrak v

Daftar Isi vi

Daftar Tabel viii

Daftar Gambar ix

BAB I PENDAHULUAN

1.1 Latar Belakang Penulisan 1

1.2 Rumusan Masalah 2

1.3 Tujuan Penulisan 2

1.4 Batasan Masalah 3

1.5 Sistematika Penulisan 3

BAB II LANDASAN TEORI

2.1 Perangkat Keras 5

2.1.1 Mikrokontroler AT89S51 5

2.1.2 Konstruksi AT89S51 6 2.1.3 SFR (Register Fungsi Khusus) keluarga 51 8 2.1.4 Gambar IC Mikrokontroler AT89S51 12

2.2 Perangkat Lunak 14

2.2.1 Instruksi-instruksi AT89S51 14 2.2.2 Software 8051 Editor,Assembler,Simulator (IDE) 18 2.2.3 Software Downloader 19 2.2.4 Penguat Sinyal 20 2.2.4.1 Gambaran Umum 20 2.2.4.2 Karakteristik Penguat Operasional 21 2.2.4.3 Penguat Non Inverting 25 2.2.4.4 Penguat Inverting 26 2.2.4.5 Penguat Diffrensiator 27

2.3 Sinar Infra Merah 28

BAB III PERANCANGAN ALAT DAN PROGRAM

3.1 Perancangan Alat 30

3.1.1 Diagram Blok 30

3.1.2 Rangkaian Power Supplay (PSA) 31 3.1.3 Rangkaian Mikrokontroler AT89S51 33 3.1.4 Rangkaian Display Seven segmen 34 3.1.5 Rangkaian Pengirim Data melalui Infra merah 36 3.1.6 Rangkaian Penerima Data Infra merah 41


(7)

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.

USU Repository © 2009

3.2 Program 46

3.2.1 Pemrograman Rangkaian Pemancar 46 3.2.2 Pemrograman Rangkaian Penerima 52 BAB IV ANALISA RANGKAIAN DAN DIAGRAM ALIR

4.1 Pengujian Rangkaian Power Supplay (PSA) 60 4.2 Pengujian Rangkaian Mikrokontroller AT89S51 60 4.3 Pengujian Rangkaian Display Seven segmen 62 4.4 Pengujian Rangkaian Pengirim Data melalui Infra Merah 64 4.5 Pengujian Rangkaian Penerima Data Infra Merah 65

4.6 Pengujian Rangkaian ADC 66

4.7 Diagram Alir ( Flowchart ) 67

4.7.1 Alat Pengirim 67

4.7.2 Alat Penerima 68 BAB V KESIMPULAN DAN SARAN

5.1 Kesimpulan 70

5.2 Saran 70

DAFTAR PUSTAKA LAMPIRAN


(8)

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.

USU Repository © 2009

DAFTAR TABEL

Halaman

Tabel 2.1 Peta Register Fungsi Khusus – SFR 9

Tabel 2.2 Fungsi Pin pada Port 3 13

Tabel 3.1 Waktu mikrokontroler AT89S51 Mengeksekusi Perintah 38

Tabel 4.1 Waktu Tunda mikrokontroller AT89S51 61

Tabel 4.2 Penampilan Angka Desimal 63


(9)

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.

USU Repository © 2009

DAFTAR GAMBAR

Halaman

Gambar 2.1 IC mikrokontroller AT 89S51 12

Gambar 2.2 Software 8051 Editor, Assembler, Simulator (IDE) 18

Gambar 2.3 ISP – Flash Programmer 3.a 19

Gambar 2.4 Rangkaian Dasar Penguat Non Inverting 25

Gambar 2.5 Rangkaian Dasar Penguat Inverting 26

Gambar 2.6 Rangkaian Dasar Penguat Differensial 28

Gambar 3.1 Diagram Blok Rangkaian 30

Gambar 3.2 Rangkaian Power Supply(PSA) 31

Gambar 3.3 Rangkaian Mikrokontroller AT89S51 33

Gambar 3.4 Rangkaian Display Seven Segmen 34

Gambar 3.5 Rangkaian Pengirim Data melalui Infra merah 37 Gambar 3.6 Rangkaian Penerima Data Infra merah 41 Gambar 3.7 Rangkaian Analog to Digital Converter (ADC) 45


(10)

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.

USU Repository © 2009

BAB I PENDAHULUAN

I.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 kembali dengan program lain sesuai dengan kebutuhan.

Salah satu alat yang cerdas yang dibutuhkan oleh manusia adalah alat pengirim data jarak jauh dengan menggunakan infra merah. Alat ini akan mengirimkan data dari jarak tertentu melalui transmitter dan akan diterima oleh receiver pada jarak tertentu juga.

Alat seperti ini dibutuhkan untuk mengefisiensikan dalam hal pengiriman data karena dengan adanya alat ini kita tidak perlu lagi menggunakan dua computer atau dua alat yang saling terhubung untuk pengiriman data.


(11)

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.

USU Repository © 2009

I.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 dari jarak jauh dengan menggunakan infra merah.

Pada alat ini akan digunakan dua buah mikrokontroler AT89S51, sebuah pemancar infra merah, sebuah penerima sinar infra merah. Beberapa buah penguat sinyal dan Beberapa buah seven segmen, Mikrokontroler AT89S51 sebagai otak dari system, dimana yang satu berfungsi mengolah data yang akan dikirimkan, kemudian menampilkannya pada seven segmen sekaligus mengirimkan data 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 ke rangkaian penerima. Penerima infra merah berfungsi untuk menerima data yang dipancarkan oleh pemancar infra merah. Seven segmen berfungsi sebagai display dari nilai yang dikirimkan atau yang diterima.

I.3 Tujuan Penulisan

Adapun tujuan dari penelitian ini adalah sebagai berikut:

1. Memanfaatkan mikrokontroler sebagai alat pengiriman dan penerimaan data secara wireless, dengan menggunakan infra merah.

2. Membuat alat sederhana yang dapat mengirim data secara jarak jauh. 3. Melengkapi syarat untuk memperoleh gelar Ahli Madya (A.Md)


(12)

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.

USU Repository © 2009

I.4 Batasan Masalah

Mengacu pada hal diatas, saya membuat alat yang dapat mengirimkan data secara jarak jauh dengan menggunakan infra merah. Alat ini akan menggunakan mikrokontroler AT89S51, sebagai pusat dari semua operasi, meliputi pengolahan data, penampilan data, pengiriman dan penerimaan data.

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 dikrimkan atau nilai yang diterima.

I.5 Sistematika Penulisan

Untuk mempermudah pembahasan dan pemahaman maka penulis membuat sistematika pembahasan bagaimana sebenarnya prinsip kerja dari alat yang dapat mengontrol temperatur ruangan secara otomatis sekaligus dapat mengirimkan data temperaturnya ke tempat lain, maka penulis menulis laporan ini sebagai berikut:

BAB I. PENDAHULUAN

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


(13)

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.

USU Repository © 2009

itu antara lain tentang mikrokontroler AT89S51 (hardware dan software), bahasa program yang digunakan

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 DIAGRAM ALIR

Pada bab ini akan dibahas hasil analisa dari rangkaian dan diagram alir (Flowchart) yang berupa sistem kerja alat, penjelasan mengenai rangkaian-rangkaian yang digunakan, penjelasan mengenai program yang diisikan ke mikrokontroler AT89S51.

BAB V. KESIMPULAN DAN SARAN

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 yang sama.


(14)

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.

USU Repository © 2009

BAB II

LANDASAN TEORI

2.1 PERANGKAT KERAS 2.1.1 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 kebetuhan 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 jika dikumpulkan dapat ditukar dengan berbagai macam hadiah. Sistem tiket ini ditangani dengan mikrokontroler, karena tidak mungkin menggunakan komputer PC yang harus dipasang di samping (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


(15)

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.

USU Repository © 2009

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 dan ROM-nya. Pada sistem komputer RAM dan ROM-nya besar. Sedangkan pada mikrokontroler ROM dan RAM-nya terbatas. Pada mikrokontroler AT89S51 ROM atau flash PEROM berukuran 2 kilo byte, sedangkan RAM-nya berukuran 128 byte.

2.1.2 Kontruksi AT89S51

Mikrokontrol AT89S51 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 AT89S51 otomatis direset begitu rangkaian menerima catu daya. Kristal dengan frekuensi maksimum 24 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 untuk menyimpan data ini disebut sebagai memori data.


(16)

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.

USU Repository © 2009

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 AT89S51 adalah Flash PEROM, program untuk mengendalikan mikrokontroler diisikan ke memori itu lewat bantuan alat yang dinamakan sebagai AT89S51 Flash PEROM Programmer.

Memori Data yang disediakan dalam chip AT89S51 sebesar 128 byte, meskipun hanya kecil saja tapi untuk banyak keperluan memori kapasitas itu sudah cukup. Sarana Input/Ouput yang disediakan cukup banyak dan bervariasi. 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).

AT89S51 dilengkapi UART (Universal Asyncronous Receiver/Transmiter) yang biasa dipakai untuk komunikasi data secara seri. Jalur untuk komunikasi data seri (RXD dan TXD) diletakan berhimpitan dengan P3.0 dan P3.1 di kaki nomor 10 dan 11, sehingga kalau sarana input/ouput yang bekerja menurut fungsi waktu. Clock penggerak untaian pencacah ini bisa berasal dari oscillator kristal atau clock yang diumpan dari luar lewat T0 dan T1. T0 dan T1 berhimpitan dengan P3.4 dan P3.5, sehingga P3.4 dan P3.5 tidak bisa dipakai untuk jalur input/ouput parelel kalau T0 dan T1 dipakai.

AT89S51 mempunyai enam sumber pembangkit interupsi, dua diantaranya adalah sinyal interupsi yang diumpankan ke kaki INT0 dan INT1. Kedua kaki ini berhimpitan


(17)

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.

USU Repository © 2009

dengan P3.2 dan P3.3 sehingga tidak bisa dipakai sebagai jalur input/output parelel kalau INT0 dan INT1 dipakai untuk menerima sinyal interupsi.

Port1 dan 2, UART, Timer 0,Timer 1 dan sarana lainnya merupakan register yang secara fisik merupakan RAM khusus, yang ditempatkan di Special Functoin Regeister (SFR).

2.1.3 SFR (Register Fungsi Khusus ) Pada Keluarga 51

Sekumpulan SFR atau Special Function Register yang terdapat pada Mikrokontroler Atmel Keluarga 51 ditunjukan pada tabel 2.1, pada bagian sisi kiri dan kanan dituliskan alamat-alamatnya dalam format heksadesimal.

Tidak semua alamat pada SFR digunakan, alamat-alamat yang tidak digunakan diimplementasikan pada chip. Jika dilakukan usaha pembacaan pada alamat-alamat yang tidak terpakai tersebut akan menghasilkan data acak dan penulisannya tidak menimbulkan efek sama sekali. Pengguna perangkat lunak sebaiknya jangan menuliskan ‘1’ pada lokasi-lokasi ‘tak bertuan’ tersebut, karena dapat digunakan untuk mikrokontroler generasi selanjutnya. Dengan demikian, nilai-nilai reset atau non-aktif dari bit-bit baru ini akan selalu ‘0’ dan nilai aktifnya adalah ‘1’. Berikut akan dijelaskan secara singkat SFR-SFR beserta fungsinya:


(18)

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.

USU Repository © 2009

Tabel 2.1. Peta Register Fungsi Khusus – SFR (Special Function Register)

Akumulator

ACC atau akumulator yang menempati lokasi E 0h digunakan sebagai register untuk penyimpanan data sementara, dalam program, instruksi mengacunya sebagai register A (bukan ACC).

Register B

Register B (lokasi D 0h) digunakan selama operasi perkalian dan pembagian, untuk instruksi lain dapat diperlakukan sebagai register scratch pad (“papan coret-coret”)

lainnya.

Program Status Word (PSW)

Register PSW (lokasi D 0h) mengandung informasi status program. Stack Pointer


(19)

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.

USU Repository © 2009

Register SP atau Stack Pointer (lokasi 8 1h) merupakan register dengan panjang 8-bit, digunakan dalam proses simpan menggunakan instruksi PUSH dan CALL. Walau Stack bisa menempati lokasi dimana saja dalam RAM, register SP akan selalu diinisialisasi ke 07h setelah adanya reset, hal ini menyebabkan stack berawal di lokasi 08h.

Data Pointer

Register Data Pointer atau DPTR mengandung DPTR untuk byte tinggi (DPH) dan byte rendah (DPL) yang masing-masing berada dilokasi 83h dan 82h, bersama-sama membentuk register yang mampu menyimpan alamat 16-bit. Dapat dimanipulasi sebagai register 16-bit atau ditulis dari/ke port, untuk masing-masing Port 0,Port 1, Port2 dan Port 3.

Serial Data Buffer

SBUF atau Serial Data Buffer (lokasi 99h) sebenarnya terdiri dari dua register yang terpisah, yaitu register penyangga pengirim (transmit buffer) dan penyangga penerima (receive buffer). Pada saat data disalin ke SBUF, maka data sesungguhnya dikirim ke penyangga pengirim dan sekaligus mengawali transmisi data serial. Sedangkan pada saat data disalin dari SBUF, maka sebenarnya data tersebut berasal dari penyangga penerima.

Time Register

Pasangan register (TH0, TL0) dilokasi 8Ch dan 8Ah,(TH1, TL1) dilokasi 8Dh dan 8Bh serta (TH2, TL2) dilokasi CDh dan CCH merupakan register-register pencacah 16-bit untuk masing-masing Timer 0, Timer 1 dan Timer 2.

Capture Register

Pasangan register (RCAP2H, RCAP21) yang menempati lokasi CBh dan CAh merupakan register capture untuk mode Timer 2 capture. Pada mode ini, sebagai tanggapan terjadinya suatu transisi sinyal di kaki (pin) T2EX (pada AT89C52/55), TH2 dan TL2 disalin


(20)

masing-Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.

USU Repository © 2009

masing ke RCAP2H dan RCAP2L. Timer 2 juga memiliki mode isi-ulang-otomatis 16-bit dan RCAP2H serta RCAP2L digunakan untuk menyimpan nilai isi-ulang tersebut.

Kontrol Register

Register-register IP, IE, TMOD, TCON, T2CON, T2MOD, SCON dan PCON berisi bit-bit kontrol dan status untuk sistem interupsi, pencacah/pewaktu dan port serial.

Berikut ini merupakan spesifikasi dari IC AT89S51 :

• Kompatible dengan produk MCS-51

• Empat K byte In-Sistem Reprogammable Flash Memory

• Daya tahan 1000 kali baca/tulis

• Tegangan kerja 4,0 volt sampai 5,5 volt

• Fully Static Operation : 0 Hz sampai 33 MHz

• Tiga level kunci memori progam

• 128 x 8 – bit RAM internal

• 32 jalur input/output (I/O)

• Dua 16 bit Timer/Counter

• Enam sumber interupt

• Jalur serial dengan UART

2.1.4 Gambar IC Mikrokontroler AT89S51


(21)

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.

USU Repository © 2009

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 input dengan memberikan logika 1 pada port tersebut. Pada fungsi sebagai low order multiplex


(22)

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.

USU Repository © 2009

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 mengakse memori 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 ke keempat buah input TTL.

Port 3 (Pin 10 – pin 17)

Port 3 merupakan 8 bit port I/O dua arah dengan internal pull up. Port 3 juga mempunyai fungsi pin masing-masing, yaitu sebagai berikut :

Tabel 2.2 Fungsi Pin pada Port 3

Nama pin Fungsi

P3.0 (pin 10) RXD (Port input serial) P3.1 (pin 11) TXD (Port output serial) P3.2 (pin 12) INT0 (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)

Reset akan aktif dengan memberikan input high selama 2 cycle. ALE/PROG (pin 30)


(23)

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.

USU Repository © 2009

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 memprogram Flash.

PSEN (pin 29)

Program 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 programming, pin ini akan mendapat tegangan 12 Volt.

XTAL1 (pin 19)

Input untuk clock internal. XTAL2 (pin 18)

Output dari osilator.

2.2 Perangkat Lunak

2.2.1 Instruksi – Instruksi AT89S51

Bahasa yang digunakan untuk memprogram IC mikrokontroller AT89S51 adalah bahasa assembly untuk MCS-51 merupakan jumlah instruksi, pada bahasa ini hanya ada 51 instruksi. Dari instruksi, yang sering digunakan orang hanya 10 instruksi. instruksi tersebut adalah :

A. Instruksi MOV

Perintah ini merupakan perintah untuk mengisikan nilai ke alamat atau register tertentu. Pengisian nilai dapat secara langsung atau tidak langsung.


(24)

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.

USU Repository © 2009

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.

B. 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.


(25)

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.

USU Repository © 2009

Instruksi ini berfungsi untuk memanggil suatu rutin tertentu. Contoh :

...

ACALL TUNDA ...

TUNDA:

...

D. Instruksi RET

Instruksi RETURN (RET) ini merupakan perintah untuk kembali ke rutin pemanggil setelah instruksi ACALL dilaksanakan. Contoh,

ACALL TUNDA ...

TUNDA:

... RET

E. Instruksi JMP (Jump)

Instruksi ini merupakan perintah untuk lompat ke alamat tertentu. Contoh,

Loop:

... ... JMP Loop

F. Instruksi JB (Jump if bit)

Instruksi ini merupakan perintah untuk lompat ke alamat tertentu, jika pin yang dimaksud berlogika high (1). Contoh,


(26)

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.

USU Repository © 2009

JB P1.0,Loop ...

G. 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 ...

H. Instruksi CJNE (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.. I. 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 ...


(27)

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.

USU Repository © 2009

J. 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. Tampilannya seperti di bawah ini.


(28)

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.

USU Repository © 2009

Gambar 2.2 8051 Editor, Assembler, Simulator

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. Bilangan heksadesimal inilah yang akan dikirimkan ke mikrokontroller

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


(29)

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.

USU Repository © 2009

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.2.4 Penguat Sinyal 2.2.4.1 Gambaran umum

Penguat operasional (Op - Amp) adalah suatu rangkaian terintegrasi yang berisi beberapa tingkat dan konfigurasi penguat diferensial yang telah dijelaskan di atas. Penguat operasional memilki dua masukan dan satu keluaran serta memiliki penguatan DC yang tinggi. Untuk dapat bekerja dengan baik, penguat operasional memerlukan tegangan catu yang simetris yaitu tegangan yang berharga positif (+V) dan tegangan yang berharga negatif (-V) terhadap tanah (ground).

Operational Amplifier atau di singkat Op - Amp merupakan salah satu komponen

analog yang popular digunakan dalam berbagai aplikasi rangkaian elektronika. Aplikasi penguat operasional popular yang paling sering dibuat antara lain adalah rangkaian inverter,

non-inverter, integrator dan differensiator. Pada bagian ini akan dipaparkan beberapa

aplikasi penguat operasional yang paling dasar, dimana rangkaian feedback (umpan balik) negatif memegang peranan penting. Secara umum, umpan balik positif akan menghasilkan osilasi sedangkan umpan balik negatif menghasilkan penguatan yang dapat terukur.

Penguat operasional pada dasarnya adalah sebuah differential amplifier (penguat diferensial) yang memiliki dua masukan. Input (masukan) penguat operasional seperti yang


(30)

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.

USU Repository © 2009

telah dimaklumi ada yang dinamakan input inverting dan non-inverting. Penguat operasional ideal memiliki open loop gain (penguatan loop terbuka) yang tak terhingga besarnya.

Ada dua aturan penting dalam melakukan analisa rangkaian penguat operasional berdasarkan karakteristik penguat operasional ideal. Aturan ini dalam beberapa literatur dinamakan golden rule, yaitu :

Aturan 1 : Perbedaan tegangan antara input v+ dan v- adalah nol (v+-v- = 0 / v+ = v- )

Aturan 2 : Arus pada input Penguat operasional adalah nol (i+ = i- = 0)

Inilah dua aturan penting penguat operasional ideal yang digunakan untuk menganalisa rangkaian penguat operasional.

2.2.4.2 Karakteristik Ideal Penguat Operasional

Penguat operasional banyak digunakan dalam berbagai aplikasi karena beberapa keunggulan yang dimilikinya, seperti penguatan yang tinggi, impedansi masukan yang tinggi, impedansi keluaran yang rendah dan lain sebagainya. Berikut ini adalah karakteristik dari Penguat operasional ideal:

1. Penguatan tegangan lingkar terbuka

Penguatan tegangan lingkar terbuka (open loop voltage gain) adalah penguatan diferensial Penguat operasional pada kondisi dimana tidak terdapat umpan balik (feedback). Secara ideal, penguatan tegangan lingkar terbuka adalah:

AVOL = Vo / Vid =

AVOL = Vo/(V1-V2) =

Tanda negatif menandakan bahwa tegangan keluaran VO berbeda fasa dengan

tegangan masukan Vid. Konsep tentang penguatan tegangan tak berhingga tersebut


(31)

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.

USU Repository © 2009

perlu untuk dimengerti adalah bahwa tegangan keluaran VO jauh lebih besar daripada

tegangan masukan Vid. Dalam kondisi praktis, harga AVOL adalah antara 5000 (sekitar

74 dB) hingga 100000 (sekitar 100 dB).Tetapi dalam penerapannya tegangan keluaran VO tidak lebih dari tegangan catu yang diberikan pada Penguat operasional.

Karena itu Penguat operasional baik digunakan untuk menguatkan sinyal yang amplitudonya sangat kecil.

2. Tegangan ofset keluaran

Tegangan ofset keluaran (output offset voltage) VOO adalah harga tegangan

keluaran dari Penguat operasional terhadap tanah (ground) pada kondisi tegangan masukan Vid = 0. Secara ideal, harga VOO = 0 V. Penguat operasional yang dapat

memenuhi harga tersebut disebut sebagai Penguat operasional dengan CMR (common

mode rejection) ideal.

Tetapi dalam kondisi praktis, akibat adanya ketidakseimbangan dan ketidakidentikan dalam penguat diferensial dalam Penguat operasional tersebut, maka tegangan ofset VOO biasanya berharga sedikit di atas 0 V. Apalagi apabila tidak

digunakan umpan balik maka harga VOO akan menjadi cukup besar untuk

menimbulkan saturasi pada keluaran. Untuk mengatasi hal ini, maka perlu diterapakan tegangan koreksi pada Penguat operasional. Hal ini dilakukan agar pada saat tegangan masukan Vid = 0, tegangan keluaran VO juga = 0.

3. Hambatan Masukan

Hambatan masukan (input resistance) Ri dari Penguat operasional adalah besar


(32)

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.

USU Repository © 2009

masukan Penguat operasional adalah tak berhingga. Tetapi dalam kondisi praktis, harga hambatan masukan Penguat operasional adalah antara 5 kΩ hingga 20 MΩ, tergantung pada tipe Penguat operasional. Harga ini biasanya diukur pada kondisi Penguat operasional tanpa umpan balik. Apabila suatu umpan balik negatif (negative

feedback) diterapkan pada Penguat operasional, maka hambatan masukan Penguat

operasional akan meningkat.

Dalam suatu penguat, hambatan masukan yang besar adalah suatu hal yang diharapkan. Semakin besar hambatan masukan suatu penguat, semakin baik penguat tersebut dalam menguatkan sinyal yang amplitudonya sangat kecil. Dengan hambatan masukan yang besar, maka sumber sinyal masukan tidak terbebani terlalu besar. 4. Hambatan Keluaran

Hambatan Keluaran (output resistance) RO dari Penguat operasional adalah besarnya

hambatan dalam yang timbul pada saat Penguat operasional bekerja sebagai pembangkit sinyal. Secara ideal harga hambatan keluaran RO Penguat operasional

adalah = 0. Apabila hal ini tercapai, maka seluruh tegangan keluaran Penguat operasional akan timbul pada beban keluaran (RL), sehingga dalam suatu penguat, hambatan keluaran yang kecil sangat diharapkan.

Dalam kondisi praktis harga hambatan keluaran Penguat operasional adalah antara beberapa ohm hingga ratusan ohm pada kondisi tanpa umpan balik. Dengan diterapkannya umpan balik, maka harga hambatan keluaran akan menurun hingga mendekati kondisi ideal.


(33)

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.

USU Repository © 2009

Lebar pita (band width) BW dari Penguat operasional adalah lebar frekuensi tertentu dimana tegangan keluaran tidak jatuh lebih dari 0,707 dari harga tegangan maksimum pada saat amplitudo tegangan masukan konstan. Secara ideal, Penguat operasional memiliki lebar pita yang tak terhingga. Tetapi dalam penerapannya, hal ini jauh dari kenyataan.

Sebagian besar Penguat operasional serba guna memiliki lebar pita hingga 1 MHz dan biasanya diterapkan pada sinyal dengan frekuensi beberapa kiloHertz. Tetapi ada juga Penguat operasional yang khusus dirancang untuk bekerja pada frekuensi beberapa MegaHertz. Penguat operasional jenis ini juga harus didukung komponen eksternal yang dapat mengkompensasi frekuensi tinggi agar dapat bekerja dengan baik.

6. Waktu Tanggapan

Waktu tanggapan (respon time) dari Penguat operasional adalah waktu yang diperlukan oleh keluaran untuk berubah setelah masukan berubah. Secara ideal harga waktu respon Penguat operasional adalah = 0 detik, yaitu keluaran harus berubah langsung pada saat masukan berubah.Tetapi dalam prakteknya, waktu tanggapan dari Penguat operasional memang cepat tetapi tidak langsung berubah sesuai masukan. Waktu tanggapan Penguat operasional umumnya adalah beberapa mikro detik hal ini disebut juga slew rate. Perubahan keluaran yang hanya beberapa mikrodetik setelah perubahan masukan tersebut umumnya disertai dengan oveshoot yaitu lonjakan yang melebihi kondisi steady state. Tetapi pada penerapan biasa, hal ini dapat diabaikan. 7. Karakteristik Terhadap Suhu


(34)

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.

USU Repository © 2009

Sebagai mana diketahui, suatu bahan semikonduktor yang akan berubah karakteristiknya apabila terjadi perubahan suhu yang cukup besar. Pada Penguat operasional yang ideal, karakteristiknya tidak berubah terhadap perubahan suhu. Tetapi dalam prakteknya, karakteristik sebuah Penguat operasional pada umumnya sedikit berubah, walaupun pada penerapan biasa, perubahan tersebut dapat diabaikan. 2.2.4.3 Penguat non-inverting

Prinsip utama rangkaian penguat non-inverting adalah seperti yang diperlihatkan pada gambar 2.3 berikut ini. Seperti namanya, penguat ini memiliki masukan yang dibuat melalui input non-inverting. Dengan demikian tegangan keluaran rangkaian ini akan satu fasa dengan tegangan inputnya.

Gambar 2.4 Rangkaian dasar penguat non-inverting

Dengan menggunakan aturan 1 dan aturan 2, kita uraikan dulu beberapa fakta yang ada, antara lain :

vin = v+

v+ = v- = vin.

Dari sini ketahui tegangan jepit pada R2 adalah vout – v- = vout – vin, atau iout = (vout-vin)/R2.

Lalu tegangan jepit pada R1 adalah v- = vin, yang berarti arus iR1 = vin/R1.


(35)

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.

USU Repository © 2009

iout + i(-) = iR1

Aturan 2 mengatakan bahwa i(-) = 0 dan jika disubsitusi ke rumus yang sebelumnya, maka

diperoleh

iout = iR1 dan Jika ditulis dengan tegangan jepit masing-masing maka diperoleh

(vout – vin)/R2 = vin/R1 yang kemudian dapat disederhanakan menjadi :

vout = vin (1 + R2/R1)

Jika penguatan G adalah perbandingan tegangan keluaran terhadap tegangan masukan, maka didapat penguatan penguat operasional non-inverting :

2.2.4.4 Penguat Inverting

Rangkaian dasar penguat inverting adalah seperti yang ditunjukkan pada gambar 2.4, dimana sinyal masukannya dibuat melalui input inverting. Seperti tersirat pada namanya, bahwa fase keluaran dari penguat inverting ini akan selalu berbalikan dengan inputnya. Pada rangkaian ini, umpan balik negatif di bangun melalui resistor R2.


(36)

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.

USU Repository © 2009

Input non-inverting pada rangkaian ini dihubungkan ke ground, atau v+ = 0. Dengan

mengingat dan menimbang aturan 1 (lihat aturan 1), maka akan dipenuhi v- = v+ = 0. Karena

nilainya = 0 namun tidak terhubung langsung ke ground, input penguat operasional v- pada

rangkaian ini dinamakan virtual ground. Dengan fakta ini, dapat dihitung tegangan jepit pada R1 adalah vin – v- = vin dan tegangan jepit pada reistor R2 adalah vout – v- = vout. Kemudian

dengan menggunakan aturan 2, di ketahui bahwa :

iin + iout = i- = 0, karena arus masukan penguat operasional adalah 0.

iin + iout = vin/R1 + vout/R2 = 0

Selanjutnya

vout/R2 = - vin/R1 atau

vout/vin = - R2/R1

Jika penguatan G didefenisikan sebagai perbandingan tegangan keluaran terhadap tegangan masukan, maka dapat ditulis

Impedansi rangkaian inverting didefenisikan sebagai impedansi input dari sinyal masukan terhadap ground. Karena input inverting (-) pada rangkaian ini diketahui adalah 0 (virtual

ground) maka impendasi rangkaian ini tentu saja adalah Zin = R1.

2.2.4.5 Penguat diffrensiator

Penguat Differensial bisa mengukur maupun memperkuat sinyal-sinyal kecil yang terbenam dalam sinyal-sinyal yang jauh lebih besar. Empat tahanan presisi (1 %) dan sebuah penguat operasional membentuk sebuah penguat differensial, seperti terlihat pada gambar 2.2.4 terminal inputnya ada dua, input (-) dan (+), dihubungkan dengan terminal penguat operasional yang terdekat.


(37)

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.

USU Repository © 2009

Sumber masukan penguat differensial ada 2, yaitu E1 dan E2. Jika E2 dihubung singkat, maka E1 mendapat penguatan pembalik sebesar -mR/R = -m. Karena tegangan keluaran akibat E1 adalah -mE1.

Jika E1 dihubung singkat, maka E2 akan terbagi antara R dan mR, sehingga terminal positif dari penguat operasional menerima tegangan sebesar mendapat penguatan pembalik sebesar -mR/R = -m. Karena tegangan keluaran akibat E1 adalah -mE2/(1+m), dengan penguatan sebesar (1+m).

Gambar 2.6 Rangkaian dasar penguat differensial Karena itu tegangan keluaran akibat E1 adalah:


(38)

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.

USU Repository © 2009

Dari persamaan diatas, dapat dilihat bahwa tegangan keluaran dari Penguat differensial sebanding dengan perbedaan tegangan masukan E1 dan E2. Pengali ini adalah merupakan

gain diferensial yang ditentukan oleh perbandingan tahanannya.

2.3 Sinar Infra Merah

Infra merah (infra red) ialah sinar elektromagnet yang panjang gelombangnya lebih dari pada cahaya tampak yaitu diantara 700 nm. Sinar infra merah merupakan cahaya yang tidak tampak. Jika dilihat dengan spektroskop cahaya maka radiasi cahaya infra merah akan nampak pada spektrum elektromagnet dengan panjang gelombang diatas panjang gelombang cahaya merah. Dengan panjang gelombang ini maka cahaya infra merah ini akan tidak tampak oleh mata namun radisi panas yang ditimbulkannya masih terasa / dideteksi.

Infra merah dapat dibedakan menjadi tiga daerah yakni:

Near Infra red……….0.75 - 1.5 mikrometer Mid Infra red………..1.50 – 10 mikrometer Far Infra red………...10 – 100 mikrometer

Contoh aplikasi sederhana untuk far infra red adalah terdapat pada alat-alat kesehatan. Sedangkan untuk mid infra red pada alat ini untuk sensor alarm biasa, sedangkan near infra red digunakan untuk pencitraan pandangan malam seperti pada nightscoop. Penggunaan infra merah sebagai media transmisi data mulai diaplikasikan pada berbagai peralatan elektronik seperti pada televisi, handphone sampai pada transfer data pada PC. Media infra merah ini dapat digunakan baik untuk kontrol aplikasi lain maupun transmisi data (temperatur).

Sifat-sifat cahaya infra merah : 1. Tidak tampak manusia


(39)

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.

USU Repository © 2009

2. Tidak dapat menembus materi yang tidak tembus pandang 3. Dapat ditimbulkan oleh komponen yang menghasilkan panas.

Komunikasi Infra merah dilakukan dengan menggunakan dioda infra merah sebagai pemancar dan modul penerima infra merah sebagai penerimanya. Untuk jarak yang cukup jauh, kurang lebih tiga sampai lima meter, pancaran data infra merah harus dimodulasikan terlebih dahulu untuk menghindari kerusakan data akibat noise.


(40)

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.

USU Repository © 2009

BAB III

PERANCANGAN ALAT DAN PROGRAM

3.1 PERANCANGAN ALAT 3.1.1 Diagram Blok

Secara garis besar diagram blok dari perancangan alat ini terdiri dari rangkaian sensor LM35, rangkaian ADC, rangkaian mikrokontroler1, rangkaian display1, rangkaian pemancar, rangkaian penerima infrared, rangkaian mikrokontroler2 dan rangkaian display2. Diagram blok rangkaian tampak seperti gambar berikut:

uC AT89S51

( 1 ) ADC

Sensor suhu LM35

display

Pemancar infra merah

penerima infra merah

uC AT89S51

( 2 )

display


(41)

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.

USU Repository © 2009

Vreg

LM7805CT

IN OUT

TIP32C

100ohm

100uF

330ohm 220V 50Hz 0Deg

TS_PQ4_12

2200uF 1uF

1N5392GP 1N5392GP

12 Volt

5 Volt

Secara umum pada perancangan alat pengirim data temperatur jarak jauh ini terdiri dari delapan blok diagram utama. Sensor suhu LM35 digunakan untuk mendeteksi suhu pada ruangan. Data analog yang dihasilkan oleh sensor suhu LM35 kemudian akan dikirimkan ke ADC untuk diolah menjadi data digital. Data yang telah dikonversi menjadi data digital inilah yang dikirimkan ke mikrokontroller ( 1 ) untuk diolah. Display berfungsi untuk menampilkan data temperatur. Untuk dapat mengirimkan data temperatur yang diterima oleh sensor suhu LM35 ke mikrokontroller ( 2 ) maka digunakan pemancar infra merah. Dan untuk dapat meneriman data yang dikirmkan oleh mikrokontroller ( 1 ) digunakan penerima infra merah

3.1.2 Rangkaian 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, sedangkan keluaran 12 volt digunakan untuk mensuplay tegangan ke motor stepper.. Rangkaian power supplay ditunjukkan pada gambar 3.2 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.


(42)

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.

USU Repository © 2009

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.

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.Transistor tipe PNP ini akan aktip jika tegangan pada basis > 0,7 volt dari tegangan positip. Tegangan positip yang dihubungkan ke emitor sebesar 12 volt, sehingga transistor akan aktip jika diberi tegangan yang lebih kecil dari 12 volt – 0,7 volt = 11,3 volt. Dalam kondisi biasa (LM7805 tidak kekurangan arus), maka basis akan mendapatkan tegangan 12 volt, sehingga transistor tidak aktip, emitor tidak terhubung dengan kolektor, sehingga tegangan pada kolektor sama dengan tegangan pada output regulator LM7805 yaitu 5 volt. Namun jika rangkaian membutuhkan arus yang lebih banyak, maka regulator akan mengambil arus dari inputnya, sehingga tegangan pada input regulator akan turun hingga lebih kecil dari 11,3 volt, transistor akan aktip, maka arus akan mengalir dari emitor ke kolektor. Pada transistor ini jika aktip, maka yang mengalir dari emitor ke kolektor adalah arusnya, sedangkan tegangannya tidak, sehingga tegangan pada kolektor tetap 5 volt. Tegangan 12 volt DC langsung diambil dari keluaran 2 buah dioda penyearah.


(43)

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.

USU Repository © 2009

P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 RST P3.0/RX0 P3.1/TX0 P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD XTAL2 XTAL1 GND P2.7/A16 P2.6/A14 P2.5/A13 P2.4/A12 P2.3/A11 P2.2/A10 P2.1/A9 P2.0/A8 PSEN ALE/PROG EA/VPP P0.7/AD7 P0.6/AD6 P0.5/AD5 P0.4/AD4 P0.3/AD3 P0.2/AD2 P0.1/AD1 P0.0/AD0 VCC AT89S51 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 2 1

Xtal 12 MHz

10kohm 10uF 4.7kohm 5V VCC 33pF 33pF

3.1.3 Rangkaian Mikrokontroler AT89S51

Rangkaian minimum mikrokontroller AT89S51 ditunjukkan pada gambar 4.2 berikut ini :

Gambar 3.3 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. Pin 9 merupakan masukan reset (aktif tinggi). Pulsa transisi dari rendah ke tinggi akan me-reset mikrokontroller ini. Pin 32 sampai 39 adalah Port 0 yang merupakan saluran/bus I/O 8 bit open collector dapat juga digunakan


(44)

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.

USU Repository © 2009

sebagai 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.

3.1.4 Rangkaian Display Seven Segment

Nilai temperatur yang terdeteksi oleh sensor temperatur (LM35) diubah menjadi 8-bit data biner oleh ADC kemudian diolah oleh mikrokontroler AT89S51 untuk selanjutnya ditampilkan pada 3-digit seven segmen. Rangkaian display seven segmen tampak seperti gambar di bawah ini :

Gambar 3.4 Rangkaian Display Seven Segmen

Display ini menggunakan 3 buah seven segmen 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

S E V E N _ S E G _ D I S P L A Y

A B C DE F G

In Clo

c k O ut D6 D5 D4 D3 D2 D1 D0

4 0 9 4

D7

2 3 10 14 13 12 11 7 6 5 4

S E V E N _ S E G _ D I S P L A Y

A B C DE F G

In Clo

c k O ut D6 D5 D4 D3 D2 D1 D0

4 0 9 4

D7

2 3 10 14 13 12 11 7 6 5 4

S E V E N _ S E G _ D I S P

A B C DE F G

In Clo

c k O ut D6 D5 D4 D3 D2 D1 D0

4 0 9 4

D7

2 3 10 14 13 12 11 7 6 5 4

5 V

V C C

i i i

P 3 . 0 A T 8 9 S 5 1 P 3 . 1 A T 8 9 S 5 1


(45)

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.

USU Repository © 2009

merupakan fasilitas khusus pengiriman data serial yang disediakan oleh mikrokontroler AT89S51. Sedangkan P3.1 merupakan sinyal clock untuk pengiriman data serial.

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 aktip 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:

• Untuk menampilkan angka nol, data yang harus dikirim adalah 20h Untuk menampilkan angka satu, data yang harus dikirim adalah 0ech Untuk menampilkan angka dua, data yang harus dikirim adalah 18h

• Untuk menampilkan angka tiga, data yang harus dikirim adalah 88h

• Untuk menampilkan angka empat, data yang harus dikirim adalah 0c4h

• Untuk menampilkan angka lima, data yang harus dikirim adalah 82h

• Untuk menampilkan angka enam, data yang harus dikirim adalah 02h

• 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


(46)

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.

USU Repository © 2009

bil6 equ 02h

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

Progran di atas akan menampilkan nilai 123 pada display seven segmen. Dan nilai berapapun yang diisikan ke alamat 60h, 61h dan 62h akan ditampilkan pada display seven segmen.

3.1.5 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 :


(47)

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.

USU Repository © 2009

Gambar 3.5 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 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 infra merah yang dipancarkan oleh matahari, tumbuhan, bahkan badan

P3.7 ( AT89S51)

LED_ir 5V VCC

330฀

R2 4.7k


(48)

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.

USU Repository © 2009

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

µ

= = = ==

Tabel 3.1 Waktu mikrokontroler AT89S51 mengeksekusi perintah

Instruksi Siklus mesin Waktu ( S)

CLR NOP SETB SJMP

1 1 1 2

1 1 1 2

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


(49)

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.

USU Repository © 2009

merah dengan frekuensi 38 KHz. Ini sudah merupakan karakteristik dari penerima infra merah yang digunakan (TSOP 1738). Pada alat ini, logika high 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 satuan. Setiap pengiriman masing-masing data dari ketiga data tersebut, didahului dengan pengiriman sinyal low, jadi ada 3 sinyal low dan ada 3 data yang diterima. Akan terjadi masalah jika pengiriman data dilakukan seperti ini, yaitu data yang diterima urutannya tidak sesuai dengan data yang dikirimkan. Misalnya 3 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


(50)

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.

USU Repository © 2009

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. Langkah ini dilakukan terus sampai didapat data awal. Ketika penerima mendapatkan 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:

Mov 70h,#0

Inc 70h

Kirim:

Mov r0,70h

Acall data

Sjmp kirim

data:

loop1:

acall pulsa

djnz r0,loop1

ret

pulsa:

Clr P0.0

Mov r7,#2

pls:

Mov r6,#255


(51)

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.

USU Repository © 2009

P3.7 ( AT89S51) 5V

VCC

100฀

10uF

i _1

0

i

i _1

i

Djnz r7,pls

Mov r7,#50

Djnz r7,$

Ret

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.

3.1.6 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


(52)

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.

USU Repository © 2009

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 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


(53)

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.

USU Repository © 2009

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 mikrokontroller 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 kembali ke awal sampai mendapatkan startbit.

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 :

mov 61h,#0h

jb P3.7,$

nop

jnb P3.7,$

nilai1:

inc 61h

acall hitung

jb P3.7,nilai1

mov 62h,#0h

jb P3.7,$


(54)

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.

USU Repository © 2009

jnb P3.7,$

nilai2:

inc 62h

acall hitung

jb P3.7,nilai2

mov 63h,#0h

jb P3.7,$

nop

jnb P3.7,$

nilai3:

inc 63h

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.

3.1.7 Rangkaian ADC

Rangkaian ADC ini berfungsi untuk merubah data analog yang dihasilkan oleh sensor suhu menjadi bilangan digital. output dari ADC dihubungkan ke mikrokontroler. Sehingga mikrokontroler dapat mengetahui suhu yang terdapat di dalam ruangan dan mendeteksi tingkat intensitas cahaya di dalam ruangan Dengan demikian proses pengukuran suhu dan pengaturan tingkat pencayaan dapat dilakukan. Gambar rangkaian ADC ditunjukkan pada gambar di bawah ini:


(55)

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.

USU Repository © 2009

Gambar 3.7 Rangkaian ADC

Input ADC dihubungkan ke sensor suhu LM35 dan LDR, sehingga setiap perubahan tegangan pada LM35 akan dideteksi oleh 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 masukan 12 volt dimasukkan ke dalam IC regulator tegangan 9 volt ( 7809) agar 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 ADC dihubungkan ke mikrokontroler, sehingga setiap perubahan output ADC yang disebabkan oleh perubahan inputnya akan diketahui oleh mikrokontoler.


(56)

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.

USU Repository © 2009

3.2 PROGRAM

3.2.1 Pemrograman Rangkaian Pemancar

Program diawali dengan inisialisai data untuk masing-masing angka,

bil0 equ 20h Menampilkan angka 0 pada Seven segmen bil1 equ 0ech Menampilkan angka 1 pada Seven segmen bil2 equ 18h Menampilkan angka 2 pada Seven segmen bil3 equ 88h Menampilkan angka 3 pada Seven segmen bil4 equ 0c4h Menampilkan angka 4 pada Seven segmen bil5 equ 82h Menampilkan angka 5 pada Seven segmen bil6 equ 02h Menampilkan angka 6 pada Seven segmen bil7 equ 0e8h Menampilkan angka 7 pada Seven segmen bil8 equ 0h Menampilkan angka 8 pada Seven segmen bil9 equ 80h Menampilkan angka 9 pada Seven segmen Clr P0.7

clr p0.0

acall tadc Memicu ADC agar dapat berjalan dengan baik setb p0.0

utama:

jb p0.0,$ Menunggu sinyal dari ADC acall tunda

mov a,p2 Memasukkan nilai dari ADC ke acumulator mov 62h,a Memasukkan nilai akumulator ke alamat 62h mov b,#100 Memasukkan nilai 100 ke register b

div ab Bagikan nilai a dengan b, hasilnya masukkan ke a mov 72h,a Masukkan nilai ya ada di akumulator ke alamat 72h mov a,b masukkan nilai yang ada di b ke akumulator

mov b,#10

div ab

mov 71h,a


(57)

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.

USU Repository © 2009

mov r0,70h

acall konversi kerjakan rutin konversi

mov 73h,r1 ;73h nilai satuan des

mov r0,71h

acall konversi

mov 74h,r1 ;74h nilai puluhan des

mov r0,72h

acall konversi

mov 75h,r1 ;75h nilai ratusan des

mov r0,63h

acall konversi

mov 64h,r1 ;63h nilai koma

acall kirim_disp

acall tunda

acall kirimdata

mov a,62h

cjne a,#30,cekcarry

clr P0.7

sjmp utama

cekcarry:

mov a,psw

anl a,#80h

cjne a,#0,ceklow

clr P0.7

sjmp utama

ceklow:

mov a,62h

cjne a,#29,utama

setb P0.7


(58)

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.

USU Repository © 2009

Kirimdata:

inc 70h

inc 71h

inc 72h

ulang:

acall frek38khz

acall frek38khz

mov r0,#11

acall data

acall frek38khz

acall frek38khz

mov r0,70h

acall data

acall frek38khz

acall frek38khz

mov r0,71h

acall data

acall frek38khz

acall frek38khz

mov r0,72h

acall data

acall frek38khz

acall frek38khz

ret

konversi:

cjne r0,#0,satu

mov r1,#bil0

ret

satu:

cjne r0,#1,dua

mov r1,#bil1


(59)

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.

USU Repository © 2009

dua:

cjne r0,#2,tiga

mov r1,#bil2

ret

tiga:

cjne r0,#3,empat

mov r1,#bil3

ret

empat:

cjne r0,#4,lima

mov r1,#bil4

ret

lima:

cjne r0,#5,enam

mov r1,#bil5

ret

enam:

cjne r0,#6,tujuh

mov r1,#bil6

ret

tujuh:

cjne r0,#7,delapan

mov r1,#bil7

ret

delapan:

cjne r0,#8,sembilan

mov r1,#bil8

ret

sembilan:

cjne r0,#9,konversi

mov r1,#bil9


(60)

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.

USU Repository © 2009

kirim_disp:

mov sbuf,73h

jnb ti,$

clr ti

mov sbuf,74h

jnb ti,$

clr ti

mov sbuf,75h

jnb ti,$

clr ti

ret

frek38khz:

mov r0,#10

loop:

clr p3.7

nop

nop

nop

nop

nop

nop

nop

nop

nop

nop

nop

nop

setb p3.7

nop

nop

nop


(61)

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.

USU Repository © 2009

nop

nop

nop

nop

nop

nop

djnz r0,loop

ret

data:

loop1:

acall pulsa

djnz r0,loop1

ret

pulsa:

CLR p3.7

mov r7,#2

pls:

mov r6,#255

djnz r6,$

djnz r7,pls

mov r7,#50

djnz r7,$

ret

tunda:

mov r7,#80h

tnd: mov r6,#80h

djnz r6,$

djnz r7,tnd


(62)

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.

USU Repository © 2009

3.2.2 Pemrograman Rangkaian Penerima

bil0 equ 20h

bil1 equ 0ech

bil2 equ 18h

bil3 equ 88h

bil4 equ 0c4h

bil5 equ 82h

bil6 equ 02h

bil7 equ 0e8h

bil8 equ 0h

bil9 equ 80h

mov p1,#0h

mov p2,#0h

mov P0,#0h

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


(63)

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.

USU Repository © 2009

jb P3.7,$

nop

jnb P3.7,$

nilai1:

inc 61h

acall hitung

jb P3.7,nilai1

mov 62h,#0h

jb P3.7,$

nop

jnb P3.7,$

nilai2:

inc 62h

acall hitung

jb P3.7,nilai2

mov 63h,#0h

jb P3.7,$

nop

jnb P3.7,$

nilai3:

inc 63h

acall hitung

jb P3.7,nilai3

mov a,61h

mov b,#10

div ab

dec a

mov 70h,a

mov a,62h

mov b,#10

div ab

dec a


(64)

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.

USU Repository © 2009

mov a,63h

mov b,#10

div ab

dec a

mov 72h,a

mov r0,70h

cjne r0,#0,ke1

ljmp benar

ke1:

cjne r0,#1,ke2

ljmp benar

ke2:

cjne r0,#2,ke3

ljmp benar

ke3:

cjne r0,#3,ke4

ljmp benar

ke4:

cjne r0,#4,ke5

ljmp benar

ke5:

cjne r0,#5,ke6

ljmp benar

ke6:

cjne r0,#6,ke7

ljmp benar

ke7:

cjne r0,#7,ke8

ljmp benar

ke8:

cjne r0,#8,ke9

ljmp benar


(1)

69

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.

USU Repository © 2009

Selanjutnya mikrokontroler kedua akan menunggu sinyal high (1) yang menandakan bahwa data telah selesai dikirim. Jika belum ada sinyal high (1), mikrokontroler akan terus mengambil data. Jika ada sinyal high (1) yang diterima oleh mikrokontroler 2 maka mikrokontroler akan menghentikan pengambilan data, dan menampilkan data tersebut pada display seven segmen.

Setelah menampilkan data tersebut pada display seven segmen, mikrokontroler kedua akan menunggu pengiriman data selanjutnya.


(2)

70

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.

USU Repository © 2009

BAB V

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Dari hasil Perancangan alat dapat diambil beberapa kesimpulan dalam penelitian ini.

Kesimpulan yang dapat diambil oleh Penulis adalah sebagai berikut :

1. Perpaduan Mikrokontroler AT89S51 dengan sensor suhu LM35 sebagai alat yang sederhana yang dapat mengirim data secara wireless dari jarak jauh.

2. Penggunaan sensor suhu LM35 dalam Perancangan alat Pengirim dan Penerima data temperatur dengan menggunakan sinar Infra merah dapat diaplikasikan pada

Pengukuran Temperatur suatu ruangan.

3. Dalam Pengiriman data temperatur secara wireless dari jarak jauh digunakan sinar infra merah yang dilengkapi dengan Pemancar (Receiver) dan Penerima Infra merah (Transmitter).

5.2 Saran

1. Supaya rangkaian yang digunakan tidak terganggu, sebaiknya alat ini dikemas dalam bentuk yang lebih aman dan terlindungi, sehingga penggunaannya lebih efektif. 2. Penambahan beberapa jenis sensor dalam perancangan alat pengirim dan penerima

data temperatur ini akan membuat alat tersebut lebih kompleks dan mendekati yang sebenarnya.

3. Diharapkan penggunaan alat pengirim dan penerima data temperatur ini, akan mempermudah kita dalam mengetahui suhu ruangan yang kita tempati.


(3)

71

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009.

USU Repository © 2009

DAFTAR PUSTAKA

Agfianto, Belajar Mikrokontroler AT89C51/52/55 Teori dan Aplikasi, Edisi Kedua, Penerbit: Gava Media, Yogyakarta, 2004

Agfianto, Teknik Antarmuka Komputer: Konsep dan Aplikasi, Edisi Pertama, Penerbit: Graha Ilmu, Yogyakarta, 2002.

Andi, Panduan Praktis Teknik Antarmuka dan Pemrograman Mikrokontroler AT89C51, Penerbit PT Elex Media Komputindo, Jakarta, 2003.

Malvino, Albert paul, Prinsip-prinsip Elektronika, Jilid 1 & 2, Edisi Pertama, Penerbit: Salemba Teknika, Jakarta, 2003.

Suhata, Aplikasi Mikrokontroler Sebagai Pengendali Peralatan Elektronik Via Line Telepon, Penerbit: PT Eex Media Komputindo, Jakarta, 200


(4)

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009. USU Repository © 2009

LAMPIRAN


(5)

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009. USU Repository © 2009


(6)

Ihut Parulian Togatorop : Aplikasi Mikrokontroler AT89S51 Dalam Pengukuran Dan Pengiriman Data Temperatur Menggunakan Sinar Infra Merah, 2009. USU Repository © 2009