Pemanfaatan Sensor Pir (Passive Infra Red)Untuk Pengontrolan Suhu Ruangan

(1)

PEMANFAATAN SENSOR PIR (Passive Infra Red) UNTUK

PENGONTROLAN SUHU RUANGAN

SKRIPSI

Diajukan Untuk Melengkapi Tugas dan Memenui Syarat Memperoleh Gelar Sarjana Sains

BUDI PRATAMA YANI NABABAN

080821008

DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA

MEDAN

2011


(2)

i

PERSETUJUAN

Judul : PEMANFAATAN SENSOR PIR (Passive Infra Red)

UNTUK PENGONTROLAN SUHU RUANGAN

Kategori : SKRIPSI

Nama : BUDI PRATAMA YANI NABABAN

Nomor Induk Mahasiswa : 080821008

Program Studi : S1 FISIKA INSTRUMENTASI

Departemen : FISIKA

Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN

ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA

Diluluskan di Medan, Januari 2011

Diketahui/disetujui oleh

Departemen Fisika FMIPA USU

Ketua, Pembimbing,

Dr. Marhaposan Situmorang Prof. Dr. Muhammad Zarlis M.Sc


(3)

ii

PERNYATAAN

PEMANFAATAN SENSOR PIR (Passive Infra Red) UNTUK PENGONTROLAN SUHU RUANGAN

SKRIPSI

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

Medan, Januari 2011

BUDI PRATAMA YANI NABABAN 080821008


(4)

iii

PENGHARGAAN

Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Pengasih dan Maha Penyayang dengan limpah karunia-Nya, tugas akhir ini berhasil diselesaikan tepat pada waktunya.

Dalam kesempatan ini penulis ingin menyampaikan terimakasih yang sedalam-dalamnya kepada:

1. Ayahanda (M. Nababan) dan Ibunda (L. Malau) yang telah memberikan

bantuan baik materi dan pemikiran serta semangat kepada penulis dalam menyelesaikan tugas akhir ini.

2. Adik-adik penulis Yanti, Tida, Marsinta, Rut Muni dan Manuel yang telah

memberikan semangat dan dukungan kepada Penulis

3. Bapak Dr. Eddy Marlianto,M.Sc selaku Dekan FMIPA USU

4. Bapak Dr. Marhaposan Situmorang, selaku Ketua Jurusan Program Studi

Fisika yang memberikan masukan dan dukungan dalam penyelesaian laporan tugas akhir ini.

5. Bapak Prof.Dr.Muhammad Zarlis. M.Sc sebagai dosen pembimbing yang

memberikan masukan dan dukungan dalam penyelesaian laporan skripsi ini. 6. Sekertaris Departemen Fisika Drs. Justinon, Msi dan semua staff pengajar

yang pernah mengajar di Jurusan Fisika Instruementasi Ekstention serta seluruh pegawai di Departemen Fisika FMIPA USU

7. Rekan-rekan stambuk 2008 yang telah banyak memberikan masukan dan


(5)

iv

DAFTAR ISI

Halaman

PERSETUJUAN i

PERNYATAAN ii

PENGHARGAAN iii

ABSRAK iv

ABSTRACT v

DAFTAR ISI vi

DAFTAR TABEL viii

DAFTAR GAMBAR ix

BAB 1 PENDAHULUAN

1.1 Latar Belakang 1

1.2 Perumusan Masalah 2

1.3 Permasalahan 2

1.4 Pembatasan Masalah 2

1.5 Tujuan Penelitian 2

1.6 Manfaat Penelitian 3

1.7 Sistematika Penulisan 3

BAB 2 LANDASAN TEORI

2.1 Pengontrolan Suhu 5

2.2 Sensor PIR (Passive Infra Red) 6

2.2.1 Inframerah 6

2.2.2 Pengenalan Sensor PIR 7

2.2.3 Fungsi Pin Sensor PIR 7

2.2.4 Cara Kerja Sensor PIR 10

2.3 Fotodioda 11

2.4 Mikrokontroller AT89S52 13

2.4.1 Sistem Minimum Mikrokontroller AT89S52 13

2.4.2 Asitektur Mikrokontroller AT89S52 14

2.4.3 Konfigurasi Pin Mikrokontroller AT89S52 15

2.4.4 Stuktur Memori 17

2.4.5 Organisasi Memori 19


(6)

v

2.5.1 Spesifikasi LCD M1632 21

2.5.2 Konfigurasi pin LCD 22

2.5.3 Stuktur Modu LCD 23

2.6 Relay 25

2.7 Sensor Suhu ICLM35 27

2.7.1 Prinsip Kerja Sensor Suhu ICLM35 29

