Rancang Bangun Pintu Otomatis Menggunakan Password

RANCANG BANGUN PINTU OTOMATIS MENGGUNAKAN
PASSWORD

TUGAS AKHIR

HERDA TANJUNG
052408081

PROGRAM STUDI FISIKA INSTRUMENTASI D3
DEPARTEMEN FISIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
MEDAN
2008

Universitas Sumatera Utara

RANCANG BANGUN PINTU OTOMATIS MENGGUNAKAN
PASSWORD

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh Ahli Madya

HERDA TANJUNG
052408081

PROGRAM STUDI FISIKA INSTRUMENTASI D3
DEPARTEMEN FISIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
MEDAN
2008

Universitas Sumatera Utara

PERSETUJUAN

Judul
Kategori
Nama
Nomor Induk Mahasiswa
Program Studi
Departemen

: RANCANG BANGUN PINTU OTOMATIS
MENGGUNAKAN PASSWORD
: TUGAS AKHIR
: HERDA TANJUNG
: 052408081
: DIPLOMA III FISIKA INSTRUMENTASI
: MATEMATIKA DAN ILMU
PENGETAHUAN ALAM (FMIPA)
UNIVERSITAS SUMATRA UTARA
MEDAN

Diluluskan di
Medan juli 2008
Diketahui Oleh
Departemen Fisika FMIPA USU
Ketua Jurusan Fisika Insturumentasi

Pembimbing

Drs.syahrul Humaidi, M.Sc
NIP 132 050 870

Drs. Anwar
NIP 131 604 405

Universitas Sumatera Utara

PERNYATAAN

RANCANG BANGUN PINTU OTOMATIS MENGGUNAKAN
PASSWORD

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

Medan, juli 2008

HERDA TANJUNG
052408081

Universitas Sumatera Utara

ABSTRAK

Kajian ini bertujuan untuk merancang bangun sebuah pintu otomatis dengan
menggunakan password berbasis mikrokontroller AT89S51. Sistem ini dibangun
dengan

menggunakan

perangkat

lunak

mikrokontroller

AT89S51.

Dimana

mikrokontroller ini merupakan otak dari semua sistem yang ada pada rancang pintu
otomatis ini, dimana didalam mikrokontroller ini terdapat perbedaan dengan sistem
komputer, dimana komputer menangani berbagai macam program aplikasi sementara
mikrokontroller hanya dapat digunakan untuk satu aplikasi tertentu saja. Perbedaan
lainnya terdapat pada RAM dan ROMnya. Pada komputer program-program
pengguna disimpan di RAM yang relatif besar kalau program kecil disimpan di ROM
sedangkan mikrokontroller kebalikan dari komputer.

Universitas Sumatera Utara

DAFTAR ISI

Halaman
ii
iii
iv
vi
vii
x
xi

Persetujuan
Pernyataan
Penghargaan
Abstrak
Daftar isi
Daftar Tabel
Daftar Gambar
Bab 1 Pendahuluan
1.1 Latar Belakang Masalah
1.2 Rumusan Masalah
1.3 Tujuan Penulisan
1.4 Batasan Masalah
1.5 Sistematika Penulisan

1
1
2
3
3
4

Bab 2 Tnjauan Pustaka
2.1 Perangkat keras
2.1.1 Asitektur Mikrokontroler AT89S51
2.1.2 Kontruksi AT89S51
2.2 Perangkat Lunak
2.2.1 Bahasa Assembly MCS-51
2.2.2 Software 8051 Editor, Assembler, Simulator (IDE)
2.2.3 Software Downloader

6
6
6
8
12
12
17
18

Bab 3 Perancangan Alat dan Program
3.1 Rancang Bangun pintu Otomatis Menggunakan Password
3.2 Diagram Blok
3.3 Flowhcart rancang Bangun Pintu Otomatis
3.4 Rangkaian minimum mikrokontroller AT89S51
3.5 Rangkaian Password
3.6 Rangkaian Display Seven segmen
3.7 Rangkaian Sensor Buka Pintu dan Tutup Pintu
3.8 Rangkaian Driver Motor Stepper
3.9 Rangkaian Power Suplay (PSA)
3.10 Perancangan Rangkaian Alaram

19
19
19
21
22
23
25
26
27
28
29

Bab 4 Pengujian Rangkaian dan Program
4.1 Pengujian Rangkaian Power Suplay (PSA)
4.2 Pengujian Rangkaian Minimum Mikrokontroller AT89S51
4.3 Pengujian Rangkaian Penampil Nilai Password
4.4 Pengujian Rangkaian Password.
4.5 Pengujian Rangkaian Sensor Buka Pintu dan Tutup Pintu
4.6 Pengujian Rangkaian Driver Motor Stepper
4.7 Pengujian Alaram
4.8 Pengujian Program Lengkap

31
31
32
34
37
42
44
48
49

Universitas Sumatera Utara

Bab 5 Kesimpulan dan Saran
5.1 Kesimpulan
5.2 Saran

66
66
67

Daftar Pustaka

68

Lampiran

69

Universitas Sumatera Utara

DAFTAR PUSTAKA

Agfianto, Belajar Mikrokontroler AT89C51/52/55 Teori dan Aplikasi, Edisi Kedua,
Penerbit: Gava Media, Yogyakarta, 2004
Andi, Panduan Praktis Teknik Antarmuka dan Pemrograman Mikrokontroler
AT89C51, Penerbit PT Elex Media Komputindo, Jakarta 2003
Brey B Barry, The Intel Microprocessors, Edisi Kelima, Penerbit: Erlangga &
Prentice Hall, Inc., Jakarta, 2002
Malvino, Albert paul, Prinsip-prinsip Elektronika, Jilid 1 & 2, Edisi Pertama,
Penerbit: Salemba Teknika, Jakarta, 2003.
M. G. Joshi, Transducers For Instrumentation, Penerbit: Laxmi Publications, New
Delhi, 2002
Widodo, S.Si, Mkom, Interfacing Komputer dan Mikrokontroler, Penerbit: Elex
Media Komputindo, Jakarta, 2004
Lampiran A : Rancang Bangun Pintu Otomatis Menggunakan Password
Lampiran B : Gambar Rangkaian Keseluruhan
Lampiran C : Gambar PCB

Universitas Sumatera Utara

DAFTAR TABEL
Halaman
Tabel 4.3 Data yang dikirim keport serial

34

Universitas Sumatera Utara

PENGHARGAAN

Puji dan syukur penulis panjatkan kehadirat Tuhan Yang Maha Esa yang telah
melimpahkan rahmat dan karuniaNya, juga telah memberikan kesehatan, pengetahuan
serta pengalaman pada penulis, sehingga penulis dapat menyelesaikan Tugas Akhir
yang berjudul “ RANCANG BANGUN PINTU OTOMATIS MENGGUNAKAN
PASSWORD “.
pdan Ilmu Pengetahuan Alam Universitas Sumatera Utara.

Dalam kesempatan ini penulis ingin mengucapkan terima kasih yang
sebesarnya kepada :
1. Orang tua penulis yang telah memberikan dukungan

baik moril maupun

materil kepada penulis dalam menyelesaikan Tugas Akhir ini.
2. Bapak Dr. Eddy Marlianto, M. Sc, selaku Dekan FMIPA USU.
3. Bapak Drs. Syahrul Humaidi, M.Sc, selaku ketua jurusan Program study Fisika
Instrumentasi.
4. Ibu Dra. Justinon, M.Si, selaku Sekretaris Jurusnan Program Study Fisika
Instrumentasi.
5. Bapak Drs. Anwar sebagai Dosen Pembimbing yang telah banyak memberikan
masukan dalam penyelesaian Tugas Akhir ini.
6. Abang Brian yang sudah banyak membantu penulis dalam mengerjakan Tugas
Akhir yang dibuat oleh penulis.
7. Rekan-rekan Jurusan Fisika Instrumentasi stambuk 2005 yang telah banyak
memberikan masukan dan dukungan kepada penulis dalam menyelesaikan
Tugas Akhir ini.
Penulis menyadari bahwa dalam penyusunan Tugas Akhir ini masih terdapat
kekurangan dan masih jauh dari kesempurnaan. Oleh karena itu, penulis sangat

