Anda di halaman 1dari 49

PERANCANGAN PROGRAM SIMULASI JEMBATAN ANGKAT

OTOMATIS BERBASIS AT89S51

TUGAS AKHIR

ELISA SIMATUPANG
052408089

PROGRAM STUDI FISIKA INSTRUMENTASI D-3


DEPARTEMEN FISIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
MEDAN
2008

Universitas Sumatera Utara


PERSETUJUAN

Judul : PERANCANGAN PROGRAM SIMULASI


JEMBATAN ANGKAT OTOMATIS BERBASIS
AT89S51
Kategori : TUGAS AKHIR
Nama : ELISA SIMATUPANG
Nomor Induk Mahasiswa : 052408089
Program Studi : DIPLOMA III FISIKA INSTRUMENTASI
Departemen : FISIKA
Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN
ALAM (FMIPA) UNIVERSITAS SUMATERA
UTARA

Diluluskan di
Medan, Juli 2008

Diketahui oleh
Departemen Fisika FMIPA USU Pembimbing
Ketua Program Studi

Dr. Marhaposan Situmorang Dr. Marhaposan Situmorang


NIP. 130 810 771 NIP. 130 810 771

Universitas Sumatera Utara


PERNYATAAN

PERANCANGAN PROGRAM SIMULASI JEMBATAN ANGKAT


OTOMATIS BERBASIS AT89S51

TUGAS AKHIR

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

Medan, Juli 2008

ELISA SIMATUPANG
052408089

Universitas Sumatera Utara


PENGHARGAAN

Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa yang telah
memberikan anugerah-Nya sehingga penulisan Tugas Akhir ini dapat diselesaikan
dalam waktu yang telah ditentukan.
Ucapan terima kasih saya sampaikan kepada Bapak Dr. Marhaposan
Situmorang selaku Dosen Pembimbing pada penyelesaian tugas akhir ini yang telah
memberikan panduan dan penuh kepercayaan kepada saya untuk menyempurnakan
tugas akhir ini. Panduan ringkas, padat dan profesional telah diberikan kepada saya
agar dapat menyelesaikan tugas akhir ini. Ucapan terima kasih juga ditujukan kepada
ketua dan sektetaris program studi Bapak Drs. Syahrul Humaidi, Msc dan Ibu Dra.
Justinon,Msi., Dekan dan Pembantu Dekan Fakultas Matematika dan Ilmu
Pengetahuan Alam Universitas Sumatera Utara, semua dosen pada Departemen Fisika
FMIPA USU, dan kawan-kawan stambuk 2005 atas segala bantuan dan motivasinya
sehingga penulis dapat menyelesaikan Tugas Akhir ini dengan baik. Terimakasih juga
saya ucapkan teristimewa kepada Ibunda tercinta M. br Pasaribu, abang dan adek
penulis yang telah banyak memberikan bantuan, dukungan, dan doa sehingga penulis
dapat menyelesaikan Tugas Akhir ini. Semoga Tuhan memberkati.

Universitas Sumatera Utara


ABSTRAK

Pada perancangan alat simulasi jembatan angkat otomatis ini terdapat 10 blok
rangkaian utama. Sensor yang digunakan adalah 2 buah photodioda dan pemancar
inframerah. Sensor 1 berfungsi untuk mendeteksi kapal yang akan melewati jembatan.
Sensor 2 berfungsi untuk memberitahukan kepada mikorokontroller bahwa kapal telah
melewati jembatan. Output dari sensor akan dikuatkan kembali oleh penguat sinyal
sebelum masuk ke mikrokontroller. Hasil penguatan sensor yang telah diolah oleh
penguat sinyal inilah yang akan di kirimkan oleh mikrokontroller.
Mikrokontroller AT89S51 yang merupakan otak dari keseluruhan system
berfungsi untuk mengolah semua data yang masuk. Driver motor stepper berfungsi
untuk mengendalikan motor stepper. Motor steper digunakan untuk mengangkat
jembatan dan menutup palang jalan. Alarm berfungsi untuk memberitahukan bahwa
kapal sedang melewati jembatan. Pada perancangan program simulasi jembatan
angkat berbasis mikrokontroller AT9S51 ini, Program ditulis atau dibuat dengan
menggunakan bahasa assembler.

Universitas Sumatera Utara


DAFTAR ISI

Halaman
Persetujuan ii
Pernyataan iii
Penghargaan iv
Abstrak v
Daftar Isi vi
Daftar gambar viii
Daftar tabel ix

Bab 1 Pendahuluan 1
1.1 Latar Belakang Masalah 1
1.2 Rumusan Masalah 2
1.3 Tujuan Penulisan 3
1.4 Sistematika Penulisan 4

Bab 2 Landasan Teori 6


2.1 Perangkat Keras 6
2.1.1 Arsitektur Mikrokontoler AT89S51 6
2.1.2 Konstruksi AT89S51 8
2.1.3 SFR (Register Fungsi Khusus) Pada Keluarga 51 10
2.1.4 Motor Langkah (Stepper) 17
2.1.5 Photodioda 19
2.1.6 Dioda Pemancar Infrare Merah (LED infra merah) 20
2.2 Perangkat Lunak 22
2.2.1 Bahasa Assembly MCS-51 22
2.2.2 Software 8051 Editor,Assembler,Simulator ( IDE ) 26
2.2.3 Software Downloader 27

