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
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
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
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
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
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
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
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
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
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
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
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.
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
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
rangkaian ini dapat dibuat lebih efisien dan dikembangkan
perakitannya pada suatu metode lain yang mempunyai sistem kerja
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
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 :
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
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
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
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
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
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
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.
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
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
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.
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
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
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
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
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
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,
...
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)
Loop:
JNB P1.0,Loop
...
8. Instruksi CJNZ (Compare Jump If Not Equal)
Instruksi ini berfungsi untuk membandingkan nilai dalam suatu register
dengan suatu nilai tertentu. Contoh,
Loop:
...
CJNE R0,#20h,Loop
...
Jika nilai R0 tidak sama dengan 20h, maka program akan lompat ke rutin
Loop. Jika nilai R0 sama dengan 20h,maka program akan melanjutkan
instruksi selanjutnya..
9. Instruksi DEC (Decreament)
Instruksi ini merupakan perintah untuk mengurangi nilai register yang
dimaksud dengan 1. Contoh,
MOV R0,#20h R0 = 20h
...
DEC R0 R0 = R0 – 1
10.Instruksi INC (Increament)
Instruksi ini merupakan perintah untuk menambahkan nilai register yang
dimaksud dengan 1. Contoh,
MOV R0,#20h R0 = 20h
...
INC R0 R0 = R0 + 1
...
11.Dan lain sebagainya
2.3 Software 8051 Editor, Assembler, Simulator
Instruksi-instruksi yang merupakan bahasa assembly tersebut dituliskan pada sebuah
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.
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
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
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.
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
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
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.
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.
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
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
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
BAB III
PERANCANGAN ALAT DAN CARA KERJA
3.1 Diagram Blok
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.
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
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.
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.
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
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
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
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
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
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
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
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
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.
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
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
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
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
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
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
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.
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
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
2. Dilakukan peningkatan kemampuan rangkaian sehingga semakin cerdas dengan
mengkombinasikan sensor jenis lain sehinggga hasil yang diperoleh akan lebih
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