Universitas Sumatera Utara

mengharapkan masukan berupa saran maupun kritikan yang membangun dari
pembaca. Penulis ucapkan terima kasih.

Medan, Juli 2008

Penulis

Universitas Sumatera Utara

DAFTAR GAMBAR

Halaman
Gambar 2.1.2 IC Mikrokontroller AT89S51
Gambar 2.2.2 8051 Editor, Assembler, Simulator(IDE)
Gambar 2.2.3 ISP-Flash Programmer 3a
Gambar 3.1 Rancang Bangun Pintu Otomatis Menggunakan Password
Gambar 3.2 Diagram Blok Rangkaian
Gambar 3.3 Rangkaian Minimum mikrokontroller AT89S51
Gambar 3.4 Rangkaian Password
Gambar 3.5 Rangkaian Display Seven Segmen
Gambar 3.6 Rangkaian Sensor Buka Tutup Pintu
Gambar 3.7 Rangkaian Driver Motor Stepper
Gambar 3.8 Rangkaian Power Supplay (PSA)
Gambar 3.9 Rangkaian Alarm

9
17
18
19
19
22
24
25
26
27
28
29

Universitas Sumatera Utara

EKSPEDISI PERBAIKAN TUGAS AKHIR

NAMA
NIM
FAKULTAS
PROGRAM STUDI
JUDUL TUGAS AKHIR

NO

TANGGAL

:
:
:
:
:

HERDA TANJUNG
052408081
MIPA
FISIKA INSTRUMENTASI
RANCANG BANGUN PINTU
OTOMATIS MENGGUNAKAN
PASSWORD

NAMA DOSEN

TANDA
TANGAN

1.

Drs. Anwar

1.

2

Drs. Nasir Saleh, M.Eng.Sc

2.

Universitas Sumatera Utara

EKSPEDISI PENYERAHAN TUGAS AKHIR

NAMA

: HERDA TANJUNG

NIM

: 052408081

FAKULTAS

: MIPA

PROGRAM STUDI

: FISIKA INSTRUMENTASI

JUDUL TUGAS AKHIR

: RANCANG

BANGUN

OTOMATIS

PINTU

MENGGUNAKAN

PASSWORD

NO

TANGGAL

NAMA DOSEN

1

Drs. Anwar

2

Drs. Nasir Saleh, M.Eng.Sc

3

Departemen Fisika
Instrumentasi

TANDA
TANGAN

Universitas Sumatera Utara

ABSTRAK

Kajian ini bertujuan untuk merancang bangun sebuah pintu otomatis dengan
menggunakan password berbasis mikrokontroller AT89S51. Sistem ini dibangun
dengan

menggunakan

perangkat

lunak

mikrokontroller

AT89S51.

Dimana

mikrokontroller ini merupakan otak dari semua sistem yang ada pada rancang pintu
otomatis ini, dimana didalam mikrokontroller ini terdapat perbedaan dengan sistem
komputer, dimana komputer menangani berbagai macam program aplikasi sementara
mikrokontroller hanya dapat digunakan untuk satu aplikasi tertentu saja. Perbedaan
lainnya terdapat pada RAM dan ROMnya. Pada komputer program-program
pengguna disimpan di RAM yang relatif besar kalau program kecil disimpan di ROM
sedangkan mikrokontroller kebalikan dari komputer.

Universitas Sumatera Utara

1

BAB I
PENDAHULUAN

1.1. Latar Belakang Masalah

Setiap

orang membutuhkan

sebuah

kamar/ruangan

pribadi,

dimana dalam

kamar/ruangan tersebut disimpan peralatan-peralatan, benda-benda atau apapun yang
pemilik tidak ingin orang lain melihat atau mengambilnya. Sehingga dengan demikian
pemilik

tidak

menginginkan

satu

orangpun

selain

dia

sendiri

memasuki

kamar/ruangan tersebut.

Untuk keperluan tersebut, pemilik harus mengunci kamar/ruangannya setiap
kali dia hendak pergi ke tempat lain. Namun masalah terjadi jika pemilik lupa
meletakkan kunci kamar/ruangannya, atau kunci tersebut tertinggal di tempat lain,
yang jaraknya cukup jauh, atau lebih fatal lagi jika kunci tersebut diambil oleh orang
lain kemudian digandakan atau kunci tersebut hilang. Kemungkinan-kemungkinan
tersebut akan menjadi masalah besar.

Untuk mengatasinya dibutuhkan kunci yang tidak dapat tertinggal di tempat
lain, tidak dapat hilang dan tidak dapat digandakan oleh orang lain. Jawaban dari
masalah tersebut adalah menggantikan kunci tersebut dengan password. Jadi dengan
menggunakan pintu yang otomatis terbuka jika password yang dimasukkan benar,
masalah-masalah tersebut diatas akan teratasi.

Universitas Sumatera Utara

2

Password dapat dicatat pada kertas kecil dan dimasukkan ke dalam tas atau
dompet, sehingga jika pemilik lupa, ia dapat melihat catatan. Password tidak mungkin
tertinggal di tempat lain, password tidak dapat digandakan oleh orang lain, dan
password juga tidak bisa hilang, kecuali jika pemilik hilang ingatan, password juga
dapat diganti setiap saat jika ada orang lain yang sudah mengetahui password tersebut.

Dengan kelebihan-kelebihan yang dimiliki oleh pintu otomatis yang
menggunakan password, akan sangat efektip jika kamar/ruangan pribadi diamankan
oleh pintu otomatis tersebut.

1.2 Rumusan Masalah

Berdasarkan sebuah pintu otomatis yang dapat membuka sendiri secara otomatis jika
password yang dimasukkan benar, dan akan menutup kembali secara otomatis
beberapa menit sesudahnya.

Pada alat ini akan digunakan sebuah mikrokontroler AT89S51, sebuah motor,
13 tombol password. Mikrokontroler AT89S51 sebagai otak dari system yang
berfungsi memeriksa 4 digit angka yang ditekan, jika angka yang ditekan benar,maka
Mikrokontroler AT89S51 akan memerintahkan motor untuk berputar membuka pintu
sehingga pintu akan terbuka secara otomatis, namun jika angka yang ditekan salah,
maka Mikrokontroler AT89S51 tidak akan memerintahkan motor untuk berputar
sehingg pintu akan tetap tertutup. Mikrokontroler AT89S51 juga berfungsi untuk
menyimpan nilai password baru yang dimasukkan.

Universitas Sumatera Utara

3

Pada alat ini akan digunakan 13 tombol, dimana 10 tombol untuk angka yaitu
0 s/d 9, 3 tombol yang lain masing-masing berfungsi untuk setting memasukkan nilai
password, setting memasukkan nilai password baru dan tombol run untuk
memerintahkan Mikrokontroler AT89S51 mengolah password.

1.3 Tujuan Penulisan
Adapun tujuan penulisan tugas akhir ini adalah membuat sebuah pintu otomatis
dengan menggunakan password yang dapat membuka sendiri secara otomatis jika
password yang dimasukkan benar, dan passwordnya dapat diubah kapanpun sesuai
dengan kehendak pengguna.

1.4 Batasan Masalah
Penulisan tugas akhir ini dibatasi pada:
1. Studi cara kerja rangkaian yang meliputi diagram blok dan menguraikan secara
umum fungsi dari masing-masing komponen utama dalam blok tersebut
2. Password yang digunakan hanya 4-digit.
3. Mikrokontroler yang digunakan yaitu AT89S51, jadi hanya mikrokontroler ini yang
akan diuraikan cara kerjanya dan cara pemrogramannya.

Universitas Sumatera Utara

4

1.5 Sistematika Penulisan