Bab 3 Perancangan Alat dan Cara Kerja Rangkaian 28


3.1 Diagram Blok 28
3.2 Perancangan Algoritma Program 29
3.3 Perancangan Program Utama 30
4.4 Rangkaian lengkap simulasi jembatan angkat otomatis 40

Bab 4 Pengujian dan Analisa Sistem 41


4.1 Rangkaian Power Supply ( PSA ) 41
4.2 Pengujian Rangkaian Mikrokontroler AT89S51 41
4.3 Pengujian Rangkaian Driver Motor Stepper 43
4.4 Pengujian Rangkaian Sensor 48

Universitas Sumatera Utara


Bab 5 Kesimpulan dan Saran 51
5.1 Kesimpulan 51
5.2 Saran 52

Daftar Pustaka 53

Universitas Sumatera Utara


DAFTAR GAMBAR

Gambar 2.1. IC Mikrokontroler AT89S51F 14


Gambar 2.2. Diagram motor langkah (stepper) 17
Gambar 2.3. Pemberian data/pulsa pada motor stepper 18
Gambar 2.4. Photodioda 20
Gambar 2.5. Simbol dan rangkaian dasar sebuah LED 21
Gambar 2.6. 8051 Editor, Assembler, Simulator (IDE) 26
Gambar 2.7. ISP- Flash Programmer 27
Gambar 3.1. Diagaram blok 28
Gambar 3.2 Sub program buka 32
Gambar 3.3 Tampilan sub program sensor 34
Gambar 3.4 Tampilan sub program delay 35
Gambar 4.1 Rangkaian lengkap simulasi jembatan angkat otomatis 40
Gambar 4.2 Rangkaian Driver Motor Stepper 44

Universitas Sumatera Utara


DAFTAR TABEL

Tabel 2.1. Peta Register Fungsi Khusus SFR 10


Tabel 2.2 . Fungsi pin AT89S51 14
Tabel 4.1. Sinyal masukan pada motor stepper 45
Tabel 4.2. Data masukan high (1) dan low (0) pada motor stepper 46

Universitas Sumatera Utara


ABSTRAK

Pada perancangan alat simulasi jembatan angkat otomatis ini terdapat 10 blok
rangkaian utama. Sensor yang digunakan adalah 2 buah photodioda dan pemancar
inframerah. Sensor 1 berfungsi untuk mendeteksi kapal yang akan melewati jembatan.
Sensor 2 berfungsi untuk memberitahukan kepada mikorokontroller bahwa kapal telah
melewati jembatan. Output dari sensor akan dikuatkan kembali oleh penguat sinyal
sebelum masuk ke mikrokontroller. Hasil penguatan sensor yang telah diolah oleh
penguat sinyal inilah yang akan di kirimkan oleh mikrokontroller.
Mikrokontroller AT89S51 yang merupakan otak dari keseluruhan system
berfungsi untuk mengolah semua data yang masuk. Driver motor stepper berfungsi
untuk mengendalikan motor stepper. Motor steper digunakan untuk mengangkat
jembatan dan menutup palang jalan. Alarm berfungsi untuk memberitahukan bahwa
kapal sedang melewati jembatan. Pada perancangan program simulasi jembatan
angkat berbasis mikrokontroller AT9S51 ini, Program ditulis atau dibuat dengan
menggunakan bahasa assembler.

Universitas Sumatera Utara


BAB 1

PENDAHULUAN

1.1. Latar Belakang Masalah

Kebutuhan manusia terhadap peralatan yang cerdas dan dapat bekerja secara otomatis

semakin meningkat. Selain sistem kerjanya yang teliti juga peralatan ini tidak perlu

dipantau setiap saat sebab peralatan otomatis dapat melakukan pekerjaannya sendiri

tanpa harus dikendalikan oleh pengguna.

Penggunaan peralatan otomatis sangatlah efisien, jika menggunakan peralatan

yang manual, maka satu peralatan harus dikendalikan oleh satu orang, ini sangatlah

tidak efisien. Berbeda dengan peralatan otomatis, dimana satu orang dapat

mengendalikan beberapa peralatan otomatis sekaligus, hanya butuh waktu yang

sedikit untuk memantau peralatan tersebut, apakah bekerja dengan benar atau tidak.

Sebagai contoh, Salah satu peralatan otomatis yang sudah mulai banyak

digunakan adalah pintu otomatis. Pintu otomatis ini banyak digunakan di plaza-plaza,

mal-mal dan pusat-pusat perbelanjaan lainnya. Pintu otomatis tersebut akan terbuka

jika ada orang yang akan masuk/keluar dari pintu tersebut, dan pintu akan menutup

sendiri secara otomatis, jika dalam beberapa menit tidak ada orang yang akan

masuk/keluar dari pintu tersebut.

Universitas Sumatera Utara


Prinsip kerja dari pintu otomatis ini juga dapat diterapkan pada jembatan.

Dengan demikian dengan menerapkan prinsip kerja dari pintu otomatis di atas kita

