• Tidak ada hasil yang ditemukan

Rancang Alat Penghitung Orang Keluar/Masuk Pada Suatu Ruangan Menggunakan Fotodioda Berbasis Mikrokontroler AT89S52

N/A
N/A
Protected

Academic year: 2016

Membagikan "Rancang Alat Penghitung Orang Keluar/Masuk Pada Suatu Ruangan Menggunakan Fotodioda Berbasis Mikrokontroler AT89S52"

Copied!
76
0
0

Teks penuh

(1)

RANCANG ALAT PENGHITUNG ORANG KELUAR/MASUK

PADA SUATU RUANGAN MENGGUNAKAN FOTODIODA

BERBASIS MIKROKONTROLER AT89S52

TUGAS AKHIR

DEBBY Z BEGRIPPEN SILABAN 052408002

PROGRAM STUDI DIPLOMA III FISIKA INSTRUMENTASI

DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA

(2)

RANCANG ALAT PENGHITUNG ORANG KELUAR/MASUK

PADA SUATU RUANGAN MENGGUNAKAN FOTODIODA

BERBASIS MIKROKONTROLER AT89S52

TUGAS AKHIR

Diajukan untuk melengkapi tugas dan memnuhi syarat mencapai gelar Ahli Madya

DEBBY Z BEGRIPPEN SILABAN 052408002

PROGRAM STUDI DIPLOMA III FISIKA INSTRUMENTASI

DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA

(3)

PERSETUJUAN

Judul :RANCANG ALAT PENGHITUNG ORANG

KELUAR/MASUK PADA SUATU RUNGAN MENGGUNAKAN FOTODIODA BERBASIS MIKROKONTROLER AT89S52

Kategori :TUGAS AKHIR

Nama :DEBBY. Z. BEGRIPPEN SILABAN

Nomor Induk Mahasiswa :052408002

Program Studi : AHLI MADYA (D3) FISIKA INSTRUMENTASI

Departemen : FISIKA

(4)

PERNYATAAN

RANCANG ALAT PENGHITUNG ORANG KELUAR.MASUK PADA SUATU RUANGAN MENGGUNAKAN FOTODIODA BERBASIS MIKROKONTROLER

AT89S52

TUGAS AKHIR

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

Medan, Juli 2008

(5)

PENGHARGAAN

Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Pemurah dan Maha Penyayang, dengan limpah karunia-Nya kertas kajian ini berhasil diselesaikan dalam waktu yang telah ditetapkan

(6)

DAFTAR ISI 1.1 Latar Belakang Penulisan ... 1

1.2 Rumusan Masalah ... 2

1.3 Tujuan Penulisan... 3

1.4 Batasan Masalah ... 3

1.5 Sistematika Penulisan ... 3

BAB 2 Tinjauan Teoritis 2.1 Mikrokontroler AT89S52 ... 6

2.1.1 Konstruksi AT89S52 ... 8

2.1.2 Pin-Pin pada Mikrokontroler AT89S52... 10

2.2 Bahasa Assembly MCS-51 ... 18

2.3 Software 8051 Editor, Assembler, Simulator ... 22

2.4 Software Downloader ... 23

2.5 Sensor Infra Merah ... 24

2.5.1 Dioda Pemancar Infra Merah... 26

2.6 Pencacah ... 28

BAB 3 Perancangan Alat dan Cara Kerja 3.1 Diagram Blok Rangkaian... 32

3.2 Flowchart Program... 33

3.3 Perancangan Program ... 34

3.4 Perancangan Power Supply (PSA)... 36

(7)

3.7 Rangkaian Sensor... 41

BAB 4 Pengujian Alat dan Program 4.1 Pengujian Rangkaian Power Supply (PSA) ... 45

4.2 Pengujian Rangkaian Mikrokontroler AT89S52 ... 45

4.3 Pengujian Rangkaian Sensor Gerak... 47

4.4 Pengujian Rangkaian Display Seven Segment ... 49

BAB 5 Kesimpulan dan Saran 5.1 Kesimpulan ... 53

5.2 Saran ... 53

(8)

DAFTAR GAMBAR

Halaman

Gambar 2.1 Pinout AT89S52... 10

Gambar 2.2 8051 Editor, Assembler, Simulator... 22

Gambar 2.3 ISP Flash-Programer 3.0a ... 23

Gambar 2.4 Simbol dan rangkaian sebuah LED... 27

Gambar 2.5 Pencacah dengan menggunakan flip-flop JK... 30

Gambar 3.1 Diagram blok rangkaian... 32

Gambar 3.2 Flowchart program ... 33

Gambar 3.3 Rangkaian power supply (PSA) ... 37

Gambar 3.4 Rangkaian mikrokontroler AT889S51/52... 38

Gambar 3.5 Rangkaian Display Seven Segment ... 40

Gambar 3.6 Rangkaian Pemancar Infra Merah... 42

(9)

DAFTAR TABEL

Halaman

Tabel 2.1 Susunan bit dalam register TCON ... 16

Tabel 2.2 Susunan bit dalam register TMOD ... 16

Tabel 2.3 Mode Operasi Timer/Counter ... 17

Tabel 2.4 Konversi Biner Murni dan Biner BCD ... 29

Tabel 4.1 Siklus waktu tunda... 47

(10)

BAB I

PENDAHULUAN

1.1. Latar Belakang Penulisan

Dalam kurun waktu singkat perkembangan teknologi melaju dengan sangat pesat.

Perkembangan teknologi ini merupakan hasil kerja keras dari rasa ingin tahu manusia

terhadap suatu hal yang pada akhirnya diharapkan akan mempermudah manusia.

Dengan pesatnya laju perkembangan teknologi tersebut banyak bermunculan alat-alat

yang canggih yang dapat bekerja secara otomatis.

Dalam bidang elektronika, perlahan-lahan peralatan-peralatan manual mulai

digantikan dengan peralatan elektronik yang dapat bekerja secara otomatis. Contohnya

dibidang penghitung jumlah orang yang masuk dan keluar pada suatu ruangan.

Awalnya untuk menghitung jumlah orang yang masuk ke dalam suatu ruangan

tertentu yang digunakan adalah dengan menggunakan tulisan tangan dan mengisi

(11)

dari beberapa lampu/LED yang disusun sedemikian rupa sehingga dapat membentuk

angka-angka tertentu.

Pada display papan elektronik ini, untuk menambahkan nilainya, maka operator

harus menekan tombol-tombol tertentu sehingga dengan demikian angka pada display

akan bertambah sesuai dengan jumlah orang yang masuk.

Untuk lebih memudahkan, maka sebaiknya display penghitung jumlah orang

yang masuk ini dilengkapi dengan sensor tertentu yang dapat mendeteksi/ mengetahui

ketika ada orang yang masuk ke dalam ruangan, dan secara otomatis menambahkan

angka pada display. Untuk dapat mengolah sinyal yang dikirimkan oleh sensor dan

manambahkan angka pada display, maka dibutuhkan pula rangkaian pengolah sinyal

dan rangkaian penghitung, dalam hal ini digunakan sebuah mikrokontroler.

1.2. Rumusan Masalah

Mengacu pada hal diatas, pada tugas akhir ini saya akan merancang penghitung

jumlah orang yang masuk dan keluar secara otomatis berbasis mikrokontroler

(12)

Pada alat ini akan digunakan beberapa sensor yang diletakkan pada pintu masuk

dan keluar, sehingga ketika ada orang yang masuk, maka sensor tersebut dapat

mendeteksinya. Untuk dapat mengolah sinyal yang dikirimkan oleh sensor, maka

digunakan sebuah mikrokontroler, dalam hal ini mikrokontroler yang digunakan

adalah mikrokontroler AT89S52.