Untuk mempermudah pembahasan dan pemahaman maka penulis membuat
sistematika pembahasan bagaimana sebenarnya prinsip kerja dari pintu otomatis
dengan menggunakan password yang dapat membuka sendiri secara otomatis jika
password yang dimasukkan benar, maka penulis menulis laporan ini sebagai berikut:

BAB 1. PENDAHULUAN
Dalam bab ini berisikan mengenai latar belakang, tujuan penulisan, batasan masalah,
serta sistematika penulisan.

BAB 2. LANDASAN TEORI

Landasan teori, dalam bab ini dijelaskan tentang teori pendukung yang digunakan
untuk pembahasan dan cara kerja dari rangkaian Teori pendukung itu antara lain
tentang mikrokontroler AT89S51 (hardware dan software), bahasa program yang
digunakan, serta cara kerja dari rangkaian password dan pengendalian motor untuk
membuka pintu

BAB 3. PERANCANGAN ALAT DAN BAHAN

Pada bagian ini akan dibahas perancangan alat, yaitu diagram blok dari rangkaian,
skematik dari masing-masing rangkaian dan diagram alir dari program yang akan
diisikan ke mikrokontroler AT89S51.

Universitas Sumatera Utara

5

BAB 4. PENGUJIAN RANGKAIAN DAN PROGRAM

Analisa rangkaian dan sistem kerja, dalam bab ini dibahas tentang sistem kerja perblok diagram dan sistem kerja keseluruhan.

BAB 5. KESIMPULAN DAN SARAN
Bab ini merupakan penutup yang meliputi tentang kesimpulan dari pembahasan yang
dilakukan dari tugas akhir ini serta saran apakah rangkaian ini dapat dibuat lebih
efisien dan dikembangkan perakitannya pada suatu metode lain yang mempunyai
sistem kerja yang sama.

Universitas Sumatera Utara

6

BAB 2

LANDASAN TEORI

2.1 PERANGKAT KERAS

2.1.1

Arsitektur Mikrokontroler AT89S51

Mikrokontroler, sebagai suatu terobosan teknologi mikrokontoler dan mikrokomputer,
hadir memenuhi kebutuhan pasar (market need) dan teknologi baru. Sebagai teknologi
baru, yaitu teknologi semikonduktor dengan kandungan transistor yang lebih banyak
namun hanya membutuhkan ruang kecil serta dapat diproduksi secara massal (dalam
jumlah yang banyak) sehingga harga menjadi lebih murah (dibandingkan
mikroprosesor). Sebagai kebetuhan pasar, mikrokontelor hadir untuk memenuhi selera
industri dan para konsumen akan kebutuhan dan keinginan alat-alat bantu dan mainan
yang lebih canggih.

Ilustrasi yang mungkin bisa memberikan gambaran yang jelas dalam
penggunaan mikrokontroler adalah aplikasi mesin tiket dalam arena permainan yang
saat ini terkenal di Indonesia. Jika kita sudah selesai bermain, maka akan diberikan
suatu nilai, nilai inilah yang menentukan berapa jumlah tiket yang bisa diperoleh dan
jika dikumpulkan dapat ditukar dengan berbagai macam hadiah. Sistem tiket ini
ditangani dengan mikrokontroler, karena tidak mungkin menggunakan computer PC
yang harus dipasang disamping (atau di belakang) mesin permainan yang
bersangkutan.

Universitas Sumatera Utara

7

Selain system tiket, kita juga dapat menjumpai aplikasi mikrokontroler dalam
bidang pengukuran jarak jauh atau yang dikenal dengan system telemetri. Misalnya :
Pengukuran disuatu tempat yang membahayakan manusia, maka akan lebih nyaman
jika dipasang suatu system pengukuran yang bisa mengirimkan data lewat pemancar
dan diterima oleh stasiun pengamatan dari jarak yang cukup aman dari sumbernya.
Sistem pengukuran jarak jauh ini jelas membutuhkan suatu system akuisisi data
sekaligus system pengiriman data secara serial (melalui pemancar), yang semuanya itu
bisa diperoleh dari mikrokontroler yang digunakan.

Tidak seperti system komputer, yang mampu menangani berbagai macam
program aplikasi (misalnya pengolah kata, pengolah angka dan lain sebagainya),
mikrokontroler hanya bisa digunakan untuk satu aplikasi tertentu saja. Perbedaan
lainnya terletak pada perbandingan RAM-nya dan ROM. Pada system computer
perbandingan RAM dan ROM-nya besar, artinya program-program pengguna
disimpan dalam ruang RAM yang relative besar, sedangkan perangkat kerasnya
disimpan dalam ruang ROM yang kecil. Sedangkan pada mikrokontroler,
perbandingan ROM dan RAM-nya yang besar artinya program control disimpan
dalam ROM (bisa Masked ROM atau Flash PEROM) yang ukurannya relatif lebih
besar, sedangkan RAM digunakan sebagai tempat penyimpanan sementara, termasuk
register-register yang digunakan pada mikrokontroler yang bersangkutan.

Universitas Sumatera Utara

8

2.1.2

Kontruksi AT89S51

Mikrokontrol AT89S51 hanya memerlukan tambahan 3 kapasitor, 1 resistor dan 1
kristal serta catu daya 5 Volt. Kapasitor 10 mikro-Farad dan resistor 10 Kilo Ohm
dipakai untuk membentuk rangkaian reset. Dengan adanya rangkaian reset ini
AT89S51 otomatis direset begitu rangkaian menerima catu daya. Kristal dengan
frekuensi maksimum 24 MHz dan kapasitor 30 piko-Farad dipakai untuk melengkapi
rangkaian

oscilator

pembentuk

clock

yang

menentukan

kecepatan

kerja

mikrokontroler.

Memori merupakan bagian yang sangat penting pada mikrokontroler.
Mikrokontroler memiliki dua macam memori yang sifatnya berbeda.

Read Only Memory (ROM) yang isinya tidak berubah meskipun IC kehilangan
catu daya. Sesuai dangan keperluannya, dalam susunan MCS-51 memori
penyimpanan progam ini dinamakan sebagai memori progam.

Random Access Memori (RAM) isinya akan sirna begitu IC kehilangan catu
daya, dipakai untuk menyimpan data pada saat progam bekerja. RAM yang dipakai
untuk menyimpan data ini disebut sebagai memori data.

Ada berbagai jenis ROM. Untuk mikrokontroler dengan progam yang sudah
baku dan diproduksi secara masal, progam diisikan ke dalam ROM pada saat IC
mikrokontroler dicetak di pabrik IC.

Untuk keperluan tertentu mikrokontroler

mengunakan ROM yang dapat diisi ulang atau Programble-Eraseable ROM yang
disingkat menjadi PEROM atau PROM. Dulu banyak dipakai UV-EPROM (Ultra

Universitas Sumatera Utara

9

Violet Eraseable Progamble ROM) yang kemudian dinilai mahal dan ditinggalkan
setelah ada flash PEROM yang harganya jauh lebih murah.
Jenis memori yang dipakai untuk Memori Program AT89S51 adalah Flash
PEROM, program untuk mengendalikan mikrokontroler diisikan ke memori itu lewat
bantuan alat yang dinamakan sebagai AT89S51 Flash PEROM Programmer.

Memori Data yang disediakan dalam chip AT89S51 sebesar 128 byte,
meskipun hanya kecil saja tapi untuk banyak keperluan memori kapasitas itu sudah
cukup.

Sarana Input/Ouput yang disediakan cukup banyak dan berpariasi. AT89S51
mempunyai 32 jalur Input/Ouput. Jalur Input/Ouput paralel dikenal sebagai Port 1
(P1.0..P1.7) dan Port 3 (P3.0..P3.5 dan P3.7).

Gambar 2.1.2 IC Mikrokontroler AT89S51

Universitas Sumatera Utara

10