juga dapat membuat sebuah jembatan yang dapat membuka dan menutup secara

otomatis dengan cara mengangkat dan menurunkannya. jembatan tersebut akan

terbuka secara otomatis apabila ada kapal yang lewat dibawahnya hal ini dilakukan

untuk memperlancar lewatnya kapal tersebut dan meminimkan terjadinya kecelakaan

yang disebabkan menyangkutnya tiang kapal pada konstruksi jembatan.

1.2. Rumusan Masalah

Berdasarkan uraian yang terdapat dalam latar belakang di atas, maka dalam tugas

akhir ini akan dibuat sebuah simulasi jembatan angkat yang dapat membuka dan

menutup sendiri secara otomatis. Jika ada kapal yang akan lewat melaui jembatan

tersebut maka jembatan akan membuka secara otomatis dan akan menutup kembali

apabila kapal telah melewati jembatan tersebut.

Pada alat ini akan digunakan sebuah mikrokontroler AT89S51, sebuah motor,

dua buah sensor gerak dan rangkaian penguat sinyal. Mikrokontroler AT89S51

sebagai otak dari system yang berfungsi menerima sinyal dari sensor gerak dan

menggerakkan motor untuk membuka/menutup jembatan. Motor yang akan digunakan

adalah motor stepper yang dapat diatur perputarannya (dapat berputar kekanan/kekiri)

sehingga dapat mengendalikan pergerakan jembatan (membuka/menutup) dan

menutup palang jalan. Sensor gerak yang akan digunakan adalah dua buah pemancar

infra merah dan potodioda.

Universitas Sumatera Utara


Pemancar infra merah akan memancarkan infra merah terus menerus, dan jika

ada kapal yang melintas di depannya, maka pancaran sinar infra merah ke photodioda

akan terputus. pancaran dari sinar infra merah yang diterima oleh potodioda akan di

olah oleh rangkaian penguat sinyal sehingga menghasilkan sinyal high (1) atau dan

jika pancaran infra merah terputus maka penguat sinyal akan menghasilkan sinyal low

(0) dan kemudian sinyal ini akan dikirimkan ke mikrokontroler. Sinyal sinyal yng

dikirimkan oleh penguat sinyal inilah yang digunakan untuk mendeteksi keberadaan

kapal yang akan melewati jembatan.

1.3 Tujuan Penulisan

Adapun tujuan penulisan tugas akhir ini adalah membuat sebuah simulasi jembatan

otomatis yang dapat membuka dan menutup sendiri secara otomatis, jika ada kapal

yang akan melewati jembatan tersebut dan akan menutup sendiri secara otomatis jika

kapal telah melewati jembatan tersebut.

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. Sensor gerak menggunakan infra merah dan pototransistor. Digunakan dua

buah sensor gerak yang satu akan ditempatkan di sebelah kanan sisi

jembatan dan yang satunya lagi akan ditempatkan di kiri sisi jembatan

Universitas Sumatera Utara


3. Mikrokontroler yang digunakan yaitu AT89S51, jadi hanya mikrokontroler

ini yang akan diuaraikan cara kerjanya dan cara pemrogramannya

4. Untuk mengangkat dan menutup palang jalan digunakan motor stepper.

1.5 Sistematika Penulisan

Untuk mempermudah pembahasan dan pemahaman maka penulis membuat

sistematika pembahasan bagaimana sebenarnya prinsip kerja dari simulasi jembatan

angkat ,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 pemancar infra merah, cara kerja potodioda dan

rangkaian penerimanya.

BAB 3. ANALISA RANGKAIAN DAN KERJA SISTEM


Analisa rangkaian dan sistem kerja, dalam bab ini dibahas tentang sistem kerja per-blok diagram dan sistem kerja
keseluruhan.

BAB 4. PENGUJIAN ALAT DAN PROGRAM

Universitas Sumatera Utara


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

alat, penjelasan mengenai rangkaian-rangkaian yang digunakan,

penjelasan mengenai program yang diisikan ke mikrokontroler.

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


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 banyak) sehingga harga menjadi lebih murah (dibandingkan mikroprosesor).

Sebagai kebutuhan pasar, mikrokontroler hadir untuk memenuhi selera industri dan

para konsumen akan kebutuhan dan keinginan alat-alat bantu dan mainan yang lebih

canggih.

Ilustrasi yang mungkin bisa memberikan gambaran yang jelas dalam

penggunaan mikrokontroler adalah aplikasi mesin tiket dalam arena permainan yang

saat ini terkenal di Indonesia. Jika kita sudah selesai bermain, maka akan diberikan

suatu nilai, nilai inilah yang menentukan berapa jumlah tiket yang bisa diperoleh dan

jika dikumpulkan dapat ditukar dengan berbagai macam hadiah. Sistem tiket ini

ditangani dengan mikrokontroler, karena tidak mungkin menggunakan computer PC

Universitas Sumatera Utara


yang harus dipasang disamping (atau di belakang) mesin permainan yang

bersangkutan.

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

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


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

Universitas Sumatera Utara


disingkat menjadi PEROM atau PROM. Dulu banyak dipakai UV-EPROM (Ultra

Violet Eraseable Progamble ROM) yang kemudian dinilai mahal dan ditinggalkan