1.3 Tujuan Penulisan

Tujuan dilakukan Laporan Proyek ini adalah sebagai berikut:

1. Memanfaatkan mikrokontroller sebagai alat pengolah sinyal yang dikirimkan

oleh sensor dan menampilkannya dalam bentuk bilangan/angka.

2. Memanfaatkan LED infra merah dan potodioda sebagai sensor penghitung

(proximity sensor).

3. Merancang display penampil jumlah orang yang berada dala suatu ruangan.

(13)

Mengacu pada hal diatas, saya akan merancang display papan skor bola basket

berbasis mikrokontroler AT89S52, dengan batasan-batasan sebagai berikut :

1. Mikrokontroler yang digunakan adalah jenis AT89S52.

2. Sensor yang digunakan adalah LED infra merah dan fotodioda.

3. Untuk menampilkan angka digunakan beberapa seven segmen.

I.5 Sistematika Penulisan

Untuk mempermudah pembahasan dan pemahaman maka penulis membuat

sistematika pembahasan bagaimana sebenarnya prinsip kerja penghitung jumlah orang

yang masuk dan keluar berbasis mikrokontroler AT89S52, maka penulis menulis

laporan ini sebagai berikut:

BAB I. PENDAHULUAN

Dalam bab ini berisikan mengenai latar belakang, rumusan masalah,

tujuan penulisan, batasan masalah, serta sistematika penulisan.

BAB II. LANDASAN TEORI

Landasan teori, dalam bab ini dijelaskan tentang teori pendukung yang

(14)

pendukung itu antara lain tentang mikrokontroler AT89S52 (hardware

dan software), bahasa program yang digunakan. serta karekteristik dari

komponen-komponen pendukung.

BAB III. PERANCANGAN ALAT DAN PROGRAM

Pada bagian ini akan dibahas perancangan dari alat, yaitu diagram blok

dari rangkaian, skematik dari masing-masing rangkaian dan diagram

alir dari program yang akan diisikan ke mikrokontroler AT89S52.

BAB IV. ANALISA RANGKAIAN DAN SISTEM KERJA ALAT

Pada bab ini akan dibahas hasil analisa dari rangkaian dan sistem kerja

alat, penjelasan mengenai program-program yang digunakan untuk

mengaktipkan rangkaian, penjelasan mengenai program yang diisikan

ke mikrokontroler AT89S52.

BAB V. KESIMPULAN DAN SARAN

(15)

rangkaian ini dapat dibuat lebih efisien dan dikembangkan

perakitannya pada suatu metode lain yang mempunyai sistem kerja

(16)

BAB II

TINJAUAN TEORITIS

2.1. Mikrokontroler AT89S52

Mikrokontroler, sebagai suatu terobosan teknologi mikrokontroler dan

microkomputer, hadir memenuhi kebutuhan pasar (market need) dan teknologi baru.

Sebagai teknologi baru, yaitu teknologi semi konduktor 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 microprocessor). Sebagai kebutuhan pasar, mikrokontroler hadir untuk

memenuhi selera industri dan para konsumen akan kebutuhan dan keinginan alat-alat

bantu dan mainan yang lebih canggi serta dalam bidang pendidikan.

Tidak seperti sistem komputer, yang mampu menangani berbagai macam

(17)

Microkontroler hanya bisa digunakan untuk satu aplikasi tertentu saja. Perbedaan

lainnya terletak pada perbandingan RAM dan ROM-nya. Pada sistem komputer

perbandingan RAM dan ROM-nya besar, artinya program-program pengguna

disimpan dalam ruang RAM yang relatif besar, sedangkan rutin-rutin antar muka

perangkat keras disimpan dalam ruang ROM yang kecil. Sedangkan pada

mikrokontroler, perbandingan ROM dan RAM-nya yang besar artinya program

control disimpan dalam ROM yang ukurannya relatif lebih besar, sedangkan RAM

digunakan sebagai tempat penyimpanan sederhana sementara, termasuk

register-register yang digunakan pada microkontroler yang bersangkutan. Mikrokontroler

AT89S52 ialah mikrokomputer CMOS 8 bit dengan 8KB Flash Programmable dan

Erasable Read Only Memory (PEROM). Mikrokontroler berteknologi memori non volatile kerapatan tingi dari Atmel ini kompatibel dengan mikrokontroler standar

industri MCS-51 baik pin kaki IC maupun set instruksinya serta harganya yang cukup

murah. Oleh karena itu, sangatlah tepat jika kita mempelajari mikrokontroler jenis ini.

Anda juga diharapkan mempelajari versi lainnya yang berdasarkan pengalaman

penulis lebih cepat di dalam pengisian program yaitu AT89S8252.

Spesifikasi penting AT89S52 :

(18)

b. 8 K Bytes In system Programmable (ISP) flash memori dengan kemampuan 1000 kali baca/tulis

c. tegangan kerja 4-5.0V

d. Bekerja dengan rentang 0 – 33MHz e. 256x8 bit RAM internal

f. 32 jalur I/0 dapat diprogram g. 3 buah 16 bit Timer/Counter h. 8 sumber interrupt

i. saluran full dupleks serial UART j. watchdog timer

k. dual data pointer

l. Mode pemrograman ISP yang fleksibel (Byte dan Page Mode)

2.1.1 Kontruksi AT89S52

Mikrokontroler AT89S52 hanya memerlukan tambahan 3 kapasitor, 1 resistor dan 1

kristal serta catu daya 5 volt. Kapasitor 10 micro-fard dan resistor 10 kilo Ohm

dipakai untuk membentuk rangkaian riset. Dengan adanya rangkaian riset ini

(19)

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

dengan keperluannya, dalam susunan MCS-51 memori penyimpanan program ini

dinamakan sebagai memori program. Random Access Memory (RAM) isinya akan

sirna begitu IC kehilangan catu daya, dipakai untuk menyimpan data pada saat

program bekerja. RAM yang dipakai untuk menyimpan data ini disebut sebagai

memori data.

Ada berbagai jenis ROM. Untuk Mikrokontroler dengan program yang sudah

baku dan diproduksi secara masal, program diisikan kedalam ROM pada saat IC

Mikrokontroler dicetak dipabrik IC. Untuk keperluan tertentu Mikrokontroler

menggunakan ROM yang dapat diisi ulang atau Programble-Eraseable ROM yang

disingkat menjadi PROM (PEROM). Dulu banyak UV-EPROM (Ultra Violet

Eraseable Programble ROM) yang kemudian dinilai mahal dan ditinggalkan setelah

(20)

Jenis memori yang dipakai untuk memori program AT89S52 adalah flash

PEROM, program untuk mengendalikan Mikrokontroler diisikan ke memori itu lewat

bantuan alat yang dinamakan sebagai AT89C4051 flash PEROM Programmer.

Memori data yang disediakan dalam chip AT89s52 sebesar 128 kilo byte meskipun

hanya kecil saja tapi untuk banyak keperluan memori kapasitas itu sudah cukup.

AT89S52 dilengkapi UART (Universal Asyncronous Receiver/Transmiter) yang

biasa dipakai untuk komunikasi data secara seri. Jalur untuk komunikasi data seri

(RXD dan TXD) diletakkan berhimpitan dengan P1.0 dan P1.1. pada kaki nomor 2

dan 3, sehingga kalau sarana input/output 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/output paralel kalau T0

dan T1 dipakai.

AT89S52 mempunyai enam sumber pembangkit interupsi, dua diantaranya

adalah sinyal interupsi yang diumpankan ke kaki INT0 dan INT1. Kedua kaki ini

berhimpitan dangan P3.2 dan P3.3 sehingga tidak bisa dipakai sebagai jalur

(21)