Deskripsi pin-pin pada mikrokontroler AT89S51 :
VCC (Pin 40)
Supply tegangan
GND (Pin 20)
Ground

Port 0 (Pin 39-Pin 32)
Port 0 dapat berfungsi sebagai I/O biasa, low order multiplex address/data ataupun
penerima kode byte pada saat flash progamming Pada fungsi sebagai I/O biasa port ini
dapat memberikan output sink ke delapan buah TTL input atau dapat diubah sebagai
input dengan memberikan logika 1 pada port tersebut.
Pada fungsi sebagai low order multiplex address/data, port ini akan mempunyai
internal pull up.
Pada saat flash progamming diperlukan eksternal pull up, terutama pada saat
verifikasi program.

Port 2 (Pin 21 – pin 28)
Port 2 berfungsi sebagai I/O biasa atau high order address, pada saat mengakses
memori secara 16 bit. Pada saat mengakses memori 8 bit, port ini akan mengeluarkan
isi dari P2 special function register. Port ini mempunyai internal pull up dan berfungsi
sebagai input dengan memberikan logika 1. Sebagai output, port ini dapat
memberikan output sink keempat buah input TTL.

Universitas Sumatera Utara

11

Port 3 (Pin 10 – pin 17)
Port 3 merupakan 8 bit port I/O dua arah dengan internal pullup. Port 3 juga
mempunyai fungsi pin masing-masing, yaitu sebagai berikut :
Nama pin
P3.0 (pin 10)
P3.1 (pin 11)
P3.2 (pin 12)
P3.3 (pin 13)
P3.4 (pin 14)
P3.5 (pin 15)
P3.6 (pin 16)
P3.7 (pin 17)

Fungsi
RXD (Port input serial)
TXD (Port output serial)
INTO (interrupt 0 eksternal)
INT1 (interrupt 1 eksternal)
T0 (input eksternal timer 0)
T1 (input eksternal timer 1)
WR (menulis untuk eksternal data memori)
RD (untuk membaca eksternal data memori)

RST (pin 9)
Reset akan aktif dengan memberikan input high selama 2 cycle.

ALE/PROG (pin 30)
Address latch Enable adalah pulsa output untuk me-latch byte bawah dari alamat
selama mengakses memori eksternal. Selain itu, sebagai pulsa input progam (PROG)
selama memprogam Flash.

PSEN (pin 29)
Progam store enable digunakan untuk mengakses memori progam eksternal.

Universitas Sumatera Utara

12

EA (pin 31)

Pada kondisi low, pin ini akan berfungsi sebagai EA yaitu mikrokontroler akan
menjalankan progam yang ada pada memori eksternal setelah sistem direset. Jika
kondisi high, pin ini akan berfungsi untuk menjalankan progam yang ada pada
memori internal. Pada saat flash progamming, pin ini akan mendapat tegangan 12
Volt.

XTAL1 (pin 19)

Input untuk clock internal.

XTAL2 (pin 18)

Output dari osilator.

2.2 PERANGKAT LUNAK

2.2.1

Bahasa Assembly MCS-51

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

Universitas Sumatera Utara

13

1. Instruksi MOV
Perintah ini merupakan perintah untuk mengisikan nilai ke alamat atau register
tertentu. Pengisian nilai dapat secara langsung atau tidak langsung.
Contoh pengisian nilai secara langsung
MOV R0,#20h
Perintah di atas berarti : isikan nilai 20 Heksadesimal ke register 0 (R0).
Tanda # sebelum bilangan menunjukkan bahwa bilangan tersebut adalah nilai.
Contoh pengisian nilai secara tidak langsung
MOV 20h,#80h
...........
............
MOV R0,20h
Perintah di atas

berarti : isikan nilai yang terdapat pada alamat 20

Heksadesimal ke register 0 (R0).
Tanpa tanda # sebelum bilangan menunjukkan bahwa bilangan tersebut adalah
alamat.
2. Instruksi DJNZ
Decreament Jump If Not Zero (DJNZ) ini merupakan perintah untuk
mengurangi nilai register tertentu dengan 1 dan lompat jika hasil
pengurangannya belum nol. Contoh ,
MOV R0,#80h
Loop: ...........
............
DJNZ R0,Loop
............

Universitas Sumatera Utara

14

R0 -1, jika belum 0 lompat ke loop, jika R0 = 0 maka program akan
meneruskan ke perintah pada baris berikutnya.

3. Instruksi ACALL
Instruksi ini berfungsi untuk memanggil suatu rutin tertentu. Contoh :
.............
ACALL TUNDA
.............
TUNDA:
................

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

5. Instruksi JMP

(Jump)

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

Universitas Sumatera Utara

15

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)

Instruksi ini merupakan perintah untuk lompat ke alamat tertentu, jika pin yang
dimaksud berlogika Low (0). Contoh,
Loop:
JNB P1.0,Loop
.................

8. Instruksi CJNZ

(Compare Jump If Not Equal)

Instruksi ini berfungsi untuk membandingkan nilai dalam suatu register
dengan suatu nilai tertentu. Contoh,
Loop:
................
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..

Universitas Sumatera Utara

16

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

Universitas Sumatera Utara

17

2.2.2

Software 8051 Editor, Assembler, Simulator (IDE)

Instruksi-instruksi yang merupakan bahasa assembly tersebut dituliskan pada sebuah
editor, yaitu 8051 Editor, Assembler, Simulator (IDE). Tampilannya seperti di bawah
ini.

Gambar 2.2.2 8051 Editor, Assembler, Simulator (IDE)
Setelah program selesai ditulis, kemudian di-save dan kemudian di-Assemble (dicompile). 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.

Universitas Sumatera Utara

18

2.2.3

Software Downloader

Untuk mengirimkan bilangan-bilangan heksadesimal ini ke mikrokontroller digunakan
software ISP- Flash Programmer 3.0a yang dapat didownload dari internet.
Tampilannya seperti gambar di bawah ini

Gambar 2.2.3 ISP- Flash Programmer 3.a
Cara menggunakannya adalah dengan meng-klik Open File untuk mengambil
file heksadesimal dari hasil kompilasi 8051IDE, kemudian klik Write untuk
mengisikan hasil kompilasi tersebut ke mikrokontroller.

Universitas Sumatera Utara

19

BAB 3

PERANCANGAN ALAT DAN PROGRAM

3.1 Rancang Bangun Pinti Otomatis Menggunakan Password

3.2 Diagram Blok
Secara garis besar, diagram blok rangkaian dari pintu otomatis dengan menggunakan
password ditunjukkan pada gambar berikut ini :

Tombol
Password

P1

Sensor tutup
Pintu

Gambar 3.2

P3.5

P3.6

Mikrokontroler AT89S51

Sensor Buka
pintu

P3

P0

Display seven
segmen
Rangkaian
Pengendali Motor
Stepper

Motor
Stepper

Diagram Blok Rangkaian

Universitas Sumatera Utara

20

Pada rangkaian ini digunakan sebuah mikrokontroler AT89S51 sebagai pusat kendali
dari seluruh rangkaian. Rangkaian pendukung lainnya adalah 13 tombol, yaitu 10
tombol untuk password, dan tiga tombol sebagai tombol setting, sensor yang dapat
mendeteksi ketika pintu terbuka/tertutup, empat digit seven segmen untuk
menampilkan angka yang password, dan sebuah rangkaian pengendali motor.

Sensor buka pintu berfungsi untuk mengetahui batas maksimum terbukanya
pintu, sehingga ketika pintu terbuka kemudian pintu menyentuh sensor ini, maka
sensor akan mengirimkan sinyal ke mikrokontroler untuk menghentikan perputaran
motor, sehingga motor berhenti (tidak membuka lebih lebar lagi).