2.8 ADC (Analog Digital Converter 29

2.9 Perangkat Lunak 31

2.9.1 Bahasa Assembly MCS-51 31

2.9.2 Instruksi Bahasa Assembly MCS-51 32

BAB 3 PERANCANGAN DAN KERJA ALAT

3.1 Diagram Blok Rangkaian 37

3.2 Rangkaian Fotodioda 38

3.3 Rangkaian Sensor PIR 39

3.4 Rangkaian Mikrokontroller AT89S52 41

3.5 Rangkaian Relay 42

3.6 Rangkaian Display LCD Charakter 2 x 16 44

3.7 Rangkaian Sensor Suhu IC LM35 46

3.8 Flowchart Rangkaian 47

BAB 4 HASIL DAN PEMBAHASAN

4.1Pengujian Rangkaian Mikrokontroller AT89S52 49

4.2 Interfacing LCD 2x16 52

4.3 Pengujian Rangkaian Relay 54

4.4 Pengujian Sensor PIR (Passive Infra Red) 56

4.5 Pengujian ADC (Analog Digital Converter) 57

4.6 Pengujian Sensor Suhu IC LM35 59

4.4 Pengoperasian Alat 60

4.4 Hasil Ujicoba Alat 61

BAB 5 PENUTUP

5.1 Kesimpulan 63

5.2 Saran 63

DAFTAR PUSTAKA LAMPIRAN


(7)

vi

DAFTAR TABEL

Halaman

Tabel 2.1 Fungsi Pin Sensor PIR 7

Tabel 2.2 Konfigurasi Port 3 Mikrokontroller AT89S52 16

Tabel 2.3 Pin pada Tampilan LCD 22

Tabel 4.1 Waktu Pengeksekusia Rutin Delay 51

Tabel 4.2 Hasil Sensor PIR dengan Sudut 0o 56

Tabel 4.3 Hasil Sensor PIR dengan Sudut 45o 57

Tabel 4.4 Tabel Hasil Pengujian ADC 58

Tabel 4.5 Hasil Pengujian Sensor Suhu 59

Tabel 4.5 Hasil Uji coba alat dengan pertambahan Jumlah Pengunjung 61 Tabel 4.6 Hasil Uji coba alat dengan pengurangan Jumlah Pengunjung 62


(8)

vii

DAFTAR GAMBAR

Halaman

Gambar 2.1 Bentuk fisik PIR 7

Gambar 2.2 Pin Sensor PIR 8

Gambar 2.3 Diagram Blok Sensor PIR 9

Gambar 2.4 Sebuah Objek Melewati Sensor PIR 10

Gambar 2.5 Rangkaian Photodioda dan Grafik Linearitasnya 12

Gambar 2.6 Deskripsi Pin AT89S52 15

Gambar 2.7 Struktur Memori Mikrokontroller AT89S52 17

Gambar 2.8 Alokasi bit PSW 18

Gambar 2.9 Arsitektur memori mikrokontroller AT89S52 19

Gambar 2.10 Pengalamatan Pada mikrokonroller AT89S52 19

Gambar 2.11 LCD character 2 x 16 20

Gambar 2.12 Diagram Blok LCD 21

Gambar 2.13 Konfigurasi pin LCD 2 x 16 22

Gambar 2.14 Skema Relay 26

Gambar 2.15 Bentuk fisik IC LM35 27

Gambar 2.16 Rangkaian Pengukur Suhu 28

Gambar 2.17 Konfigurasi Pin ADC 0804 30

Gambar 3.1 Diagram Blok Rangkaian 37

Gambar 3.2 Rangkaian Fotodioda 38

Gambar 3.3 Pin Sensor PIR 40

Gambar 3.4 Kaki Koneksi PIR (Pasissive Infra Red) 40

Gambar 3.5 Rangkaian Skematik Mikrokontroller AT89S52 41

Gambar 3.6 Relay Pengontrol Suhu Ruangan 43

Gambar 3.7 Display LCD karakter 2 x 16 44

Gambar 3.8 Rangkaian Sensor Suhu IC LM35 46

Gambar 3.9 Flowchart Pengontrol suhu ruangan 47

Gambar 4.1 Rangkaian Pengujian Mikrokontroller AT89S52 49

Gambar 4.2 Pengujian Rangkaian LCD 54

Gambar 4.3 Rangkaian Pengujian Relay 55

Gambar 4.4 Pengujian Rangkaian ADC (Analog Digital Converter) 58


(9)

BAB 1

PENDAHULUAN

1.1Latar Belakang

Untuk pada saat melakukan aktivitasnya agar terlaksana secara baik, manusia memerlukan kondisi fisik tertentu di sekitarnya yang dianggap nyaman. Salah satu persyaratan yang tidak kalah pentingnya adalah persyaratan akan ‘suhu nyaman’, yaitu suatu kondisi termis udara di dalam ruaangan yang tidak mengganggu tubuhnya. Produktivitas kerja cenderung menurun atau tidak maksimum pada kondisi udara yang tidak nyaman. Dari uraian tersebut jelas bahwa di luar beberapa persyaratan lain yang diperlukan, persyaratan akan suhu ruang yang nyaman sangat diperlukan bagi tubuh manusia dalam rangka menyelenggarakan aktifitasnya agar berjalan dengan baik.

Kipas merupakan salah satu pendingin ruangan yang dapat menyejukkan ruangan sehingga menjadi nyaman sesuai set point yang diinputkan kipas yang berfungsi menyalurkan udara dingin ke ruangan. Kipas ini yang akan dikontrol kecepatannya untuk mengatur udara dingin yang akan disalurkan ke ruangan. Kipas yang tidak dikontrol kecepatannya akan menginputkan udara dingin terus menerus keruangan tanpa ada kontrol yang membatasi selama kipas tersebut on. Olehkarena itu dibuat pengontrol kecepatan kipas, agar udara yang disalurkan sesuai dengan yang dibutuhkan ruangan (sampai set point yang diinputkan) dan diharapkan dapat mengontrol kecepatan dengan step kecil dan respon yang baik.

Perancangan pengontrolan ini memanfaatkan kemampuan mikrokontroller AT89S52 sebagai pengolah dan pengeksekusi dari perancangan sistem serta perancangan pengaturan suhu pada suatu ruangan dengan menggunakan sensor PIR

(Passive Infra Red) sebagai pendeteksi parameter input, dengan mengetahui ada

tidaknya manusia berdasarkan perubahan panas dari radiasi panas yang dipancarkan tubuh mahluk hidup dalam ruangan yang datanya akan dikirim dan diolah oleh mikrokontroller dan kemudian memberikan keluaran yang dihubungkan dengan relai yang sudah dikoneknisikan dengan kipas dan ditampilkan di LCD.


(10)

1.2Perumusan Masalah

Berdasarkan uraian diatas, maka penulis merumuskan permasalahan yang ada adalah bagaimana membuat program mengontrol mesin pengontrol suhu ruangan. menggunakan Sensor PIR Berbasis Mikrokontroller AT89S52. Untuk lebih mempermudah dalam melakukan perancangan serta analisis data maka penulis membatasi permasalahan yaitu bagaimana membuat hardware pada alat pengontrol suhu ruangan menggunakan bahasa pemrograman assembly.

1.3 Permasalahan

Permasalahan dalam Skripsi ini mencakup:

1. Bagaimana pengkonfigurasian data pada sensor PIR (Passive Infra Red )agar dapat berhubungan dengan alat yang dibuat serta dapat mengontrol suhu ruangan?

2. Bagaimana menentukan orang yang masuk dan keluar dari dalam ruangan

dengan menggunakan sensor PIR (Passive Infra Red)?

1.4Pembatasan Masalah

Pembatasan Masalah dalam skripsi ini hanya mencakup masalah-masalah sebagai berikut:

1. Penggunaan display LCD sebagai sistem penyampai informasi visual.

2. Mikrokontroller menggunakan AT89S52 produksi ATMEL Inc.

3. Sensor gerak yang digunakan adalah Sensor PIR (Passive Infra Red)

1.5 Tujuan Penelitian

Skripsi ini disusun untuk memenuhi beberapa tujuan yang diharapkan yaitu :

1. Mengaplikasikan ilmu yang diperoleh di perkuliahan dalam bidang elektronik.

2. Memahami bagaimana cara mengintegrasikan program dalam sebuah sistem

mikroprosesor terpadu untuk menghasilkan sebuah alat yang sederhana dan tepat guna.


(11)

1.6Manfaat Penelitian

Manfaat yang diharapkan dapat diambil dari penyusunan skripsi ini adalah :

1. Dapat menciptakan sebuah alat dengan antarmuka yang sederhana dengan

output yang memadai dan secara langsung dapat diintepretasikan dengan mudah secara visual.

2. Memahami teknik pemrograman yang baik untuk pemanfaataan fitur-fitur

mikrokontroller AT89S52

1.4Sistematika Penulisan

Untuk mempermudah pembahasan dan pemahaman maka penulis membuat sistematika penulisan bagaimana sebenarnya prinsip kerja dari Sensor PIR.

BAB 1 PENDAHULUAN

Dalam hal ini berisikan mengenai latar belakang, tujuan penulis, batasan masalah, rumusan masalah serta sistematika penulisan.

BAB 2 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 mikrokontroller AT89S52 (hardware dan

software), bahasa program yang digunakan, serta cara kerja dari sensor

PIR dan komponen pendukung.

BAB 3 PERANCANGAN DAN CARA KERJA ALAT

Dalam bab ini dibahas tentang sistem kerja perblok diagram serta program yang digunakan.


(12)

BAB 4 HASIL DAN PEMBAHASAN

Meliputi hasil analisa dari rangkaian dari sistem kerja alat, penjelasan dan program-program yang digunakan untuk mengaktifkan rangkaian.

BAB 5 KESIMPULAN DAN SARAN

Mengenai kesimpulan yang didapat setelah merakit alat dan saran yang diberikan demi kesempurnaan dan pengembangan alat ini pada yang masa akan datang demi kesempurnaan alat.


(13)

BAB 2

LANDASAN TEORI

2.1 Pengontrolan Suhu

Perkembangan teknologi kontrol saat ini mulai bergeser kepada otomatisasi sistem kontrol yang menuntut pengunaan komputer, sehingga campur tangan manusia dalam pengontrolan sangat kecil. Umumnya untuk pengaturan pengontrolan suhu ruangan digunakan prinsip on-off, dimana pada saat seseorang memasuki ruangan kipas dinyalakan dan akan dimatikan apabila tidak ada manusia dalam ruangan. Dengan prinsip on-off, pengaturan suhu hanya berdasarkan pada kondisi ada tidaknya manusia dalam ruangan. Oleh karena itu diperlukan pengaturan suhu, baik untuk faktor

kenyamanan maupun efisiensi pemakaian energi listrik. Mengingat pentingnya

pengaturan pengaturan suhu ruangan. dalam tugas akhir ini dirancangpengendali suhu ruang-ruang yang secara fungsional berbeda, misalnya ruang tidur, ruang keluarga, dan ruang baca, dalam sebuah rumah

Kipas merupakan salah satu pendingin ruangan yang dapat menyejukkan ruangan sehingga menjadi nyaman sesuai set point yang diinputkan. Pada kipas yang berfungsi menyalurkan udara dingin ke ruangan. Kipas ini yang akan dikontrol kecepatannya untuk mengatur udara dingin yang akan disalurkan ke ruangan. Kipas yang tidak dikontrol kecepatannya akan menginputkan udara dingin terus menerus keruangan tanpa ada kontrol yang membatasi selama kipas tersebut on. Oleh karena itu dibuat pengontrol kecepatan kipas, agar udara yang disalurkan sesuai dengan yang dibutuhkan ruangan (sampai set point yang diinputkan) dan diharapkan dapat mengontrol kecepatan dengan step kecil dan respon yang baik. Sebagai pengendali intensitas cahaya digunakan mikrokontroller AT89S52 dengan sensor PIR yang menteksi adanya manusia dalam ruangan yang akan menyalakan kipas secara otomatis.


(14)

2.2 Sensor PIR (Passive Infra Red)

2.2.1 Infra Merah

Cahaya merupakan suatu bentuk radiasi dari gelombang elektromagnetik yang pada prinsipnya sama dengan gelombang radio, misalnya infrared, ultraviolet, dan sinar-dimana yang membedakannya adalah panjang gelombang dan frekuensinya. Panjang gelombang dari cahaya tampak yakni 400 nm hingga 800 nm, dan ultraviolet memiliki panjang gelombang lebih pendek dari 400 nm, sedangkan sinar infra merah

mempunyai panjang gelombang antara 0,76 μm – 100 μm. Dalam beberapa kasus,

panjang gelombangnya bisa mencapai 3 μm – 100 μm yang disebut far-infrared.

Hubungan antara frekuensi dan panjang gelombang dapat dirumuskan dengan:

λ=� Dimana :

c ≅ 3 x 108 m/s= kecepatan gelombang elektromagnetik dalam vakum

λ = panjang gelombang (m)

ƒ = frekuensi (Hz)

Karakteristik cahaya Foton dapat ditemukan dalam gelombang elektromagnetik pada frekuensi partikular dalam kuantisasi diskrit energi. Jika beberapa sumber mengeluarkan energi dari satu frekuensi , maka dinamakan quanta. Inilah yang dinamakan foton. Dirumuskan:

��=��λ =�� Dimana :

Wp = energi (eV)

c = kecepatan cahaya(3 x 108 m/s2)

λ = panjang gelombang (m)

h = konstanta plank ( 6,62.10-34 Js)

f = frekuensi S-1

Infra merah dapat digunakan untuk memancarkan data maupun sinyal suara dimana keduanya membutuhkan sinyal carier untuk membawa sinyal data maupun sinyal suara hingga sampai pada receiver. Untuk transmisi sinyal suara biasanya


(15)

digunakan rangkaian voltage to frekwensi converter yang berfungsi untuk mengubah tegangan sinyal suara menjadi frekuensi.

2.2.2 Pengenalan Sensor PIR

PIR (Passive Infra Red) merupakan sebuah sensor berbasiskan infrared. Akan tetapi, tidak seperti sensor infrared kebanyakan yang terdiri dari LED Inframerah dan fototransistor. PIR tidak memancarkan apapun seperti LED Inframerah. Sesuai dengan namanya ‘Passive’, sensor ini hanya merespon energi dari pancaran sinar inframerah pasif yang dimiliki oleh setiap benda yang terdeteksi olehnya. Benda yang bisa dideteksi oleh sensor ini biasanya adalah tubuh manusia.

Gambar 2.1 Bentuk fisik PIR

2.2.3 Fungsi Pin Sensor PIR

Berikut ini adalah susunan pin/kaki dari pin-pin Sensor PIR yaitu:

Tabel 2.1 Fungsi pin Sensor PIR Sensor PIR Port Control

O/P Pin 4(I1)

V+ Pin 1 (VCC)

GND Pin 2(GND)


(16)

gnd vcc

vo

Gambar 2.2 Pin Sensor PIR

2.2.4 Cara Kerja Sensor PIR

Sensor PIR hanya bereaksi pada tubuh manusia hal ini disebabkan karena adanya IR

Filter yang menyaring panjang gelombang sinar inframerah pasif. IR Filter mampu

menyaring panjang gelombang sinar inframerah pasif antara 8 µm sampai 14 µm, sehingga panjang gelombang yang dihasilkan dari tubuh manusia yang berkisar antara 9 µm sampai 10 µm ini saja yang dapat dideteksi oleh sensor. Misalnya ketika seseorang berjalan melewati sensor, sensor akan menangkap pancaran sinar inframerah pasif yang dipancarkan oleh tubuh manusia yang memiliki suhu yang berbeda dari lingkungan sehingga menyebabkan material pyroelectric bereaksi menghasilkan arus listrik karena adanya energi panas yang dibawa oleh sinar inframerah pasif tersebut. Kemudian sebuah sirkuit amplifier yang ada menguatkan arus tersebut yang kemudian dibandingkan oleh comparator sehingga menghasilkan output.


(17)

Berikut adalah diagram blok dari sensor PIR:

Gambar 2.3 Diagram

Blok Sensor PIR

Bagian- bagian dari sensor PIR yaitu: a) Fresnel Lens

b) IR Filter

c) Pyroelectric sensor

d) Amplifier e) Comparator

Sensor PIR ini bekerja dengan menangkap energi panas yang dihasilkan dari pancaran sinar inframerah pasif yang dimiliki setiap benda dengan suhu benda diatas nol mutlak. Pancaran sinar inframerah inilah yang kemudian ditangkap oleh

Pyroelectric sensor yang merupakan inti dari sensor PIR ini sehingga menyebabkan Pyroelectic sensor yang terdiri dari galium nitrida, caesium nitrat dan litium tantalate

menghasilkan arus listrik hal ini disebabkan pancaran sinar inframerah pasif ini membawa energi panas. Prosesnya hampir sama seperti arus listrik yang terbentuk ketika sinar matahari mengenai solar cell.

Sensor PIR hanya bereaksi pada tubuh manusia hal ini disebabkan karena adanya IR Filter yang menyaring panjang gelombang sinar inframerah pasif. IR Filter mampu menyaring panjang gelombang sinar inframerah pasif antara 8 µm sampai 14 µm, sehingga panjang gelombang yang dihasilkan dari tubuh manusia yang berkisar antara 9 µm sampai 10 µm ini saja yang dapat dideteksi oleh sensor. Misalnya ketika seseorang berjalan melewati sensor, sensor akan menangkap pancaran sinar inframerah pasif yang dipancarkan oleh tubuh manusia yang memiliki suhu yang berbeda dari lingkungan sehingga menyebabkan material pyroelectric bereaksi


(18)

menghasilkan arus listrik karena adanya energi panas yang dibawa oleh sinar inframerah pasif tersebut. Kemudian sebuah sirkuit amplifier yang ada menguatkan arus tersebut yang kemudian dibandingkan oleh comparator sehingga menghasilkan output.

Gambar 2.4 Sebuah Objek melewati sensor PIR

Seperti yang ditunjukkan pada Gambar 2.4 ketika ada sebuah objek melewati sensor, pancaran radiasi infra merah pasif yang dihasilkan akan dihasilkan akan dideteksi oleh sensor. Energi panas yang dibawa oleh sinar infra merah pasif ini menyebabkan aktif material pyroelektric di dalam sensor yang kemudian menghasilkan arus listrik. Ketika manusia berada di depan sensor PIR dengan kondisi diam, maka sensor PIR akan menghitung panjang gelombang yang dihasilkan oleh tubuh manusia tersebut. Panjang gelombang yang konstan ini menyebabkan energi panas yang dihasilkan dapat digambarkan hampir sama pada kondisi lingkungan disekitarnya. Ketika manusia itu melakukan gerakan, maka tubuh manusia itu akan menghasilkan pancaran sinar inframerah pasif dengan panjang gelombang yang bervariasi sehingga menghasilkan panas berbeda yang menyebabkan sensor merespon dengan cara menghasilkan arus pada material Pyroelectricnya dengan besaran yang berbeda beda. Karena besaran yang berbeda inilah comparator menghasilkan output. Jadi sensor PIR tidak akan menghasilkan output apabila sensor ini dihadapkan dengan benda panas yang tidak memiliki panjang gelombang inframerah antara 8 µm sampai 14 µm

Secara umum penggunaan PIR untuk aplikasi tadi hampir sama,sensor ini banyak di gunakan untuk security system, lighting control, temperature system dan pintu otomatis.Misalnya sensor ini digunakan untuk lighting control dan temperature


(19)

manusia dan kemudian menghidupkan lampu atau menghidupkan kipas dan ketika tidak ada orang yang dideteksi lampu akan mati. Masalah penempatan sensor juga harus diperhitungkan, jangan sampai ketika orang sudah ada di dalam ruangan tapi belum terdeteksi sehingga lampu tidak juga menyala atau kipas tidak juga menyala PIR untuk aplikasi lighting control dan temperature control tidak memerlukan power supply karena sensor ini langsung di koneksi langsung ke installasi listrik dengan sumber tegangan 220VAC.

2.3 Fotodioda