Port1 dan 2, UART, Timer 0, Timer 1 dan sarana lainnya merupakan yang

secara fisik merupakan RAM khusus, yang ditempatkan di Special Function Register

(SFR).

2.1.2. Pin-Pin pada Microcontroller AT89S52

Mikrokontroler tersebut mempunyai 40 kaki, 32 kaki di antaranya adalah kaki untuk

keperluan port paralel. Tiap port paralel terdiri dari 8 kaki, dengan demikian 32 kaki

tersebut membentuk 4 buah port paralel, yang masing–masing dikenal sebagai Port 0,

Port 1, Port 2 dan Port 3. Nomor dari masing–masing jalur (kaki) dari port paralel

mulai dari dari 0 sampai 7, jalur (kaki) pertama Port 0 disebut sebagai P0.0 dan jalur

(22)

Gambar 2.1 Pinout AT89S52

Fungsi-fungsi pin AT89S52 adalah:

a. VCC : Sumber tegangan

b. GND : Ground atau pentanahan

c. RST : Masukan reset. Kondisi '1' selama 2 siklus mesin selama osilator bekerja

(23)

d. ALE / PROG : Keluaran ALE atau Adreess Latch Enable menghasilkan pulsa–

pulsa untuk mengancing byte rendah (low byte) alamat selama mengakses memori

eksternal. Kaki ini juga berfungsi sebagai masukan pulsa program (the program pulse

input) atau PROG selama pemrograman flash . Pada operasi normal, ALE akan

berpulsa dengan laju 1/6 dari frekuensi kristal dan dapat digunakan sebagai pewaktuan

(timing) atau pendetakan (clocking) rangkaian eksternal. Catatan, ada satu pulsa yang

dilompati selama selama pengaksesan memori data eksternal. Jika dikehendaki,

operasi ALE bisa dimatikan dengan cara mengatur bit 0 dari SFR lokasi 8Eh. Jika

isinya '1', ALE hanya akan aktif selama dijumpai instruksi MOVX atau MOVC.

Selain itu, kaki ini akan secara lemah di-pulled high . Mematikan bit ALE tidak akan

ada efeknya jika mikrokontroler mengeksekusi program secara eksternal.

e. PSEN : Program Store Enable merupakan sinyal baca untuk memori program

eksternal. Saat mikrokontroler menjalankan program dari memori eksternal, PSEN

akan diaktifkan dua kali per siklus mesin, kecuali dua aktivasi PSEN dilompati

(diabaikan) saat mengakses memori data eksternal.

f. EA/VPP : External Access Enable . EA harus selalu dihubungkan ke- ground , jika

mikrokontroler akan mengeksekusi program dari memori eksternal lokasi 0000h

hingga FFFFh. Selain dari itu, EA harus dihubungkan ke VCC agar mikrokontroler

(24)

lokasi 2000h sampai FFFFh pada memori eksternal. Kaki ini juga berfungsi menerima

tegangan 12 Volt (VPP) selama pemrograman flash, khususnya untuk tipe

mikrokontroler 12 Volt VPP.

Spesifikasi Masing-masing Port

Keempat port pada mikrokontroler bersifat dwi-arah dan masing-masing memiliki

sebuah pengancing (latch), yang diacu dalam program sebagai Register Fungsi

Khusus (RFK atau SFR) sebagai P0, P1, P2 dan P3. Selain itu juga memiliki sebuah

penggerak keluaran (output driver) dan sebuah penyangga masukan (input buffer)

pada masing-masing kaki port.

Penggerak–penggerak keluaran Port 0 dan 2 serta penyangga masukan dari Port 0

digunakan dalam pengaksesan memori eksternal. Pada aplikasi semacam ini, Port 0

mengeluarkan byte rendah alamat memori eksternal, dimultipleks secara waktu

dengan byte yang akan dituliskan atau dibaca (ke/dari memori eksternal). Port 2

mengeluarkan byte tinggi dari alamat memori eksternal jika lebar alamatnya 16-bit,

selain itu kaki–kaki Port 2 tetap meneruskan menghasilkan isi SFR dari P2. Berikut ini

akan dijelaskan masing–masing port pada mikrokontroler.

(25)

Port 0 merupakan keluaran/masukan (I/O) bertipe open drain bidirectional . Sebagai

port keluaran, masing–masing kaki dapat menyerap arus (sink) delapan masukan TTL

(sekitar 3,8 mA). Pada saat '1' dituliskan ke kaki– kaki Port 0 ini, maka kaki–kaki Port

0 dapat digunakan sebagai masukan– masukan berimpedansi tinggi.

Jika Port 0 dapat dikonfigurasikan sebagai bus alamat/data bagian rendah (low byte)

selama proses pengaksesan memori data dan program eksternal. Jika digunakan dalam

mode ini Port 0 memiliki pullup internal.

Port 0 juga menerima kode–kode yang dikirim kepadanya selama proses

pemrograman dan mengeluarkan kode–kode selama proses varifikasi program yang

telah tersimpan dalam flash. Dalam hal ini dibutuhkan pullup eksternal selama proses

verifikasi program.

Port 1

Port 1 merupakan I/O dwi–arah yang dilengkapi dengan pullup internal. Penyangga