Sensor ini terhubung ke P2.6 mikrokontroler AT89S51. Sensor tutup pintu berfungsi
untuk mengetahui batas maksimum tertutupnya pintu, yang menandakan bahwa pintu
telah tertutup rapat, sehingga ketika pintu tertutup kemudian pintu menyentuh sensor
ini, maka sensor akan mengirimkan sinyal ke mikrokontroler untuk menghentikan
perputaran motor, sehingga motor berhenti. Rangkaian Sensor ini terhubung ke P2.7
mikrokontroler AT89S51

Rangkaian pengendali motor stepper berfungsi untuk mengendalikan
pergerakan motor stepper (menutup/membuka pintu). Rangkaian ini terhubung ke port
0, sehingga dengan memberikan program tertentu, pergerakan menutup/membuka
pintu sudah dapat dikendalikan oleh program yang diberikan ke mikrokontroler
AT89S51.

Universitas Sumatera Utara

21

3.3 Flowchart Rancang Bangun Pintu Otomatis Menggunakan Password

Start

Tunggu penekanan
setting password

Terima 4-digit
penakanan password

Tidak
Password benar ?

ya
Tunggu penekanan Run
atau nilai password
baru
Tidak
Tidak
Tombol Run ?

Ya
Buka Pintu

Password Baru ?

Ya

Masukkan Nilai
Password Baru

Tunda 1 menit

Tutup pintu

End

Universitas Sumatera Utara

22

3. 4 Rangkaian minimum mikrokontroller AT89S51
Rangkaian minimum mikrokontroller AT89S51 ditunjukkan pada gambar 3.4 berikut
ini :

12 MHz

Gambar 3.4 Rangkaian minimum mikrokontroller AT89S51

Pin 29 merupakan PSEN (Program Store Enable) dan pin 30 sebagai Address
Latch Enable (ALE)/PROG dihubungkan ke ground (diset low), sedangkan Pin 31
External Access Enable (EA) diset high (H). Ini dilakukan karena mikrokontroller
AT89S51 tidak menggunakan memori eskternal.

Pin 18 dan 19 dihubungkan ke

XTAL 12 MHz dan capasitor 30 pF. XTAL ini akan mempengaruhi kecepatan
mikrokontroller AT89S51 dalam mengeksekusi setiap perintah dalam program. Pin 9
merupakan masukan reset (aktif tinggi). Pulsa transisi dari rendah ke tinggi akan mereset mikrokontroller ini. Pin 32 sampai 39 adalah Port 0 yang merupakan saluran/bus
I/O 8 bit open collector dapat juga digunakan sebagai multipleks bus alamat rendah
dan bus data selama adanya akses ke memori program eksternal. Karena fungsi
tersebut maka Port 0 dihubungkan dengan resistor array. Jika mikrokontroller tidak
menggunakan memori eksternal, maka penggunaan resistor array tidak begitu penting.

Universitas Sumatera Utara

23

Pin 28 yang merupakan P2.7 dihubungkan dengan transistor dan sebuah LED. Ini
dilakukan hanya untuk menguji apakan rangkaian minimum mikrokontroller
AT89S51 sudah bekerja atau belum. Dengan memberikan program sederhana pada
mikrokontroller tersebut, dapat diketahui apakah rangkaian minimum tersebut sudah
bekerja dengan baik atau tidak. Jika LED yang terhubung ke Pin 28 sudah bekerja
sesuai dengan perintah yang diberikan, maka rangkaian minimum tersebut telah siap
digunakan. Namun setelah seluruh rangkaian disatukan, LED yang terhubung ke pin
28 ini tidak digunakan lagi. Pin 20 merupakan ground dihubungkan dengan ground
pada power supplay. Pin 40 merupakan sumber tegangan positif dihubungkan dengan
+ 5 volt dari power supplay.

3.5 Rangkaian Password

Rangkaian password terdiri dari 13 tombol, dimana 10 tombol merupakan tombol
angka, yaitu dari angka 0 sampai angka 9. Dan tiga tombol yang lainnya merupakan
tombol setting, tombol run dan tombol untuk mengganti password.

Rangkaian password ini dihubungkan dengan port 1 dan port 2. Pada port 1
terdapat 8 tombol dan pada port 2 terdapat 5 tombol. Dalam kondisi biasa, port 1 dan
port 2 mendapatkan logika high (1), saat terjadi penakanan salah satu tombol, maka
pin yang terhubung ke tombol tersebut akan terhubung ke ground, sehingga
mengirimkan sinyal low (0). Perubahan kondisi dari high (1), menjadi low (0) inilah
yang merupakan tanda adanya penekanan pada salah satu tombol.

Universitas Sumatera Utara

24

Seterusnya mikrokontroler akan menampilkan nilai dari tombol yang ditekan
pada display seven segmen, kemudian membandingkannya dengan nilai password
yang benar, jika benar maka pintu akan terbuka secara otomatis.

Tombol Setting
P1.7

(A T89S51)

P2.4

(A T89S51)

P2.3

(A T89S51)

P2.2

(A T89S51)

P2.1

(A T89S51)

P2.0

(A T89S51)

P1.0

(A T89S51)

Tombol 1

Tombol 2

Tombol 3

Tombol 4

Tombol 5

Tombol 6

Tombol 7
P1.1

(A T89S51)

Tombol 8
P1.2

(A T89S51)

P1.3

(A T89S51)

P1.4

(A T89S51)

P1.5

(A T89S51)

Tombol 9

Tombol 0

Tombol Ganti

Tombol Run
P1.6

(A T89S51)

Gambar 3.5 Rangkaian Password

Universitas Sumatera Utara

25

3. 6 Rangkaian Display Seven Segmen

Untuk menampilkan angka dari setiap penekanan tombol, maka dibutuhkan sebuah
display untuk menampilkannya. Pada alat ini, display yang digunakan adalah display
seven segmen, yang terdiri dari 4 buah seven segmen, sehingga display ini dapat
menampilkan 4 digit bilangan.

Display seven segmen ini akan diaktipkan oleh IC 4094 yang merupakan IC
serial to paralel (serial in paralel out). Jadi data dimasukkan ke dalam IC ini dengan
mengirimkan data serial. Keluaran dari IC 4094 ini langsung dihubungkan ke seven
segmen, sehingga data serial yang diterima oleh input IC ini akan ditampilkan nilainya
pada seven segmen.

Rangkaian ini terhubung ke P3.0 dan P3.1, yang mempunyai fungsi khusus
sebagai pengiriman data secara serial. Sehingga nilai yang akan tampil pada display
seven segmen akan dapat dikendalikan oleh mikrokontroler AT89S51.
VCC

14

13

D0

11

12

D1

D2

6
7

D3

4

5

2

In

Clock

3

Out

10

2

In

Clock

4094

3

Out

10

In

2

3

D5

D6

D7

14

13

D0

12

D1

11

D2

6
7

D3

D4

4

5

A B CDE F G

4094
Clock

Out

10

In

2

Clock

D5

D6

D7

14

12

13

D0

D1

11

D2

D3

6
7
D4

A B CDE F G

4094

3

10

Out

4094

D5

4

5

D6

D7

14

13

D0

12

A B CDE F G

D1

11

D2

D3

6
7
D4

D5

4

D6

D7

5

A B CDE F G

SEVEN_SEG_DISPLAY

SEVEN_SEG_DISPLAY

D4

SEVEN_SEG_DISPLAY

SEVEN_SEG_DISPLAY

5V

P3.0

AT89S51

P3.1

AT89S51

Gambar 3.6 Rangkaian display seven segmen

Universitas Sumatera Utara

26

3.7 Rangkaian Sensor Buka Pintu dan Tutup Pintu

Ketika password yang diisikan benar, maka pintu akan terbuka. Untuk mengetahui
bahwa pintu telah terbuka secara penuh, maka dibutuhkan sebuah sensor untuk
mengetahuinya. Sensor ini berfungsi untuk memastikan bahwa pintu telah terbuka
secara penuh (terbuka lebar), jadi ketika passwordnya benar dan kemudian pengguna
menekan tombol run, maka mikrokontroler akan memerintahkan motor stepper untuk
berputar membuka pintu. Ketika pintu menyentuh sensor buka pintu, yang berarti
pintu sudah terbuka lebar, maka sensor akan mengirimkan sinyal low ke
mikrokontroler, yang merupakan perintah kepada mikrokontroler untuk menghentikan
putaran motor stepper. Mikrokontroler