setelah ada flash PEROM yang harganya jauh lebih murah.

Jenis memori yang dipakai untuk Memori Program AT89S51 adalah Flash

PEROM, program untuk mengendalikan mikrokontroler diisikan ke memori itu lewat

bantuan alat yang dinamakan sebagai AT89S51 Flash PEROM Programmer.

Memori Data yang disediakan dalam chip AT89S51 sebesar 128 byte,

meskipun hanya kecil saja tapi untuk banyak keperluan memori kapasitas itu sudah

cukup.

Sarana Input/Ouput yang disediakan cukup banyak dan bervariasa. AT89S51

mempunyai 32 jalur Input/Ouput. Jalur Input/Ouput paralel dikenal sebagai Port 1

(P1.0..P1.7) dan Port 3 (P3.0..P3.5 dan P3.7).

AT89S51 dilengkapi UART (Universal Asyncronous Receiver/Transmiter)

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

seri (RXD dan TXD) diletakan berhimpitan dengan P1.0 dan P1.1 di kaki nomor 2 dan

3, sehingga kalau sarana input/ouput yang bekerja menurut fungsi waktu. Clock

penggerak untaian pencacah ini bisa berasal dari oscillator kristal atau clock yang

diumpan dari luar lewat T0 dan T1. T0 dan T1 berhimpitan dengan P3.4 dan P3.5,

sehingga P3.4 dan P3.5 tidak bisa dipakai untuk jalur input/ouput parelel kalau T0 dan

T1 dipakai.

Universitas Sumatera Utara


AT89S51 mempunyai enam sumber pembangkit interupsi, dua diantaranya

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

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

input/output parelel kalau INT0 dan INT1 dipakai untuk menerima sinyal interupsi.

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

yang secara fisik merupakan RAM khusus, yang ditempatkan di Special Functoin

Regeister (SFR).

2.1.3 SFR (Register Fungsi Khusus ) Pada Keluarga 51

Sekumpulan SFR atau Special Function Register yang terdapat pada Mikrokontroler

Atmel Keluarga 51 ditunjukan pada tabel 2.1, pada bagian sisi kiri dan kanan

dituliskan alamat-alamatnya dalam format heksadesimal.

Tidak semua alamat pada SFR digunakan, alamat-alamat yang tidak digunakan

diimplementasikan pada chip. Jika dilakukan usaha pembacaan pada alamat-alamat

yang tidak terpakai tersebut akan menghasilkan data acak dan penulisannya tidak

menimbulkan efek sama sekali. Pengguna perangkat lunak sebaiknya jangan

menuliskan 1 pada lokasi-lokasi tak bertuan tersebut, karena dapat digunakan

untuk mikrokontroler generasi selanjutnya. Dengan demikian, nilai-nilai reset atau

non-aktif dari bit-bit baru ini akan selalu O dan nilai aktifnya adalah 1 . Berikut

akan dijelaskan secara singkat SFR-SFR beserta fungsinya:

Universitas Sumatera Utara


8 Bytes

F8 FF
F0 B F7
E8 EF
E0 ACC E7
D8 DF
D0 PSW D7
C8 (T2CON) (T2MOD) (RCAP2L) (RCAP2H) (TL2) (TH2) CF
C0 C7
B8 IP BF
B0 P3 B7
A8 IE AF
A0 P2 A7
98 SCON SBUF 9F
90 P1 97
88 TCON TMOD TLO TL1 THO TH1 8F
80 PO SP DPL DPH PCON 87

Tabel 2.1. Peta Register Fungsi Khusus SFR (Special Function Register)
Tanda ( ) untuk SFR yang dijumpai di keluarga 51 dengan 3 Timer

Akumulator

ACC atau akumulator yang menempati lokasi E 0h digunakan sebagai register untuk

penyimpanan data sementara, dalam program, instruksi mengacunya sebagai register

A (bukan ACC).

Register B

Register B (lokasi F 0) digunakan selama operasi perkalian dan pembagian, untuk

instruksi lain dapat diperlakukan sebagai register scratch pad ( papan coret-coret ).

Program Status Word (PSW)

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

Universitas Sumatera Utara


Stack Pointer

Register SP atau Stack Pointer (lokasi 8 0h) merupakan register dengan panjang 8-bit,

digunakan dalam proses simpan menggunakan instruksi PUSH dan CALL. Walau

Stack bisa menempati lokasi dimana saja dalam RAM, register SP akan selalu

diinisialisasi ke 07h setelah adanya reset, hal ini menyebabkan stack berawal di lokasi

08h.

Data Pointer

Register Data Pointer atau DPTR mengandung DPTR untuk byte tinggi (DPH) dan

byte rendah (DPL) yang masing-masing berada dilokasi 83h dan 82h, bersama-sama

membentuk register yang mampu menyimpan alamat 16-bit. Dapat dimanipulasi

sebagai register 16-bit atau ditulis dari/ke port, untuk masing-masing Port 0,Port 1,

Port2 dan Port 3.

Serial Data Buffer

SBUF atau Serial Data Buffer (lokasi 99h) sebenarnya terdiri dari dua register yang