Photodioda adalah dioda sambungan p-n yang secara khusus dirancang untuk mendeteksi cahaya yang biasnya terdapat pada lapisan instrinsik adntara lapisan n dan p. Piranti yang memiliki lapisan intrinsik tersebut disebut p-i-n atau PIN photodioda. Energi cahanya lewat melewati lensa yang mengekspos sambungan.

Photodioda dirancang beroperasi pada mode bias-balik. Arus bocor bias balik mengingkat dengan peningkatan level cahaya. Harga arus umumnya adalah dalam rentang mikroampere. Photodioda mempunyai respon waktu yang cepat terhadap berbagai cahaya.

Photodioda merupakan komponen yang dapat mengubah energi cahaya Inframerah menjadi pulsa-pulsa sinyal listrik yang kualitasnya cukup baik. Semakin besar intensitas cahaya inframerah yang diterima maka sinyal pulsa listrik yang dihasilkan akan cukup baik. Pada prakteknya sinyal inframerah yang dierima intensitasnya sangat kecil sehingga diperlukan sebuah penguat. Ketika photodioda mendapat cahaya inframerah maka terdapat arus bocor yang relative kecil. Besar kecilnya arus bocor ini bergantung kepada intensitas cahaya inframerah yang mengenai fotodioda tersebut. Arus bocor yang dihasilkan fotodioda besarnya linier terhadap intensitas cahaya inframerah yang dimaksukkan dalam daerah penerimaan. Oleh sebab itu arus diubah menjadi tengangan agar didapatkan sinyalnya kembali. Untuk teknik pengubahan arus menjadi tegangan dapat dilihat pada gambar berikut ini.


(20)

vcc

1O KΩ

22O KΩ

68O KΩ

-

Vo

ut

Intensitas Cahaya

Gambar 2.5 Rangakaian Photodioda dan Grafik Lineraritasnya

Untuk mengubah arus menjadi tegangan digunakan sebuah resistor R1 dengan niali yang cukup besar. Besarnya nilai R harus disesuaikan agar tidak menyebabkan diode inframerah jenuh karena jika diode infra merah jenuh maka tidak ada sinyal carier yang diteruskan sehingga data yang ditransmisikan tidak dapat diterima lagi. Untuk mencegah agar tidak jenuh maka tegangan bias tidak boleh terlalu tinggi dan nilai R tidak boleh terlalu besar. Pada suatu kondisi tertentu jika cahaya selain cahaya inframerah terlalu terang arus bocor dapat mencapai beberapa milliamper dan resistansinya turun menjadi 10k sehingga untuk mencegah saturasi maka nilai R harus kurang daru 10. Dengan nilai R 10k ini dapat merubah tiap 10µA menjadi 10mV. Kondisi Ideal yang jauh berbeda dengan keaadan sebenarnya dimana sinyal yang diterima sangat lemah sehingga menghasilkan arus bocor yang sangat kecil sehingga R yang digunakan juga harus diganti dengan niali yang lebih besar untuk dapat mengkonversi arus menjadi tegangan.


(21)

2.4 Mikrokontroller AT89S52

Mikrokontroller AT89S52 adalah salah satu anggota dari keluarga MCS-51/52 yang dilengkapi dengan internal 8 Kbyte Flash PEROM (Programmable and Erasable

Read Only Memory), yang memungkinkan memori program untuk dapat diprogram

kembali. AT89S52 dirancang oleh Atmel sesuai dengan instruksi standar dan susunan pin 80C5. Mikrokontroller berteknologi memori non-volatile berkerapatan tinggi dari atmel ini mempunyai jumlah pin sebanyak 40 pin.

2.4.1 Sistem Minimum Mikrokontroller AT89S52

Mikrokontroller AT89S52 hanya memerlukan tambahan 3 buah kapasitor, 1 resistor ,1 kristal dan catudaya 5 V. Kapasitor 10 µF dan resistor 8k2Ω dibentuk rangkaian reset. Dengan adanya rangkaian reset ini mmikrokontroller At89S52 ini otomatis direset setelah menerima catudaya. Kristal dengan Frekuensi maksimum 11,0592 MHz dan kapasitor 30 pF dipakai untuk melengkapi rangkaian oscillator pembentuk clock yang menentukan kecepatan kerja mikrokontroller mAt89S52.

Mikrokontroller AT89S52 memerlukan daya yang rendah dengan penampilan yang baik dengan menggunakan pengisi sistem yang dapat diprogram dengan mudah melalui ISP Memory Flash. Komputer dengan mikrokontroller dapat berhubungan secara langsung hanya dengan menggunakan kabel antar muka (konektor paralel). Dengan ISP Memory Flash mengijinkan program yang telah dibuat dapat diganti dengan program yang baru dengan cara menghapus data yang ada pada mikrokontroller lalu mengisi dengan program baru.

Mikrokontroller AT89S52 memiliki :

1. Sebuah CPU ( Central Processing Unit ) 8 Bit. 2. 256 byte RAM ( Random Acces Memory ) internal.

3. Empat buah port I/O, yang masing masing terdiri dari 8 bit 4. Osilator internal dan rangkaian pewaktu.

5. Dua buah timer/counter 16 bit


(22)

7. Sebuah port serial dengan full duplex UART (Universal Asynchronous

Receiver Transmitter).

8. Mampu melaksanakan proses perkalian, pembagian, dan Boolean.

9. EPROM yang besarnya 8 KByte untuk memori program.

10.Kecepatan maksimum pelaksanaan instruksi per siklus adalah 0,5 μs pada frekuensi

11.clock 24 MHz. Apabila frekuensi clock mikrokontroller yang digunakan adalah

12 MHz, maka kecepatan pelaksanaan instruksi adalah 1 μs

2.4.2 Arsitektur Mikrokontroller AT89S52

Di dalam mikrokontroller AT89S52, sudah terdiri dari:

1. Kompatibel dengan produk MCS-51

2. 8 Kbite In-System Reprogammable Flash Memory

3. Daya tahan 1000 kali baca/tulis

4. Fully Static Operation : 0 Hz dan 24 MHz 5. 128 x 8 bit RAM

6. 32 jalur I/O

7. Tiga level kunci program 8. Enam sumber interupt 9. Jalur serial dengan UART

2.4.3 Konfigurasi Pin Mikrokontroller AT89S52


(23)

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

Gambar 2.6 Deskripsi Pin AT89S52

Berikut ini adalah susunan pin/kaki dari Mikrokontroller AT89S52 yaitu: 1. VCC (Pin 40) merupakan Suplay tegangan 5 Volt

2. GND (Pin 20)adalah Ground

3. Port 0 (Pin 39 – Pin 32) dimana Port 0 yang merupakan saluran/bus I/O 8 bit open

colector, dapat juga digunakan sebagai multipleks bus alamat rendah dan bus data

selama adanya akses ke memori program eksternal.

4. Port 1 (Pin 1 – Pin 8) dimana Port 1 yang merupakan saluran/bus I/O 8 bit dua arah yang di dalamnya terdapat Mosi, Miso dan Sck sebagai masukan dari ISP Programer yang terhubung ke komputer.

5. Port 2 (Pin 21 – Pin 28), Port 2 yang merupakan saluran/bus I/O 8 bit dua arah dengan internal pull-ups dan berfungsi memberikan logika 1.

6. Port 3 (Pin 10 – Pin 17), Port 3 merupakan saluran/bus I/O 8 bit dua arah dengan internal pull-ups yang memiliki fungsi pengganti. Bila fungsi pengganti tidak dipakai, maka ini dapat digunakan sebagai port paralel 8 bit serbaguna

Tabel 2.2 Konfigurasi Port 3 mikrokontroller AT89S52 Nama Pin Fungsi

P3.0 (Pin 10) RXD alamat B0H; Untuk menerima data port serial

P3.1(Pin 11) TXD alamat B1H; Untuk mengirim data port serial

P3.2(Pin 12) INT0 alamat B2H; Interupsi eksternal 0


(24)

P3. 4(Pin 14) T0 alamat B4H; Input Eksternal waktu/pencacah 0

P3.5(Pin 15) T1 alamat B5H; Input Eksternal waktu/pencacah 1

P3.6(Pin 16) WR alamat B6H; Jalur menulis memori data eksternal

P3.7(Pin 17) RD alamat B7H; Jalur membaca memori data eksternal

7. RST (Pin 9), Reset akan aktif dengan memberikan high selama 2 cylce.

8. ALE/PROG (Pin 30), Address Latch Enable (ALE)/PROG merupakan penahan alamat

memori eksternal (pada port 1) selama mengakses ke memori eksternal. Pin ini juga sebagai pulsa/sinyal input pemograman (PROG) selama proses pemograman

9. PSEN (PIN 29), Program Store Enable (PSEN) merupakan sinyal pengontrol untuk

mengakses program memori eksternal masuk ke dalam bus selama proses pemberian/pengambilan instruksi (fetching).

10.EA (Pin 31), External Access Enable (EA) merupakan sinyal kontrol untuk

pembacaan memori program. Apabila diset rendah (L) maka mikrokontroller akan melaksanakan seluruh instruksi dari memori program eksternal sedangkan apabila diset tinggi (H) maka mikrokontroller akan melaksanakan instruksi dari memori program internal ketika isi program

11.XTAL1 (Pin 19), Input untuk Clock Internal 12.XTAL2 (Pin 18), Output dari Isolator


(25)

2.4.4 Struktur Memori

Struktur memori pada Mikrokontroller AT89S52 dapat dilihat pada gambar 2.7 di bawah ini:

Gambar 2.7 Struktur Memori Mikrokontroller AT89S52

Memori dari AT89S52 terbagi menjadi :

a. RAM Internal, terdapat memori sebesar 128 byte yang biasanya digunakan untuk

menyimpan variable atau data yang bersifat sementara.

b. Register bank, mikrokontroller AT89S52 mempunyai delapan buah register yang

terdiri dari R0 hingga R7. Kedelapan register ini selalu terletak pada alamat 00h hingga 07h setiap kali sistem reset.

c. Bit addressable RAM, atau sering juga disebut Scratch Pad Area adalah ruang data memory yang bebas digynakan user sebagai tempat penyimpanan variable atau sebagai alamat inisialisasi Stack Pointer. Berbeda dengan General Purpose RAM, bagian ini tidak hanya dapat diakses per byte namun juga secara per bit.


(26)

d. General Purpose RAM digunakan untuk keperluan umum dimulai dari alamat 30h hingga 7Fh dan dapat diakses dengan pengalamatan langsung maupun tidak langsung. Pengalamatan langsung dilakukan ketika salah satu operand bilangan yang menunjukan lokasi yang diamati. Sedangkan pengalamatan secara tak langsung pada lokasi dari RAM internal ini adalah akses data dari memori ketiga alamat memori tersebut tersimpan dalam suatu register R0 atau R1.

e. Register Fungsi Khusus, mikrokontroller AT89S52 mempunyai 21 Special Function

Register yang terletak pada antara alamat 80h hingga FFh. Beberapa dari

register-register ini mampu dialamati dengan pengalamatan bit sehingga dapat dioperasikan seperti yang ada pada RAM yang lokasinya dapat dialamati dengan pengalamatan bit. Adapun yang menjadi register khusus yaitu :

1. Accumulator, merupakan register ini terletak pada alamat E0hm, register ini

digunanakan untuk operasi aritmatik,operasi logika dan untuk proses pengambilan dan pengiriman data ke memori eksternal

2. Port, AT89S52 mempunyai empat buah port yaitu port 0, port 1, port 2, port 3 yang terletak pada alamat 80h, 90h, A0h, dan B0h. namun jika digunakan eksternal memori ataupun fungsi-fungsi special, seperti eksternal interup, serial ataupun eksternal timer, port 0, port 2, dan port 3 tidak dapat digunakan sebagai port dengan fungsi umum. Untuk itu disediakan port 1yang dikhususkan untuk port dengan fungsi umum.

3. Program Status Word atau PSW, terletak pada alamat D0h yang terdiri atas beberapa bit, seperti pada gambar 2.8

PSW 7 PSW 6 PSW 5 PSW 4 PSW 3 PSW 2 PSW 1 PSW0

CY AC F0 RS1 RS0 0V - P

Gambar 2.8 Alokasi bit PSW

2.4.5 Organisasi Memori