yang menerima sinyal ini akan langsung

memerintahkan motor stepper untuk berhenti berputar, dan pintu telah terbuka lebar.

Setelah beberapa saat ( ± 8 detik), maka mikrokontroler akan memerintahkan
motor stepper untuk berputar menutup pintu Ketika pintu menyentuh sensor tutup
pintu, yang berarti pintu sudah tertutup rapat, maka sensor akan mengirimkan sinyal
low ke mikrokontroler, yang merupakan perintah kepada mikrokontroler untuk
menghentikan putaran motor stepper. Mikrokontroler yang menerima sinyal ini akan
langsung

memerintahkan motor stepper untuk berhenti berputar, dan pintu telah

tertutup rapat.

Gambar 3.7 Rangkaian sensor buka tutup pintu

Universitas Sumatera Utara

27

3.8 Rangkaian Driver Motor Stepper
Untuk mengendalikan perputaran motor stepper dibutuhkan sebuah driver. Driver ini
berfungsi untuk memutar motor stepper searah dengan jarum jam atau berlawanan
arah dengan jarum jam. Rangkaian ini dihubungkan ke port 0 dari mikrokontroler
AT89S51. sehingga untuk memutar motor, harus diberikan logika high secara
bergantian ke port 0. Sedangkan untuk memutar motor ke arah sebaliknya, maka
logika high yang diberikan secara bergantian tersebut harus berlawanan arah dengan
sebelumnya. Dengan demikian maka rangkaian ini sudah dapat dikendalikan oleh
mikrokontroler AT89S51.

VCC

VCC
12V

12V

AT89S51 (P0.2)
AT89S51 (P0.0)
1.0k ฀

Tip 122

Tip 122

1.0k ฀

MOTOR
Stepper

AT89S51 (P0.3)

AT89S51 (P0.1)
1.0k ฀

Tip 122

Tip 122

1.0k ฀

Gambar 3.8 Rangkaian Driver Motor Stepper

Universitas Sumatera Utara

28

3.9 Rangkaian power supplay ( PSA )

Rangkaian ini berfungsi untuk mensupplay tegangan ke seluruh rangkaian yang ada.
Rangkaian PSA yang dibuat terdiri dari dua keluaran, yaitu 5 volt dan 12 volt,
keluaran 5 volt digunakan untuk mensupplay tegangan ke seluruh rangkaian,.
Rangkaian power supplay ditunjukkan pada gambar 3.8 berikut ini :

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

Universitas Sumatera Utara

29

3.10 Perancangan Rangkaian Alarm
Rangkaian alarm ini berfungsi untuk memberikan peringatan berupa nada alarm
apabila password yang tekan salah. Rangkaiannya seperti gambar di bawah ini:

Gambar 3.10. Rangkaian Alarm

Pada alat ini, alarm yang digunakan adalah alarm 5 volt. Alarm ini akan
berbunyi jika positifnya dihubungkan ke sumber tegangan positif dan negatifnya
dihubungkan ke ground.

Pada rangkaian di atas transistor berfungsi sebagai saklar elektronik yang
dapat menghidupkan dan mematikan alarm. Dari gambar dapat dilihat bahwa negatif
buzzer dihubungkan ke kolektor dari transistor NPN (2SC945), ini berarti jika
transistor dalam keadaan aktip maka kolektor akan terhubung ke emitor dimana
emitor langsung terhubung ke ground yang menyebabkan tegangan di kolektor
menjadi 0 volt, keadaan ini akan mengakibatkan alarm berbunyi. Sebaliknya jika
transistor tidak aktif, maka kolektor tidak terhubung ke emitor, sehingga tegangan
pada kolektor menjadi 5 volt, keadaan ini menyebabkan alarm mati.

Universitas Sumatera Utara

30

Transistor yang digunakan dalam rangkaian di atas adalah transistor jenis
NPN, transistor jenis ini akan aktif apabila tegangan pada basis lebih besar dari 0,7
volt. Resistor 4,7 Kohm pada basis berguna untuk membatasi arus yang masuk pada
basis agar transistor tidak rusak.

Universitas Sumatera Utara

31

BAB 4

PENGUJIAN RANGKAIAN DAN PROGRAM

4.1 Pengujian Rangkaian Power Supplay (PSA)/ Catu Daya

Rangkaian Power Supply diuji dengan menghubungkan rangkaian Power Supply
dengan sebuah multimeter. Adapun tujuannya adalah untuk mengukur tegangan
keluarannya apakah sudah sesuai dengan yang diinginkan atau belum.

Pada rangkaian Power Supply tegangan yang masuk adalah tegangan sebesar
220 volt AC. Untuk menghidupkan rangkaian ini tidak diperlukan tegangan sebesar
itu. Selain itu arus yang digunakan adalah arus searah, hal ini disebabkan karena
apabila arus yang masuk adalah arus bolak-balik maka tegangan yang dihasilkan tidak
stabil. Dan ini dapat menyebabkan kerusakan pada rangkaian.

Karena tegangan yang masuk kedalam rangkaian adalah tegangan sebesar 220
Volt AC, maka tegangan ini perlu dikecilkan dan disearahkan menjadi tegangan DC.
Oleh karena itu pada rangkaian ini digunakan Trafo CT yang berfungsi untuk
menurunkan tegangan dari 220 Volt menjadi 2 tegangan keluaran yaitu 12 Volt dan 5
Volt. Kemudian tegangan ini disearahkan dengan 2 buah dioda dan kemudian
diratakan dengan kapasitor 2200 mikro farad.

Tegangan keluaran yang dihasilkan oleh rangkaian Power Supply ini adalah 12
Volt DC dan 5 Volt DC. Tegangan 5 Volt DC akan digunakan untuk menghidupkan

Universitas Sumatera Utara

32

rangkaian mikrokontroller AT89S51 dan tegangan 12 Volt DC akan digunakan untuk
menghidupkan semua relay yang ada pada rangkaian.

Apabila rangkaian kita hidupkan dan kita hubungkan ke multimeter dan
keluarannya sesuai dengan yang diharapkan, maka rangkaian ini sudah bekerja dengan
baik. Akan tetapi, bila tidak sesuai kemungkinan besar ada kerusakan di dalam
rangkaian ini.

4.2 Pengujian Rangkaian Mikrokontroller AT89S51

Untuk mengetahui apakah rangkaian mikrokontroller AT89S51 telah bekerja dengan
baik, maka dilakukan pengujian. Pengujian bagian ini dilakukan dengan memberikan
program sederhana pada mikrokontroller AT89S51. Programnya adalah sebagai
berikut:

Loop:
Setb P2.7
Acall tunda
Clr P2.7
Acall tunda
Sjmp Loop
Tunda:
Mov r7,#0ffh

Universitas Sumatera Utara

33

Tnd: Mov r6,#0ffh
Djnz r6,$
Djnz r7,tnd
Ret

Program di atas bertujuan untuk menghidupkan LED yang terhubung ke P2.7
selama

± 0,13 detik kemudian mematikannya selama ± 0,13 detik secara terus

menerus. Perintah Setb P2.0 akan menjadikan P2.7 berlogika high yang menyebabkan
transistor aktif, sehingga LED hidup. Acall tunda akan menyebabkan LED ini hidup
Selama beberapa saat. Perintah Clr P2.7 akan menjadikan P2.7 berlogika low yang
menyebabkan transistor tidak aktif sehingga LED akan mati. Perintah Acall tunda
akan menyebabkan LED ini mati selama beberapa saat. Perintah Sjmp Loop akan
menjadikan program tersebut berulang-ulang, sehingga akan tampak LED tersebut
berkedip.