terpisah, yaitu register penyangga pengirim (transmit buffer) dan penyangga penerima

(receive buffer). Pada saat data disalin ke SBUF, maka data sesungguhnya dikirim ke

penyangga pengirim dan sekaligus mengawali transmisi data serial. Sedangkan pada

saat data disalin dari SBUF, maka sebenarnya data tersebut berasal dari penyangga

penerima.

Universitas Sumatera Utara


Time Register

Pasangan register (TH0, TL0) dilokasi 8Ch dan 8Ah,(TH1, TL1) dilokasi 8Dh dan

8Bh serta (TH2, TL2) dilokasi CDh dan CCH merupakan register-register pencacah

16-bit untuk masing-masing Timer 0, Timern 1 dan Timer 2.

Capture Register

Pasangan register (RCAP2H, RCAP21) yang menempati lokasi CBh dan CAh

merupakan register capture untuk mode Timer 2 capture. Pada mode ini, sebagai

tanggapan terjadinya suatu transisi sinyal di kaki (pin) T2EX (pada AT89C52/55),

TH2 dan TL2 disalin masing-masing ke RCAP2H dan RCAP2L. Timer 2 juga

memiliki mode isi-ulang-otomatis 16-bit dan RCAP2H serta RCAP2L digunakan

untuk menyimpan nilai isi-ulang tersebut.

Control Register

Register-register IP, IE, TMOD, TCON, T2CON, T2MOD, SCON dan PCON berisi

bit-bit control dan status untuk system interupsi, pencacah/pewaktu dan port serial.

Berikut ini merupakan spesifikasi dari IC AT89C51 :

 Kompatible dengan produk MCS-51

 Empat K byte In-Sistem Reprogammable Flash Memory

 Daya tahan 1000 kali baca/tulis

 Fully Static Operation : 0 Hz sampai 24 MHz

 Tiga level kunci memori progam

 128x8 bit RAM internal

 32 jalur I/O

 Tiga 16 bit Timer/Counter

Universitas Sumatera Utara


 Enam sumber interupt

 Jalur serial dengan UART

Gambar 2.1. IC Mikrokontroler AT89S51

Deskripsi pin-pin pada mikrokontroler AT89S51 :

VCC (Pin 40)

Suplai tegangan

GND (Pin 20)

Ground

Port 0 (Pin 39-Pin 32)

Port 0 dapat berfungsi sebagai I/O biasa, low order multiplex address/data ataupun

penerima kode byte pada saat flash progamming Pada fungsi sebagai I/O biasa port ini

dapat memberikan output sink ke delapan buah TTL input atau dapat diubah sebagai

Universitas Sumatera Utara


input dengan memberikan logika 1 pada port tersebut. Pada fungsi sebagai low order

multiplex address/data, por 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.

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 :

Tabel 2.2. Fungsi pin AT89S51

Nama pin Fungsi


P3.0 (pin 10) RXD (Port input serial)
P3.1 (pin 11) TXD (Port output serial)
P3.2 (pin 12) INTO (interrupt 0 eksternal)
P3.3 (pin 13) INT1 (interrupt 1 eksternal)
P3.4 (pin 14) T0 (input eksternal timer 0)
P3.5 (pin 15) T1 (input eksternal timer 1)
P3.6 (pin 16) WR (menulis untuk eksternal data memori)
P3.7 (pin 17) RD (untuk membaca eksternal data memori)

RST (pin 9)

Reset akan aktif dengan memberikan input high selama 2 cycle.

Universitas Sumatera Utara


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.

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.

Universitas Sumatera Utara


2.1.4 Motor Langkah (Stepper)

Motor langkah (stepper) banyak digunakan dalam berbagai aplikasi, dipergunakan

apabila dikehendaki jumlah putaran yang tepat atau di perlukan sebagian dari putaran

motor. Suatu contoh dapat di jumpai pada disk drive, untuk proses pembacaan

dan/atau penulisan data ke/dari cakram(disk), head baca-tulis ditempatkan pada

tempat yang tepat di atas jalur atau track pada cakram, untuk head tersebut di

hubungkan dengan sebuah motor langkah.

Aplikasi penggunaan motor langkah dapat juga di jumpai dalam bidang

industri atau untuk jenis motor langkah kecil dapat di gunakan dalam perancangan

suatu alat mekatronik atau robot. Motor langkah berukuran besar digunakan,

misalnya, dalam proses pengeboran logam yang menghendaki ketepatan posisi

pengeboran, dalam hal ini di lakukan oleh sebuah robot yang memerlukan ketepatan

posisi dalam gerakan lengannya dan lain-lain.

Pada gambar di bawah ditunjukkan dasar susunan sebuah motor langkah

(stepper). A
B
C

U D

Gambar 2.2 Diagram motor langkah (stepper)

Universitas Sumatera Utara


Magnet permanen N-S berputar kearah medan magnet yang aktif. Apabila

kumparan stator dialiri arus sedemikian rupa, maka akan timbul medan magnet dan

rotor akan berputar mengikuti medan magnet tersebut. Setiap pengalihan arus ke

kumparan berikutnya menyebabkan medan magnet berputar berputar menurut suatu