Semua serpih tunggal dalam keluarga MCS-51 memiliki pembagian ruang alamat memperbolehkan memori data untuk diakses oleh alamat 8 bit. Sekalipun demikian, alamat data memori 16 bit dapat dihasilkan melalui register DPTR (Data Point


(27)

Gambar 2.9 Arsitektur memori mikrokontroller AT89S52

a. Memori Program

Pada EPROM 8 Kbyte, jika EA (External Access) bernilai tinggi, maka program akan menempati alamat 0000 H sampai 0FFF H secara internal.

b. Memori Data

Memori data internal dipetakan seperti pada gambar di bawah ini ruang memorinya menjadi tiga blok yaitu bagian 128 bawah, 128 atas, dan ruang SFR (Special Function

Register)

Gambar 2.10 Pengalamatan Pada mikrokonroller AT89S52

Bagian RAM 128 byte bawah dipetakan menjadi 32 byte bawah dikelompokkan menjadi 4 bank dan 8 register (R0 sampai R7). Pada bagian 16 byte berikutnya, di atas bank-bank register, membentuk suatu blok ruang memori yang bisa teralamati per bit (bit addressable). Alamat alamat bit ini adalah 00 H hingga 7F H. Semua byte yang berada di dalam 128 bawah dapat diakses baik secara langsung maupun tidak langsung. Bagian 128 atas hanya dapat diakses dengan pengalamatan


(28)

tidak langsung. Bagian 128 atas dari RAM hanya ada di dalam piranti yang memiliki RAM 256 byte.

2.5 Modul LCD (Liquid Cristal Display)

Modul LCD merupakan modul keluaran yang digunakan sebagai tampilan pada aplikasi pengontrol suhu. Modul ini menggunakan LCD jenis M1632 yang mempunyai ukuran 2x16, maksudnya bahwa tampilan LCD mampu menampilkan 16 karakter dalam dua baris tampilan, sehingga tampilan yang dihasilkan sejumlah 32 karakter.

Gambar 2.11 LCD character 2x16

LCD display module M1632 terdiri dari dua bagian, yang pertama merupakan panel LCD sebagai media penampil informasi dalam bentuk huruf/ angka dua baris, masing – masing baris bisa menampung 16 huruf/ angka.

2.5.1 Spesifikasi LCD M1632

Beberapa Spesifikasi dari LCD (Liquid Cristal Display) M1632: 1. Tampilan 16 karakter 2 baris dengan matrik 5 x 7 + kursor.

2. ROM pembangkit karakter 192 jenis.

3. RAM pembangkit karakter 8 jenis ( diprogram pemakai ).

4. RAM data tampilan 80 x 8 bit ( 8 karakter ).

5. Duty ratio 1/16.

6. RAM data tampilan dan RAM pembangkit karakter dapat dibaca dari unit


(29)

7. Beberapa fungsi perintah antara lain adalah penghapusan tampilan (display clear), posisi krusor awal (crusor home), tampilan karakter kedip (display character blink ), pengeseran krusor (crusor shift) dan penggeseran tampilan (display shif ).

8. Rangkaian pembangkit detak.

9. Rangkaian otomatis reset saat daya dinyalakan. 10.Catu daya tunggal +5 volt.

Diagram blok tampilan LCD (Liquid Cristal Display) dapat dilihat pada gambar 2.15 di bawah ini.

Controller

Segmen Driver Timing Signal 3

Serial Data Segmen Signal

16 Comon Signal

40 DB0 - 7

RS

E R/W

VLC VSS VDD

40

LCD (2 x16 )

Gambar 2.12 Diagram Blok LCD

2.5.2 Konfigurasi Pin LCD

Modul ini menggunakan LCD jenis M1632 yang mempunyai ukuran 2 x 16 maksudnya bahwa tampilan LCD mampu menampilkan 16 karakter dalam dua baris tampilan, sehingga tampilan yang dihasilkan sejumlah 32 karakter. Rangkaian Modul LCD diperlihatkan pada gambar 2.13 di bawah ini.

Gambar 2.13 Konfigurasi pin LCD 2 x 16


(30)

Pada gambar 2.13 diatas diperlihatkan rangkaian modul LCD yang akan dihubungkan dengan mikrokontroler, dimana didalamnya terdapat 16 terminal yang mempunyai fungsi masing-masing, yaitu :

Tabel 2.3 Pin pada Tampilan LCD Pin

LCD Simbol

Level

logika I/o Fungsi

1 VSS - - Gnd

2 VCC 0/1 - Pengatur Kontras

3 VEE 0/1 - Input perintah (0)Input perintah (1)

4 RS 1 1 Tulis Baca (0/1) LCD

5 R/W 0/1 1 Sinyal Enable

6 E 0/1 I/O Bus Data Baris 0 (LSB)

7 DB 0 0/1 I/O Bus Data Baris 1

8 DB 1 0/1 I/O Bus Data Baris 2

9 DB 2 0/1 I/O Bus Data Baris 3

10 DB 3 0/1 I/O Bus Data Baris 4

11 DB 4 0/1 I/O Bus Data Baris 5

12 DB 5 0/1 I/O Bus Data Baris 6

13 DB 6 0/1 I/O Bus Data Baris 7

14 DB 7 0/1 I/O Bus Data Baris 8

15-16 Back Light - I/O Nyala LED

2.5.3 Stuktur Memori LCD

Modul LCD M1632 memiliki beberapa jenis memori yang digunakan untuk menyimpan atau memproses data-data yaitu :

1. DDRAM (Display Data Random Accsees Memory), merupakan memori tempat

karakter yang akan ditampilkan berada. Contoh karakter “A” atau 41h yang ditulis pada alamat 00 akan tampil pada baris pertama kolom pertama dari LCD. Apabila karakter tersebut ditulis pada alamat 40h, karakter tersebut akan tammpil pada baris kedua kolom pertama LCD.


(31)

2. CGRAM(Character Generatr Random Accsees Memory), merupakan memori untuk menggambarkan pola sebuah karakter dan bentuk karakter dapat diubah-ubah sesuai dengan keinginan. Akan tetapi isi memori akan hilang pada saat Power Supply tidak aktif sebingga pola karakter hilang.

3. CGROM (Character Generator Data Read Only Memory), merupakan memori untuk

menggambarkan pola sebuah karakter dimana pola tersebut sudah ditentukan secara permanen dari HD44780 sehingga pengguna tidak dapat mengubah lagi , pola karakter tersebutpun tidak akan hilang walaupun power supply tidak aktif.

Beberapa perintah dasar yang harus dipahami adalah instalasi LCD Charakter: 1. Function Set berfungsi untuk mengatur interdace lebar data, jumlah dari baris dan

ukuran font karakter.

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0

0 0 0 0 1 DL N F X X

Dimana: X = Don’t care

DL: mengatur lebar data

DL = 1, lebar data interface 8 bit (DB7 s/d DB0) DL = 0, lebar data interface 4 bit (DB7 s/d DB4)

Ketika menggunakan lebar data 4 bit, data harus dikirim dua kali N: Pengaktifan baris

N = 0, 1 baris N=1, 2 baris

F: Penentuan ukuran font karakter F = 0, 5 x 7

F = 1, 5 x 8

2. Entry Mode berfungsi mengatur increament/decrement dan mode geser

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0

0 0 0 0 0 0 0 1 I/D S

Dimana:

I/D : Increment/ decrement dari alamat DDRAM dengan 1 ketika kode karakter dituliskan ke DDRAM.


(32)

I/D = 1, increment

S: Geser keseluruhan display ke kanan dan kiri S = 1, geser ke kiri atau ke kanan bergantung pada I/D S = 0, display tidak bergeser

3. Display On/Off berfungsi untuk mengatur status display ON atau OFF, cursor

ON/OFF dan fungsi kursor Blink

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0

0 0 0 0 0 0 0 D C B

Dimana:

D: mengatur Dislay D= 1, Display is ON D= 0, Display OFF

Pada kasus ini data display masih tetap berada di DDRAM dan dapat ditampilkan kembali secara langsung dengan mengatur D=1

C: Menampilkan Kursor C = 1, Kursor ditampilkan

C = 0, Kursor yang akan ditampilkan

B : Karakter ditunjukkan dengan kursor yang berkedio B = 1, kursor blink.

4. Clear Display berfungsi sebagai perinteh untuk menghapus layar

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0

0 0 0 0 0 0 0 0 0 1

5. Geser Kursor dan Display berfumngsi untuk menggeser posisi kursor atau display ke ke kanan atau ke kiri tanpa menulis atau membaca data display. Fungsi ini digunakan untuk koreksi atau pencarian display.

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0

0 0 0 0 0 1 S/C R/L X X

Catatan: X = Don’t care


(33)

0 0 Shift Cursor position to the left

0 1 Shift Cursor position to the right

1 0 Shift the entire position to the left

1 1 Shift the entire position to the right

2.6 Relay

Relay adalah suatu komponen elektronik yang berfungsi sebagai saklar elektromagnetik. Prinsip kerja dasar komponen ini adalah penggunaan lilitan kawat untuk menghasilkan medan elektromagnetik disekitar lilitan tersebut. Atau dengan kata lain relay hanya dapat berfungsi sebagai saklar on / off yang diatur oleh adanya gaya magnet dari kumparan yang dialiri arus.

Relay dapat dibedakan atas perbedaan nilai tegangan ambang yang digunakan untuk mengaktifkannya. Biasanya relay yang ada di pasaran dapat berjenis relay 6 volt dan 12 volt. Arus yang digunakan pada rangkaian relay adalah arus DC. Konstruksi dalam suatu relay terdiri dari lilitan kawat (coil) yang dililitkan pada inti besi lunak. Apabila lilitan kawat mendapatkan suplay arus listrik maka inti besi lunak akan kontak dan terjadi medan elektromagnetik disekitar lilitan yang akan menarik kedua switch penghantar untuk menjadi bersatu atau menjadi terpisah tergantung jenis relay yang digunakan. Keadaan ini akan bertahan selama arus mengalir pada kumparan relay. Relay akan kembali pada posisi semula bila tidak ada lagi arus yang mengalir padanya. Posisi normal relay tergantung pada jenis relay yang digunakan dan pemakaian jenis relay ini tergantung keadaan yang diinginkan dalam suatu rangkaian.


(34)

Gambar 2.14 Skema Relay

Apabila arus listrik dimasukkan pada + Vcc maka kumparan pada relay akan bekerja yaitu terjadinya kemagnetan pada kumparan sehigga akan menarik saklar yang terbuat dari bahan logam sehingga pada normally open output akan terhubung dengan

pin input, demikian sebaliknya .

Menurut kerjanya relay dapat dibedakan menjadi : 1. Normally Open (NO)

Relay yang berfungsi sebagai saklar yang selalu dalam keadaan terbuka bila tidak diberikan tegangan dan tertutup apabila mendapat tegangan sesuai dengan tegangan ambangnya.

2. Normally Close (NC)

Relay yang berfungsi sebagai saklar yang selalu dalam keadaan tertutup bila tidak diberikan tegangan dan terbuka apabila mendapat tegangan sesuai dengan tegangan ambangnya, misalnya 6 Volt.

3. Change Over (CO)

Relay ini mempunyai saklar tunggal yang normalnya tertutup, apabila kumparan 1 dialiri arus maka saklar akan terhubung ke terminal A dan sebaliknya bila kumparan 2 dialiri arus maka saklar akan terhubung ke terminal B.


(35)

2.7 Sensor Suhu IC LM35

Sensor suhu LM35 berfungsi untuk mengubah besaran fisis yang berupa suhu menjadi besaran elekris tegangan. Sensor ini memiliki parameter bahwa setiap kenaikan 1°C tegangan keluarannya naik sebesar 10mV dengan batas maksimal keluaran sensor adalah 1,5V pada suhu 150°C.

Sensor suhu IC LM 35 ialah sensor temperatur paling banyak digunakan karena selain harganya cukup murah, linearitasnya juga lumayan bagus. LM35 tidak membutuhkan kalibrasi eksternal yang menyediakan akurasi ± ¼ °C pada temperatur ruangan dan ± ¾ °C pada kisaran -55 °C to +150 °C. LM35 dimaksudkan untuk beroperasi pada -55 °C hingga +150 °C, sedangkan LM35C pada -40 °C hingga +110 °C, dan LM35D pada kisran 0-100°C. LM35D juga tersedia pada paket 8 kaki dan paket TO-220. Sensor LM35 umumnya akan naik sebesar 10mV setiap kenaikan 1°C (300mV pada 30 °C).

Gambar 2. 15 Bentuk Fisik LM 35

IC LM 35 ini tidak memerlukan pengkalibrasian atau penyetelan dari luar karena ketelitiannya sampai lebih kurang seperempat derajat celcius pada temperature ruang. Jangka sensor mulai dari – 55°C sampai dengan 150°C, IC LM35 penggunaannya sangat mudah, difungsikan sebagai kontrol dari indicator tampilan catu daya terbelah. IC LM 35 dapat dialiri arus 60 m A dari supplay sehingga panas yang ditimbulkan sendiri sangat rendah kurang dari 0 ° C di dalam suhu ruangan.


(36)

Gambar 2.16 Rangkaian pengukur suhu

Sensor suhu IC LM 35 merupakan IC sensor temperatur yang akurat yang tegangan keluarannya linear dalam satuan celcius. Jadi LM35 memilik kelebihan dibandingkan sensor temperatur linear dalam satuan kelvin, karena tidak memerlukan pembagian dengan konstanta tegangan yang besar dan keluarannya untuk mendapatkan nilai dalam satuan celcius yang tepat. Sensor suhu IC LM 35 memiliki impedansi keluaran yang rendah, keluaran yang linear, dan sifat ketepatan dalam pengujian membuat proses interface untuk membaca atau mengotrol sirkuit lebuh mudah. Pin V+ dari Sensor suhu IC LM 35 dihubungkan kecatu daya, pin GND dihubungkan ke Ground dan pin Vout- yang menghasilkan tegangan analog hasil pengindera suhu dihubungkan ke vin (+) dan ADC 0840.

2.7.1 Prinsip Kerja Sensor suhu IC LM 35

Sensor suhu IC LM 35 merupakan IC yang digunakan sebagai sensor suhu. IC tersebut mengubah kondisi suhu lingkungan disekitarnya menjadi sinyal listrik. Sinyal listrik keluaran Sensor suhu IC LM 35 ini memiliki nilai yang sebanding dengan suhu lingkungan dalam bentuk derajat celcius (ºC). Kerja dari sensor suhu LM35 ini adalah perubahan nilai tahanannya akan semakin besar apabila suhu lingkungannya semakin rendah dan nilai tahanannya akan menjadi kecil apabila suhu lingkungannya semakin tinggi. Maka adanya perubahan suhu akan menyebabkan nilai tahanan dari LM35 juga akan berubah. Pada saat LM35 aktif elektron-elektron pada pita valensi akan melakukan pergerakan dari katoda ke anoda sehingga menimbulkan perbedaan potensial. Perbedaan potensial inilah yang menjadi tegangan keluaran dari LM35. Dimana nilai tegangan LM35 akan semakin besar jika nilai suhu besar sebaliknya nilai


(37)

tegangan LM35 akan semakin kecil jika nilai suhu yang dibaca kecil. LM35 memiliki tingkat kelinieran yang tinggi dimana kenaikan 1ºC akan menghasilkan tegangan sebesar 10mV atau 10 mVolt/ºC.

2.8 ADC (Analog to Digital Converter)

Analog to Digital Converter (ADC) adalah sebuah piranti yang dirancang untuk mengubah sinyal-sinyal analog menjadi sinyal-sinyal digital. Proses pengubahan ini dikenal juga dengan nama sistem akusisi data. ADC merupakan piranti masukan, artinya mikrokontroler mendapatkan data dari ADC. ADC memerlukan sinyal write dan read. Sinyal write digunakan sebagai perintah bagi ADC untuk memulai konversi. A/D Converter ini dapat dipasang sebagai pengonversi tegangan analog dari suatu peralatan sensor ke konfigurasi digital yang akan diumpankan ke suatu sistem minimum. Terdapat 4 macam ADC yang memenuhi standar industri, yaitu integrating, tracking, flash/parallel dan successive approximation

Jenis 0804 ini merupakan ADC yang sederhana dan mudah digunakan. IC ADC 0804 ini mempunyai 20 pin dengan konfigurasi seperti gambar berikut :

Gambar 2.17 Konfigurasi Pin IC ADC 0804

Pada ADC 0804 ini, terdapat dua jenis prinsip didalam melakukan konversi, yaitu free running dan mode control. Pada mode free running, ADC akan mengeluarkan data hasil pembacaan input secara otomatis dan berkelanjutan (continue). Prinsip yang kedua yaitu mode control, pada mode ini ADC baru akan memulai konversi setelah diberi instruksi dari mikrokontroler. Instruksi ini dilakukan dengan memberikan pulsa


(38)

rendah kepada masukan WR sesaat, kemudian membaca keluaran data ADC setelah keluaran INTR berlogika rendah. Pada penelitian ini, prinsip konversi yang digunakan adalah mode control.

Secara umum Rangkaian di dalam IC ADC memiliki 2 bagian utama, yaitu:

1. Bagian Sampling dan Hold, yang berfungsi menangkap atau menahan tagangan

analog input sesaat untuk seterusnya diumpankan ke rangkaian pengonversi. 2. Rangkaian Konversi A/D (plus rangkaian kontrolnya).

ADC memerlukan bantuan sekuensi kontrol untuk menangkap dan mengkonversi sinyal. Seberapa lama ADC dapat sukses mengkonversi suatu nilai sangat tergantung dari kemampuan sampling dan konversi dalam domain waktu. Makin cepat prosesnya, makin berkualitas pula ADC tersebut. Karena inilah maka karakteristik ADC yang paling penting adalah waktu konversi (conversion time). Namun demikian, kemampuan riil ADC dalam kontrol loop tertutup dalam sebuah sistem lengkap justru sangat dipengaruhi oleh kemampuan kontroler atau prosesor dalam mengolah data input-output secara cepat, dan bukan hanya karena kualitas ADC-nya.


(39)

2.9 Perangkat Lunak

2.9.1 Bahasa Assembly MCS-51

Bahasa yang digunakan untuk memprogram Mikrokontroller AT89S52 adalah bahasa assembly untuk MCS-51 yang merupakan salah satu keluaran dari mikrokontroller yang menggunakan teknologi CMOS. Angka 51 merupakn jumlah instruksi pada bahasa ini hanya 51 instruksi.

Keluarga MCS-51 mempunyai berbagai macam yang dikelompokkan antara lain:

a. Tegangan Kerja

Tegangan kerja AT89L55 buatan Atmel dapat beroperasi pada tegangan 2,7 V sampai 6 V. Dari seri P89LPC9XX buatan Philips dapat beropepeasri pada tengangan 2,5 V samapi 3,6 V

b. Memori

Beberapa tipe memori pada MCS-51:

1. One Time Programmable (OTP) / Mask ROM (Read Only Memory)

2. MTP Flash / EEPROM

3. Multiple Time Programmable (MTP) Ultra-Violet Eraseble Programmable ROM

(UVEPROM) c. Fungsi Khusus

Beberapa fungsi pada MCS-51 antara lain:

1. C8051F20 buatan Cygnal memiliki ADC hingga 12 bit 32 chanel

2. ATmega8535 ADC 10 bit 8 chanel. Fitur ini terdapat pada kit DT51 AVR low cost 3. P8LPC768 buatan Philips memiliki 8 keyboard, power on reset dan breown out detect

d. Timer/Counter

Timer/ counter yang dimiliki MCS-51 dapat mencapai 5 buah seperti P8LPC768 buatan Philips, tipe yang lain memiliki fasilitas Pulse Width Modulation (PWM),

Programmable Counter Array (PCA) dan Wathdog Timer


(40)

Assembler adalah sebuah program yang membaca file teks dari instruksi assembly dan dikonversi menjadi kode mesin. Kompiler adalah program juga melakukan pengkonversian namun untuk bahasa tingkat tinggi. Assembler lebih sederhana daripada kompiler. Setiap perintah bahasa assembly secara langsung mewakili satu instruksi mesin. Perintah bahasa tingkat tinggi lebih komplek dan memerlukan banyak instruksi mesin. Perbedaan penting lainnya antara assembly dan bahasa tingkat tinggi adalah, bahwa setiap perbedaan jenis CPU akan memiliki instruksi mesin tersendiri juga akan memiliki bahasa assembly tersendiri pula. Angka 51 merupakan jumlah instruksi pada bahasa ini hanya ada 51 instruksi. Instruksi-instuksi tersebut antara lain:

1. Instruksi MOV

Perintah ini merupakan perintah dasar untuk mengisikan nilai ke alamat atau register tertentu.

Contoh:

mov cx, 02 ; angka 2 disimpan di register cx

mov r0,#20 h ; isikan nilai 20 heksadesimal ke register r0, tanda ‘#’

sebelum bilangan mmenunjukkan bahwa bilangan tersebut adalah nilai

[100], bx ; isi data dilokasi memomri 100 disimmpan di alamat bx

2. Instruksi CALL

Intruksi ini berfungsi memanggil surutin tertentu.

a. Acall melakukan subrutin yang ditunjuk dengan jangkauan 2 Kbyte b. Lcall melakukan subrutin yang ditunjuk dengan jangkauan 64 Kbyte

contoh: ……… acall tunda ……… tunda:

………

3. Instruksi Ret

Intruksi RETURN (RET) ini merupakan perintah untuk kembali ke rutin pemanggil setelah intruksi acall dilaksanakan.

Contoh: acall tunda ………


(41)

tunda:

………

ret

4. Intruksi Cjne (Compare and Jump if Not Equal)

Intruksi ini melakukan perbandingan antara data sumber dengan data tujun, bila data sama akan dilanjutkan pada instruksi berikutnya, jika tidak akan lompat ke alamat yang dituju.

Contoh:

Cjne @R1,#00h, beda

5. Intruksi Djnz (Dcrement and Jump if Not Zero)

Intruksi ini melakukan operasi pengurangan pada alamat register yang ditunjuk dengan nilai 1 dan jump jika hasil pengurangan tidak sama dengan 0

Contoh: Loop:

Djnz 08h, loop Ret

6. Instruksi Jb (Jump on Bit set)

Jika data bit sama dengan 1 maka program akan melompat ke sub rutin yang ditunjuk intrusksi jika data sama dengan 0 program akan melanjutkan program di bawahnya.

Contoh:

Jb p2.2, lompat Add A, 20h Lompat: dec A

7. Intruksi Jbc (Jump onbit set then clear bit)

Jika data bit sama dengan 1 maka program akan melompat ke sub rutin yang ditunjuk intrusksi dan sekaligus mengubah bitnya dengan 0

8. Instruksi Jc (Jump on carry)

Jika data bit pada carry flag sama dengan 1 maka program akan melompat ke sub rutin yang ditunjuk intrusksi jika data sama dengan 0 program akan melanjutkan program di bawahnya.

9. Intrusksi Jmp


(42)

10.Intruksi Jnb (Jump on bit set)

Jika data bit sama dengan 0 maka program akan melompat ke sub rutin yang ditunjuk intrusksi jika data sama dengan 1 program akan melanjutkan program di bawahnya. 11.Intruski Jnc (Jump on no carry)

Jika data bit pada carry flag sama dengan 0 maka program akan melompat ke sub rutin yang ditunjuk intrusksi jika data sama dengan 1 program akan melanjutkan program di bawahnya

12.Intruksi Jnz (Jump if not zero)

Jika data pada akumulator tidak sama dengan 00h maka program akan melompat ke sub rutin yang ditunjuk intrusksi jika data sama dengan 00h program akan melanjutkan program di bawahnya

13.Intruksi Jz (Jump if Zero)

Jika data pada akumulator sama dengan 00h maka program akan melanjutkan program selanjutnya tetapi jika data sama dengan 00h program akan melompat ke sub rutin yang ditunjuk.

14.Instruksi Clr (Clear)

Intruksi ini akan memberikan data 0 pada register yang ditunjuk.

Contoh:

Clear A ; intruksi ini member data 0 pada A

15.Instruksi Cpl (Complement)

Intruksi ini akan melakukan komplemen register yang ditunjuk.

Contoh:

Cpl A.1 ; data pada A.1 dikomplemenkan

16.Intruksi Subb

Intruksi ini melakukan pengurangan data pada antara dua buah alamat register beserta dengan bit carry flagnya.

17.Intruksi Setb

Intruksi ini melakukan operasi set pada bit pada alamat yang ditunjuk.

18.Instruksi Aritmatika

Instruksi aritmatika meliputi: a. Penjumlahan (Addition)

Contoh:


(43)

Pada R2 dan hasilnya di simpan di A

b. Pengurangan (Subtraction)

Contoh:

SUB CX, BX ;hasilnya disimpan di CX

DEC CX ;hasil CX = CX + 1

c. Pembandingan (CMP / Comparison)

Contoh:

CMP DL, BL ;bandingkan isi DL dengan BL

d. Perkalian (Multiplication)

Perkalian antara AL (8 bit) atau AX (16 bit) dengan isi reg atau [alamat], hasilnya disimpan di AX (8 bit) atau DX-AX (16 bit).

contoh:

mul dl ;isi al (8 bit) dikali dengan dl, hasil di ax

mul bx ;isi ax (16 bit) dikali dengan bx, hasil di dx-ax

e. Pembagian (Division)

contoh:

div dl ;isi ax dibagi dl,hasil di al


(44)

BAB 3

PERANCANGAN DAN CARA KERJA ALAT

3.1 Diagram Blok Rangkaian

Secara garis besar, diagram blok dari rangkaian aplikasi dari sensor PIR (Passive Infa

Red) untuk pengontrolan suhu ruangan ditunjukkan pada gambar 3.1 berikut di bawah

ini:

Driver Fotodioda

Sensor PIR

Mikrokontroler AT89S52

Relay 1

Relay 2

Relay 3

LCD

Fotodioda Kipas

Sensor Suhu IC LM35

Gambar 3.1 Diagram Blok Rangkaian

Pada gambar 3.1 Diagram Blok aplikasi dari sensor PIR (Passive Infra Red) yang terdiri atas :

1. Driver Fotodioda, dimana LED inframerah yang berfungsi sebagai


(45)

menyala secara otomatis, jika pengunjung keluara maka kipas akan menurunkan kecepatan kipas secara otomatis.

2. Fotodioda berfungsi sebagai receiver untuk mengetahui ada

pengunjung masuk atau keluar.

3. Sensor PIR digunakan untuk mendeteksi ada tidakanya pengunjung

masuk atau keluar dari dalam ruangan.

4. Sensor suhu IC LM 35 akan mendeteksi suhu ruangan dana kan akan

ditamplkan pada LCD setiap pertambahan dan pengurangan pengunjung.

5. Mikrokontroller AT89S52 digunakan sebagai pengontrol kerja dan

pengolah data yang akan ditampilkan oleh LCD

6. Relay sebagai driver yang berfungsi mengatur level kecepatan kipas, agar udara yang disalurkan sesuai dengan yang dibutuhkan ruangan (sampai set point yang diinputkan) dan diharapkan dapat mengontrol kecepatan dengan step kecil dan respon yang baik.

7. LCD ( Liquid Crystal Display ) berfungsi sebagai penampil data

jumlah pengunjung yang datang dan keluar serta kecepatan kipasnya.

8. Kipas berfungsi sebagai pendingin otomatis yang berkerja sesuai

perintah dari mikrokontroller.

3.2 Rangkaian Photodioda


(46)

100

Ω

100

Ω

100

Ω

10 k

Ω

10 k

Ω

Vo ¼ 324 5 V

Gambar 3.2 Rangkaian Fotodioda

Fotodioda adalah suatu dioda yang arus reverse-nya berubah bila mendapat penyinaran, prinsip kerja dari fotodioda adalah apabila sebuah dioda diberi reverse bias, maka akan mengalir arus yang kecil sekali yang disebut arus reverse malalui doida tersebut, besarnya arus reverse ini tergantung suhu dan intensitas cahaya yang jatuh pada deplection layer-nya. Oleh karena itu, dioda ini harus bisa tembus cahaya agar cahaya dapat mencapai deplection layer-nya sehingga arus reverse yang besarnya tergantung intensitas cahaya yang menyinarinya. Apabila fotodioda mendapatkan cahaya, ini menyebabkan timbulnya arus balik I2. Dengan menambahkan tegangan-tegangan melingkari simpal keluaran

Pada suatu kondisi tertentu jika cahaya selain cahaya inframerah terlalu terang arus bocor dapat mencapai beberapa mA dan resistansinya turun menjadi 10k sehingga untuk mencegah saturasi maka nilai R harus kurang daru 10. Dengan nilai R 10k ini dapat merubah tiap 10µA menjadi 10mV. Kondisi Ideal yang jauh berbeda dengan keaadan sebenarnya dimana sinyal yang diterima sangat lemah sehingga menghasilkan arus bocor yang sangat kecil sehingga R yang digunakan juga harus diganti dengan nilai yang lebih besar untuk dapat mengkonversi arus menjadi tegangan


(47)

3.3 Rangkaian Sensor PIR

Proses kerja sensor ini dilakukan dengan mendeteksi adanya radiasi panas tubuh manusia yang diubah menjadi perubahan tegangan. Namun perubahan tegangan pada PIR sangatlah kecil yaitu berkisar pada kisaran 10 hingga 20 milivolt atau bahkan lebih kecil lagi, tetapi dalam Sensor PIR KC7783R ini telah terdapat penguat penguat non iverting jadi pada rangkaian ini tidak memerlukan penguat lagi.

Berikut adalah gambar kaki/pin pada sensor PIR (Passive Infra Red)

gnd

vcc vo

Gambar 3.3 Pin Sensor PIR

Pada pin sensor PIR (Pasissive Infra Red) kaki-kai dihubungkan ke Power Supply melalui Pin 1 (Vcc) dan Pin 2 (ground), sedangkan pad pin 3 (O/P) terhubung ke port P3.0 pada mikrokontroller AT89S52 yang berfungsi untuk medeteksi ada tidaknya pengunjung dalam hal ini manusia ke dalam ruangan. Hal ini sangat tergantung dari beberapa faktor yaitu, panas tubuh dari manusia yang dideteksi, jarak dengan sensor maupun suhu lingkungan.


(48)

Gambar 3.4 Kaki koneksi PIR (Pasissive Infra Red)

3.4 Rangkaian Mikrokontroller AT89S52

Rangkaian skematik dan layout PCB sistemm minimum mikrokontroller AT89S52 dapat dilihat pada gambar 3.5 berikut ini:


(49)

Pada pin 18 dan pin 19 dihubungankan ke XTAL 11,0592 MHz dan dua buah kapasitor 30 pF. XTAL ini aka mempengaruhi kecepatan mikrokontroller AT89S52 dalam mengeksekusi setiap perintah dalam program . Pin 9 merupakan masukan reset (aktif high). Pulsa transisi dari rendah ke tinggi akan mereset mikrokontroller ini. Pin 32 sampa 39 adalah port 0 yang merupakan salauran/bus I/O 8 bit open collector dapat digunaka juga sebagai multipleks bus alamat rendah dan bus alamat data selama adanya akses ke memori program eksternal.

Karena fungsi tersebut maka port dihunbungkan dengan resistor array. Jika mikrokontroller menggunakan memori eksternal, maka penggunaan resistor array tidak begitu penting. Selain digunakan untuk fungsi dia tas resistor array digunakan sebagai pull up. Untuk mendownload file heksadesmal ke mikrokontroller, Mosi, Miso Sck, Reset, Vcc dan Gnd dari kaki mikrokontroller dihubungkan ke RJ45. RJ45 sebagai konektor yang akan dihubungkan ke ISP Programmer. Dari ISP Programmer inilah dihubungkan ke computer melalui parallel port.

Kaki Mosi, Miso Sck, Reset, Vcc dan Gnd pada mikrokontroller terletak pada kaki 6, 7, 8, 9 40 dan 20. Apabila terjadi keterbalikan pemasangan jalur ke ISP

Programmer, maka mikrokontroller tidak dapat dilakukan karena mikrokontroller

tidak akan bisa merespon.

3.5 Rangkaian Relay

Peracangan rangkaian relay ini berfungsi sebagai scalar elektronik yang dapat menghidupkan dan mematukan peralaratan elektronik. Pada rangkaian ini digunakan relay 12 V, ini bereti jika positif relay (kaki 1) dihubungkan ke sumber tengan 12 V dan negative relay (kaki 2) di hubungkan ke ground, maka kumparan akan


(50)

menghasilkan medan magnet ini akan menarik logam yang mengakibatkan scalar (kaki 3) terhubung ke kaki 4 dan kaki 7 terhubung ke 8. Dengan demikian jika kita menggunakan kaki 3 dan kaki 4 sebagai scalar untuk menghidupkan kipas dengan cara mengaktifkan atau menonaktifkan relay.

Gambar 3.6 Rangkaian Relay

Pada rangkaian ini untuk mengaktifkan datau menonaktifkan relay digunakan transistor tipe NPN. Dari gambar di atas dapat dilihat bahwa negated relay dihubungkan ke kolektor dari transistor NPN, ini berarti jika transistor dalam keadaan aktif maka kolektor akan terhubung ke emitor langsung terhubung ke ground yang


(51)

menyebabkan tegangan di kolektor menjadi 0 V, keadaan ini akan mengakibatkan relay aktif. Sebaliknya jika transistor tdak aktif maka kolektor tidak terhubung ke emitor, sehingga tegangan pada kolektor menjadi 12 Volt, keadaan ini menyebabkan tidak aktif.

Kumparan relay akan menghasilkan tegangan singkat yang besar ketika relay di non-aktifkan dan ini dapat merusak transistor yang ada pada rangkaian ini. Untuk mencegah kerusakan pada transistor tersebut sebuah diode harus dihubungkan ke relay tersebut. Diode dihubungkan secara terbalik sehingga secara normal diode ini tidak menghantarkan.

Penghantaran hanya terjadi ketika relay dinonaktifkan, pada saat ini arus akan mengalir melalui kumparan dan arus ini akan mengalir ke diode, tanpa adanya arus diode sesaat yang besar itu akan mengalir ke transistor yang mengakibatkan kerusakan pada transistor.

3.6 Display LCD karakter 2 x 16

Modul LCD merupakan modul keluaran yang digunakan sebagai tampilan pada aplikasi pengukur suhu. Modul ini menggunakan LCD jenis M1632 yang mempunyai ukuran 2x16, maksudnya bahwa tampilan LCD mampu menampilkan 16 karakter dalam dua baris tampilan, sehingga tampilan yang dihasilkan sejumlah 32 karakter.


(52)

JP5 LCD 1 VSS 2 VCC 3 VEE 4 RS 5 RW 6 E 7 DB0

9 DB2 8 DB1

10 DB3 11 DB4 12 DB5 13 DB6 14 DB7 15 VCC 16GND VCC VLC LCD 1 2 VCC VCC IN4002 M1632 7 14 13 12 1110 9 8 15

16 6 5 4 3

DB6 DB5 DB4 DB0 DB1 DB2 DB3 DB7 2 1 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 P0.0 P2.1 P2.2 33 34 35 36 37 38 39 32 RS E

Gambar 3.7 Rangkaian Modul LCD

Pada gambar 3.7 diatas diperlihatkan rangkaian modul LCD yang akan dihubungkan dengan mikrokontroler, dimana didalamnya terdapat 16 terminal yang mempunyai fungsi masing-masing, yaitu :

1. DB4-DB7, merupakan penyemat untuk empat jalur data atas yang dapat

digunakan untuk membaca data dari modul ke mikrokontroler atau menulis data dari mikrokontroler ke modul. DB7 juga digunakan sebagai penanda sibuk.

2. DB0-DB3, merupakan penyemat untuk empat jalur data bawah yang dapat

digunakan untuk membaca data dari modul ke mikrokontroler atau menulis data dari mikrokontroler ke modul. Apabila yang dibutuhkan hanya 4 bit maka, jalur data ini tidak digunakan, sehingga hanya menggunakan jalur data atas.

3. E (Enable), merupakan penyemat untuk sinyal operasi awal yang mampu


(53)

4. R/W (Read/Write), merupakan menyemat untuk sinyal pemilih baca atau tulis, yang mana bila penyemat ini diberi logika 1, modul akan melakukan operasi baca, sebaliknya bila diberi logika 0 akan melakukan operasi tulis. Pada aplikasi ini karena LCD digunakan sebagai modul keluaran saja berarti hanya melakukan operasi baca saja. Untuk mempermudah program maka pin 5 (R/W) langsung dihubungkan dengan ground.

5. RS (Register Selection), merupakan penyemat untuk sinyal pemilih fungsi

regiater yang apabila diberikan logika 0, register berfungsi sebagai register instruksi untuk operasi tulis atau sebagai penanda sibuk, dan sebagai pencacah alamat untuk operasi baca. Apabila diberi logika 1, register berfungsi sebagai register data, baik untuk operasi tulis ataupun baca.

6. VEE (VLC), merupakan terminal catu daya untuk pengendalian tampilan LCD, yaitu mengatur ketajaman tampilan karakter pada layar.

7. VCC, merupakan penyemat untuk terminal catu daya 5 volt. 8. VSS, merupakan Ground

3.7 Rangkaian Sensor Suhu IC LM 35

IC LM 35 ini tidak memerlukan pengkalibrasian atau penyetelan dari luar karena ketelitiannya sampai lebih kurang seperempat derajat celcius pada temperature ruang. Jangka sensor mulai dari – 55°C sampai dengan 150°C, IC LM35 penggunaannya sangat mudah, difungsikan sebagai kontrol dari indicator tampilan catu daya terbelah. IC LM 35 dapat dialiri arus 60 m A dari supplay sehingga panas yang ditimbulkan sendiri sangat rendah kurang dari 0 ° C di dalam suhu ruangan.


(54)

Sensor suhu IC LM 35 merupakan IC sensor temperatur yang akurat yang tegangan keluarannya linear dalam satuan celcius. Jadi LM35 memilik kelebihan dibandingkan sensor temperatur linear dalam satuan kelvin, karena tidak memerlukan pembagian dengan konstanta tegangan yang besar dan keluarannya untuk mendapatkan nilai dalam satuan celcius yang tepat.

3.8 Flow Chart Rangkaian

Secara garis besar, diagram alir dari rangkaian aplikasi dari sensor PIR (Passive

Infra Red) untuk pengontrolan suhu ruangan ditunjukkan pada gambar 3.1 berikut di


(55)

start

inisialisasi

Fotodioda aktif

PIR aktif

Ada orang masuk

Ada orang keluar

PIR aktif Fotodioda aktif Pengunjung = pengunjung - 1 Pengunjung = pengunjung + 1 Pengunjung < 8 ? 2 < Pengunjung < 6 ? 8< Pengunjung

< 15 ?

Pengunjung > 15? Aktifkan relay1

Matikan relay2 Matikan relay3

Matkan relay1 Aktifkan relay2 Matikan relay3 Matikan relay1 Matikan relay2 Aktifkan relay3 Update display 0 1 1 0 Baca Suhu

Gambar 3.8 Flowchart Pengontrol suhu ruangan

Keterangan Flowchart:

Awal Start akan menginstalasi fotodioda dan menset pada logika low (0). Kemudian Sensor PIR akan medeteksi ada apakah ada pengunjung yang masuk pada logika high (1), apabila sensor PIR mendeteksi ada pengunjung yang masuk ke dalam ruangan maka sensor LM 35 akan mendeteksi suhu runagan kemudian relay pada kipas akan diaktifkan sehingga kipas akan menyala secara otomatis dengan kecepatan yang


(56)

bergantung pada jumlah pengunjung yang masuk ke dalam ruangan dan apabila pengunjung ke luar dari ruangan maka kipas akan menurunkan kecepatannya pada level tertentu, dan jika tidak ada lagi pengunjung dalam ruangan maka kipas akan mati secara otomatis. LCD akan mengupdate setiap ada pengunjung yang masuk dan keluar dari dalam rungan dengan tampilan “pengunjung ke-, “lvl”, serta “suhu:”.


(57)

BAB 4

HASIL DAN PEMBAHASAN

4.1 Pengujian Rangkaian Mikrokontroller AT89S52

Pengujian rangkaian Mikrokontroler dapat dilakukan dengan cara menghubungkan rangkaian sistem minimum dengan sumber tegangan 5 V. Dimana pin 40 mikrokontroler dihubungkan dengan tegangan 5 V dan pin 20 dihubungkan dengan ground. Setelah itu dilakuan pengukuran tegangan antara pin 40 dan pin 20, didapat tegangan sebesar 4,98 V, artinya sumber tegangan telah sampai pada mikrokonroler.

12 MHz


(58)

Langkah selanjutnya adalah menghubungkan pin 17 (P3.7) dengan IC buffer 74LS24 dan keluarannya dihubungkan dengan sebuah LED yang dipasang aktif High sebagai indikator. IC 74LS24 berfungsi sebagai Buffer (penyangga) dimana logika yang diberikan mikrokontroler akan dikuatkan oleh IC tersebut. Dengan begitu apabila Mikrokontroler memberikan logika 1 maka LED akan Aktif dan apabila diberi logika 0 maka LED akan padam. Dengan adanya IC 74LS24 ini maka arus yang digunakan untuk menghidupkan LED tidak diambil dari mikrokontroler melainkan, mikrokontroler hanya memberikan logika saja.

Berikut ini dalah program yang diisikan kedalam mikrokontroler AT89S52:

Mov r1,#0 Kedip:

Setb p3.7 Acall delay Clr p3.7 Acall delay Sjmp Kedip delay:

mov r0,#255 djnz r0,$ djnz r1,delay ret

end

Program diatas dibuat untuk menghidupkan LED pada port 3.7 dan kemudian mematikannya. Perintah Setb akan menjadikan p3.7 berlogika high yang menyebabkan LED menyala. Perintah clr p3.7 membuat p3.1 kembali berlogika low dan menyebabkan LED padam. Adapun perintah acall delay digunakan untuk memanggil rutin delay yang berfungsi untuk menunda waktu selama beberapa saat supaya pergantian menyala dan pedamnya LED dapat terlihat oleh mata. Untuk melakukan penundaan waktu, maka dibuatlah perintah acall delay. Dengan adanya


(59)

perintah acall maka program untuk sementara akan beralih ke label yang dialamatkan yaitu delay sampai ditemukannya perintah ret.

Lamanya penundaaan waktu yang dikerjaakan oleh delay dapat dihitung dengan cara berikut: mikrokontroler yang digunakan dalam penelitian ini memakai kistal 12 MHz, dalam mengeksekusi satu siklus perintah mikrontroler membutuhkan 12 clock, berarti dalam suatu siklus perintah mikrokontroler membutuhkan waktu sebesar 12 MHz / 12 clock = 1 µs

Perintah mov dan djnz menggunakan 2 siklus dan perintah ret mengunakan 1 siklus. Dalam rutin delay, pertama kali r0 diisi senilai 255. selanjutnya djnz r0,$ (artinya isi r0 dikurang dengan satu jika hasilnya tidak nol maka program akan tetap berjalan dibaris ini). Dari awal r0 bernilai 255, maka program djnz r0,$ dijalankan sebanyak 255 kali.

Berikutnya “djnz r1, delay” (kurangi isi r1 dengan satu dan lompat ke label delay bila hasilnya tidak nol). Dari awal r1 sudah diisikan nilai 0, maka ketika pertama kali dikurang 1 hasilnya kan 256, itu berarti untuk melewati baris program ini, program akan memutar lagi dari label delay sebanyak 256 kali hingga akhirnya r1 kembali bernilai 0. Rutin delay akan dianggap selesai setelah ditemukan perintah ret, maka total waktu untuk mengeksekusi routrin delay adalah:

Tabel 4.1 Waktu Pengeksekuian Rutin Delay

Perintah Siklus Pengulangan Waktu (µs)

Mov

r0,#255 2 256 510

Djnz r0,$

2 255 x 256 130. 560

Djnz


(60)

Ret 1 1 1

Total 131.581

Jadi untuk mengerjakan satu rutin delay membutuhkan waktu selama 131.581 µs. Dengan demikian ditambah dengan perintah acall delay selama 2 µs maka LED akan hidup dan mati selama 131.583 µs atau sekitar 0,13 detik secara bergantian. Perintah sjmp kedip akan membuat program kembali mengulang dari label kedip, sehingga program ini berjalas secara terus-menerus. Saat program ini dieksekusi maka terlihat pada port3.7 LED berkedip terus-menerus. Dengan berjalannya program ini pada mikrokontroler, maka mikrokontroler telah dianggap bagus dan dapat digunakan pada penelitian selanjutnya.

4.2 Interfacing LCD 2x16

LCD dot matriks 2 x 16 karekater dapat dihubungkan langsung dengan mikrokontroler AT89S52, disini fungsi LCD adalah sebagai tampilah hasil pengukuran dan diberi beberapa keterangan. Pada penelitian ini LCD dihubungkan kemikrokontroler melalui Port 0 yang berfungsi bus data. Adapaun data yang dikirimkan oleh mikrokontroler merupakan kode ASCII data dalam bentuk bilangan biner, dimana data tersebut dapat diterjemahkan oleh LCD ke bentuk karakter.

Pengiriman data yang dari mikrokontroler diatur oleh pin EN, RS dan RW, Jalur EN dinamakan Enable. Jalur ini digunakan untuk memberi tahu LCD bahwa ada data yang sedang dikirimkan. Untuk mengirim data ke LCD, maka melalui program EN harus dibuat berlogika “low” dan set ‘high’ pada dua jalur kontrol yang lain (RS dan RW). Jalur RW adalah jalur kontrol Read/write. Ketika RW berlogika low (0), maka informasi pada bus akan dituliskan pada LCD. Ketika RW berlogika high (1), maka program melakukan pembacaan memori dari LCD. Dalam penelitian ini umumnya pin RW selalu diberikan logika low(0)


(61)

Dengan mengikuti keterangan diatas kita dapat membuat program untuk menampilkan karakter pada LCD. Program yang diisikan ke mikrokontroler untuk menampilkan karakter pada LCD adalah sebagai berikut:

Rs equ p2.7

Rw equ p2.6

En equ p2.5

LCD: mov A,#038H Acall scan Acall penampil Acall scan Mov a,#’F’ Acall kirim Mov a,#’I’ Acall kirim Mov a,#’S’ Acall kirim Mov a,#’I’ Acall kirim Mov a,#’K’ Acall kirim Mov a,#’A’ Acall kirim Sjmp LCD

penampil: mov A,#00CH acall scan mov A,#06H acall scan mov A,#080H acall scan ret

scan: mov P0,A clr rs clr rw setb en clr en acall delay ret

kirim: mov P0,A setb rs clr rw setb en clr en acall delay ret end

Program diatas akan menampilkan kata “FISIKA” di baris pertama dimulai dari kolom pertama pada LCD 2 x 16


(62)

Berikut adalah gambar rangkaian pengujian LCD:

Gambar 4.2. Rangkaian pengujian LCD

Pada penelitian ini, saat seluruh rangkaian diaktifkan, maka pada LCD akan tampil “Pengunjung ke:” sensor PIR akan mendeteksi jumlah pengunjung. Sedangkan pada baris kedua akan tampil “Level Kipas:” tulisan pada baris pertama dan kedua tampil secara bersamaan dan diperbaharui setiap ada pengunjung yang masuk dan ke luar.

4.3 Pengujian Rangkaian Relay

Pengujian rangkaian relay dapat dilakukan dengan memberikan tegangan 5 V dan 0 V pada basis transistor C945. Transistor C945 merupakan transistor jenis NPN, transistor jenis ini akan aktif jika pada basis diberi tegangan > 0,7 V dan tidak aktif jika pada basis diberi tegangan < 0,7 V. Aktifnya transistor akan mengaktifkan relay.


(63)

Gambar 4.3 Rangkaian Pengujian Relay

Pada alat ini relay digunakan untuk mengaktifkan/menonaktifkan kipas secara otomatis, dimana hubungan yang digunakan adalah normally open (NO), berarti relay aktif jika diberi input 5 V (high) dari mikrokontroler. Dengan demikian jika relay aktif maka kipas juga akan aktif, sebaliknya jika relay tidak aktif, maka kipas juga akan aktif.

Pengujian dilakukan dengan memberikan tegangan 5 V pada basis transistor, jika relay aktif dan kipas juga aktif, maka rangkaian ini telah berfungsi dengan baik. Pengujian selanjutnya dilakuka n dengan menghubungkan input rangkaian ini ke mikrokontroler pada P2.4 kemudian memberikan program sederhana pada mikrokontroler AT89S52. Program yang diberikan adalah sebagai berikut:

Setb P2.4

. . .

Perintah di atas akan memberikan logika high pada P2.4, sehingga P2.4 akan mendapatkan tegangan 5 V. Tegangan 5 V ini akan mengaktifkan transistor C945,


(64)

sehingga relay menjadi aktif dan kipas juga aktif. Berikutnya memberikan program sederhana untuk menonaktifkan relay. Programnya sebagai berikut:

Clr P2.4

. . .

Perintah di atas akan memberikan logika low pada P2.4, sehingga P2.4 akan mendapatkan tegangan 0 V. Tegangan 0 V ini akan menonaktifkan transistor C945, sehingga relay menjadi tidak aktif dan kipas juga tidak aktif.

4.4 Pengujian Sensor PIR (Passive Infra Red)

Pengujian sensor PIR dilakukan untuk mengetahui objek yang terdeksi dengan cara mengukur tegangan keluaran mengunakan multimeter digital dengan jarak yang berbeda dan sudut 0o dan 45 o yang berbeda. Adapun hasil pengujian dilakukan sebagai berikut:

Tabel 4.2 Hasil Pengujian Sensor PIR dengan sudut 0o

Jarak (cm)

Tegangan Keluaran

(Volt)

Keterangan Sensor

Keterangan Objek

30 5,01 Aktif High Mendeteksi Objek

60 5,00 Aktif High Mendeteksi Objek

90 5,01 Aktif High Mendeteksi Objek

120 5,00 Aktif High Mendeteksi Objek

150 5,01 Aktif High Mendeteksi Objek

180 5,01 Aktif High Mendeteksi Objek

210 4,99 Aktif High Mendeteksi Objek

240 4,98 Aktif High Mendeteksi Objek

270 5,02 Aktif High Mendeteksi Objek

300 5,00 Aktif High Mendeteksi Objek

330 5,00 Aktif High Mendeteksi Objek

360 4,79 Aktif High Mendeteksi Objek

390 4,75 Aktif High Mendeteksi Objek

420 4,97 Aktif High Mendeteksi Objek

450 4,63 Aktif High Mendeteksi Objek

480 4,46 Aktif High Mendeteksi Objek


(65)

Tabel 4.3 Hasil Pengujian Sensor PIR dengan sudut 45o Jarak (cm) Tegangan Keluaran (Volt) Keterangan Sensor Keterangan Objek

40 5,00 Aktif High Mendeteksi Objek

80 5,00 Aktif High Mendeteksi Objek

120 5,00 Aktif High Mendeteksi Objek

160 5,01 Aktif High Mendeteksi Objek

200 4,99 Aktif High Mendeteksi Objek

4.5 Pengujian rangkaian ADC ( Analog to Digital Converter )

Untuk mengetahui tingkat ketelitian ADC dalam mengkonversi input analog yang diberikan maka terlebih dahulu ADC tersebut harus di uji ketelitiannya. Langkah yang digunakan untuk menguji tigkat ketelitian ADC adalah dengan cara memberikan tegangan analog yang presisi. Untuk mendapatkan Tegangan analog yang presisi ini dapat digunakan power lab type LEADER DC Tracking Power Supply LPS152.

Setiap perubahan tegangan yang diberikan merupakan input bagi ADC yang akan diubah menjadi data digital. Proses perubahan tegangan input menjadi data digital dilakukan dengan cara:

faktor ADC V Vin Output =

sedangkan Vfaktor adalah : Vfaktor Vcc 5Volt 0,0196Volt

255 1 255 1 = × = × =

dengan data output dapat dihitung, misalnya jika Vin ADC = 0,5 Volt, maka:

5 , 25 0196 , 0 5 , 0 = = Volt Volt

Output , data yang diubah ke bilangan biner hanya bilangan

bulatnya saja. Berarti bilang biner yang dihasilkan oleh tegangan input ADC sebesar 0,5 Volt adalah (0001 1001).pada rangkaian pengujian, Output ADC melalui kaki DB0-DB7 dihubungkan dengan delapan buah led untuk mempermudah dalam pembacaan data.


(66)

Gambar 4.4 Rangkaian Pengujian ADC 0804

Pada tabel 4.4 berikut akan ditampilkan data biner yang di output-kan oleh ADC untuk setiap variasi tegangan yang di inputkan ke ADC, yang dihitung dengan cara yang sama seperti di atas.

Tabel 4.4 Tabel Data Hasil Pengujian ADC

Vin (V)

Data Out

ADC Biner Hex Dec

0 0 0000 0000 0h 0

25.5 0.5 0001 1001 19h 25

51 1 0011 0011 33h 51

76.5 1.5 0100 1000 48h 76

102 2 0110 0110 66h 102

127.5 2.5 0111 1111 7fh 127

153 3 1001 1001 99h 153

178.5 3.5 1011 0010 b2h 178


(67)

229.5 4.5 1110 0101 e5h 229

255 5 1111 1111 ffh 255

Pada gambar berikut akan ditampilkan grafik lineritas ADC 0804

Gambar 4.5 Grafik linearitas ADC

4.6 Pengujian Sensor Suhu IC LM35

Sensor suhu ini dikonfigurasikan untuk dapat mendeteksi suhu antara 0º C sampai 150º yang menunjukkan bahwa setiap kenaikan 10 mV mewakili kenaikan suhu 1ºC. Hasil pengukuran tegangan LM35 dan pengukuran suhu dengan termometer dalam tabel pengamatan berikut:

0 1 2 3 4 5 6

0 25.5 51 76.5 102 127.5 153 178.5 204 229.5 255


(68)

Tabel 4.5 Hasil Pengujian Sensor Suhu IC LM35

Suhu Temometer (oC)

Tegangan Keluaran LM35 (mV)

Konversi Tegangan Oleh IC LM 35 (oC)

5 55 5,5

10 112 11,2

15 160 16,0

20 199 19,9

25 241 24,1

30 293 29,3

35 346 34,6

40 393 39,3

45 441 44,1

50 489 48,9

4.7 Pengoperasian Alat

Adapun metode pengujian yang dilakukan dalam melakukan pegontrolan shu ruangan adalah sebagai berikut:

1. Mempersiapkan pelatan dalam melakukan pengukuran

2. Pengaturan jarak driver fotodioda (pemancar) dan fotodioda (penerima) ± 2 meter

3. Pengunjung pertama masuk ke dalam ruangan

4. Sensor PIR akan medekteksi ada pengunjung masuk ke dalam ruangan

Kemudian dilakukan pembacaan level kecepatan kipas dan jumlah orang yang masuk ke dalam ruangan pada LCD dan ditulis pada tabel

5. Jumlah pengunjung dibatasi hingga 20 orang dan LCD akan menampilkan

level kecepatan maksimum

6. Sensor Suhu IC LM 35 akan mendeteksi suhu ruangan setiap pertambahan

jumlah pengunjung

7. Kemudian dilakukan pengontrolan kipas dengan mengurangi jumlah


(1)

ACALL KIRIM ; memanggil subrutin KIRIM

dengan jangkauan 2 Kbyte

MOV A,#' ' ; masukkan karakter SPASI pada A

ACALL KIRIM ; memanggil subrutin KIRIM

dengan jangkauan 2 Kbyte

MOV A,#'K' ; masukkan karakter K pada A

ACALL KIRIM ; memanggil subrutin KIRIM

dengan jangkauan 2 Kbyte

MOV A,#'I' ; masukkan karakter I pada A

ACALL KIRIM ; memanggil subrutin KIRIM

dengan jangkauan 2 Kbyte

MOV A,#'P' ; masukkan karakter P pada A

ACALL KIRIM ; memanggil subrutin KIRIM

dengan jangkauan 2 Kbyte

MOV A,#'A' ; masukkan karakter A pada A

ACALL KIRIM ; memanggil subrutin KIRIM

dengan jangkauan 2 Kbyte

MOV A,#'S' ; masukkan karakter S pada A

ACALL KIRIM ; memanggil subrutin KIRIM

dengan jangkauan 2 Kbyte

MOV A,#' ' ; masukkan karakter SPASI pada A

ACALL KIRIM ; memanggil subrutin KIRIM

dengan jangkauan 2 Kbyte

MOV A,#0c0H ; masukan nilai 0c0h pada register

LCALL SCAN ; memanggil subrutin KIRIM

dengan jangkauan 64 Kbyte

MOV A,#' ' ; masukkan karakter SPASI pada A

ACALL KIRIM ; memanggil subrutin KIRIM

dengan jangkauan 2 Kbyte

MOV A,#' ' ; masukkan karakter SPASI pada A


(2)

dengan jangkauan 2 Kbyte

MOV A,#'M' ; masukkan karakter M pada A

ACALL KIRIM ; memanggil subrutin KIRIM

dengan jangkauan 2 Kbyte

MOV A,#'A' ; masukkan karakter A pada A

ACALL KIRIM ; memanggil subrutin KIRIM

dengan jangkauan 2 Kbyte

MOV A,#'K' ; masukkan karakter K pada A

ACALL KIRIM ; memanggil subrutin KIRIM

dengan jangkauan 2 Kbyte

MOV A,#'S' ; masukkan karakter S pada A

ACALL KIRIM ; memanggil subrutin KIRIM

dengan jangkauan 2 Kbyte

MOV A,#'I' ; masukkan karakter I pada A

ACALL KIRIM ; memanggil subrutin KIRIM

dengan jangkauan 2 Kbyte

MOV A,#'M' ; masukkan karakter M pada A

ACALL KIRIM ; memanggil subrutin KIRIM

dengan jangkauan 2 Kbyte

MOV A,#'A' ; masukkan karakter A pada A

ACALL KIRIM ; memanggil subrutin KIRIM

dengan jangkauan 2 Kbyte

MOV A,#'L' ; masukkan karakter L pada A

ACALL KIRIM ; memanggil subrutin KIRIM

dengan jangkauan 2 Kbyte

MOV A,#' ' ; masukkan karakter SPASI pada A

ACALL KIRIM ; memanggil subrutin KIRIM

dengan jangkauan 2 Kbyte

MOV A,#' ' ; masukkan karakter SPASI pada A

ACALL KIRIM ; memanggil subrutin KIRIM

dengan jangkauan 2 Kbyte


(3)

ACALL KIRIM ; memanggil subrutin KIRIM

dengan jangkauan 2 Kbyte

MOV A,#' ' ; masukkan karakter SPASI pada A

ACALL KIRIM ; memanggil subrutin KIRIM

dengan jangkauan 2 Kbyte

MOV A,#' ' ; masukkan karakter SPASI pada A ACALL KIRIM ; memanggil subrutin KIRIM

dengan jangkauan 2 Kbyte

MOV A,#' ' ; masukkan karakter SPASI pada A ACALL KIRIM ; memanggil subrutin KIRIM

dengan jangkauan 2 Kbyte

LCALL DELAY ; memanggil subrutin DELAY

dengan jangkauan 64 Kbyte

ret ; program berhenti untuk program

lcd2

PENAMPIL: MOV A,#00CH ;isikan data 00ch pada register A LCALL SCAN ;memanggil subrutin SCAN

dengan jangkauan 46 Kbyte

MOV A,#006H ;isikan data 006h pada register A LCALL SCAN ;memanggil subrutin SCAN

dengan jangkauan 46 Kbyte

MOV A,#080H ;isikan data 080h pada register A

LCALL SCAN ; memanggil subrutin SCAN

dengan jangkauan 46 Kbyte

RET ; program berhenti untuk program

SCAN: MOV P0,A ; isikan data p0 pada register A CLR RS ;aktifkan logika low(0) pada P2.5 CLR RW ;aktifkan logika low(0) pada p2.6 SETB EN ; data pada p2.7 berlogika high


(4)

LCALL delay ; memanggil subrutin DELAY

dengan jangkauan 46 Kbyte

RET ; program berhenti untuk program Scan

KIRIM: MOV P0,A ; isikan data p0 pada register A

SETB RS ; data pada p2.5 berlogika high CLR RW ;aktifkan logika low(0) pada p2.6

SETB EN ; data pada p2.7 berlogika high

EN ; aktifkan logika low(0)pada p2.7

LCALL delay ; memanggil subrutin DELAY

dengan jangkauan 46 Kbyte

RET ; program berhenti untuk program Kirim.

delay: ; program utama delay

mov r5,#0 ; isikan data 0 pada register 5

djnz r5,$ ; isi R5 dikurangi 1 jika tidak

sama dengan 0 maka akan tetap berjalan pada delay

ret ; program berhenti untuk program

delay

delaymax: ;program utama delaymax

acall delay ; memanggil subrutin DELAY

dengan jangkauan 2 Kbyte

djnz r7,delaymax ; intruksi yang akan mengurangi 1 nilai register 7 dan akan

melompat ke memori program loop1 jika setelah pengurangan belum dihasilkan 0 dengan delaymax


(5)

nilai register 6 dan akan melompat ke memori program loop1 jika setelah pengurangan belum dihasilkan 0 dengan delaymax

mov r6,#10 ;isikan data 10 pada register 6

ret ; program berhenti untuk program


(6)