Jika program tersebut diisikan ke mikrokontroller AT89S51, kemudian
mikrokontroller dapat berjalan sesuai dengan program yang diisikan, maka rangkaian
minimum mikrokontroller AT89S51 telah bekerja dengan baik.

Universitas Sumatera Utara

34

4.3 Pengujian Rangkaian Penampil Nilai Password

Pengujian pada rangkaian ini dapat dilakukan dengan menghubungkan rangkaian ini
dengan rangkaian mikrokontroler, kemudian memberikan data tertentu pada port serial
dari mikrokontroler. Seven segmen yang digunakan adalah common anoda, dimana
segmen akan menyala jika diberi logika 0 dan sebaliknya segmen akan mati jika diberi
logika 1.

Dari hasil pengujian diperoleh data yang harus dikirimkan ke port serial untuk
menampilkan angka desimal adalah sebagai berikut:

Tabel 4.3 Data Yang Dikirim ke Port Serial

Angka

Data yang dikirim

1

0ECH

2

18H

3

88H

4

0C4H

5

82H

6

02H

7

0E8H

8

0h

9

80H

0

20H

Universitas Sumatera Utara

35

Setiap penekanan pada tombol password, nilainya akan ditampilkan ke display
dimana display tersebut menggunakan 4 buah seven segmen yang dihubungkan ke IC
4094 yang merupakan IC serial to paralel. IC ini akan merubah 8 bit data serial yang
masuk menjadi keluaran 8 bit data paralel. Rangkaian ini dihubungkan dengan P3.0
dan P3.1 AT89S51. P3.0 merupakan fasilitas khusus pengiriman data serial yang
disediakan oleh mikrokontroler AT89S51. Sedangkan P3.1 merupakan sinyal clock
untuk pengiriman data serial.

Dengan menghubungkan P3.0 dengan IC serial to paralel (IC 4094), maka
data serial yang dikirim akan diubah menjadi data paralel. Kemudian IC 4094 ini
dihubungkan dengan seven segmen agar data tersebut dapat ditampilkan dalam bentuk
angka. Seven segmen yang digunakan adalah aktip low, ini berarti seven segmen akan
hidup jika diberi data low (0) dan seven segmen akan mati jika diberi data high (1).
Untuk menampilkan angka pada seven segmen, maka data yang harus diberikan
adalah sebagai berikut:
1. Untuk menampilkan angka nol, data yang harus dikirim adalah

20h

2.Untuk menampilkan angka satu, data yang harus dikirim adalah

0ech

3.Untuk menampilkan angka dua, data yang harus dikirim adalah

18h

4. Untuk menampilkan angka tiga, data yang harus dikirim adalah

88h

5. Untuk menampilkan angka empat, data yang harus dikirim adalah

0c4h

6. Untuk menampilkan angka lima, data yang harus dikirim adalah

82h

7. Untuk menampilkan angka enam, data yang harus dikirim adalah

02h

8. Untuk tampilan kosong (tidak ada nilai yang tampil), data yang harus
dikirim adalah

0ffh

Universitas Sumatera Utara

36

Program untuk menampilkan angka pada display seven segmen adalah sebagai
berikut:
bil0

equ

20h

bil1

equ

0ech

bil2

equ

18h

bil3

equ

88h

bil4

equ

0c4h

bil5

equ

82h

bil6

equ

02h

bilkosong equ

0ffh

mov 60h,#Bil1
mov 61h,#Bil2
mov 62h,#Bil3
mov 63h,#Bil4
Display:
mov sbuf,60h
jnb ti,$
clr ti
mov sbuf,61h
jnb ti,$
clr ti
mov sbuf,62h
jnb ti,$
clr ti

Universitas Sumatera Utara

37

mov sbuf,63h
jnb ti,$
clr ti
ret

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

4.4 Pengujian Rangkaian Password

Untuk membuka pintu, maka password yang diberikan harus benar sesuai dengan
programnya supaya pintu dapat terbuka. Jika tidak benar, maka pintu tidak akan
terbuka. Rangkaian password ini terdiri dari 13 tombol, dimana tombol 1 sampai
dengan 9 untuk penekanan password yang dapat diganti jika pemilik merasa kurang
tepat dengan password sebelumnya dengan mengganti nilai pada program. Angka
yang lain untuk setting dan runnya yang ditekan setelah penekanan kode sehingga
pintu dapat terbuka.

Rangkaian password ini terhubung ke Port 2 dan port 1, dimana P1.7
merupakan tombol setting, P2.4 merupakan tombol 1, P2.3 merupakan tombol 2, P2.2
merupakan tombol 3, P2.1 merupakan tombol 4, P2.0 merupakan tombol 5, P1.0
merupakan tombol 6, P1.1 merupakan tombol 7, P1.2 merupakan tombol 8, P1.3
merupakan tombol 9, P1.4 merupakan tombol 0, P1.5 merupakan tombol untuk
mengganti password, P1.6 merupakan tombol Run. Jika tombol setting ditekan maka

Universitas Sumatera Utara

38

P1.7 akan terhubung ke ground, menyebabkan P1.7 mendapatkan sinyal low. Sinyal
low inilah yang merupakan indikasi bahwa ada penekanan pada tombol setting. Cara
kerja yang sama juga berlaku pada ketiga belas tombol lainnya.

Program untuk mengetahui penekanan pada tombol password adalah sebagai
berikut :
Tbl_Setting

Bit

P1.7

Tbl_1

Bit

P2.4

Tbl_2

Bit

P2.3

Tbl_3

Bit

P2.2

Tbl_4

Bit

P2.1

Tbl_5

Bit

P2.0

Tbl_6

Bit

P1.0

Tbl_Ganti

Bit

P1.5

Tbl_Run

Bit

P1.6

. . . . .

Di awal program dibuat inisialisasi tombol, dimana inisialisasi ini akan berguna untuk
mempermudah mengingat hubungan tiap-tiap tombol dengan pin pada mikrokontroler.
Jb Tbl_Setting,$
Perintah di atas akan merupakan perintah untuk menunggu penekanan pada tombol
setting dan akan terus menunggu sampai ada penekanan pada tombol setting.

mov 60h,#Bil0
mov 61h,#Bil0
mov 62h,#Bil0

Universitas Sumatera Utara

39

mov 63h,#Bil0
Acall Display

Perintah-perintah di atas akan memasukkan nilai 0 ke alamat 60h yang
merupakan alamat untuk mengisi nilai ribuan, memasukkan nilai 0 ke alamat 61h
yang merupakan alamat untuk mengisi nilai ratusan, memasukkan nilai 0 ke alamat
62h yang merupakan alamat untuk mengisi nilai puluhan dan memasukkan nilai nol ke
alamat 63h yang merupakan alamat untuk mengisi nilai satuan. Sehingga dengan
demikian akan tampil pada display nilai 0000.
Cek_no11:
Jb Tbl_1,Cek_no21
mov 70h,#1
mov 60h,#bil1
Acall Display
Jnb Tbl_1,$
Acall Tunda
Ljmp Cek_Password2

Cek_no21:
Jb Tbl_2,Cek_no31
mov 70h,#2
mov 60h,#bil2
Acall Display
Jnb Tbl_2,$
Acall Tunda

Universitas Sumatera Utara

40

Ljmp Cek_Password2
. . . .
. . . .
. . . . Dst

Program di atas akan mengecek penekanan pertama dari masing-masing
tombol password, yaitu penekanan pada tombol 1, tombol 2, tombol 3 s/d tombol 0.
Jika tidak ada penekanan pada tombol 1, maka program akan mengecek tombol 2, jika
tombol 2 juga tidak ditekan, maka program akan mengecek tombol 3, dan seterusnya.
Jika terjadi penekanan pada tombol 1, maka program akan memasukkan nilai 1 ke
alamat 70h. Nilai ini yang nantinya akan dibandingkan dengan nilai password yang
benar untuk nilai password pertama. Kemudian program akan memasukkan nilai
bil1 ke alamat 60h agar tampil di display angka 1. Selanjutnya program akan
melanjutkan untuk mengecek penekanan kedua dari tombol password