sudut tertentu, biasanya informasi besar sudut putar tertulis pada badan motor langkah

yang bersangkutan. Jumlah keseluruhan pengalihan menentukan sudut perputaran

motor.Jika pengalihan arus di tentukan, maka rotor akan berhenti pada posisi terakhir.

Jika kecepatan pengalihan tidak terlalu tinggi, maka slip akan dapat dihindari.

Sehingga tidak di perlukan umpan balik (feedback) pada pengendalian motor langkah.

Motor langkah yang akan di gunakan memiliki 4 fase (pole atau kutub),

pengiriman pulsa dari mikrokontroler ke rangkaian motor langkah dilakukan secara

bergantian, masing-masing 4 data (sesuai dengan jumlah phase-nya), sebagian di

tunjukkan pada gambar di bawah ini.

Gambar 2.3 Pemberian data/pulsa pada motor stepper

Pada saat yang sama ,untuk tiap motor langkah, tidak boleh ada 2 (dua)

masukan atau lebih yang mengandung pulsa sama dengan 1 (high), atau dengan kata

lain, pada suatu saat hanya sebuah masukan yang bernilai 1 (satu) sedangkan lainnya

bernilai 0 (nol).

Universitas Sumatera Utara


2.1.5 Photodioda

Pengertian : piranti semikonduktor dengan struktur p-n atau p-i-n untuk mendeteksi

cahaya. Potodioda biasanya digunakan untuk mendeteksi cahaya. Potodioda adalah

piranti semikonduktor yang mengandung sambungan p-n, dan biasanya terdapat

lapisan intrinsik antara lapisan n dan p. Piranti yang memiliki lapisan intrinsik disebut

p-i-n atai PIN potodioda. Cahaya diserap di daerah penyambungan atau daerah

intrinsik menimbulkan pasangan elektron-hole, kebanyakan pasangan tersebut

menghasilkan arus yang berasal dari cahaya.

Mode operasi

Potodioda dapat dioperasikan dalam 2 mode yang berbeda:

1. Mode potovoltaik: seperti solar sel, penyerapan pada potodioda menghasilkan

tegangan yang dapat diukur. Bagaimanapun, tegangan yang dihasilkan dari

tenaga cahaya ini sedikit tidak linier, dan range perubahannya sangat kecil.

2. Mode potokonduktivitas : disini, potodioda diaplikasikan sebagai tegangan

revers (tegangan balik) dari sebuah dioda (yaitu tegangan pada arah tersebut

pada dioda tidak akan menhantarkan tanpa terkena cahaya) dan pengukuran

menghasilkan arus poto ( hal ini juga bagus untuk mengaplikasikan tegangan

mendekati nol). Ketergantungan arus poto pada kekuatan cahaya dapat sangat

linier .

Karakteristik bahan potodioda:

1. Silikon (Si) : arus lemah saat gelap, kecepatan tinggi, sensitivitas yang bagus

antara 400 nm sampai 1000 nm ( terbaik antara 800 sampai 900 nm).

Universitas Sumatera Utara


2. Germanium (Ge): arus tinggi saat gelap, kecepatan lambat, sensitivitas baik

antara 600 nm sampai 1800 nm (terbaik 1400 sampai 1500 nm).

3. Indium Gallium Arsenida (InGaAs): mahal, arus kecil saat gelap, kecepatan

tinggi sensitivitas baik pada jarak 800 sampai 1700nm (terbaik antara 1300

sampai 1600nm)

Gambar Photodioda ditunjukkan pada gambar berikut:

Gambar 2.4 Photodioda

2.1.6 Dioda Pemancar Cahaya Infra Merah (LED infra Merah)

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 diubah kedalam bentuk energi cahaya atau photon

melainkan dalam bentuk panas sebagian.

Universitas Sumatera Utara


Proses pemancaran cahaya akibat adanya energi listrik yang diberikan

terhadap suatu bahan disebut dengan sifat elektroluminesensi. Material lain 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 laser atau

inframerah.
VCC VCC
5V 5V

330 330

Gambar 2.5 Simbol dan rangkaian dasar sebuah LED

Pemancar inframerah 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 didaerah-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 betuk radiasi energi.

Universitas Sumatera Utara


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 :

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.

Universitas Sumatera Utara


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

Universitas Sumatera Utara


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)

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

Universitas Sumatera Utara


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

Universitas Sumatera Utara


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.6 8051 Editor, Assembler, Simulator (IDE)

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.

Universitas Sumatera Utara


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.7 ISP- Flash Programmer

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


BAB 4

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 voltmeter digital. Dari

hasil pengujian diperoleh tegangan keluaran sebesar + 5,1 volt.dan +12,2 volt

Tegangan ini dipergunakan untuk mensupplay tegangan ke seluruh rangkaian.

Mikrokontroler AT89S51 dapat bekerja pada tegangan 4,0 sampai dengan 5,5 volt,

sehingga tegangan 5,1 volt ini cukup untuk mensupplay tegangan ke mikrokontroler

AT89S51. Dengan demikian rangkaian ini sudah dapat bekerja dengan baik.

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 P0.0
Acall tunda
Clr P0.0
Acall tunda
Sjmp Loop