keluaran Port 1 mampu memberikan/menyerap arus empat masukan TTL (sekitar 1,6

(26)

Jika '1'dituliskan ke kaki–kaki Port 1, maka masing–masing kaki akan di-pulled high

dengan pullup internal sehingga dapat digunakan sebagai masukan. Sebagai masukan,

jika kaki–kaki Port 1 dihubungkan ke ground (di-low pulled), maka masing–masing

kaki akan memberikan arus (source) karena di-pulled high secara internal. Port 1 juga

menerima alamat bagian rendah (low byte) selama pemrograman dan verifikasi flash.

Port 2

Port 2 merupakan I/O dwi–arah yang dilengkapi dengan pullup internal. Penyangga

keluaran port 1 mampu memberikan/menyerap arus empat masukan TTL (sekitar 1,6

mA).

Jika '1' dituliskan ke kaki–kaki Port 2, maka masing–masing kaki akan di-pulled high

dengan pullup internal sehingga dapat digunakan sebagai masukan. Sebagai masukan,

jika kaki–kaki Port 2 dihubungkan ke ground (di-pulled low), maka masing–masing

kaki akan memberikan arus (source) karena di-pulled high secara internal.

Port 2 akan memberikan byte alamat bagian tinggi (high byte) selama pengambilan

(27)

ingin mengirimkan '1', maka digunakan pullup internal yang sudah disediakan. Selama

pengaksesan memori data eksternal yang menggunakan perintah dengan alamat 8-bit,

Port 2 akan mengirimkan isi dari SFR P2. Port 2 juga menerima alamat bagian tinggi

selama pemrograman dan verifikasi flash.

Port 3

Port 3 merupakan port I/O dwi–arah dengan dilengkapi pullup internal. Penyangga

keluaran Port 3 mampu memberikan/menyerap arus empat masukan TTL (sekitar 1,6

mA).

Jika '1' dituliskan ke kaki–kaki port 3, maka masing–masing kaki akan di-pulled high

dengan pullup internal sehingga dapat digunakan sebagai masukan. Sebagai masukan,

jika kaki–kaki port 3 dihubungkan ke ground (di-pulled low), maka masing–masing

kaki akan memberikan arus (source) karena di-pulled high secara internal.

Port 3, sebagaimana Port 1, memiliki fungsi–fungsi alternatif antara lain menerima

sinyal–sinyal kontrol (P3.6 dan P3.7), bersama–sama dengan port 2 (P2.6 dan P2.7)

selama pemrograman dan verifikasi flash.

(28)

Keluarga mikrokontroler MCS51 dilengkapi dengan tiga perangkat Timer/Counter,

masing-masing dinamakan sebagai Timer/Counter 0, Timer/Counter 1, dan Timer 2.

Untuk mengakses Timer/Counter tersebut digunakan register khusus yang tersimpan

dalam Special Function Register (SFR). Pencacah biner Timer 0 diakses melalui

register TL0 (Timer 0 Low Byte , memori internal alamat 6Ah) dan register TH0

(Timer 0 High Byte , memori internal alamat 6Ch). Pencacah biner Timer 1 diakses

melalui register TL1 (Timer 1 Low Byte , memori internal alamat 6Bh) dan register

TH1 (Timer 1 High Byte , memori internal alamat 6Dh).

Pencacah biner Timer/Counter pada MCS51 merupakan pencacah biner 16 bit naik

(count up binary counter) yang mencacah 0000h sampai FFFFh, saat kondisi

pencacah berubah dari FFFFh kembali ke 0000h akan timbul sinyal berlebihan

(overflow ).

Untuk mengatur kerja Timer/Counter tersebut digunakan 2 register tambahan, yaitu

register TCON (Timer Control Register), memori data internal alamat 88h, bisa diberi

alamat per bit). Dan register TMOD (Timer Mode Register , memori data internal

(29)

Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

TF1 TR1 TF0 TR0 1E1 1T1 1E0 1T0

Tabel 2.1. Susunan bit dalam register TCON

a. TF1 : overflow flag Timer 1/Counter 1 (1 = overflow)

b. TR1 : Enable Timer 1/Counter 1

c. TF0 : overflow flag Timer 0/Counter 0 (1 = overflow)

d. TR0 : Enable Timer 0/Counter 0

e. IE1 : External Interrupt 1 edge flag

f. IT1 : Interrupt 1 type control bit . Set/clear oleh program untuk menspesifikasi

sisi turun/level rendah trigger dari interupsi eksternal.

g. IE0 : External Interrupt 0 edge flag

h. IT0 : Interrupt 0 type control bit . Set/clear oleh program untuk menspesifikasi

sisi turun/level rendah trigger dari interupsi eksternal.

Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

GATE CT M1 M0 GATE CT M1 M0

(30)

a. GATE : merupakan bit pengatur sinyal detak. Jika GATE = 0, Timer/Counter

akan berjalan saat TR0 atau TR1 pada register TCON (TRx) = 1. Jika GATE =

1, Timer/Counter akan berjalan saat TRx = 1 atau INT1 untuk Timer 1 dan INT0

untuk Timer 0 (INTx) = 1.

b. C/T : dipakai untuk mengatur sumber sinyal detak yang diberikan kepada

pencacah biner. Jika C/T = 0, maka Timer akan aktif dengan sinyal detak

diperoleh dari osilator kristal yang frekuensinya sudah dibagi 12. Jika C/T = 1,

maka Counter akan aktif dengan sinyal detak diperoleh dari kaki T0 (untuk

Timer 0) dan kaki T1 (untuk Timer 1).

c. M0 dan M1 : dipakai untuk menentukan Mode Timer/Counter.

MI M0 Mode Operasi

0 0 0 Timer Counter 13 bit

0 1 1 Timer Counter 16 bit

1 0 2 Timer auto reload 8 bit

1 1 3 TL0 adalah timer Counter 8 bit

yang dikontrol oleh control bit

Timer 0 (TF0)

TH0 adalah timer counter 8 bit

(31)

timer 1 (TF1)

Tabel 2.3 Mode Operasi Timer/Counter

Untuk menghitung clock frequency adalah menggunakan perhitungan berikut :

Sehingga, dengan menggunakan Mode 1 dapat dihitung waktu tunda yang diperlukan

dengan perhitungan berikut :

Delay = ( 65536 - n ) x T

(32)

Bahasa yang digunakan untuk memprogram IC mikrokontroler AT89C4051 adalah

bahasa assembly untuk MCS-51. angka 51 merupakan jumlah instruksi pada bahasa

ini hanya ada 51 instruksi, antara lain yaitu :

1. Instruksi MOV

Perintah ini merupakan perintah untuk mengisikan nilai ke alamat atau register

tertentu. Pengisian nilai dapat secara langsung atau tidak langsung.

Contoh pengisian nilai secara langsung

MOV R0,#20h

Perintah di atas berarti : isikan nilai 20 Heksadesimal ke register 0 (R0).

Tanda # sebelum bilangan menunjukkan bahwa bilangan tersebut adalah nilai.

Contoh pengisian nilai secara tidak langsung

MOV 20h,#80h

...

...

MOV R0,20h

Perintah di atas berarti : isikan nilai yang terdapat pada alamat 20

Heksadesimal ke register 0 (R0).

Tanpa tanda # sebelum bilangan menunjukkan bahwa bilangan tersebut adalah

(33)

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

meneruskan ke perintah pada baris berikutnya.

3. Instruksi ACALL

Instruksi ini berfungsi untuk memanggil suatu rutin tertentu. Contoh :

...

Instruksi RETURN (RET) ini merupakan perintah untuk kembali ke rutin

pemanggil setelah instruksi ACALL dilaksanakan. Contoh,

(34)

...

TUNDA:

...

RET

5. Instruksi JMP (Jump)

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

Loop:

...

...

JMP Loop

6. Instruksi JB (Jump if bit)

Instruksi ini merupakan perintah untuk lompat ke alamat tertentu, jika pin yang

dimaksud berlogika high (1). Contoh,

Loop:

JB P1.0,Loop

...

7. Instruksi JNB (Jump if Not bit)

(35)

Loop:

JNB P1.0,Loop

...

8. Instruksi CJNZ (Compare Jump If Not Equal)

Instruksi ini berfungsi untuk membandingkan nilai dalam suatu register

dengan suatu nilai tertentu. Contoh,

Loop:

...

CJNE R0,#20h,Loop

...

Jika nilai R0 tidak sama dengan 20h, maka program akan lompat ke rutin

Loop. Jika nilai R0 sama dengan 20h,maka program akan melanjutkan

instruksi selanjutnya..

9. Instruksi DEC (Decreament)

Instruksi ini merupakan perintah untuk mengurangi nilai register yang

dimaksud dengan 1. Contoh,

MOV R0,#20h R0 = 20h

...

DEC R0 R0 = R0 – 1

(36)

10.Instruksi INC (Increament)

Instruksi ini merupakan perintah untuk menambahkan nilai register yang

dimaksud dengan 1. Contoh,

MOV R0,#20h R0 = 20h

...

INC R0 R0 = R0 + 1

...

11.Dan lain sebagainya

2.3 Software 8051 Editor, Assembler, Simulator

Instruksi-instruksi yang merupakan bahasa assembly tersebut dituliskan pada sebuah

(37)

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.4 Software Downloader

Untuk mengirimkan bilangan-bilangan heksadesimal ini ke mikrokontroller digunakan

software ISP- Flash Programmer 3.0a yang dapat didownload dari internet.

(38)

Gambar 2.3 ISP- Flash Programmer 3.0a

Cara menggunakannya adalah dengan meng-klik Open File untuk mengambil

file heksadesimal dari hasil kompilasi 8051IDE, kemudian klik Write untuk

mengisikan hasil kompilasi tersebut ke mikrokontroler.

2.5Sensor Infra Red

Sinar infra merah yang dipancarkan oleh pemancar infra merah tentunya mempunyai

aturan tertentu agar data yang dipancarkan dapat diterima dengan baik di receiver.

Oleh karena itu baik di transmitter infra merah maupun receiver infra merah harus

(39)

menerima sinyal tersebut kemudian mendekodekannya kembali menjadi data biner

(bagian receiver).

Komponen yang dapat menerima infra merah ini merupakan komponen yang peka

cahaya yang dapat berupa dioda (photodioda) atau transistor (phototransistor).

Komponen ini akan merubah energi cahaya, dalam hal ini energi cahaya infra merah,

menjadi pulsa-pulsa sinyal listrik. Komponen ini harus mampu mengumpulkan sinyal

infra merah sebanyak mungkin sehingga pulsa-pulsa sinyal listrik yang dihasilkan

kualitasnya cukup baik. Semakin besar intensitas infra merah yang diterima maka

sinyal pulsa listrik yang dihasilkan akan baik jika sinyal infra merah yang diterima

intensitasnya lemah maka infra merah tersebut harus mempunyai pengumpul cahaya

(light collector) yang cukup baik dan sinyal pulsa yang dihasilkan oleh sensor infra

merah ini harus dikuatkan. Pada prakteknya sinyal infra merah yang diterima

intensitasnya sangat kecil sehingga perlu dikuatkan.

Selain itu agar tidak terganggu oleh sinyal cahaya lain maka sinyal listrik yang

dihasilkan oleh sensor infra merah harus difilter pada frekuensi sinyal carrier yaitu

pada 30 KHz sampai 40 KHz. Selanjutnya baik photodioda maupun phototransistor

disebut sebagai photodetector. Dalam penerimaan infra merah, sinyal ini merupakan

sinyal infra merah yang termodulasi. Pemodulasian sinyal data dengan sinyal carrier

(40)

Sebuah photodioda, biasanya mempunyai karakteristik yang lebih baik daripada

phototransistor dalam responnya terhadap cahaya infra merah. Biasanya photo dioda

mempunyai respon 100 kali lebih cepat daripada phototransistor. Oleh sebab itulah

para designer cenderung menggunakan photodioda daripada menggunakan

phototransistor. Tetapi sebuah phototransistor tetap mempunyai keunggulan yaitu

mempunyai kemampuan untuk menguatkan arus bocor menjadi ratusan kali jika

dibandingkan dengan photodiode. Faktor lain yang juga berpengaruh pada

kemampuan penerima infra merah adalah ‘active area’ dan ‘respond time’. Semakin

besar area penerimaan suatu dioda infra merah maka semakin besar pula intensitas

cahaya yang dikumpulkannya sehingga arus bocor yang diharapkan pada teknik

‘reserved bias’ semakin besar. Selain itu semakin besar area penerimaan maka sudut

penerimaannya juga semakin besar. Kelemahan area penerimaan yang semakin besar

ini adalah noise yang dihasilkan juga semakin besar pula. Begitu juga dengan respon

terhadap frekuensi, semakin besar area penerimaannya maka respon frekuansinya

turun dan sebaliknya jika area penerimaannya kecil maka respon terhadap sinyal

frekuensi tinggi cukup baik.

(41)

Untuk memperoleh jarak yang cukup jauh, Diode Infrared memerlukan sinyal dengan

frekwensi 30 hingga 50 KHz. Berbeda dengan Diode LED yang hanya memerlukan

level tegangan DC saja untuk mengaktifkan LED, Diode Infrared memerlukan sinyal

AC dengan frekwensi 30 hingga 50 KHz untuk mengaktifkannya. Cahaya infrared

tersebut tidak dapat ditangkap oleh mata manusia, sehingga diperlukan phototransistor

untuk mendeteksinya

LED adalah dioda yang menghasilkan cahaya saat diberi energi listrik. Dalam

bias maju sambungan p-n terdapat rekombinasi antara elektron bebas dan lubang

(hole). Energi ini tidak seluruhnya dirubah kedalam bentuk energi cahaya atau photon

melainkan dalam bentuk panas sebagian.

Proses pemancaran cahaya akibat adanya energi listrik yang diberikan

terhadap sustu bahan disebut dengan sifat elektroluminesensi. Material lain adalah

misalnya Galium Arsenida Pospat (GaAsP) atau Galium pospat (GaP) : Photon energi

cahaya dipancarkan untuk menghasilkan cahaya tampak. Jenis lain dari LED

digunakan untuk menghasilkan energi tidak tampak seperti yang dipancarkan oleh

(42)

Pemancar infra merah adalah dioda solid state yang terbuat dari bahan Galium

Arsenida (GaAs) yang mampu memancarkan fluks cahaya ketika dioda ini dibias

maju. Bila diberi bias maju elektron dari daerah-n akan menutup lubang elektron yang

ada di daerah-p. Selama proses rekombinasi ini, energi dipancar keluar dari

permukaan p dan n dalam bentuk photon. Photon-photon yang dihasilkan ini ada yang

diserap lagi dan ada yang meninggalkan permukaan dalam bentuk radiasi energi.

330Ω VCC

5V

Gambar 2.4 Simbol dan rangkaian sebuah LED

Dengan menggunakan unsur-unsur diatas, pabrik dapat membuat LED yang

memancarkanwarna merah, kuning dan infra merah. LED yang menghasilkan

(43)

digital, dan lain-lain. LED infra merah dapat digunakan dalam sistem tanda bahaya

pencuri dan ruang ligkup lain yang membutuhkan pancaran yang tak kelihatan.

Keuntungan dari LED dibandingkan dengan lampu pijar yaitu umurnya yang lebih

panjang, teganganya rendah dan saklar nyala matinya cepat.

Gelombang infra merah yang dihasilkan oleh elektron-elektron dalam molekul

yang bergetar karena benda dipanaskan. Selain tidak dapat dilihat secara langsung

sinar infra merah juga dapat menembus kabut dan awan tebal. Dengan ciri-ciri yang

spesifiktersebut, pesawat udara yang terbang tinggi atau pun satelit-satelit dapat

membuat photo permukaan bumi yang tidak diperoleh dengan menggunakan cahaya

infra merah.

Radiasi sinar infra merah dapat getaran-getaran atom pada suatu molekul.

Getaran atom pada suatu molekul dapat memancarkan gelombang elektromagnetik.

Pada frekuensi-frekuensi yang khas dalam infra merah sehingga spektroskopi. Infra

merah merupakan salah satu alat penting untuk mempelajari spektrum molekul.

Energi yang terkandung dalam radiasi sinar ini tampak seperti energi panas termasuk

cahaya yang diterima dari matahari sejumlah besar mengandung radiasi ini.

(44)

Penghitung atau pencacah (counter) adalah rangkaian sirkuit digital atau kadang-kadang berbentuk chip yang bisa dipakai untuk menghitung pulsa atau sinyal digital yang umumnya dihasilkan dari osilator. Penghitung ini bisa menghitung pulsa secara biner murni (binary counter) ataupun secara desimal-terkodekan-secara-biner (decimal counter).

Dalam penghitung biner murni, angka 9 dinyatakan dalam bentuk bilangan

biner 1001, dan berikutnya angka 10 dinyatakan dalam bentuk biner 1010. Sedangkan

dalam penghitung desimal-terkodekan-secara-biner, angka 9 adalah biner 1001, tetapi

angka 10 dinyatakan dalam bentuk: 0001 0000. Angka desimal 100 dalam biner

murni adalah 1100100, sedangkan dalam BCD adalah 0001 0000 0000 (3 buah digit

desimal masing-masing dari kelompok 4 bit).

Untuk jelasnya, angka desimal 0 sampai 17 (yang kita kenal sehari-hari), jika

dinyatakan dalam bilangan biner murni dan biner BCD ( dengan 5 bit), akan nampak

seperti di bawah ini. Angka 0 sampai 9 mempunyai bentuk biner murni dan biner

BCD yang sama, tetapi mulai dari angka 10 keduanya belainan.

(45)

0 0000 0 0000

0 0001 0 0001

0 0010 0 0010

0 0011 0 0011

0 0100 0 0100

0 0101 0 0101

0 0110 0 0110

0 0111 0 0111

0 1000 0 1000

0 1001 0 1001

0 1010 1 0000

0 1011 1 0001

0 1100 1 0010

0 1101 1 0011

0 1110 1 0100

0 1111 1 0101

1 0000 1 0110

(46)

dst...

Tabel 2.4 Konversi Biner Murni dan Biner BCD

Rangkaian penghitung ini kebanyakan dipakai dalam alat penghitung pulsa

putaran mesin, atau putaran roda kendaraan. Berdasarkan jumlah pulsa yang terhitung

per detik atau per menit, kita dapat menentukan kecepatan putaran mesin, kecepatan

jalannya kendaraan, jarak yang ditempuh, dll. Misalnya, kalau jumlah putaran per

detik dari roda kendaraan adalah 10, dan panjang busur lingkaran (keliling) roda ban

itu = 1 meter, maka kendaraan itu berjalan sepanjang 10 meter per detik. Dengan kata

lain jika dinyatakan dalam km/jam, kecepatan kendaraan itu menjadi 10*60*60 =

36.000 meter per jam, atau 36 km/jam.

Alat penghitung ini (baik yang biner maupun desimal BCD) merupakan bagian

penting dalam sistem peralatan digital dan penggunaannya dalam bidang industri.

Selain untuk menghitung pulsa putaran, penghitung/pencacah juga dipakai untuk

menghitung pulsa waktu, alat yang penting dalam bidang telekomunikasi yaitu untuk

mencatat lama pembicaraan. Penghitung bisa dipakai juga untuk mengontrol robot

kapan harus aktif (pada jam berapa, atau setelah berapa menit lagi). Banyak contoh

lain yang bisa disebutkan mengenai penggunaan penghitung ini dalam bidang kontrol

(47)

Gambar 2.5 Pencacah dengan menggunakan flip-flop JK

Bagi masyarakat awam, penghitung bisa diartikan sebagai kalkulator yang

dipakai untuk menghitung untuk keperluan sehari-hari. Ada dua macam kalkulator:

penghitung sederhana, dan penghitung ilmiah (scientific calculator). Dalam

penghitung sederhana, kita hanya bisa menghitung: + - * / % kwadrat, 1/x, dan operasi

memori saja (cukup untuk keperluan penghitung rumah tangga sehari-hari).

Sedangkan pada scientific calculator, kita bisa menghitung rumus matematika yang

lebih rumit, seperti: pangkat, exp, ln, sin, cosin, tg, dll. Kebanyakan dari kita sekarang

tidak perlu membeli kalkulator ini, karena dalam komputer PC kita (MS Windows dan

(48)

BAB III

PERANCANGAN ALAT DAN CARA KERJA

3.1 Diagram Blok

(49)

Secara garis besar, perancangan alat penghitung jumlah orang yang masuk dan keluar

terdiri dari enam blok rangkaian utama. Untuk dapat mengetahui orang yang

memasuki dan meninggalkan ruangan digunakan sensor gerak. Sensor ini terdiri dari

pemancar infra merah dan fotodioda sebagai penerima. Nilai yang ditampilkan pada

display akan terus bertambah setiap ada orang yang memasuki ruangan dan akan

mengurangi nilainya apabila ada orang yang meninggalkan ruangan. Mikrokontroler

AT89S52 merupakan otak dari seluruh sistem. Di dalam mikrokontroler inilah semua

data akan diolah.

(50)

start

Program diawali dengan start. Kemudian program akan mengecek apakah sensor

mendeteksi ada orang yeng memasuki ruangan atau tidak. Jika ada maka program

akan menambahkan 1 ilai pada display. Jika tidak ada orang yang memasuki ruangan

maka program akan mengecek apakah ada orang yang keluar dari ruangan jika ada

orang yang keluar ruangan maka program akan mengurangi 1 nilai pada display tetapi

jika sensor tidak mendapatkan input data berarti tidak ada orang yang memasuki atau

(51)
(52)
(53)
(54)

Djnz r6,Dl Djnz r7,Dly Ret

Delay1:

Mov r7,#80h Dly1: Mov r6,#80h Djnz r6,$ Djnz r7,Dly1 Ret

End

3.4 Perancangan Power Supplay (PSA)

Rangkaian ini berfungsi untuk mensupplay tegangan ke seluruh rangkaian yang ada.

Rangkaian PSA yang dibuat terdiri dari dua keluaran, yaitu 5 volt dan 12 volt,

keluaran 5 volt digunakan untuk mensupplay tegangan ke seluruh rangkaian.

(55)

Gambar 3.3 Rangkaian Power Supplay (PSA)

Trafo CT merupakan trafo stepdown yang berfungsi untuk menurunkan

tegangan dari 220 volt AC menjadi 12 volt AC. Kemudian 12 volt AC akan

disearahkan dengan menggunakan dua buah dioda, selanjutnya 12 volt DC akan

diratakan oleh kapasitor 2200 µF. Regulator tegangan 5 volt (LM7805CT) digunakan

agar keluaran yang dihasilkan tetap 5 volt walaupun terjadi perubahan pada tegangan

masukannya. LED hanya sebagai indikator apabila PSA dinyalakan. Transistor PNP

TIP 32 disini berfungsi untuk mensupplay arus apabila terjadi kekurangan arus pada

rangkaian, sehingga regulator tegangan (LM7805CT) tidak akan panas ketika

rangkaian butuh arus yang cukup besar. Tegangan 12 volt DC langsung diambil dari

keluaran 2 buah dioda penyearah.

3.5 Rangkaian Mikrokontroler AT89S52

Rangkaian ini berfungsi sebagai pusat kendali dari seluruh system yang ada.

(56)

Gambar 3.4 Rangkaian Mikrokontroller AT89S51/52

Pin 31 External Access Enable (EA) diset high (H). Ini dilakukan karena

mikrokontroler AT89S8253 tidak menggunakan memori eskternal. Pin 18 dan 19

dihubungkan ke XTAL 12 MHz dan capasitor 33 pF. XTAL ini akan mempengaruhi

kecepatan mikrokontroler AT89S8253 dalam mengeksekusi setiap perintah dalam

program. Pin 9 merupakan masukan reset (aktif tinggi). Pulsa transisi dari rendah ke

(57)

multipleks bus alamat rendah dan bus data selama adanya akses ke memori program

eksternal. Pada port 0 ini masing masing pin dihubungkan dengan resistor 4k7 ohm.

Resistor 4k7 ohm yan dihubungkan ke port 0 befungsi sebagai pull up( penaik

tegangan ) agar output dari mikrokontroler dapat mntrigger transistor. Pin 1 sampai 8

adalah port 1. Pin 21 sampai 28 adalah port 2 dan Pin 10 sampai 17 adalah port 3.

Pin 39 yang merupakan P0.0 dihubungkan dengan sebuah resistor 330 ohm dan

sebuah LED. Ini dilakukan hanya untuk menguji apakah rangkaian minimum

mikrokontroler AT89S8253 sudah bekerja atau belum. Dengan memberikan program

sederhana pada mikrokontroler tersebut, dapat diketahui apakah rangkaian minimum

tersebut sudah bekerja dengan baik atau tidak. Jika LED yang terhubug ke Pin 39

sudah bekerja sesuai dengan perintah yang diberikan, maka rangkaian minimum

tersebut telah siap digunakan. Pin 20 merupakan ground dihubungkan dengan ground

pada power supplay. Pin 40 merupakan sumber tegangan positif dihubungkan

dengan + 5 volt dari power supplay.

3.6 Display Seven Segment

Untuk menampilkan jumlah orang yang masuk ke dalam ruangan diperlukan suatu

rangkaian display yang dapat menampilkan jumlah orang yang masuk ke dalam

(58)

Rangkaian display yang digunakan untuk menampilkan jumlah orang yang masuk ke

dalam ruangan terlihat pada ganbar berikut:

Gambar 3.5 Rangkaian Display Seven Segment

Display ini menggunakan 3 buah seven segment yang dihubungkan ke IC HEF

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

(59)

disediakan oleh mikrokontroler AT89S52. Sedangkan P3.1 merupakan sinyal clock

untuk pengiriman data serial. Pada rangkaian display ini digunakan dua buah dioda

yang berfungsi untuk menurunkan tegangan supply untuk seven segment. Satu buah

dioda dapat menurunkan tegangan sekitar 0,6 volt. Jadi, apabila dioda yang

digunakan dua buah maka tegangan yang dapat diturunkannya adalah 1,8 volt.

Tegangan ini diturunkan agar umur seven segment lebih tahan lama dan karena

tegangan maksimum seven segment adalah 3,7 volt

3.7 Rangkaian Sensor

Untuk dapat mendeteksi orang yang lewat, maka alat ini dilengkapi dengan dua buah

sensor. Kedua sensor ini mempunyai rangkaian yang sama, hanya penempatannya saja

yang berbeda.

Masing-masing sensor dinding menggunakan dua buah pemancar infra merah

dan sebuah photodioda. Sensor ini memanfaatkan pantulan dari pemancar infra merah

yang diterima oleh photodioda. Digunakannya dua buah pemancar infra merah pada

masing-masing sensor bertujuan agar sinyal pantulan semakin kuat, sehingga sensor

(60)

Jika tidak ada orang yang melewati sensor, maka pancaran sinar infra merah

tidak mengenai photodioda. Perbedaan intensitas pantulan inilah yang digunakan

untuk mendeteksi adanya orang yang melewati sensor atau tidak.

Setiap pancaran yang diterima oleh photodioda akan diolah dan dijadikan data

digital, sehingga bila photodioda mendapatkan pancaran dari pemancar infra merah,

maka akan mengirimkan sinyal low ke mikrokontroler AT89S52. Dengan demikian

mikrokontroler dapat mendeteksi sensor yang mengirimkan sinyal low dan mengambil

tindakan untuk menampilkan jumlah orang yang masuk ke dalam ruangan.

Pada rangkaian di ini digunakan dua buah LED infra merah yang diparalelkan,

dengan demikian maka intensitas yang dipancarkan oleh infra merah semakin kuat,

karena merupakan gabungan dari dua buah LED infra merah

(61)

Gambar 3.6 Rangkaian Pemancar Infra Merah

Resistor yang digunakan adalah 100 ohm sehingga arus yang mengalir pada

masing-masing LED infra merah adalah sebesar:

5

Dengan besarnya arus yang mengalir ke LED infra merah, maka intensitas pancaran

infra merah akan semakin kuat, yang menyebabkan jarak pancarannya akan semakin

jauh.

Pancaran dari sinar infra merah akan diterima oleh photodioda, kemudian akan

diolah oleh rangkaian penerima agar menghasilkan sinyal tertentu, dimana jika

photodioda menerima pancaran sinar infra merah maka output dari rangkaian

penerima ini akan mengeluarkan logika low (0), namun jika photodioda tidak

menerima pancaran sinar infra merah, maka output dari rangkaian penerima akan

mengeluarkan logika high (1). Rangkaian penerima infra merah seperti gambar di

(62)

Gambar 3.7 Rangkaian Penerima Sinar Infra Merah

Photodioda dioperasikan pada bias balik, dimana photodioda ini akan memiliki

hambatan sekitar 15 sampai dengan 20 Mohm jika tidak terkena sinar infra merah,

dan hambatannya akan berubah menjadi sekitar 80 sampai dengan 300 Kohm jika

terkena sinar infra merah tergantung dari besarnya intensitas yang mengenainya.

Semakin besar intensitasnya, maka hambatannya semakin kecil.

Pada rangkaian di atas, output dari photodioda diumpankan ke basis transistor

tipe NPN C945, ini berarti untuk membuat transistor tersebut saturasi maka tegangan

yang keluar dari photodioda harus lebih besar dari 0,7 volt. Syarat ini akan terpenuhi

(63)

Emiter transistor C945 diinputkan ke Op Amp LM 358 untuk diperkuat. LM358

merupakan IC penguat dengan dua Op Amp. Pada Op Amp pertama tegangan input

akan diperkuat sampai maksimal 100 kali penguatan, dimana:

Ω =

K R AV Potensio

1

penguatan ini dapat diatur dengan mengatur hambatan pada potensiometer. Output

Op Amp pertama akan diperkuat lagi sampai maksimum 100 kali penguatan. Dengan

demikian penguatan dapat diatur sesuai dengan yang dikehendaki. LED ini akan

menyala jika sensor menerima sinar infra merah, dan akan mati jika sensor tidak

(64)

BAB IV

PENGUJIAN ALAT DAN PROGRAM

4.1 Pengujian Rangkaian Power Supplay (PSA)

Pengujian pada bagian rangkaian power supplay ini dapat dilakukan dengan mengukur

tegangan keluaran dari rangkaian ini dengan menggunakan volt meter digital. Dari

hasil pengujian diperoleh tegangan keluaran sebesar + 5,1 volt. Tegangan ini

dipergunakan untuk mensupplay tegangan ke seluruh rangkaian. Mikrokontroler

AT89S52 dapat bekerja pada tegangan 4,0 sampai dengan 5,5 volt, sehingga tegangan

5,1 volt ini cukup untuk mensupplay tegangan ke mikrokontroler AT89S52. Dengan

demikian rangkaian ini sudah dapat bekerja dengan baik.

(65)

Untuk mengetahui apakah rangkaian mikrokontroler AT89S52 telah bekerja dengan

baik, maka dilakukan pengujian. Pengujian bagian ini dilakukan dengan memberikan

program sederhana pada mikrokontroler AT89S52. Programnya adalah sebagai

berikut:

Program di atas bertujuan untuk menghidupkan LED yang terhubung ke P0.0

selama kurang lebih 0,13 detik kemudian mematikannya selama kurang lebih 0,13

detik secara terus menerus. Perintah Setb P0.0 akan menjadikan P0.0 berlogika

(66)

hidup selama beberapa saat. Perintah Clr P0.0 akan menjadikan P0.0 berlogika

low yang menyebabkan LED akan mati. Perintah Acall tunda akan menyebabkan

LED ini mati selama beberapa saat. Perintah Sjmp Loop akan menjadikan program

tersebut berulang, sehingga akan tampak LED tersebut tampak berkedip.

Lamanya waktu tunda dapat dihitung dengan perhitungan sebagai berikut :

Kristal yang digunakan adalah kristal 12 MHz, sehingga 1 siklus mesin membutuhkan

waktu = 12 1

12 MHz = mikrodetik.

Mnemonic Siklus Waktu Eksekusi

MOV Rn,#data 2 2 x 1 µd = 2 µd

DJNZ 2 2 x 1 µd = 2 µd

RET 1 1 x 1 µd = 1 µd

Tabel 4.1 Siklus Waktu Tunda

Tunda: 1

mov r7,#255 2

Tnd: mov r6,#255 2

(67)

djnz r7,loop3 2

djnz r2,loop8 2

ret

Jadi waktu yang dibutuhkan untuk mengerjakan program di atas adalah 130.059 µdetik atau 0,130059 detik dan dapat dibulatkan menjadi 0,13 detik.

Jika program tersebut diisikan ke mikrokontroler AT89S52, kemudian

mikrokontroler dapat berjalan sesuai dengan program yang diisikan, maka rangkaian

minimum mikrokontroler AT89S52 telah bekerja dengan baik

4.3 Pengujian Rangkaian Sensor Gerak

Pengujian pada rangkaian sensor gerak ini dapat dilakukan dengan cara

menghubungkan rangkaian ini dengan sumber tegangan 5 volt, kemudian meletakkan

photodioda dan infra merah secara berhadapan. Ketika diletakkan secara berhadapan,

maka pancaran sinar infra merah akan mengenai photodioda, sehingga menyebabkan

LED indikator pada rangkaian penerima akan menyala, dan tegangan output rangkaian

sebesar 0,2 volt. Namun ketika diantara infra merah dan photodioda diberi suatu

(68)

ini menyebabkan LED indikator pada rangkaian penerima tidak menyala dan tegangan

output dari rangkaian ini sebesar 4,8 volt.

Pengujian selanjutnya dilakukan dengan cara menghubungkan rangkaian ini

dengan rangkaian mikrokontroler AT89S52, dan memberikan program tertentu pada

mikrokontroler AT89S52 .Untuk mendeteksi adanya sinyal yang dikirimkan oleh

sensor, maka mikrokontroler harus diprogram untuk dapat mengecek sinyal apa yang

dikirimkan oleh sensor. Jika sinyal yang dikirimkan adalah sinyal high (1), berarti

tidak ada orang yang masuk ke dalam ruangan, namun jika sinyal yang dikirimkan

adalah sinyal low (0), maka ini berarti ada orang yang masuk ke dalam ruangan.

Program untuk mendeteksi pengiriman sinyal dari rangkaian sensor ini adalah,

sensor_masuk Bit P1.3

Sensor_keluar Bit P1.2

Cek_sensor_masuk:

Jnb sensor_Ring_kanan,Cek_Ring_Kiri

Clr P3.7

(69)

Cek_sensor_keluar:

Jnb sensor_Ring_kiri,Cek_Tombol_kanan

Setb P3.7

. . .

Di awal program dibuat inisialisasi port, dimana rutin ini menunjukkan bahwa

sensor masuk dihubungkan ke P1.3 dan sensor keluar dihubungkan ke P1.2.

Kemudian program akan dilanjutkan dengan rutin cek sensor masuk. Pada rutin ini

program akan melihat kondisi P1.3 yang dihubungkan ke sensor ring kanan, dengan

menggunakan perintah JnB (jump if not bit), jika kondisi P1.3 menunjukkan high

atau bit (1) yang berarti tidak ada orang yang masuk ke dalam ruangan, maka

program akan lompat ke rutin cek sensor keluar. Namun jika kondisi P1.3

notbit (low), maka program akan melanjutkan ke rutin Clr P3.7. Perintah ini akan

menyebabkan LED yang terhubung ke P3.7 mati. Jika rangkaian telah berjalan sesuai

dengan program yang diberikan, maka rangkaian telah bekerja dengan baik.

4.4 Pengujian Rangkaian Display Seven Segment

Pengujian pada rangkaian ini dapat dilakukan dengan menghubungkan rangkaian ini

dengan rangkaian mikrokontroler AT89S52, kemudian memberikan data tertentu pada

(70)

katoda, dimana segmen akan menyala jika diberi logika high (0) dan sebaliknya

segment akan mati jika diberi logika low (1).

Dari hasil pengujian diperoleh data yang harus dikirimkan ke port serial untuk

menampilkan angka desimal adalah sebagai berikut:

Angka

Desimal

Data yang dikirim

( Hexadesimal)

1 16H

2 0BDH

3 3FH

4 76H

5 6BH

6 0FBH

7 1EH

8 0FFh

9 7FH

(71)

Tabel 4.2 Konversi Angka Desimal

Program yang diisikan pada mikrokontroler untuk menampilkan nilai-nilai

tersebut adalah sebagai berikut:

Program di atas akan menampilkan angka 0 pada semua seven segment.

(72)

adalah dengan mengirimkan ketiga data angka yang akan ditampilkan pada seven

segment. Programnya adalah sebagai berikut :

Loop:

mov sbuf,#bil1

Jnb ti,$

Clr ti

mov sbuf,#bil2

Jnb ti,$

Clr ti

mov sbuf,#bil3

Jnb ti,$

Clr ti

sjmp loop

Program di atas akan menampilkan angka 1 pada seven segmen ketiga, angka 2 pada

(73)

BAB V

KESIMPULAN DAN SARAN

5.1 Kesimpulan

1. Sensor yang digunakan dalam proyek ini peka terhadap sinar matahari sehingga

tidak dapat terkena sinar matahari secara langsung. Hal ini dikarenakan sifat

fotodioda yang sensitive terhadap sinar matahari

2. Pada rangkaian ini digunakan mikrokontroler AT89S52 sebagai mikrokomputer

CMOS 8 bit dengan 8 Kb Flash Programmable dan Erasable Read Only Memory

(PEROM)

5.2 Saran

1. Agar sistem atau rangkaian yang digunakan tidak mengalami kerusakan,

sebaiknya alat ini dikemas dalam bentuk yang lebih aman dan terlindungi

(74)

2. Dilakukan peningkatan kemampuan rangkaian sehingga semakin cerdas dengan

mengkombinasikan sensor jenis lain sehinggga hasil yang diperoleh akan lebih

(75)

DAFTAR PUSTAKA

Atmel, ”Flash Microcontroller: Architectural Overview”, USA: Atmel Inc. (http://www.atmel.com), 1997.

Bawafi, Lukman dan Tim WEIP (Workshop Electronics and Instrumentation of Physic) ITS. 2003. Workshop Mikrokontroler. Surabaya: WEIP ITS.

Putra, Agfianto Purba. 2005. Belajar Mikrokontroler AT89C51/52/55 (Teori dan

Aplikasi). Yogyakarta: Penerbit Gava Media.

Woollard, Barry. 2003. Elektronika Praktis. Jakarta: PT Pradnya Paramita

(76)

Gambar

Gambar 2.1  Pinout AT89S52
Tabel 2.1. Susunan bit dalam register TCON
Tabel 2.3  Mode Operasi Timer/Counter
Gambar  2.3  ISP- Flash Programmer 3.0a
+7

Referensi

Dokumen terkait

Hasil penelitian menunjukkan : ( 1) Pandangan guru mengenai pengembangan profesional guru TK bersertifikasi yaitu upaya untuk meningkatkan wawasan dan pengetahuan yang

menghambat petani menanam varietas unggul dan teknologi baru budidaya padi, serta informasi pendukung lainnya seperti keragaan tanaman, produktivitas, harga padi,

Ketan adalah sejenis biji-bijian serealia yang memiliki tekstur dan kandungan yang mirip dengan beras yang berasal dari padi ketan. Dalam pengolahan kue Indonesia,

Lebih spesifik lagi kesesuaian lahan dapat ditinjau dari sifat-sifat fisik lingkungannya, yang terdiri atas iklim, tanah, topografi, hidrologi dan atau drainase yang sesuai

Untuk mengetahui distribusi tekanan dan kecepatan aliran fluida di dalam rumah pompa yang dioperasikan sebagai turbin.. Dapat mengetahui bentuk – bentuk (tampilan

Apabila pihak ketiga tidak mau menyerahkan benda jaminan tersebut bank tidak perlu bersusah payah berurusan dengan pihak ketiga, bank cukup memberikan kesempatan

Saat ini kerap terjadi pelanggaran privasi di media sosial berbasis ojek online, timbulnya pelanggaran privasi pada ojek online ini karena aplikasi

Petunjuk teknis beasiswa peningkatan prestasi akademik ini diharapkan menjadi acuan dalam melaksanakan program beasiswa peningkatan prestasi akademik bagi mahasiswa yang