Namun jika tombol yang ditekan adalah tombol 2, maka program akan
memasukkan nilai 2 ke alamat 70h. Nilai ini

yang nantinya akan dibandingkan

dengan nilai password yang benar untuk nilai password pertama. Kemudian program
akan memasukkan nilai bil2 ke alamat 60h agar tampil di display angka 2.
Selanjutnya program akan melanjutkan untuk mengecek penekanan kedua dari tombol
password

Demikian juga halnya yang terjadi jika tombol yang ditekan adalah tombol 3,
4, 5 dan seterusnya.

Universitas Sumatera Utara

41

Cek_Password2:
Jb Tbl_1,Cek_no22
mov 71h,#1
mov 61h,#bil1
Acall Display1
Jnb Tbl_1,$
Acall Tunda
Ljmp Cek_Password3

Cek_no22:
Jb Tbl_2,Cek_no32
mov 71h,#2
mov 61h,#bil2
Acall Display1
Jnb Tbl_2,$
Acall Tunda
Ljmp Cek_Password3

Program di atas akan mengecek penekanan password kedua dari masingmasing tombol password. Sama seperti sebelumnya, jika tidak ada penekanan pada
tombol 1, maka program akan mengecek tombol 2, jika tombol 2 juga tidak ditekan,
maka program akan mengecek tombol 3, dan seterusnya. Jika terjadi penekanan pada
tombol 1, maka program akan memasukkan nilai 1 ke alamat 70h. Nilai ini yang
nantinya akan dibandingkan dengan nilai password yang benar untuk nilai password
kedua. Kemudian program akan memasukkan nilai bil1 ke alamat 60h agar tampil di

Universitas Sumatera Utara

42

display angka 1. Selanjutnya program akan melanjutkan untuk mengecek penekanan
ketiga dari tombol password

Namun jika tombol yang ditekan adalah tombol 2, maka program akan
memasukkan nilai 2 ke alamat 70h. Nilai ini

yang nantinya akan dibandingkan

dengan nilai password yang benar untuk nilai password kedua. Kemudian program
akan memasukkan nilai bil2 ke alamat 60h agar tampil di display angka 2.
Selanjutnya program akan melanjutkan untuk mengecek penekanan ketiga dari tombol
password

Demikian juga halnya yang terjadi jika tombol yang ditekan adalah tombol 3,
4, 5 dan seterusnya. Dan juga penekanan untuk penekanan ketiga dan keempat dari
tombol password.

4.5 Pengujian Rangkaian Sensor Buka Pintu dan Tutup Pintu

Ketika mikrokontroler memerintahkan motor untuk membuka pintu, mikrokontroler
tidak mengetahui apakah pintu sudah terbuka lebar atau belum. Hal yang sama juga
terjadi

ketika mikrokontroler memerintahkan

motor untuk

menutup

pintu,

mikrokontroler tidak mengetahui apakah pintu sudah tertutup rapat atau belum.
Karena itu dibutuhkan sebuah sensor yang dapat mengetahui kedua keadaan tersebut.

Dalam hal ini digunakan sebuah sensor buka pintu (switch control), yang
berfungsi untuk mengetahui apakah pintu sudah terbuka lebar atau belum, dan sebuah

Universitas Sumatera Utara

43

sensor tutup pintu yang berfungsi untuk mengetahui apakah pintu sudah tertutup rapat
atau belum. Rangkaian sensor buka pintu hanya terdiri dari sebuah saklar yang
dihubungkan ke ground dan ke mikrokontroler AT89S51.
Ketika sensor dalam keadaan terbuka, kondisi P2.6 adalah high. Namun jika
pintu menyentuh saklar, maka P2.6 akan terhubung ke ground, yang menyebabkan
kondisi P2.6 akan berubah dari high (1), menjadi low (0). Perubahan kondisi pada
P2.6 inilah yang dikenali oleh mikrokontroler sebagai tanda bahwa pintu telah terbuka
lebar, maka mikrokontroler akan memerintahkan motor stepper untuk berhenti
berputar, sehingga pintu tidak terbuka lebih lebar lagi.

Program untuk mendeteksi pengiriman sinyal dari sensor buka pintu ini
adalah,
Buka_Pintu:
. . . . . .
Jb P2.6,Buka_Pintu
mov P0,#0h

Dokumen baru

PENGARUH PENERAPAN MODEL DISKUSI TERHADAP KEMAMPUAN TES LISAN SISWA PADA MATA PELAJARAN ALQUR’AN HADIS DI MADRASAH TSANAWIYAH NEGERI TUNGGANGRI KALIDAWIR TULUNGAGUNG Institutional Repository of IAIN Tulungagung

117 3864 16

PENGARUH PENERAPAN MODEL DISKUSI TERHADAP KEMAMPUAN TES LISAN SISWA PADA MATA PELAJARAN ALQUR’AN HADIS DI MADRASAH TSANAWIYAH NEGERI TUNGGANGRI KALIDAWIR TULUNGAGUNG Institutional Repository of IAIN Tulungagung

40 1026 43

PENGARUH PENERAPAN MODEL DISKUSI TERHADAP KEMAMPUAN TES LISAN SISWA PADA MATA PELAJARAN ALQUR’AN HADIS DI MADRASAH TSANAWIYAH NEGERI TUNGGANGRI KALIDAWIR TULUNGAGUNG Institutional Repository of IAIN Tulungagung

40 924 23

PENGARUH PENERAPAN MODEL DISKUSI TERHADAP KEMAMPUAN TES LISAN SISWA PADA MATA PELAJARAN ALQUR’AN HADIS DI MADRASAH TSANAWIYAH NEGERI TUNGGANGRI KALIDAWIR TULUNGAGUNG Institutional Repository of IAIN Tulungagung

20 616 24

PENGARUH PENERAPAN MODEL DISKUSI TERHADAP KEMAMPUAN TES LISAN SISWA PADA MATA PELAJARAN ALQUR’AN HADIS DI MADRASAH TSANAWIYAH NEGERI TUNGGANGRI KALIDAWIR TULUNGAGUNG Institutional Repository of IAIN Tulungagung

26 772 23

KREATIVITAS GURU DALAM MENGGUNAKAN SUMBER BELAJAR UNTUK MENINGKATKAN KUALITAS PEMBELAJARAN PENDIDIKAN AGAMA ISLAM DI SMPN 2 NGANTRU TULUNGAGUNG Institutional Repository of IAIN Tulungagung

60 1320 14

KREATIVITAS GURU DALAM MENGGUNAKAN SUMBER BELAJAR UNTUK MENINGKATKAN KUALITAS PEMBELAJARAN PENDIDIKAN AGAMA ISLAM DI SMPN 2 NGANTRU TULUNGAGUNG Institutional Repository of IAIN Tulungagung

65 1213 50

KREATIVITAS GURU DALAM MENGGUNAKAN SUMBER BELAJAR UNTUK MENINGKATKAN KUALITAS PEMBELAJARAN PENDIDIKAN AGAMA ISLAM DI SMPN 2 NGANTRU TULUNGAGUNG Institutional Repository of IAIN Tulungagung

20 802 17

KREATIVITAS GURU DALAM MENGGUNAKAN SUMBER BELAJAR UNTUK MENINGKATKAN KUALITAS PEMBELAJARAN PENDIDIKAN AGAMA ISLAM DI SMPN 2 NGANTRU TULUNGAGUNG Institutional Repository of IAIN Tulungagung

31 1084 30

KREATIVITAS GURU DALAM MENGGUNAKAN SUMBER BELAJAR UNTUK MENINGKATKAN KUALITAS PEMBELAJARAN PENDIDIKAN AGAMA ISLAM DI SMPN 2 NGANTRU TULUNGAGUNG Institutional Repository of IAIN Tulungagung

41 1315 23