Universitas Sumatera Utara


Tunda:
Mov r7,#255

Tnd: Mov r6,#255


Djnz r6,$
Djnz r7,tnd
Ret

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

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

menerus. Perintah Setb P0.0 akan menjadikan P0.0 berlogika high yang menyebabkan

LED menyala. Acall tunda akan menyebabkan LED ini 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

12
membutuhkan waktu =  1 mikrodetik.
12 MHz

Mnemonic Siklus Waktu Eksekusi

MOV Rn,#data 2 2x1 d =2 d

DJNZ 2 2x1 d =2 d

RET 1 1x1 d =1 d

Universitas Sumatera Utara


Tunda:

mov r7,#255 2

Tnd: mov r6,#255 2

djnz r6,$ 255 x 2 = 510 x 255 = 130.054 = 130.058 = 130.059 d

djnz r7,loop3 2

djnz r2,loop8 2

ret 1

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 mikrokontroller AT89S51, kemudian

mikrokontroller dapat berjalan sesuai dengan program yang diisikan, maka rangkaian

minimum mikrokontroller AT89S51 telah bekerja dengan baik

4.3 Pengujian Rangkaian Driver Motor Stepper

Rangkaian driver motor stepper ini terdiri dari empat masukan dan empat keluaran,

dimana masing-masing masukan dihubungkan dengan mikrokontroler AT89S51 dan

keluarannya dihubungkan ke motor stepper. Rangkaian ini akan bekerja memutar

motor stepper jika diberi sinyal high (1) secara bergantian pada ke-4 masukannya.

Rangkaiannya seperti gambar di bawah ini :

Universitas Sumatera Utara


Gambar 4.1 Rangkaian driver motor stepper

Gambar 4.1 Rangkaian Driver Motor Stepper

Rangkaian ini terdiri dari 4 buah transistor NPN TIP 122. Masing-masing

transistor dihubungkan ke P0.0, P0.1, P0.2 dan P0.3 pada mikrokontroler AT89S51.

Basis dari masing-masing transistor diberi tahanan 1 Kohm untuk membatasi arus

yang masuk ke basis pada transistor. Kolektor dihubungkan dengan kumparan yang

terdapat pada motor stepper, kemudian kumparan dihubungkan dengan sumber

tegangan 12 volt.dan emitor dihubungkan ke ground.

Universitas Sumatera Utara


Jika P0.0 diberi logika high (1), yang berarti basis pada transistor TIP 122

mendapat tegangan 5 volt, maka transistor akan aktip. Hal ini akan menyebabkan

terhubungnya kolektor dengan emitor, sehingga kolektor mendapatkan tegangan 0 volt

dari ground. Hal ini menyebabkan arus akan mengalir dari sumber tegangan 12 volt ke

kumparan, sehingga kumparan akan menghasilkan medan magnet. Medan magnet ini

akan menarik logam yang ada pada motor, sehingga motor mengarah pada kumparan

yang memiliki medan magnet tesebut.

Jika kemudian P0.0 di beri logika low (0), yang berarti transistor tidak aktip

dan tidak ada arus yang mengair pada kumparan, sehingga tidak ada medan magnet

pada kumparan. Dan disisi lain P0.1 diberi logika high (1), sehingga kumparan yang

terhubung ke P0.1 akan menghasilkan medan magnet. Maka motor akan beralih

kearah kumparan yang terhubung ke P0.1 tersebut. Seterusnya jika logika high

diberikan secara bergantian pada input dari driver motor stepper, maka motor stepper

akan berputar sesuai dengan arah logika high (1) yang diberikan pada inputnya.

Untuk memutar dengan arah yang berlawanan dengan arah yang sebelumnya,

maka logika high (1) pada input driver motor stepper harus diberikan secara

bergantian dengan arah yang berlawanan dengan sebelumnya.

Tabel 4.1 Sinyal masukan pada motor stepper

P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0


0 0 0 1 0 0 0 1
P0 0 0 1 0 0 0 1 0
0 1 0 0 0 1 0 0
1 0 0 0 1 0 0 0

Universitas Sumatera Utara


Tabel 4.2 Data masukan high (1) dan low (0) pada motor buka dan motor tutup.

Sensor 1 Sensor 2 Motor buka Motor tutup

1 1 00000000 00000000

0 1 10000000 00000000
01000000 00000000
00100000 00000000
00010000 00000000
00001000 00000000
00000100 00000000
00000010 00000000
00000001 00000000

1 0 00000000 00000001
00000000 00000010
00000000 00000100
00000000 00001000
00000000 00010000
00000000 00100000
00000000 01000000
00000000 10000000

Program yang diberikan pada driver motor stepper untuk memutar motor stepper

adalah sebagai berikut :

mov a,#11h

putar:

mov P0,a

acall tunda

Rl a

jmp putar

Universitas Sumatera Utara


Program diawali dengan memberikan nilai 11h pada pada accumulator (a), kemudian

program akan memasuki rutin buka pintu. Nilai a diisikan ke port 0, sehingga

sekarang nilai port 0 adalah 11h. ini berarti P0.0 dan P0.4 mendapatkan logika high

sedangkan yang lainnya mendapatkan logika low, seperti table di bawah ini,

P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0


P0 0 0 0 1 0 0 0 1

Program dilanjutkan dengan memanggil rutin tunda. Lamanya tunda akan

mempengaruhi kecepatan perputaran motor. Semakin lama maka tunda, maka

perputaran motor akan semakin lambat. Perintah berikutnya adalah Rl a,perintah

ini akan memutar nilai yang ada pada accumulator (a), seperti tampak pada table di

bawah ini,

a 0 0 0 1 0 0 0 1
Rl
a 0 0 1 0 0 0 1 0
Dst..................

Nilai pada accumulator (a) yang awalnya 11h, setelah mendapat perintah Rl a,

maka nilai pada accumulator (a) akan merubah menjadi 22h. Kemudian program akan

melihat apakah kondisi sensor buka pintu dalam keadaan high (1) atau low (0). Jika

high (1), Nilai yang ada pada accumulator (a), akan kembali diisikan ke port 0, maka

nilai di port 0 akan berubah menjadi 22h, ini berarti P0.1 dan P0.5 mendapatkan

logika high sedangkan yang lainnya mendapatkan logika low, seperti table di bawah

ini,

Universitas Sumatera Utara


P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0
P0 0 0 1 0 0 0 1 0

Sebelumnya telah dibahas bahwa P0.0, P0.1, P0.2, dan P0.3 dihubungkan ke masukan

driver motor stepper, dengan program di atas maka P0.0, P0.1, P0.2, dan P0.3 akan

mendapatkan nilai high (1) secara bergantian. Hal ini menyebabkan motor stepper

akan berputar membuka pintu.Hal yang sama juga berlaku ketika motor berputar

kaearah sebaliknya, perbedaannya hanya pada perintah rotate. Jika pada perintah

berlawanan arah jarum jam digunakan rotate left ( Rl ), maka pada perintah searah

jarum jam digunakan perintah rotate right ( Rr). Perputaran perintah Rr diperlihatkan

pada table berikut,

a 1 0 0 0 1 0 0 0
Rr
a 0 1 0 0 0 1 0 0
Dst...................

4.4 Pengujian Rangkaian Sensor

Pengujian pada rangkaian sensor ini dapat dilakukan dengan cara

menghubungkan rangkaian ini dengan sumber tegangan 5 volt, kemudian meletakkan

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

maka pancaran sinar infra merah akan mengenai potodioda, sehingga menyebabkan

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

sebesar 0,2 volt. Namun ketika antara infra merah dan potodioda diberi suatu

penghalang, yang menyebabkan pancaran infra merah tidak mengenai potodioda, hal

Universitas Sumatera Utara


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 AT89S51, dan memberikan program tertentu pada

mikrokontroler AT89S51.Untuk mendeteksi adanya sinyal yang dikirimkan oleh

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

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

berarti tidak ada kapal yang lewat, namun jika sinyal yang dikirimkan adalah sinyal

low, maka ini berarti ada kapal yang lewat. 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_masuk,Cek_sensor keluar

Clr P3.7

. . . . . . . .

Cek_sensor_keluar:

Jnb sensor_ sensor keluar,Cek_Tombol_kanan

Setb P3.7

. . . . . . . .

Universitas Sumatera Utara


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 bit (high), 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.

Universitas Sumatera Utara


BAB 5

KESIMPULAN DAN SARAN

5.1. Kesimpulan

1. Pada simulasi jembatan angkat otomatis ini digunakan sebuah mikrokontroler

AT89S51, dua buah motor, dua buah sensor gerak dan rangkaian penguat

sinyal.

2. Pada simulasi jembatan angkat otomatis ini, pemancar infra merah yang

digunakan sudah dimodulasi dahulu agar pancaran yang dihasilkan menjadi

lebih kuat sehingga fungsi fotodioda sebagai penerima akan menjadi lebih

baik.

5.2. Saran

1. Sangat diharapkan jika alat ini dibuat dan dimanfaatkan serta disosialisasikan

kegunaannya dikalangan mahasiswa maupun masyarakat. Untuk dimasa yang

akan akan datang agar alat ini dapat lebih ditingkatkan lagi.

2. Pemancar infra merah yang digunakan harus dimodulasi dahulu agar pancaran

yang dihasilkan menjadi lebih kuat sehingga fungsi fotodioda sebagai

penerima akan menjadi lebih baik.

Universitas Sumatera Utara


DAFTAR PUSTAKA

Agfianto, Belajar Mikrokontroler AT89C51/52/55 Teori dan Aplikasi, Edisi Kedua,

Penerbit: Gava Media, Yogyakarta, 2004.

Clayton George, Winder Steve, Operational Amplifiers, Edisi Kelima, Penerbit

Erlangga, Jakarta, 2004.

Malvino, Albert paul, Prinsip-prinsip Elektronika, Jilid 1 & 2, Edisi Pertama,

Penerbit: Salemba Teknika, Jakarta, 2003.

Team Batara, Pelatihan Dasar Mikrokontroler AT89X, Batara Elektrindo.

Universitas Sumatera Utara

Anda mungkin juga menyukai