Anda di halaman 1dari 98

APLIKASI MIKROKONTROLER AT89S51

sebagai BASIS pada SIMULASI PALANG KERETA API


dengan TAMPILAN RUNNING TEXT

TUGAS AKHIR

MONA FARIDA LUMBANTORUAN


062408017

PROGRAM STUDI D3 FISIKA INSTRUMENTASI


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

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

APLIKASI MIKROKONTROLER AT89S51


sebagai BASIS pada SIMULASI PALANG KERETA API
dengan TAMPILAN RUNNING TEXT

TUGAS AKHIR
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh
Ahli Madya

MONA FARIDA LUMBANTORUAN


062408017

PROGRAM STUDI D3 FISIKA INSTRUMENTASI


DEPARTEMEN FISIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
MEDAN
2009
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

PERSETUJUAN

Judul

: APLIKASI MIKROKONTROLER AT89S51


Sebagai BASIS pada SIMULASI PALANG

KERETA
API dengan TAMPILAN RUNNING TEXT
Kategori

: TUGAS AKHIR

Nama

: MONA FARIDA LUMBANTORUAN

Nim

: 062408017

Program Studi
INSTRUMENTASI

: DIPLOMA TIGA(D3) FISIKA

Departemen

: FISIKA

Fakultas
ALAM

: MATEMATIKA DAN ILMU PENGTEHUAN


( FMIPA) UNIVERSITAS SUMATERA UTARA

Diluluskan di
Medan, Juli 2009

Diketahui
Departemen Fisika FMIPA USU

Pembimbing

Ketua Program Studi D3 FIN

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

Drs.Takdir Tamba,M.Eng.Sc
NIP 131 569 414

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

PERNYATAAN
APLIKASI MIKROKONTROLER AT89S51 sebagai BASIS pada
SIMULASI PALANG KERETA API dengan TAMPILAN RUNNING
TEXT

TUGAS AKHIR

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

Medan, Juli 2009

Mona Farida Lumbantoruan


062408017

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

PENGHARGAAN
Puji dan syukur penulis panjatkan kehadirat Tuhan Yang Maha Esa atas berkat dan
kasih-Nya yang telah memberikan kekuatan,kebijaksanaan ,ilmu pengetahuan terlebihlebih kesehatan yang melimpah dalam menyelesaikan laporan tugas akhir dengan
judul:Aplikasi Mikrokontroler AT89S51 sebagai Basis pada Simulasi Palang Kereta Api
dengan Tampilan Running Text.
Laporan ini disusun untuk menyelesaikan mata kuliah Tugas Akhir semester VI
Program pendidikan Diploma III program Studi Fisika Instrumentasi.Laporan ini disusun
berdasarkan pengalaman dan kegiatan yang penulis lakukan selama masa perkuliahan.
Dalam penulisan laporan ini penulis banyak mendapatkan bantuan baik moral
maupun material dari berbagai pihak,dan pada kesempatan ini penulis mengucapkan
terimakasih sebesar-besarnya kepada:
1. Bapak Dr.Eddy Marlianto,M.Sc,selaku dekan Fakultas Matematika dan Ilm
Pengetahuan Alam.
2. Bapak Drs.Syahrul Humaidi,M.Sc ,selaku Ketua Jurusan Program Studi Fisika
Instrumentasi Fakultas Matematika dan Ilmu Pengetahuan Alam
3. Bapak Drs.Takdir Tamba,M.Eng.Sc,selaku Dosen pembimbing proyek.
4. Seluruh staff pengajar Universitas Sumatera Utara khususnya Program Studi Fisika
Instrumentasi.
5. Seluruh keluarga yang telah banyak memberikan dukungan dan perhatian kepada
penulis.
6. Bang Andika yang telah banyak memberikan bantuan pikiran dan semangat dalam
Menyelesaikan proyek tugas akhir tersebut.
Teristimewa penulis sangat berterimakasih dengan penuh rasa hormat dan
penghargaan yang setulusnya kepada kedua orangtua tercinta yaitu untuk Ayahanda

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

M.Lumbantoruan dan Ibunda M. Nababan yang memberikan dukungan materi dan doa
kepada penulis yang tidak dapat dibalas dengan apapun juga.
Penulis menyadari bahwa masih ada kekurangan dalam pembuatan Tugas Akhir
ini,untuk itu dengan segala kerendahan hati penulis menerima segala kritik dan saran yang
bersifat membangun demi peningkatan mutu dan kualitas serta kesempurnaan dari Tugas
Akhir ini.
Akhirnya penulis kembali mengucapkan terimakasih banyak buat semua pihak
yang telah membantu penulis dalam menyelesaiakan laporan tugas Akhir ini.Semoga
Tugas Akhir ini bermanfaat bagi siapapun juga yang membacanya.

Medan,

Juni 2009

Mona Farida Lumbantoruan


NIM: 062408017

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

ABSTRAK
Kecelakan merupakan musibah yang datang tiba-tiba dan tak jarang membuat
nyawa yang mengalaminya melayang dalam hitungan waktu yang sangat singkat.Namun
hal itu dapat teratasi seiring dengan perkembangan dunia teknologi yang membuat sesuatu
pekerjaan yang biasanya dikerjakan secara manual namun karena perkembangan
terknologi yang semakin pesat membuat segala sesuatunya secara otomatis yang tak luput
dari

peranan

aplikasi

terknologi

tersebut.

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

DAFTAR ISI

Halaman
Lembar Persetujuan........i
Lembar Pernyataanii
Penghargaan ................................................................................................. iii
Abstrak..vi
Daftar Isi..vii
Daftar Gambar...x
Daftar Tabel..xi

BAB 1 PENDAHULUAN
1.1 Latar Belakang ............................................................................. 1
1.2 Tujuan Penulis ............................................................................. 2
1.3 Batasan Masalah .......................................................................... 3
1.4 Metode Pengumpulan Data........................................................... 4
1.5 Sistematika Penulisan ................................................................... 4

BAB 2 LANDASAN TEORI


2.1 Perangkat Keras ........................................................................... 8
2.1.1 Arsitektur AT89S51....................................................... 8
2.1.1.1 Pena-Pena Mikrokontroler AT89S51..10
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

2.1.1.2 Proses pembacaan ............................................ 13


2.1.1.3 Pewaktu dan Pencacah (Timer/Counter) ........... 16
2.1.1.4 Interupsi dari Pewaktu dan Pencacah ................ 20
2.1.1.5 Komunikasi SErialAsinkron ............................. 20
2.1.1.6 Pengaturan Kecepatan Transmisi20
2.1.2

Power Supplay 24

2.1.3

Motor DC ................................................................. 25

2.1.4

Sensor Inframerah ..................................................... 30

2.1.5

Photodioda ................................................................ 33

2.1.6

Perancangan Driver Penggerak Motor DC


( Jembatan H )........................................................... 36

2.1.7

Buzzer ...................................................................... 39

2.1.8

Running Text ............................................................ 40

2.2 Perangkat Lunak ........................................................................ 40


2.2.1 Bahasa Assembly MCS-51........................................... 40
2.2.2 Software 8051 Editor, Assembler, simulator(IDE) ....... 46
2.2.3 Sofware Downloader ................................................... 47

BAB 3 PERANCANGAN ALAT DAN PERANCANGAN PROGRAM


3.1 Perancangan Alat48
3.1.1 Diagram Blok .............................................................. 49
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

3.1.2 Perancangan Sensor Inframerah ................................... 51


3.1.3 Rangkaian Mikrokontroler AT89S51 ........................... 54
3.1.4 Rangkaian Catudaya (PSA) .......................................... 56
3.1.5 Perancangan Driver Penggerak Motor DC ................... 57
3.2 Perancangan Program ................................................................. 61
3.2.1 FlowChart Program..................................................... 61

BAB 4 PENGUJIAN RANGKAIAN DAN ANALISA


4.1 Pengujian Rangkaian .................................................................. 72
4.1.1 Pengujian rangkaian Mikrokontroler At89S51 ............. 72
4.1.2 Pengujian Rangkaian sensor inframerah ....................... 73
4.1.3 Pengujian Rangkaian Jembatan H ................................ 74
4.1.4 Pengujian Pangkaian PSA ............................................ 74
4.1.5 Pengujian Rangkaian Buzzer........................................ 74
4.2 Analisa ....................................................................................... 75

BAB 5 KESIMPULAN DAN SARAN


5.1 Kesimpulan ................................................................................ 77
5.2 Saran .......................................................................................... 78

Daftar Pustaka
Lampiran
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

DAFTAR GAMBAR

Halaman

Gambar 2.1 Rangkaian Sistem Minimum Mikrokontroler AT89S51..13


Gambar 2.2 Register Timer Control.....23
Gambar 2.3 Rangkaian Mikrokontroler AT89S51...24
Gambar 2.4 Motor DC..30
Gambar 2.5 Rangkaian Sensor Inframerah. .32
Gambar 2.6 Rangkaian Penerima Sinar Inframerah.35
Gambar 2.7 Rangkaian Jembatan H..37
Gambar 2.8 8051 Editor,Assembler,Simulator IDE.46
Gambar 2.9 ISP-Flash Programmer 3.a47
Gambar 3.0 Diagram Blok Rangkaian..49
Gambar 3.1 Perancangan Rangkaian Pemancar Inframerah.52
Gambar 3.2 Perancangan Rangkaian Penerima Sinar Inframerah....53
Gambar 3.3 Perancangan Rangkaian MIkrokontroler AT89S51.....55
Gambar 3.4 Perancangan Rangkaian Power Supplay menggunakan IC LM
780556
Gambar 3.5

Perancangan Rangkaian Jembatan H...58

Gambar 3.6

FlowChart Program.....61

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

DAFTAR TABEL

Halaman

Tabel 2.1 Fungsi Lain Port3....11


Tabel 2.2 Register Timer Mode ( TMOD)..18

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

BAB I
PENDAHULUAN
1.1

Latar Belakang Masalah


Dewasa ini marak kita dengar media yang memberitakan kecelakaan yang terjadi

dimana-mana bukan saja hanya dialami oleh pengguna transportasi melalui darat saja,baik
udara maupun air juga.Disini penulis hanya berusaha membuat otomatisasi palang kereta
api yang tak kalah marak juga berita kecelakaannya kita dengar dimana-mana.
Untuk itu penulis merancang sebuah alat yang dapat membuat palang kereta api
akan terbuka dan tertutup dengan sendirinya sesuai dengan sensor yang digunakan untuk
mendeteksi letak dari kereta api yang akan menghalanginya.Dimana judul dari Tugas
Akhir ini adalahAplikasi Mikrokontroler AT89S51 sebagai Basis pada Simulasi
Palang Kereta Api dengan Tampilan Running Text.Alat ini diciptakan dengan tujuan
untuk mengurangi kecelakan yang terjadi akibat kelalaian atau kecerobohan pihak-pihak
tertentu yang mungkin secara tidak sengaja lupa untuk menutup palang sementara jarak
kereta api dengan rel yang dilewati kendaraan semakin dekat dengan keadaan seperti itu
kecelakaan tak akan dapat lagi terhindari.Kita tahu sendiri suatu operasi secara manual
menyita lebih banyak tenaga dan perhatian penuh.
Hal itulah yang melatarbelakangi pembuatan palang otomatis tersebut.Alat ini
dapat digunakan pada setiap rel yang dilalui oleh pengguna jal;an raya.Jika salah satu
sensor luar (kiri / kanan ) terhalangi oleh kereta api maka secara otomatis palang akan
tertutup, begitu juga sebaliknya apabila salah satu sensor dalam ( kiri / kanan) terhalangi
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

oleh kereta api yang melewatinya maka palang akan terbuka dalam arti pengguna jalan
bisa beroperasi kembali. Alat ini nantinya diharapkan dapat menyelesaikan masalah
kecelakaan akibat kelalaian dalam membuka dan menutup rel saat kereta api mendekati
atau menjauhi palang,meskipun alat ini belum begitu sempurna.

1.2 Tujuan Penulis


Adapun tujuan pembuatan proyek Tugas Akhir ini adalah sebagai berikut:
1. Membuat otomatisasi palang kereta api berbasis mikrokontroler AT89S51 dan
menggunakan sensor inframerah sebagai sensor halangan.
2. Dapat memahami prinsip kerja dari perangkat simulasi palang kereta api tersebut.
D-3 Fisika Instrumentasi.

1.3 Batasan Masalah


Dikarenakan luasnya ruang lingkup bidang elektronika,maka penulis membuat
batasan masalah agar pembahasan masalah nantinya tidak mengambang dari topik yang
akan dibahas dan mengingat keterbatasan waktu untuk menyelesaikan proyek ini maka
kami membatasi dengan batasan-batasan tertentu.
Mengingat banyaknya permasalahan yang begitu rumit jika telah berhubungan
dengan dunia elektronika terutama pembuatan proyek ini maka penulis membatasi
masalah pada hal-hal berikut:
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

1.Membahas prinsip kerja otomatisasi palang tersebut secara keseluruhan.


2.Membahas teori- teori dasar tentang mikrokontroler AT89S51.
3.Membahas cara kerja dari sensor inframerah sebagai sensor halangan.

1.4 Metode Pengumpulan Data


Metode Pengumpulan data yang dilakukan oleh penulis adalah:
1.

Melakukan studi ke perpustakaan mengenai teori-teori yang berkaitan dengan judul


Tugas Akhir ini.

2. Mengumpulkan dan membaca datasheet mengenai komponen yang digunakan.


3. Melakukan konsultasi dengan dosen pembimbing Tugas Akhir.
4. Merancang serta menguji system minimum mikrokontroler AT89S51 sebagai
pengendali system secara keseluruhan.
5. Melakukan survei komponen dan melakukan pengujian sistem yang dilakukan dengan
pengukuran dan pengetesan serta mengambil data dari hasil perancangan.
6. Menganalisa hasil dan membuat kesimpulan.

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

1.5 Sistematika Penulisan


Untuk mempermudah pembahasan dan pemahaman mengenai Tugas Akhir ini
penulis membuat sistematika penulisan bagaimana sebenarnya prinsip kerja alat yang
dibuat oleh penulis.Sistematika pembahasan dalam proyek Tugas Akhir ini meliputi
beberapa bab sebagai berikut:
BAB 1

PENDAHULUAN
Bab ini berisikan tentang permasalahan secara umum dimulai dengan latar
belakang,tujuan pembahasan,batasan masalah,metode pengumpulan
data,dan sistematika penulisan.

BAB 2

LANDASAN TEORI
Bab ini membahas tentang dasar-dasar teori yang mendukung perancangan
yang digunakan dalam pembuatan Tugas Akhir ini.Teori pendukung yang
digunakan seperti arsitektur dan konstruksi mikrokontroler AT89S51
(hardware dan software) selain itu juga membahas komponen pendukung
lainnya yang berhubungan dengan proyek Tugas Akhir.

BAB 3

PERANCANGAN ALAT DAN PERANCANGAN PROGRAM


Bagian ini meliputi tentang perancangan rangkaian dan program yang
digunakan pada pembuatan proyek sebagaimana judul dari Tugas Akhir
penulis.

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

BAB 4

PENGUJIAN DAN PEMBAHASAN SISTEM


Bagian ini meliputi uraian tentang cara menguji dan pembahasan cara
kerja dari Proyek Tugas Akhir penulis.

BAB 5

KESIMPULAN DAN SARAN


Bagian ini merupakan penutup yang meliputi tentang kesimpulan dari
pembahasan laporan Tugas Akhir serta saran-saran yang diberikan demi
kesempurnaan dan pengembangan Tugas Akhir ini pada masa yang akan
datang.

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

BAB 2

LANDASAN TEORI

2.1 Perangkat Keras

2.1.1 Arsitektur Mikrokontroler AT89S51


Mikrokontroler sebagai teknologi baru yaitu teknologi semikonduktor
kehadirannya sangat membantu dunia elektronika.Dengan arsitektur yang praktis tetapi
memuat banyak kandungan transistor yang terintegrasi,sehingga mendukung dibuatnya
rangkaian elektronika.Mikrokontroler adalah mikrokomputer chip tunggal yang dirancang
secara spesifik untuk aplikasi-aplikasi control dan bukan untuk aplikasi-aplikasi
serbaguna.Perangkat ini sering digunakan untuk kebutuhan control tertentu seperti pada
sebuah penggerak motor.Penggunaan Mikrokontroler sangat luas,tidak hanya untuk
akuisisi data melainkan juga untuk pengendalian di pabrik-pabrik,kebutuhan peralatan
kantor,peralatan rumah tangga,automobile dan sebagainya.Hal ini disebabkan
mikrokontroler merupakan syatem mikroprosesor (yang di dalamnya terdapat
CPU,ROM,ROM dan I/O) yang telah terpadu dalam suatu chip,selai itu komponennya
(AT89S51) mudah dan murah di dapatkan di pasaran.
Mikrokontroler merupakan sebuah system computer yang seluruh atau sebagian
elemennya di kemas dalam satu chip IC.Mikrokontroler dapat dikelompokkan dalam satu
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

keluarga,masing-masing mikrokontroler memiliki spesifikasi tersendiri namun cocok


dalam pemogramannya.Contoh-contoh keluarga mikrokontroler adalah keluarga MCS51,keluarga MC68HC05,keluarga MC68H11,keluarga AVR,keluarga PIC
8,mikrokontroler AT89S51 terdapat dalam keluarga MCS-51,dibandingkan
mikrokontroler yang lain seperti AT89C51,AT89C52dan AT89S52,bahasa
pemogramannya berbeda-beda dan memori atau kapasitasnya juga lebih kecil,sedangakan
mikrokontroler AT89S51 menggunakan bahasa assembly yang mudah dalam
pemogramannya,kapasitasnya juga lebih besar dan menjadi dasar pemilihan
mikrokontroler ini karena harganya relative terjangkau.
Aplikasi mikrokontroler lainnya adalah dalam bidang pengukuran jarak jauh atau
yang dikenal dengan system telemetri.Misalnya ,pengukuran di suatu tempat yang
membahayakan manusia,maka akan lebih nyaman jika digunakan suatu system
pengukuran yang bisa mengirimkan data lewat pemancar lalu di terima oleh stasin
pengamatan dari jarak yang cukup aman dari sumbernya.System pengukuran jarak jauh ini
jelas membutuhkan suatu system akuisisi data sekaligus system pengiriman data serial
(melalui pemancar),yang semuanya itu bisa diperoleh dari mikrokontroler yang digunakan.
Tidak seperti system computer,yang mampu menangani berbagai macam program
aplikasi (misalanya pengolah data,pegngolah angkadan lain sebagainya),mikrokontroler
hanya bisa digunakan untuk suatu aplikasi tertentu saja.Perbedaan lainnya terletak pada
perbandingan RAM-nya dan ROM-nya.Pada system computer perbandingan RAM dengan
ROM-nya besar,artinya program-program pengguna di simpan dalam ruang RAM yang
cukup besar artinya program control di simpan di dalam Rom ( bisa masked ROM atau
flash PEROM)yang ukurannya relatife lebih besar,sedangkan RAMdigunakan sebagai
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

tempat penyimpanan sementara,termasuk register-register yang digunakan pada


mikrokontroler yang bersangkutan.
IC mikrokontroler ini kompatibel dengan standar MCS-51 baik dari instruksi
maupun pena-penanya yang dapat diaplikasikan sebagai Embedded Controler .
Berikut ini adalah kemampuan yang dimiliki oleh mikrokontroler AT89S51 :
Kompatibel dengan keluarga MCS-51.
4 Kbyte Programmble Flash Memory (PEROM) di dalamchipyang dapat di tulis dan
dihapus seribu kali.
Dapat beroperasi pada frekuensi 0 Hz sampai 24 Hz.
3 level kunci memori.
128 x 8-bit RAM internal.
32 jalur I /O.
Dua buah timer /counter 16 bit.
6 buah jalur interupsi.
Serial Channelyang dapat diprogram.
Hemat catu daya dan Power Down Mode.

2.1.1.1 Pena- Pena Mikrokontroler AT89S51


Susunan pena-pena mikrokontroler AT89S51 dapat dijelaskan sebagai berikut:
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

Pena 1 sampai 8 adalah port 1


Merupakan Port parallel 8 bit data dua arah ( bidirectional) yang dapat digunakan untuk
berbagai keperluan ( generalpurpose).
Pena 9 ( RESET)
Masukan reset aktif high .Pulsa transisi dari rendah ke tinggi akan mereset AT89S51.pena
ini dihubungkan dengan rangkaian power on reset yang terdiri dari sebuah kapasitor dan
sebuah resistor yang berfungsi sebagai pembangkit frekuensi.
Pena 10 samapi 17 (Port 3)
Sebagai I/O biasa yang mempunyai sifat yang sama dengan port 1 maupun port 2,dengan
masing-masing fungsi port sebagai berikut:
Tabel 2.1 Fungsi lain dari Port 3
Port Pin

Alternate Function

P3.0

RXD ( SERIAL INPUT PORT)

P3.1

TXD ( SERIAL OUTPUT PORT)

P3.2

INT0 ( EXTERNAL INTERRUPT 0)

P3.3

INT1 ( EXTERNAL INTERRUPT 1)

P3.4

T0 ( TIMER 0 EXTERNAL INPUT)

P3.5

T1 ( TIMER 1 EXTERNAL INPUT)

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

P3.6

WR ( EXTERNAL DATA MEMORY


WRITE STROBE)

P3.7

RD( EXTERNAL DATA MEMORY


READ STROBE)

Pin 18 ( XTAL 1 )
Pin masukan ke rangkaian osilator internal.Sebuah osilator Kristal atau sumber osilator
luar dapat digunakan.
Pin 19 ( XTAL 2)
Pin keluaran ke rangakaian osilator internal.Pin ini di pakai bila menggunakan osilator
Kristal.
Pin 20 ( GROUND)
Dihubungkan ke Vcc ataau Ground.
Pin 20 sampai 28 adalah port 2
Port parallel 2 (P2) selebar 8 bit bit dua arah ( bidirectional).Port 2 ini mengirimkan byte
alamat bila dilakukan pengaksesan memory eksternal.
Pin 29
Pin PSEN (Program Store Enable) yang merupakan sinyal pengontrol yang membolehkan
program memory eksternal masuk dalam bus proses pemberian/ pengambilan instruksi (
Feetching).
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

Pin 30
Pin ALE ( Address Latch Enable) yang digunakan untuk menahan alamat meory eksternal
selama pelaksanaan instruksi.
Pin 31 ( EA)
Bila pin ini diberi logika (H),mikrokontroler akakn melaksanakan instruksi dari
ROM/EPROM ketika isi program counter kurang dari 4096.Bila diberi logika ( L) maka
mikrokontroler akan melaksanakan seluruh instruksi dari memori program luar.
Pin 32 samapi 39 adalah Port 0
Merupakan port parallel 8 bit ( open drain) dua arah.Bila digunakan untuk mengakses
program luar,port ini akan memultifleks alamat memory dengan data.
Pin 40
Merupakan Vcc yang dihbungkan ke tegangan positip.

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

Gambar 2.1 Rangkaian System Minimum Mikrokontroler AT89S51

2.1.1.2 Proses Pembacaan

Proses pembacaan dapat dianalogikan sebagai proses membaca dari halaman


tertentu dari sebuah buku di mana pada proses tersebut dibutuhkan:

- Halaman dari tulisan yang akan dibaca = Alamat Memori

- Perintah untuk membaca = Sinyal Read untuk Data dan Sinyal PSEN untuk kode

Pembacaan Data dari Memori Eksternal

Instruksi

MOV DPTR,#[address] ; Penentuan lokasi data yang akan dibaca

MOVX A,@DPTR

; Perintah pembacaan data sekaligus mengambil data tersebut

dan disimpan ke Akumulator A Timing

Struktur Port dan Cara Kerja

Pada dasarnya mikrokontroler Atmel keluarga 51 mempunyai dua kelompok instruksi


untuk mengeluarkan data ke port paralel.

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

Kelompok instruksi pertama bekerja pada port seutuhnya artinya 8 jalur dari port
bersangkutan, misalnya MOV P3,#0FFh membuat ke-delapan jalur port 0 semuanya
dalam kondisi logika 1.

Kelompok instruksi kedua berpengaruh pada salah satu jalur atau bit dari port,
misalnya instruksi SETB P3.4 artinya men-set bit 4 dari port 3 atau (bit 4 dari port 3 = 1
xxx1 xxxx ) atau instruksi CLR P3.3 digunakan untuk me-nolkan bit 3 dari port 3 (bit 3
dari port 3 = 0 xxxx 0xxx).

Selain itu port paralel bisa pula dipakai untuk menerima masukan sinyal digital dari luar
mikrokontroler:

Instruksi MOV A,P3 digunakan untuk membaca data digital pada seluruh bit (bit 0
hingga bit 7 = 8 bit) port 3 kemudian menyimpannya ke akumulator.

Pembacaan data bisa juga dilakukan hanya pada satu bit port saja, misalnya instruksi JNB
P3.7,$ digunakan untuk memantau bit P3.7, jika P3.7 = 0, mikrokontroler akan kembali
melaksanakan instruksi tersebut (lompat ke label $ artinya ke lokasi tersebut lagi),
mikrokontroler akan meneruskan kembali instruksi berikutnya jika P3.7=1.

Instruksi MOVC A,@A+DPTR

Instruksi MOVC A,@A+DPTR, termasuk mode pengalamatan kode tidak


langsung (code indirect adressing mode), mempunyai cara penyebutan data dalam memori
program yang dilakukan secara tak langsung. Dalam instruksi ini instruksi MOV diganti
dengan MOVC, tambahan huruf C tersebut dimaksud untuk membedakan bahwa instruksi
ini digunakan untuk memori program. (MOV tanpa huruf C artinya digunakan untuk
memori data). Tanda @ digunakan untuk menandai A+DPTR yang berfungsi untuk
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

menyatakan lokasi memori yang isinya disalin ke akumulator A, dalam hal ini nilai yang
tersimpan dalam DPTR (Data Pointer Register 2 byte) ditambah dengan nilai yang
tersimpan dalam akumulator A (1 byte) sama dengan lokasi memori program yang ada.

Instruksi INC DPTR

Agak berbeda dengan instruksi INC A atau INC Rx (x=0 s/d 7), instruksi ini
adalah satu-satunya instruksi penaikan (increment) yang bekerja pada data 16 bit yaitu
DPTR, yaitu menaikkan penunjuk data sebesar 1. Suatu limpahan pada byte rendah (low
order) dari DPTR atau DPL (Data Pointer Low) akan menaikkan byte tinggi (high order)
yaitu yang tersimpan di DPH (Data Pointer High) sebesar 1. Flag tidak terpengaruh.
Misalnya DPH=12 dan DPL=Feh, maka instruksi ini:

INC DPTR

INC DPTR

INC DPTR

Akan menghasilkan DPH=13h dan DPL=01h.

2.1.1.3 Pewaktu dan Pencacah (Timer/Counter)


Mikrokontroler AT89C51 mempunyai 2 pewaktu/pencacah (timer/counter) 16 bit yang
digunakan untuk pengukuran interval waktu, lebar pulsa, mencacah kejadian, interupsi
secara periodis, dan membangkitkan pulsa laju data serial..

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

Pewaktu dan pencacah dikendalikan oleh bit-bit dalam register Timer Control (TCON)
dan Timer Mode (TMOD) seperti ditunjukkan pada tabel 2.2dan tabel 2.3.Hasil pencacah
0 terletak pada Register Timer Lower (TL0) dan register Timer High (TH0).
8

TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0

Gambar 2.2 Register Timer Control (TCON)

Timer Control (TCON) terdiri atas :

Bit

Simbol Fungsi

TF1

Timer 1 overflow flag

TR1

Timer 1 run control bit

TF0

Timer 0 overflow flag

TR0

Timer 0 run control bit

IE1

External interrupt 1 edge flag

IT1

External interrupt 1 signal control bit

IE0

External interrupt 0 edge flag

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

IT0

External interrupt 0 signal control bit

Gate C/T M1

4
M0

Gate C/t

Timer 1

M1

M0

Timer 0

Timer Mode (TMOD) terdiri atas :

Bit

Simbol Fungsi

7/3 Gate

OR gate enable which controls RUN/STOP of timer

6/2 C/T

Timer or counter selector for timer I/O

5/1 M1

Mode select bit 1

4/0 M0

Mode select bit 0

M1

M0

Mode

Tabel 2.2 Register Time Mode (TMOD)

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

Masukan pada untai pencacah adalah sebagai pencacah jika berasal dari sumber
luar dan sebagai pewaktu bila masukan berasal dari sumber osilator internal. Masukan dari
sumber luar atau dari osilalator internal ditentukan oleh bit C/T. Jika menggunakan
osilator internal maka bit C/T diset 0 dan bit Gate diset 0. sedangkan frekuensi osilator
akan di bagi 12 sebelum masuk ke untai pencacah. Jika masukan dari sumber luar (T0 atau
T1) maka bit Gate diset 1 dengan syarat INT0 dan INT1 tinggi. Pencacah diaktifkan
dengan menset bit TR0 dan TR1. Pencacah akan berlangsung sampai terjadi luapan saat
pencacah berguling dari FFFFh ke 0000h, dengan bit TF1 dan TF0 akan diset 1 dan
permintaan interupsi dibangkitkan.

TMOD mempunyai 2 register kembar 4 bit, mesing-masing mengendalikan salah satu


pewaktu. TCON mempunyai 4 bit orde tinggi untuk bit kendali pewaktu dan 4 bit orde
rendah untuk bit kendali interupsi eksternal. Ada 4 mode yang dapat dikonfigurasi pada
pewaktu/pencacah, yaitu:

Mode 0 (Pencacah dengan Praskala)

Mode 0 merupakan pencacah atau pewaktu dengan menggunakan praskala. Register


TH0/TH1 bekerja sebagai pencacah 8-bit dan TL0/TL1 Sebagai pencacah 5 bit.

Mode 1 (Pencacah 16 bit)

Dalam mode ini register TH0/TL0 dan register TH1/TL1 digunakan sebagai pencacah 16
bit.

Mode 2 (Pencacah dengan Auto-reload)

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

Mode 2 merupakan pencacah/pewaktu auto-reload. Register TL1/TL0 bekerja sebagai


pencacah 8-bit TH1/TH0 digunakan untuk menahan suatu nilai tertentu yang akan
disimpan ke TL1/TL0 pada setiap TL1/TL0 terjadi luapan, yaitu ketika berguling dari FFh
ke 00, dan akan membangkitkan pulsa untuk pengiriman dan penerimaan data pada port
serial.

Mode 3

Untuk pencacah 1, pengubahan ke mode 3 akan menghentikanpencacah 1, yang


merupakan cara lain menggunakan TR1 (TCON.6) untuk menghentikan dan menjalankan
pencacah 1.

Untuk pencacah 0, TH0 sebagai pencacah 8 bit yang diaktifkan oleh bit TR1 dan jika
terjadi luapan bit TF1 akan diset 1. sedangkan bit TR1 dan bit TF1 tidak dapat digunakan
untuk mengendalikan pencacah 1. TL0 sebagai pencacah 8 bityang dikendalikan oleh bit
Gate 0, C/T,TR0,TF0.

2.1.1.4 Interupsi dari pewaktu atau pencacah

Interupsi ini terjadi pada saat pewaktu atau pencacah terjadi luapan, maka flag TF0 atau
TF1 akan diset 1, kemudian interupsi akan dibangkitkan dan setelah pelayanan interupsi di
jalankan flag TF0 dan TF1 akan diset kembali ke 0.

2.1.1.5 Komunikasi Serial Asinkron


Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

MCS51 dilengkapi dengan sarana komunikasi data seri, sebagai anggota keluarga
MCS51. AT89C51 juga mempunyai sarana itu selengkapnya. Sarana komunikasi seri
tersebut bisa bekerja dalam 4 macam mode, 1 mode bekerja sebagai sarana komunkasi seri
sinkron, tiga lainnya merupakan sarana komunikasi seri asinkron.

Keempat macam mode kerja tersebut adalah :

Mode 0 - bekerja sebagai sarana komunikasi data seri sinkron, data seri dikirim dan

diterima melalui kaki RxD, sedangkan kaki TxD dipakai untuk menyalurkan clock yang
diperlukan komunikasi data sinkron. Data ditransmisikan per 8 bit dengan kecepatan
transmisi data (Baud rate) tetap, sebesar 1/12 frekuensi kerja dari AT89C51.

Mode 1- mode ini dan 2 mode berikutnya merupakan sarana komunikasi seri

asinkron. Data seri dikirim melalui kaki TxD, dan diterima dari kaki RxD. Data
ditransmisikan per 10 bit, terdiri atas 1 bit Start (0), 8 bit data dan 1 bit stop (1).
Kecepatan transmisi data (Baud Rate) ditentukan lewat Timer 1, bisa diatur untuk berbagai
kecepatan.

Mode 2 - Data seri dikirim melalui kaki TxD, dan diterima dari kaki RxD. Data

ditransmisikan per 11 bit, terdiri atas 1 bit Start (0), 8 bit data, 1 bit data tambahan (bit
ke 9) dan 1 bit stop (1). Kecepatan transmisi data (Baud Rate) hanya bisa dipilih 1/32
atau 1/64 frekuensi kerja dari AT89C51.

Mode 3 - Data seri dikirim melalui kaki TxD, dan diterima dari kaki RxD. Data

ditransmisikan per 11 bit, terdiri atas 1 bit Start (0), 8 bit data, 1 bit data tambahan (bit
ke 9) dan 1 bit stop (1). Sesungguhnya Mode 2 dan 3 sama persis, perbedaannya adalah

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

kecepatan transmisi data (Baud Rate) mode 3 ditentukan lewat Timer 1, bisa diatur untuk
berbagai kecepatan, persis sama dengan mode 1.

Dari keempat mode kerja yang ada, mode 1 adalah mode yang paling banyak dipakai,
mode inilah yang setara dengan komunikasi seri asinkron dipakai pada PC maupun
modem.

2.1.1.6 Pengaturan Kecepatan Transmisi

Kecepatan transmisi (Baud Rate) merupakan suatu hal yang amat penting dalam
komunikasi data seri asinkron, mengingat dalam komunikasi data seri asinkron clock tidak
ikut dikirimkan, sehingga harus diusahakan bahwa kecepatan transmisi mengikuti standar
yang sudah ada.

Dalam AT89C51, clock untuk transmisi data dibangkitkan dengan sarana Timer1. Untuk
keperluan ini, Timer1 dioperasikan sebagai 8 bit auto reload timer (mode 2), artinya TL1
bekerja sebagai timer 8 bit menerima clock dari osilator kristal yang frekuensinya sudah
dibagi 12 terlebih dulu, setiap kali pencacah (counter) nilainya menjadi 0 maka nilai yang
sebelumnya sudah disimpan di TH1 secara otomatis diisikan lagi ke TL1, sehingga TL1
akan menghasilkan clock yang frekuensinya diatur oleh TH1, clock ini berikutnya dibagi
lagi dengan 32 sebelum dipakai sebagai clock untuk UART. Hubungan frekuensi pada
sistem tersebut dinyatakan dengan persamaan berikut :Kalau kecepatan transmisi sudah
ditentukann dan frekuensi kristal sudah dipastikan, maka nilai yang disimpan di TH1 bisa
dihitung berdasarkan persamaan berikut :

Dalam persamaan di atas, k adalah konstanta yang nilainya 1 atau 2, tergantung


pada nilai yang tersimpan di bit SMOD dalam register PCON. Jika SMOD=0 k bernilai 1
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

dan k akan bernilai 2 kalau SMOD=1. Perlu dicacat, setelah AT89C51 di -reset, SMOD
akan bernilai 0, artinya jika tidak diatur l ebih lanjut k bernilai 1.
Untuk mendapatkan kecepatan transmisi yang umum dipakai dalam komunikasi data seri
asinkron (1200 Baud, 2400 Baud, 4800 Baud, 9600 Baud dan 19200 Baud), dari
persamaan di atas bisa diturunkan ternyata frekuensi kristal yang paling tepat adalah
11.059 MHz. Meskipun angka ini agak aneh, tapi karena banyak dipakai kristal dengan
frekuensi ini amat mudah diperoleh dipasar. Karena kristal 11.059 MHz dipilih agar bisa
membangkitkan kecepatan transmisi data seri standar, dalam sistem berbasis AT89C51
yang tidak menggunakan sarana komunikasi data seri asinkron lebih baik dipilih kristal
dengan frekuensi 12 MHz, sehingga clock untuk timer bisa merupakan frekuensi bulat 1
MHz.

Mikrokontroler AT89S51 mempunyai tugas mengendalikan seluruh


sistem.Mikrokontroler juga bertugas menerima program dalam format heksadesimal dari
komputer dan menyimpannya di RAM.

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

Gambar 2.3 Rangkaian Mikrokontroler AT89S51

2.1.2 Power Supplay


Rangkaian supply tegangan pada hardware pengatur temperatur AC menggunakan supply
sebesar 5 Volt. Untuk memperoleh tegangan sebesar 5 V maka digunakan sebuah IC
Regulator LM 7805, karena dengan menggunakanIC regulator tersebut maka tegangan
yang

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

masuk akan terjadi atau mempunyai output yangdikeluarkan sebasar 5 Volt. Rangkaian
supply ini juga menggunakan 2 buah capasitor berfungsi sebagai pull-up tegangan drop
atau turun tegangan yang akan mengganggu outputkonsumsi tegangan ke rangkaian
utama. Dan sebagai indikatornya yang menunjukan aktif tidaknya rangkaian pengatur
temperatur ACtersebut dipakai rangkaian LED, yang menyala apabila supply on alat
sedang aktif.

TIP32C

LM7805CT

12Volt

Vreg
IN

OUT

100ohm

220V 50Hz 0Deg

330ohm

1N5392GP
2200uF
1N5392GP

5Volt

1uF
100uF

TS_PQ4_12

Gambar 2.4 Rangkaian Power Supply Menggunakan IC LM7805

Rangkaian ini berfungsi untuk mensupplay tegangan ke seluruh rangkaian yang


ada.Rangkaian PSA yang dibuat terdiri daridua keluaran,yaitu 5 Volt dan 12 Volt,keluaran
5 volt yang digunakan untuk mensupplay tegangan ke seluruh rangkaian.Trafo CT
merupakan trafo stepdown yang berfungsi menurunkan tegangan dari 220Volt AC
menjadi 12 Volt AC.Kemudian 12 Volt AC akan disearahkan dengan menggunakan dua
buah diode,selanjutnya 12 Volt DC akan diratakan oleh kapasitor2200
mikroFarad.Regulator tegangan 5 volt (LM 7805CT) digunakan agar keluaran yang
dihasilkan tetap5 volt walaupun terjadi perubahan pada tegangan masukan.Transistor PNP
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

TIP 42C disini berfungsi untuk mensupplay arus apabila terjadi kekurangan arus pada
rangkaian,sehingga regulator tegangan ( LM 7805CT) tidak akan panas ketika rangkaian
butuh arus yang cukup besar.Tegangan 12 Volt DC langsung diambil dari keluaran 2 buah
diode penyearah.

2.1.3 Motor DC

Motor arus searah, sebagaimana namanya, menggunakan arus langsung yang tidak
langsung/direct-unidirectional. Motor DC digunakan pada penggunaan khusus dimana
diperlukan penyalaan torque yang tinggi atau percepatan yang tetap untuk kisaran
kecepatan yang luas.
Motor DC yang memiliki tiga komponen utama:1

Kutub medan. Secara sederhada digambarkan bahwa interaksi dua kutub magnet
akan menyebabkan perputaran pada motor DC. Motor DC memiliki kutub medan
yang stasioner dan dinamo yang menggerakan bearing pada ruang diantara kutub
medan.

Motor DC sederhana memiliki dua kutub medan: kutub utara dan kutub selatan. Garis
magnetik energi membesar melintasi bukaan diantara kutub-kutub dari utara ke selatan.
Untuk motor yang lebih besar atau lebih komplek terdapat satu atau lebih elektromagnet.
Elektromagnet menerima listrik dari sumber daya dari luar sebagai penyedia struktur
medan.

Dinamo. Bila arus masuk menuju dinamo, maka arus ini akan menjadi
elektromagnet.

Dinamo yang berbentuk silinder, dihubungkan ke as penggerak untuk menggerakan


beban. Untuk kasus motor DC yang kecil, dinamo berputar dalam medan magnet yang
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

dibentuk oleh kutub-kutub, sampai kutub utara dan selatan magnet berganti lokasi. Jika
hal ini terjadi, arusnya berbalik untuk merubah kutub-kutub utara dan selatan dinamo.

Commutator. Komponen ini terutama ditemukan dalam motor DC.


Kegunaannya adalah untuk membalikan arah arus listrik dalam dinamo.
Commutator juga membantu dalamtransmisi arus antara dinamo dan sumber
daya.Motor Dc akan berputar searah/berlawanan arah denagan jarum jam jika salah
satu kutubnya di beri tegangan positipdan kutub yang lainnya di beri tegangan
negative atau ground.

Dan motor DC akan berputar kea rah sebaliknya jika poaritasnya dibalik.Dengan sifat
yang demikian maka dibutuhkan suatu rangkaian yang dapat membalikkan polaritas yang
diberikan ke motor DC tersebut,sehingga perputarn motor DC dapat dikendalikan oleh
rangkaian tersebut.Motor DC jarang digunakan pada aplikasi industry umum karena
semua system utility listrik dilengakpi dengan perkakas arus bolak-balik,meskipun
demkian,pada aplikasi khusus adalah menguntungkan jika mengubah arus bolak-balik
menjadi arus searah digunakan dimana control torsi dan kecepatan dengan rentang yang
lebar diperlukan untuk memenuhi kebutuhan aplikasi.
Motor DC yang umum menggunakan sikat (Brush),yang menggunakan lilitan pada
rotor dan menggunakan magnet tetap pada sisi stator,pada dasarnya dapat dianggap
sebagai suatu beban yang dapat dihubungkan langsung ke rangkaian switching arus
DC.Oleh karena itu,pemilihan ruang tepat cukup diperoleh dengan memperhatikan besar
kebutuhan arus untuk memutar motor DC dapat diidentikkan dengan lilitan pada
kumparan relay sehingga rangkaian drivernya relative sama. Tujuan motor DC adalah
untuk menghasilkan gaya yang menggerakkan torsi.

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

Pada beberapa kasus sering diperlukan arah putaranmotor DC yang berubahubah.Prinsip dasar untuk mengubah arah perputarannya adlah dengan membalik polaritas
pada catu daya tegangannya.
Keuntungan utama motor DC adalah sebagai pengendali kecepatan, yang tidak
mempengaruhi kualitas pasokan daya. Motor ini dapat dikendalikan dengan mengatur:
Tegangan dinamo meningkatkan tegangan dinamo akan meningkatkan kecepatan
Arus medan menurunkan arus medan akan meningkatkan kecepatan.
Motor DC tersedia dalam banyak ukuran, namun penggunaannya pada umumnya dibatasi
untuk beberapa penggunaan berkecepatan rendah, penggunaan daya rendah hingga sedang
seperti peralatan mesin dan rolling mills, sebab sering terjadi masalah dengan perubahan
arah arus listrik mekanis pada ukuran yang lebih besar. Juga, motor tersebut dibatasi hanya
untuk penggunaan di area yang bersih dan tidak berbahaya sebab resiko percikan api pada
sikatnya.
Motor DC juga relatif mahal dibanding motor AC.

Keuntungan lain motor DC terhadap motor AC adalah bahwa kecepatan motor AC lebih
sulit dikendalikan. Untuk mengatasi kerugian ini, motor AC dapat dilengkapi dengan
penggerak frekwensi variabel untuk meningkatkan kendali kecepatan sekaligus
menurunkan dayanya. Motor induksi merupakan motor yang paling populer di industri
karena kehandalannya dan lebih mudah perawatannya. Motor induksi AC cukup murah
(harganya setengah atau kurang dari harga sebuah motor DC) dan juga memberikan rasio
daya terhadap berat yang cukup tinggi (sekitar dua kali motor DC).
Berikut adalah cara pemasangan dari kedua buah motor DC yang dilengkapi dengan data
input.
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

Modul SPC DC MOTOR dapat dipergunakan untuk motor DC dengan tegangan kerja
dari 5 Volt sampai dengan 36 Volt.
Arus RMS maksimum untuk modul SPC DC MOTOR adalah 600 mA.
Arus impuls tak berulang maksimum untuk modul SPC DC MOTOR adalah 1.2 A.
Sudah dilengkapi dioda clamp secara internal.
Hubungkan catu daya positif (+) untuk motor DC pada Vmotor dan catu daya negatif (-)
pada GND.
Tegangannya harus sesuai dengan tegangan kerja motor.
Untuk motor DC 1, sambungkan kutub positif motor DC pada M1+ dan kutub negatif
motor DC pada M1- serta data input pada IN1 secara benar.
Untuk motor DC 2, sambungkan kutub positif motor DC pada M2+ dan kutub negatif
motor DC pada M2- serta data input pada IN2 secara benar .

Gambar 2.5 Motor DC

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

2.1.4 Sensor Inframerah


Sensor adalah peralatan yang digunakan untuk mengubah suatu besaran fisik menjadi
besaran listrik sehingga dapat dianalisa dengan rangkaian tertentu, hampir seluruh
rangkaian elektronika mempunyai sensor didalamnya. Prinsip kerja dari alat ini adalah
mengubah energi dari foton menjadi elektron. Idealnya satu foton dapat membangkitkan
satu elektron. Infra Merah adalah radiasi elektromagnetik dari panjang gelombang lebih
panjang dari cahaya tampak, tetapi lebih pendek dari radiasi gelombang radio. Namanya
berarti "bawah merah" (dari bahasa Latin infra, "bawah"), merah merupakan warna dari
cahaya tampak dengan gelombang terpanjang. Radiasi inframerah memiliki jangkauan tiga
"order" dan memiliki panjang gelombang antara 700 nm dan 1 mm.

Infra Merah banyak digunakan pada komunikasi jarak dekat, contoh paling
umum pemakaian IR adalah remote kontrol (untuk TV). Gelombang IR mudah dibuat,
harganya relatif murah dan lebih bersifat directional tak dapat menembus tembok atau
benda gelap serta memiliki fluktuasi daya tinggi dan dapat diinterferensi oleh cahaya
matahari. Pengirim dan penerima IR menggunakan Light Emitting Diode ( LED ) dan
Photo Sensitive Diode ( PSD ).
Infra merah cukup efektif digunakan jika alat yang dikontrol terdapat pada lokasi yang
sama dan tidak terlalu jauh ( kurang lebih 10 meter dan tidak ada penghalang ).
Berbeda dengan LED biasa, LED Infrared pada penggunaannya dapat diaktifkan dengan:
- Tegangan DC untuk transmisi/sensor jarak dekat
- Tegangan AC (30 40 KHz) untuk transmisi/sensor jarak jauh

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

Sifat-sifat cahaya infrared:


- Tidak tampak manusia
- Tidak dapat menembus materi yang tak tembus pandang
- Dapat ditimbulkan oleh komponen yang menghasilkan panas
Sinar infra merah yang dipancarkan oleh pemancar infra merah tentunya mempunyai
aturan tertentu agar data yang dipancarkan dapat diterima dengan baik di receiver.
Komponen yang dapat menerima infra merah ini merupakan komponen yang peka cahaya
yang dapat berupa dioda (photodioda) atau transistor (phototransistor). Komponen ini akan
merubah energi cahaya, dalam hal ini energi cahaya infra merah menjadi pulsa-pulsa
sinyal.Komponen ini harus mampu mengumpulkan sinyal infra merah sebanyak mungkin,
sehingga pulsa-pulsa sinyal listrik yang dihasilkan kualitasnya cukup baik. Semakin besar
intensitas infra merah yang diterima maka sinyal pulsa listrik yang dihasilkan akan baik,
jika sinyal infra merah yang diterima intensitasnya lemah maka infra merah tersebut harus
mempunyai pengumpul cahaya (light collector) yang cukup baik dan sinyal pulsa yang
dihasilkan oleh sensor infra merah ini harus dikuatkan.
Pada prakteknya sinyal infra merah yang diterima intensitasnya sangat kecil sehingga
perlu dikuatkan. Selain itu agar tidak terganggu oleh sinyal cahaya lain maka sinyal listrik
yang dihasilkan oleh sensor infra merah harus difilter pada frekeunsi sinyal carrier yaitu
pada 30KHz sampai 40KHz. Selanjutnya baik photodioda maupun phototransistor disebut
sebagai photodetector..
VCC
5V
100
100
Infra Merah

100
Infra Merah

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

Gambar 2.6 Rangkaian Sensor Inframerah

Pada rangkaian di atas digunakan 3 buah LED inframerah yang diparalelkan,


dengan demikian maka intensitas yang dipancarkan oleh inframerah semakin kuat, karena
merupakan gabungan dari buah LED inframerah. Resistor yang digunakan adalah 100
ohm sehingga arus yang mengalir pada masing-masing LED inframerah adalah sebesar:

=
i

V
5
=
= 0, 05 A atau 50 mA
R 100

Dengan besarnya arus yang mengalir ke LED inframerah, maka intensitas pancaran
inframerah akan semakin kuat, yang menyebabkan jarak pantulannya akan semakin jauh.

2.1.5 PhotoDioda
Photodioda memiliki hambatan sekitar 15 s/d 20 Mohm jika tidak terkena sinar
inframerah, dan hambatannya akan berubah menjadi sekitar 80 s/d 300 Kohm jika terkena
sinar inframerah tergantung dari besarnya intensitas yang mengenainya. Semakin besar
intensitasnya, maka hambatannya semakin kecil.
Pada rangkaian di atas, output dari potodioda diumpankan ke basis dari transistor
tipa NPN C828, ini berarti untuk membuat transistor tersebut aktif maka tegangan yang
keluar dari potodioda harus lebih besar dari 0,7 volt. Syarat ini akan terpenuhi jika
potodioda mendapatkan sinar inframerah. Analisanya sebagai berikut:Jika tidak ada sinar
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

inframerah yang mengenai potodioda, maka hambatan pada potodioda 15 Mohm,


sehingga:

=
Vo

R2
330.000
=
xVcc
=
x5 0,107 Volt
R1 + R 2
15.000.000 + 330.000

Vout akan diumpankan ke basis dari transistor C828, karena tegangannya hanya 0,107
Volt maka transistor tidak aktif.
Jika ada sinar inframerah yang mengenai potodioda, maka hambatan pada potodioda 300
Kohm, sehingga:

=
Vo

R2
330.000
=
xVcc
=
x5 2, 619 Volt
R1 + R 2
300.000 + 330.000

Vout akan diumpankan ke basis dari transistor C828, karena tegangannya lebih besar dari
0,7 volt yaitu

2,619 Volt maka transistor akan aktif.Aktifnya transistor C828 akan

menyebabkan colektornya terhubung ke emitor, sehingga colektor mandapat tegangan 0


volt dari ground, tegangan ini diumpankan ke basis dari transistor ke-2 tipe PNP A733,
sehingga transistor ini juga aktif. Seterusnya aktifnya transistor A733 akan menyebabkan
colektornya terhubung ke emitor, sehingga colektor mandapat tegangan 5 volt dari Vcc,
tegangan ini diumpankan ke basis dari transistor ke-3 tipe NPN C945, sehingga transistor
ini juga aktif.Kolektor dari transistor C945 dihubungkan mikrokontroler AT89S51
sehingga jika transistor ini aktif, maka kolektor akan mendapatkan tegangan 0 volt dari
ground. Tegangan 0 volt inilah yang merupakan sinyal low (0) yang diumpankan ke
mikrokontroler AT89S51, sehingga mikrokontroler dapat mengetahui bahwa sensor ini
mengirimkan sinyal, yang berarti bahwa kreta api akan lewat.Transistor ke-4 tipe PNP
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

A733 berfungsi untuk menyalakan LED sebagai indikator bahwa sensor ini menerima
pantulan sinar inframerah dari pemancar.LED ini akan menyala jika sensor menerima
sinar inframerah, dan akan mati jika sensor tidak menerima sinar inframerah.
Pantulan dari sinar inframerah akan diterima oleh potodioda, kemudian akan
diolah oleh rangkaian penerima agar menghasilkan data biner, dimana jika potodioda
menerima pantulan sinar inframerah maka output dari rangkaian penerima ini akan
mengeluarkan logika low (0), namun jika potodioda tidak menerima pantulan sinar
inframerah, maka output dari rangkaian penerima akan mengeluarkan logika high (1).
Rangkaian penerima inframerah seperti gambar di bawah ini:

VCC
5V

AT89S51
1.0k

Q4
1.0k
2SA733
330

10k

10k

Q2

Poto dioda

1.0k
2SA733
4.7k
2SC945

C828

4.7k

10k

330k

LED1

Gambar 2.7. Rangkaian Penerima sinar inframerah

2.1.6 Perancangan Driver penggerak Motor DC (Jembatan H)


Untuk dapat bergerak membuka dan menutup, maka alat ini harus dapat
mengendalikan palang. Alat ini menggunakan 2 buah motor DC 6 volt untuk
menggerakkan palang, dimana 1 motor untuk menggerakkan palang sebelah kanan dan 1
motor lagi untuk menggerakkan palang sebelah kiri.Motor DC akan berputar
searah/berlawanan arah dengan jarum jam jika salah satu kutubnya diberi tegangan positip
dan kutub yang lainnya diberi tegangan negatif atau ground. Dan motor DC akan berputar
kearah sebaliknya jika polaritasnya dibalik.
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

Dengan sifat yang demikian maka dibutuhkan suatu rangkaian yang dapat
membalikkan polaritas yang diberikan ke motor DC tersebut, sehingga perputaran motor
DC dapat dikendalikan oleh rangkaian tersebut. Dan jika rangkaian tersebut dihubungkan
dengan mikrokontroler AT89S51, maka pergerakan motor dapat dikendalikan oleh
program.Rangkaian untuk mengendalikan perputaran motor DC tersebut adalah sebuah
rangkaian yang dikenal dengan jembatan H. Jembatan H ini terdiri dari 4 buah transistor,
dimana 2 buah transistor bertipe NPN dan 2 buah transistor lagi bertipe PNP.
Ke-4 transistor ini dirangkai sedemikian rupa sehingga dengan memberikan sinyal
low atau high pada rangkaian maka perputaran motor dapat diatur.Untuk perintah buka,
maka motor akan berputar ke arah kanan kedua motor sehingga kedua palang akan
terangkat sebesar 900. Untuk perintah tutup, maka motor akan berputar ke arah kiri kedua
motor sehingga kedua palang akan turun.

VDD

VDD
6.2V

6.2V

1.0k

1.0k
Tip 127

18

330

2SC945

Tip 127

18
VCC

VCC

MOTOR

5V

5V

2SC945

1.0k

P0.1

P0.0

18
330

330

1.0k

2SC945

Tip 122
Tip 122

18
2SC945

330

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

Gambar 2.8

Rangkaian jembatan H

Pada rangkaian di atas, jika P0.0 diset high yang berarti P0.0 mendapat tegangan 5
volt, maka kedua transistor tipe NPN C945 yang disebelah kiri akan aktif. Hal ini akan
membuat kolektor dari kedua transistor C945 itu akan mendapat tegangan 0 volt dari
ground. Kolektor dari transistor C945 yang berada di sebelah kiri atas diumpankan ke
basis dari transistor tipe PNP TIP 127 sehingga basis dari transistor TIP 127 mendapatkan
tegangan 0 volt yang menyebabkan transistor ini aktif (transistor tipe PNP akan aktif jika
tegangan pada basis lebih kecil dari 4,34 volt). Aktifnya transistor PNP TIP 127 ini akan
mengakibatkan

kolektornya terhubung ke emitor

sehingga kolektor mendapatkan

tegangan 5 volt dari Vcc.


Sedangkan kolektor dari transistor C945 yang berada di sebelah kiri bawah
diumpankan ke basis dari transistor tipe NPN TIP 122 sehingga basis dari transistor TIP
122 mendapatkan tegangan 0 volt yang menyebabkan transistor ini tidak aktif (transistor
tipe NPN akan aktif jika tegangan pada basis lebih besar dari 0,7 volt).
Karena transistor TIP 122 ini tidak aktif, maka kolektornya tidak terhubung ke emitor,
sehingga kolektor tidak mendapatkan tegangan 0 volt dari ground.
Karena kolektor TIP 122 dihubungkan dengan kolektor TIP 127 yang

mendapatkan

tegangan 5 volt dari Vcc, maka kolektor dari TIP 122 juga mendapatkan tegangan yang
sama. Hal ini menyebabkan motor sebelah kiri mendapatkan tegangan 5 volt (polaritas
positif).

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

Agar motor dapat berputar ke satu arah maka motor harus mendapatkan tegangan 0
volt (polaritas negatif). Hal ini diperoleh dengan memberikan logika low (0) pada P2.7
mikrokontroler AT89S51. Pada rangkaian di atas, jika P0.1 diset low yang berarti P0.1
mendapat tegangan 0 volt, maka kedua transistor tipe NPN C945 yang disebelah kanan
tidak akan aktif. Hal ini akan membuat kolektor dari kedua transistor C945 itu akan
mendapat tegangan 5 volt dari Vcc. Kolektor dari transistor C945 yang berada di sebelah
kanan atas diumpankan ke basis dari transistor tipe PNP TIP 127 sehingga basis dari
transistor TIP 127 mendapatkan tegangan 5 volt yang menyebabkan transistor ini tidak
aktif. Karena transistor PNP TIP 127 tidak aktif maka kolektornya tidak terhubung ke
emitor

sehingga kolektor tidak mendapatkan tegangan 5 volt dari Vcc, tetapi

mendapatkan tegangan yang berasal dari transistor TIP 122 yang berada di bawahnya.
Sedangkan kolektor dari transistor C945 yang berada di sebelah kiri bawah
diumpankan ke basis dari transistor tipe NPN TIP 122 sehingga basis dari transistor TIP
122 mendapatkan tegangan 5 volt yang menyebabkan transistor ini menjadi aktif. Karena
transistor TIP 122 ini menjadi aktif, menyebabkan kolektornya terhubung ke emitor,
sehingga kolektor mendapatkan tegangan 0 volt dari ground.Karena kolektor TIP 122
yang mendapatkan teganagan 0 volt dari ground dihubungkan dengan kolektor TIP 127,
maka kolektor dari TIP 127 juga

mendapatkan tegangan

yang sama. Hal ini

menyebabkan motor sebelah kanan mendapatkan tegangan 0 volt (polaritas negatif).


Hal ini akan menyebabkan motor akan berputar ke satu arah tertentu. Sedangkan
untuk memutar motor kea arah sebaliknya, maka logika yang diberikan ke P0.0 adalah low
(0) dan logika yang diberikan ke P0.1 adalah high (1).

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

2.1.7 Buzzer
Rangakain alarm adalah rangkaian yang berfungsi untuk membrikan sinyal
informasisuara ketika terjadi sebuah keadaan dimana saat kereta api menghalangi sensor
infrared yang digunakan.Dalam proyek tugas akhir ini buzzer digunakan sebagai salah
satunya.Buzzer akan mengeluarkan saura dengan frekuensi 300 600 Hz.

2.1.8 Running Text


Pada proyek Tugas Akhir ini penulis menngunakan running teks adalah sebagai
tamhan peringatan bagi para pengguna jalan raya yang akan melewati rel kereta
api.Running teks disini dibuat seminim mungkin karen mengingat proyek yang dibuat oleh
penulis pun hanya sebatas simulasi.

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

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

51 instruksi.Dari instruksi,yang sering digunakan orang hanya 10 instruksi,instruksiinstruksi tersebut adalah:


1.

Instruksi MOV
Perintah ini merupakan perintah untuk pengisian nilai ke alamat atau register
tertentu.Pengisian nilai dapat secara langsung atau tidak langsung.
MOV R0,# 20h
Perintah diatas 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 diatas berarti :Isikan nilai yang terdapat pada alamat 20Heksadesimal ke
register 0 ( R0).
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.

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

Contoh:
MOV R0,#80h
Loop:

DJNZ R0,Loop
..
R0-1,jika belum 0 lompat ke Loop,jika R0=0 maka program akan meneruskan ke
perinath pada baris berikutnya.

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

Instruksi RET

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

Instruksi RETURN (RET) ini merupakan perintah untuk kembali ke rutin 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

6.

Instruksi JB ( Jump If Bit)

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

Instruksi ini merupakan perintah lompat ke alamat tertentujiak pin yang dimaksud
berlogika ( 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 (0).
Contoh:
Loop:
JNB P1.0,Loop

8.

Instruksi CJNZ ( Compare Jump If No Equal )


Instruksi ini berfungsi untuk membandingkan nilai dalam suatu register dengan
suatu nilai tertentu.
Contoh:
Loop:

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

.
CJNE R0,# 20h,Loop
..
Jika nilai R0 tidak sama dengan 20h,maka program akan lompat keratin Loop.
Jika nilai R0 sama dengan 20h,maka program 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 perinath untuk menambahkan milai register yang
dimaksud dengan 1.
Contoh:
MOV R0,#20h

R0=20h

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

INC R0

R0=R0+1

2.2.2 Softe 8051 Editor, Assembler, Simulator (IDE)


Instruksi-instruksi yang merupakan bahasa Assembly tersebut dituliskan pada sebuah
editor, yaitu 8051 editor, assembler, simulator (IDE). Tampilannya adalah sebagai berikut:

Gambar 2.9 8051 Editor, Assembler, Simulator IDE


Setelah program selesai ditulis, kemudian di-save dan kemudian diassemble (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 pengcompile-an. Bilangan heksadesimal inlah yang akan dikirimkam ke mikrokontroler.

2.2.3 Software Downloder

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

Untuk mengirimkan bilangan-bilangan heksadesimal ini ke mikrokontroler digunakan


software ISP-Flash Programmer 3.0a yang dapat didownload dari internet. Tampilannya
seperti gambar berikut ini.

Gambar 3.0 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 mikrokontroler.

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

BAB 3

PERANCANGAN ALAT DAN PERANCANGAN PROGRAM


3.1

Perancangan Alat

3.1.1 Diagram Blok


Secara garis besar, diagram blok dari rangkaian palang otomatis ini ditunjukkan pada
gambar 3.1. berikut ini:

Penguat
sinyal

P1.4

Sensor
kanan
dalam

Penguat
sinyal

P1.5

Sensor kiri
luar

Penguat
sinyal

Sensor kiri
dalam

P0.0 &
P0.1

MIKROKONTROLER AT89S51

Sensor
kanan luar

P0.2 &
P0.3

Penguat
sinyal

P1.6

P1.7

P3.1

Jembatan
H1

Jembatan
H2

MOTOR
1

MOTOR
2

Buzzer

Gambar 3.1. Diagram Blok Rangkaian


Keterangan dari diagram blok:
Palang kereta api otomatis ini dirancang hanya sebatas simulasi. Pada palang ini
terdapat 14 blok rangkaian utama yang mempunyai fungsi masing-masing. Terdapat 4
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

buah sensor yaitu: sensor kanan luar berfungsi untuk mendeteksi kereta api yang datang
dari sebelah kanan, sensor kanan dalam berfungsi untuk memberitahukan kepada
mikrokontroler bahwa seluruh badan kereta api yang dating dari sebelah kanan sudah
seluruhnya melewati palang, sensor kiri luar berfungsi untuk mendeteksi kereta api yang
datang dari sebelah kiri, dan sensor kiri dalam berfungsi untuk memberitahukan kepada
mikrokontroler bahwa seluruh badan kereta api yang dating dari sebelah kiri sudah
seluruhnya melewati palang. Pada palang kereta api otomatis ini sensor yang digunakan
adalah sensor inframerah. Sensor ini terletak tidak jauh dari palang dan menghadap rel
sehingga dapat mendeteksi adanya kereta api yang lewat. Sensor ini terhubung pada P1.4,
P1.5, P1.6, dan P1.7 dari mikrokontroler AT89S51 sehingga dapat bekerja sesuai dengan
yang telah terprogram.

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. Untuk mengendalikan pergerakan motor,
digunakan sebuah rangkaian driver penggerak motor DC yaitu jembatan H. Jembatan H ini
akan memutar motor DC searah/berlawanan jarum jam bila diberi pulsa 1 atau 0. Dengan
demikian pergerakan motor dapat dikendalikan melalui program. Pin-pin jembatan H ini
dihubungkan ke P0.0, P0.1, P0.2, dan P0.3 dari mikrokontroler AT89S51. Alarm
berfungsi untuk memberitahukan bahwa kereta api sedang lewat dan dihubungkan ke pin
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

P3.1 pada mikrokontroler AT89S51 sehingga akan bekerja sesuai dengan yang telah
terprogram.
3.1.2 Perancangan Sensor Inframerah
3.1.2.1 Perancangan Pemancar Inframerah
Untuk dapat mendeteksi adanya kereta api yang akan lewat, maka palang otomatis ini
dilengkapi dengan 4 buah sensor inframerah. Semua sensor ini mempunyai rangkaian
yang sama, hanya penempatannya saja yang berbeda.

Masing-masing sensor menggunakan 3 buah pemancar inframerah dan sebuah


potodioda. Sensor ini memanfaatkan pantulan dari pemancar inframerah yang diterima
oleh potodioda. Digunakan 3 buah pemancar inframerah pada masing-masing sensor
bertujuan agar sinyal pantulan semakin kuat, sehingga kereta api dapat terdeteksi dengan
baik.

Setiap pantulan yang diterima oleh potodioda akan diolah dan dijadikan data
digital, sehingga bila potodioda mendapatkan pantulan dari pemancar inframerah, maka
akan mengirimkan sinyal low (0) ke mikrokontrolert AT89S51. Dengan demikian
mikrokontroler dapat mendeteksi sensor yang mengirimkan sinyal low dan mengambil
tindakan untuk mengatur putaran motor ke kanan atau ke kiri. Rangkaian pemancar
inframerah tampak seperti gambar di bawah ini:
VCC
5V
100

Mona Farida Lumbantoruan : Aplikasi 100


Mikrokontroler
AT89S51100
sebagai
BASIS pada Simulasi Palang Kereta Api dengan

Tampilan Running Text, 2009.


Infra Merah

Infra Merah

Gambar 3.2 Rangkaian Pemancar inframerah


Pada rangkaian di atas digunakan 3 buah LED inframerah yang diparalelkan, dengan
demikian maka intensitas yang dipancarkan oleh inframerah semakin kuat, karena
merupakan gabungan dari buah LED inframerah. Resistor yang digunakan adalah 100
ohm sehingga arus yang mengalir pada masing-masing LED inframerah adalah sebesar:

=
i

V
5
=
= 0, 05 A atau 50 mA
R 100

Dengan besarnya arus yang mengalir ke LED inframerah, maka intensitas pancaran
inframerah akan semakin kuat, yang menyebabkan jarak pantulannya akan semakin jauh.

3.1.2.2 Perancangan Penerima Inframerah


Pantulan dari sinar inframerah akan diterima oleh potodioda, kemudian akan diolah oleh
rangkaian penerima agar menghasilkan data biner, dimana jika potodioda menerima
pantulan sinar inframerah maka output dari rangkaian penerima ini akan mengeluarkan
logika low (0), namun jika potodioda tidak menerima pantulan sinar inframerah, maka
output dari rangkaian penerima akan mengeluarkan logika high (1).

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

Rangkaian penerima inframerah seperti gambar di bawah ini:

VCC
5V

AT89S51
Q4

1.0k

1.0k
2SA733
330

10k

10k

Q2

Poto dioda

1.0k
2SA733
4.7k
2SC945

C828

4.7k

10k

330k

LED1

Gambar 3.3 Rangkaian Penerima sinar inframerah

Potodioda memiliki hambatan sekitar 15 s/d 20 Mohm jika tidak terkena sinar
inframerah, dan hambatannya akan berubah menjadi sekitar 80 s/d 300 Kohm jika terkena
sinar inframerah tergantung dari besarnya intensitas yang mengenainya. Semakin besar
intensitasnya, maka hambatannya semakin kecil.

Pada rangkaian di atas, output dari potodioda diumpankan ke basis dari transistor
tipa NPN C828, ini berarti untuk membuat transistor tersebut aktif maka tegangan yang

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

keluar dari potodioda harus lebih besar dari 0,7 volt. Syarat ini akan terpenuhi jika
potodioda mendapatkan sinar inframerah. Analisanya sebagai berikut:

Jika tidak ada sinar inframerah yang mengenai potodioda, maka hambatan pada
potodioda 15 Mohm, sehingga:

=
Vo

R2
330.000
=
xVcc
=
x5 0,107 Volt
R1 + R 2
15.000.000 + 330.000

Vout akan diumpankan ke basis dari transistor C828, karena tegangannya hanya 0,107
Volt maka transistor tidak aktif.

Jika ada sinar inframerah yang mengenai potodioda, maka hambatan pada
potodioda 300 Kohm, sehingga:

=
Vo

R2
330.000
=
xVcc
=
x5 2, 619 Volt
R1 + R 2
300.000 + 330.000

Vout akan diumpankan ke basis dari transistor C828, karena tegangannya lebih besar dari
0,7 volt yaitu 2,619 Volt maka transistor akan aktif.

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

Aktifnya transistor C828 akan menyebabkan colektornya terhubung ke emitor,


sehingga colektor mandapat tegangan 0 volt dari ground, tegangan ini diumpankan ke
basis dari transistor ke-2 tipe PNP A733, sehingga transistor ini juga aktif. Seterusnya
aktifnya transistor A733 akan menyebabkan colektornya terhubung ke emitor, sehingga
colektor mandapat tegangan 5 volt dari Vcc, tegangan ini diumpankan ke basis dari
transistor ke-3 tipe NPN C945, sehingga transistor ini juga aktif.

Kolektor dari transistor C945 dihubungkan mikrokontroler AT89S51 sehingga jika


transistor ini aktif, maka kolektor akan mendapatkan tegangan 0 volt dari ground.
Tegangan 0 volt inilah yang merupakan sinyal low (0) yang diumpankan ke
mikrokontroler AT89S51, sehingga mikrokontroler dapat mengetahui bahwa sensor ini
mengirimkan sinyal, yang berarti bahwa kreta api akan lewat.

Transistor ke-4 tipe PNP A733 berfungsi untuk menyalakan LED sebagai indikator
bahwa sensor ini menerima pantulan sinar inframerah dari pemancar. LED ini akan
menyala jika sensor menerima sinar inframerah, dan akan mati jika sensor tidak menerima
sinar inframerah.

3.1.3 Rangkaian Mikrokontroler AT89S51

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

Rangkaian ini berfungsi sebagai pusat kendali dari seluruh system yang ada. Komponen
utama dari rangkaian ini adalah IC mikrokontroler AT89S51. Pada IC inilah semua
program diisikan, sehingga rangkaian dapat berjalan sesuai dengan yang dikehendaki.
Rangkaian mikrokontroler ini ditunjukkan pada gambar berikut ini:

VCC

5V

AT89S51
1
2
3
4

VCC 5V

5
6
7
8

10uF

P1.0

Vcc

P1.1
P0.0 (AD0)
P1.2

P0.1 (AD1)

P1.3
P0.2 (AD2)
P1.4
P0.3 (AD3)
P1.5
P0.4 (AD4)
P1.6
P0.5 (AD5)
P1.7
P0.6 (AD6)

9
10
11
12

VCC 5V

13
14
15

2SA733

16

4.7k

17
18

LED1

19

30pF

P0.7 (AD7)

P3.0 (RXD)

EA/VPP

P3.1 (TXD)

ALE/PROG

P3.2 (INT0)

PSEN

P3.3 (INT1)
P2.7 (A15)
P3.4 (T0)
P2.6 (A14)
P3.5 (T1)
P2.5 (A13)
P3.6 (WR)
P2.4 (A12)
P3.7 (RD)
P2.3 (A11)

XTAL 12 MHz
1

RST

20

30pF

XTAL2

P2.2 (A10)

XTAL1

P2.1 (A9)

GND

P2.0 (A8)

40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21

Gambar 3.4 Rangkaian mikrokontroller AT89S51


Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

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. Pin 1 sampai 8 adalah port 1. Pin
21 sampai 28 adalah port 2. Dan Pin 10 sampai 17 adalah port 3. Pin 17 yang merupakan
P3.7 dihubungkan dengan transistor dan sebuah LED. Ini dilakukan hanya untuk menguji
apakah 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
terhubug ke Pin 17 sudah bekerja sesuai dengan perintah yang diberikan, maka rangkaian
minimum tersebut telah siap digunakan. Pin 20 merupakan ground dihubungkan dengan
ground pada power supplay. Pin 40 merupakan sumber tegangan positif dihubungkan
dengan + 5 volt dari power supplay.

3.1.4 Rangkaian Catu Daya (PSA)

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

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.2 berikut ini :

TIP32C

LM7805CT

12Volt

Vreg
IN

OUT

100ohm

220V 50Hz 0Deg

5Volt
330ohm

1N5392GP
2200uF
1N5392GP

1uF
100uF

TS_PQ4_12

Gambar 3.5

Rangkaian Power Supply (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
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

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 42C disini berfungsi untuk
mensupplay arus apabila terjadi kekurangan arus pada rangkaian, sehingga regulator
tegangan (LM7805CT) tidak akan panas ketika rangkaian butuh arus yang cukup besar.
Tegangan 12 volt DC langsung diambil dari keluaran 2 buah dioda penyearah.

3.1.5. Perancangan Driver penggerak Motor DC (Jembatan H)


Untuk dapat bergerak membuka dan menutup, maka alat ini harus dapat mengendalikan
palang. Alat ini menggunakan 2 buah motor DC 6 volt untuk menggerakkan palang,
dimana 1 motor untuk menggerakkan palang sebelah kanan dan 1 motor lagi untuk
menggerakkan palang sebelah kiri.

Motor DC akan berputar searah/berlawanan arah dengan jarum jam jika salah satu
kutubnya diberi tegangan positip dan kutub yang lainnya diberi tegangan negatif atau
ground. Dan motor DC akan berputar kearah sebaliknya jika polaritasnya dibalik. Dengan
sifat yang demikian maka dibutuhkan suatu rangkaian yang dapat membalikkan polaritas
yang diberikan ke motor DC tersebut, sehingga perputaran motor DC dapat dikendalikan
oleh rangkaian tersebut. Dan jika rangkaian tersebut dihubungkan dengan mikrokontroler
AT89S51, maka pergerakan motor dapat dikendalikan oleh program. Rangkaian untuk
mengendalikan perputaran motor DC tersebut adalah sebuah rangkaian yang dikenal
dengan jembatan H. Jembatan H ini terdiri dari 4 buah transistor, dimana 2 buah transistor
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

bertipe NPN dan 2 buah transistor lagi bertipe PNP. Ke-4 transistor ini dirangkai
sedemikian rupa sehingga dengan memberikan sinyal low atau high pada rangkaian maka
perputaran motor dapat diatur.

Untuk perintah buka, maka motor akan berputar ke arah kanan kedua motor
sehingga kedua palang akan terangkat sebesar 900. Untuk perintah tutup, maka motor
akan berputar ke arah kiri kedua motor sehingga kedua palang akan turun. Rangkaian
jembatan H, ditunjukkan pada gambar di bawah ini:

VDD

VDD

6.2V

6.2V

1.0k

1.0k

330

2SC945

Tip 127

Tip 127

18

18
VCC

VCC

MOTOR

5V

5V

2SC945

1.0k

P0.1

P0.0

18
330

330

1.0k

2SC945

Tip 122
Tip 122

18
2SC945

330

Gambar 3.6 Rangkaian jembatan H

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

Pada rangkaian di atas, jika P0.0 diset high yang berarti P0.0 mendapat tegangan 5
volt, maka kedua transistor tipe NPN C945 yang disebelah kiri akan aktif. Hal ini akan
membuat kolektor dari kedua transistor C945 itu akan mendapat tegangan 0 volt dari
ground. Kolektor dari transistor C945 yang berada di sebelah kiri atas diumpankan ke
basis dari transistor tipe PNP TIP 127 sehingga basis dari transistor TIP 127 mendapatkan
tegangan 0 volt yang menyebabkan transistor ini aktif (transistor tipe PNP akan aktif jika
tegangan pada basis lebih kecil dari 4,34 volt). Aktifnya transistor PNP TIP 127 ini akan
mengakibatkan

kolektornya terhubung ke emitor

sehingga kolektor mendapatkan

tegangan 5 volt dari Vcc.

Sedangkan kolektor dari transistor C945 yang berada di sebelah kiri bawah
diumpankan ke basis dari transistor tipe NPN TIP 122 sehingga basis dari transistor TIP
122 mendapatkan tegangan 0 volt yang menyebabkan transistor ini tidak aktif (transistor
tipe NPN akan aktif jika tegangan pada basis lebih besar dari 0,7 volt). Karena transistor
TIP 122 ini tidak aktif, maka kolektornya tidak terhubung ke emitor, sehingga kolektor
tidak mendapatkan tegangan 0 volt dari ground.

Karena kolektor TIP 122 dihubungkan dengan kolektor TIP 127 yang
mendapatkan tegangan 5 volt dari Vcc, maka kolektor dari TIP 122 juga

mendapatkan

tegangan yang sama. Hal ini menyebabkan motor sebelah kiri mendapatkan tegangan 5
volt (polaritas positif).

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

Agar motor dapat berputar ke satu arah maka motor harus mendapatkan tegangan 0
volt (polaritas negatif). Hal ini diperoleh dengan memberikan logika low (0) pada P2.7
mikrokontroler AT89S51.

Pada rangkaian di atas, jika P0.1 diset low yang berarti P0.1 mendapat tegangan 0
volt, maka kedua transistor tipe NPN C945 yang disebelah kanan tidak akan aktif. Hal ini
akan membuat kolektor dari kedua transistor C945 itu akan mendapat tegangan 5 volt dari
Vcc. Kolektor dari transistor C945 yang berada di sebelah kanan atas diumpankan ke basis
dari transistor tipe PNP TIP 127 sehingga basis dari transistor TIP 127 mendapatkan
tegangan 5 volt yang menyebabkan transistor ini tidak aktif. Karena transistor PNP TIP
127 tidak aktif maka kolektornya tidak terhubung ke emitor sehingga kolektor tidak
mendapatkan tegangan 5 volt dari Vcc, tetapi mendapatkan tegangan yang berasal dari
transistor TIP 122 yang berada di bawahnya.

Sedangkan kolektor dari transistor C945 yang berada di sebelah kiri bawah
diumpankan ke basis dari transistor tipe NPN TIP 122 sehingga basis dari transistor TIP
122 mendapatkan tegangan 5 volt yang menyebabkan transistor ini menjadi aktif. Karena
transistor TIP 122 ini menjadi aktif, menyebabkan kolektornya terhubung ke emitor,
sehingga kolektor mendapatkan tegangan 0 volt dari ground.

Karena kolektor TIP 122 yang

mendapatkan teganagan 0 volt dari ground

dihubungkan dengan kolektor TIP 127, maka kolektor dari TIP 127 juga

mendapatkan

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

tegangan yang sama. Hal ini menyebabkan motor sebelah kanan mendapatkan tegangan 0
volt (polaritas negatif). Hal ini akan menyebabkan motor akan berputar ke satu arah
tertentu. Sedangkan untuk memutar motor kea arah sebaliknya, maka logika yang
diberikan ke P0.0 adalah low (0) dan logika yang diberikan ke P0.1 adalah high (1)

3.2 Perancangan Program


Alat ini dirancang untuk membuka dan menutup palang kreta api secara otomatis.
Diagram alir dari program yang akan dibuat adalah sebgai berikut.

START

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

Sensor
Kanan
Luar
0?

Ya
Tutup
Palang

Sensor
Kanan
Dalam
0?

Tidak

Buka
Palang

Tidak

Sensor
Kiri
Luar =
0?

Ya

Tutup
Palang

Sensor
Kiri
Dalam
0?

Tidak

Buka
Palang

Tidak
Buka
Palang

Gambar.3.7 FlowChart Program

Program diawali dengan pengecekan logika pada sensor kanan luar. Jika sensor ini
menerima logika 0 yang berarti kereta api ada yang akan lewat maka mikrokontroler
segera mengirimkan logika agar jembatan H memutar kedua motor sehingga menutup
kedua palang. Demikian juga jika sensor kanan dalam menerima logika 0 yang berarti
seluruh badan kereta api sudah lewat maka mikrokontroler mengirimkan logika agar
jembatan H memutar kedua motor sehingga membuka kedua palang.
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

Demikian halnya jika kereta api datang dari sebelah kiri, yang bekerja adalah
sensor kiri luar dan sensor kiri dalam sesuai dengan yang telah terprogram pada
mikrokontroler AT89S51.

Program palang kereta api otomatis:

sensor_kanan_luar bitp 1.4

;sensor kanan luar berada


pada alamat bit p1.4

sensor_kanan_dalam bit p1.5

;sensor

kanan

dalam

berada

pada alamat bit p1.5


sensor_kiri_luar

bit p1.6

;sensor kiri luar berada pada


alamat bit p1.6

sensor_kiri_dalam

bit p1.7

;sensor kiri dalam berada pada


alamat bit p1.7

limit1buka

bit p2.1

;limit1buka berada pada alamat


bit p2.1

limit1tutup

bit p2.0

;limit1tutup

berada

pada

alamat bit p2.0


limit2buka

bit p2.3

;limit2buka berada pada alamat


bit p2.3

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

limit2tutup

bit p2.2

;limit2tutup

berada

pada

alamat bit p2.2

hijau

bit p0.0

;hijau berada pada bit p0.0

biru

bit p0.1

;biru berada pada bit p0.1

ungu

bit p0.2

;ungu berada pada bit p0.2

abu

bit p0.3

;abu berada pada bit p0.3

utama:

; program utama
acall buka

cek_kanan:
setb p3.1

; memanggil rutin buka

; program utama
;aktifkan logika high (1) pada
bit p3.1

acall stop

; memanggil rutin stop

jb sensor_kanan_luar,cek_kiri ;melompat ke bit p1.4


pada logika high (1)

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

rutin1:

; perintah untuk rutin1

acall tutup

; memanggil rutin tutup

loop:

; perintah untuk loop


acall stop

; memanggil rutin stop

jb sensor_kanan_dalam,loop

;melompat ke bit p1.5 pada


logika high (1)

rutin2:

;printah untuk rutin2


acall stop

;memanggil rutin stop

jnb sensor_kanan_dalam,rutin2

;melompat

ke

bit

p1.5 pada logika low


(0)
sjmp utama

;melompat ke baris perintah label


utama

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

cek_kiri:

; program utama

jb sensor_kiri_luar,cek_kanan

;melompat
p1.6

ke

pada

bit
logika

high (1)

rutin3:

; perintah untuk rutin3

acall

tutup

loop1:

; memanggil rutin tutup

; perintah untuk loop1


acall stop

; memanggil rutin stop

jb sensor_kiri_dalam,loop1

;melompat

ke

bit

p1.7

pada logika high (1)


rutin4:

; perintah untuk rutin4


acall stop

; memanggil rutin stop

jnb sensor_kiri_dalam,rutin4

;melompat ke bit p1.7


pada logika low (0)

sjmp utama

melompat

ke

baris

perintah label utama

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

buka:

; perintah buka
clr p3.1

aktifkan

logika

low

(0)

pada bit p3.1


acall bukamotor1

memanggil

rutin

bukamotor1

cekmotorbuka1:

;perintah untuk cekmotorbuka1

jb limit1buka,cekmotorbuka2

;melompat

ke

bit

p2.1 pada logika high (1)


acall stopmotor1

cekmotorbuka2:

;memanggil rutin stopmotor1

;perintah untuk cekmotorbuka2

jb limit2buka,bukaserentak ;

melompat

ke

bit

p2.3

pada logika high (1)


acall stopmotor2

;memanggil rutin stopmotor2

acall stop

; memanggil rutin stop

ret

;program

berhenti

untuk

program buka
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

bukaserentak:
jb limit1buka,lanjut

;perintah bukaserentak
;melompat

ke

bit

p2.1

pada

logika high (1)


acall bukamotor2
sjmp cekmotorbuka1

;memanggil rutin bukamotor2


;melompat

ke

baris

perintah

lebel cekmotorbuka1

lanjut:

;perintah lanjut
acall bukasemua

;memanggil

rutin

bukasemua

sjmp buka

;melompat

ke

baris

perintah

lebel buka

tutup:

; perintah tutup
clr p3.1

;aktifkan

logika

low

(0)

pada bit p3.1


acall tutupmotor1

;memanggil rutin tutupmotor1

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

cekmotortutup1:

;perintah cekmotortutup1

jb limit1tutup,cekmotortutup2

;melompat
p2.0

ke

pada

bit
logika

high (1)
acall stopmotor1

;memanggil

rutin

stopmotor1

cekmotortutup2:

;perintah cekmotortutup2

jb limit2tutup,tutupserentak

melompat

ke

bit

p2.2 pada logika high (1)


acall stopmotor2

;memanggil rutin stopmotor2

ret

;program

berhenti

untuk

program tutup

tutupserentak:

;perintah tutup serentak

jb limit1tutup,lanjutkan

;melompat

ke

bit

p2.0

pada logika high (1)

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

acall tutupmotor2

;memanggil

rutin

tutupmotor2
sjmp cekmotortutup1

;melompat

ke

baris

perintah cekmotortutup1

lanjutkan:

; perintah lanjutkan

acall tutupsemua

;memanggil rutin tutupsemua

sjmp tutup

;melompat

ke

baris

printah

lebel tutup

bukasemua:

; perintah bukasemua
mov p0,#0ah

;isikan

nilai

heksadesimal

ke p0
mov r7,#200

;isikan nilai 200 heksadesimal


ke register 7 (r7)

djnz r7,$

;instruksi yang akan mengurangi 1


nilai register 7 dan akan melompat
ke memori program buka semua jika
setelah

pengurangan

belum

dihasilkan 0
acall stop

; memanggil rutin stop

ret

program

berhenti

untuk

program

bukasemua
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

tutupsemua:
mov p0,#05h

;perintah tutupsemua
;isikan

nilai

heksadesimal

ke p0
mov r7,#100

;isikan nilai 100 heksadesimal


ke register 7 (r7)

djnz r7,$

;instruksi

yang

akan

mengurangi 1 nilai register 7


dan

akan

melompat

ke

memori

program

tutupsemua

jika

setelah

pengurangan

belum

dihasilkan 0
acall stop

ret

; memanggil rutin stop

;program

berhenti

untuk

program

tutupsemua

bukamotor1:
mov p0,#02h

;perintah bukamotor1
;isikan nilai 2 heksadesimal ke p0

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

mov r7,#200

;isikan nilai 200 heksadesimal ke


register 7 (r7)

djnz r7,$

;instruksi yang akan mengurangi 1


nilai register 7 dan akan melompat
ke memori program bukamotor1 jika
setelah

pengurangan

belum

dihasilkan 0
acall stop

;memanggil rutin stop

ret

;program

berhenti

untuk

program

bukamotor1

bukamotor2:

;perintah bukamotor2

mov p0,#08h

;isikan nilai 8 heksadesimal ke p0

mov r7,#200

;isikan nilai 200 heksadesimal ke


register 7 (r7)

djnz r7,$

;instruksi yang akan mengurangi 1


nilai register 7 dan akan melompat
ke memori program bukamotor2 jika
setelah

pengurangan

belum

dihasilkan 0
acall stop

;memanggil rutin stop

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

ret

;program

berhenti

untuk

program

bukamotor2
tutupmotor1:

;perintah tutupmotor1

mov p0,#01h

;isikan nilai 1 heksadesimal ke p0

mov r7,#100

;isikan nilai 100 heksadesimal ke


7 (r7)

djnz r7,$

;instruksi yang akan mengurangi 1


nilai register 7 dan akan melompat
ke memori program tutupmotor1 jika
setelah

pengurangan

belum

dihasilkan 0
acall stop

;memanggil rutin stop

ret

;program

berhenti

untuk

program

tutupmotor1

tutupmotor2:

;perintah tutupmotor2

mov p0,#04h

;isikan nilai 4 heksadesimal ke p0

mov r7,#100

;isikan nilai 100 heksadesimal ke


register 7 (r7)

djnz r7,$

;instruksi yang akan mengurangi 1


nilai register 7 dan akan melompat
ke memori program tutupmotor2 jika

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

setelah

pengurangan

belum

dihasilkan 0
acall stop

;memanggil rutin stop

ret

;program

berhenti

untuk

program

tutupmotor2

stopmotor1:
clr hijau

;perintah stopmotor1
;aktifkan logika low (0) pada bit
p0.0

clr biru

;aktifkan logika low (0) pada bit


p0.1

ret

;program

berhenti

untuk

program

stopmotor1

stopmotor2:
clr biru

;perintah stopmotor2
;aktifkan logika low (0) pada bit
p0.1

clr ungu

;aktifkan logika low (0) pada bit


p0.2

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

ret

;program

berhenti

untuk

program

stopmotor

stop:

;perintah
clr hijau

;aktifkan logika low (0) pada bit


p0.0

clr biru

;aktifkan logika low (0) pada bit


p0.1

clr ungu

;aktifkan logika low (0) pada bit


p0.2

clr abu

;aktifkan logika low (0) pada bit


p0.3

mov r7,#100

;isikan nilai 100 heksadesimal ke


register 7 (r7)

djnz r7,$

;instruksi yang akan mengurangi 1


nilai register 7 dan akan melompat
ke memori program stop jika setelah
pengurangan belum dihasilkan 0

ret

;program

berhenti

untuk

program

stop

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

BAB 4
PENGUJIAN RANGKAIAN DAN ANALISA

4.1

Pengujian Rangkaian

4.1.1 Pengujian Rangkaian Mikrokontroler AT89S51

Untuk mengetahui rangkaian mikrokontroler ini sudah bekerja dengan baik maka
dilakukan pengujian.

VCC

5V

AT89S51
1
2
3
4

VCC 5V

5
6
7

10uF

P1.0

Vcc

P1.1
P0.0 (AD0)
P1.2

P0.1 (AD1)

P1.3
P0.2 (AD2)
P1.4
P0.3 (AD3)
P1.5
P0.4 (AD4)
P1.6
P0.5 (AD5)
P1.7
P0.6 (AD6)

RST

P0.7 (AD7)

40
39
38
37
36
35
34
33
32

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
10
31
Tampilan Running Text, 2009.
P3.0 (RXD)
EA/VPP
11
12

VCC 5V

13
14
15

2SA733

4.7k
XTAL 12 MHz

LED1

16
17

P3.1 (TXD)
P3.2 (INT0)

ALE/PROG
PSEN

P3.3 (INT1)
P2.7 (A15)
P3.4 (T0)
P2.6 (A14)
P3.5 (T1)
P2.5 (A13)
P3.6 (WR)
P2.4 (A12)
P3.7 (RD)
P2.3 (A11)

18
19

XTAL2

P2.2 (A10)

XTAL1

P2.1 (A9)

30
29
28
27
26
25
24
23
22

Gambar 4.1 Rangkaian minimum mikrokontroler AT89S51


Pengujian ini dilakukan dengan cara memberikan program sederhana pada
mikrokontroler AT89S51. Programmya adalah sebagai berikut:

Loop:
Cpl P3.7
Acall Tunda
Sjmp Loop
Tunda:
Mov R7,#255
Tnd:
Mov R6,#255
Djnz r6,$
Djnz r7,Tnd
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

Ret

Program di atas akan mengubah logika yang ada pada P3.7 selama selang waktu
tunda. Jika logika pada P3.7 high maka akan diubah menjadi low, demikian
juga sebaliknya jika logika pada P3.7 low maka akan diubah ke high, demikian seterusnya.

Logika low akan mengaktifkan transistor sehingga LED akan menyala dan logika
high akan menonaktipkan transistor, sehingga LED padam. Dengan demikian program ini
akan membuat LED berkedip terus-menerus. Jika LED telah berkedip terus menerus
sesuai dengan program yang diinginkan, maka rangkaian mikrokontroler telah berfungsi
dengan baik.
4.1.2 Pengujian Rangkaian Sensor Inframerah

Rangkaian ini dikatakan baik apabila ketika photodioda terkena pantulan inframerah, LED
indicator akan menyala dan tegangan keluarannya jika diukur adalah 0 V. Demikian
sebaliknya, ketika photodiode tidak terkena pantulan inframerah, LED indicator tidak akan
menyala, dan tegangan keluarannya jika di ukur adalah 5 V. Karena sensor ini berfungsi
untuk mendeteksi kereta api yang lewat maka diletakkan menghadap rel kreta api. Dengan
jarak sedekat mungkin agar bekerja sesuai dengan yang diinginkan.
Rangkaian sensor inframerah ditunjukkan oleh gambar berikut:

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS


VCCApi dengan
VCCpada Simulasi Palang Kereta
Tampilan Running Text, 2009.

5V

5V

AT89S51
1.0k

Q4
1.0k

100

10k

Q2
1.0k

100

Poto dioda

Infra Merah

100
Infra Merah

Gambar 4.2 Rangkaian sensor inframerah


4.1.3 Pengujian Rangkaian Jembatan H

Rangkaian untuk mengendalikan perputaran motor DC tersebut adalah sebuah rangkaian


yang dikenal dengan Jembatan H, seperti gambar di bawah ini:

VDD

VDD
6.2V

6.2V

1.0k

1.0k
Tip 127

18

330

2SC945

Tip 127

18
VCC

VCC

MOTOR

5V

5V

2SC945

1.0k

P0.1

P0.0

18
330

330

1.0k

2SC945

Tip 122
Tip 122

18
2SC945

330

Gambar 4.3 Rangkaian Jembatan H


Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

Untuk menguji rangkaian ini, diberikan logika high (5 V) pada salah satu inputnya,
sedangkan inputnya yang lain diberikan logika low (0 V). Maka motor DC yang
dihubungkan pada outputnya akan berputar ke arah tertentu. Dan ketika pemberian logika
dibalik, motor akan berputar ke arah yang sebaliknya.

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

4.1.4

Pengujian Rangkaian PSA

Rangkaian PSA ini berfungsi untuk mensuplay tegangan ke seluruh rangkaian ditunjukkan
oleh gambar berikut

TIP32C

LM7805CT

12Volt

Vreg
IN

OUT

100ohm

220V 50Hz 0Deg

5Volt
330ohm

1N5392GP
2200uF

1uF

1N5392GP

100uF

TS_PQ4_12

Gambar 4.4 Rangkaian PSA

Pengujian pada bagian rangkaian power supply ini dapat dilakukan dengan
mengukur tegangan keluaran dari rangkaian ini dengan menggunakan Voltmeter. Pada
power supply ini terdapat dua keluaran. Tegangan power supply ini digunakan untuk mensupply tegangan ke seluruh rangkaian. Mikrokontroler AT89S51 dapat bekerja pada
tegangan 4,0 Volt sampai 5,5 Volt ini cukup men-supply tegangan mikrikontroler
AT89S51. Rangkaian PSA ini dikatakan baik ketika nilai tegangan outputnya berkisar
antara 4,5 Volt hingga 5,0 Volt.

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

4.1.5 Pengujian Rangkaian Buzzer

Pengujian pada rangkaian buzzer ini dapat dilakukan dengan memberikan tegangan 5 volt
dan 0 volt pada basis transistor C945. Transistor C945 merupakan transistor jenis NPN,
transistor jenis ini akan aktip jika pada basis diberi tegangan > 0,7 volt dan tidak aktip jika
pada basis diberi tegangan < 0,7 volt. Aktipnya transistor akan membunyikan buzzer.

Selanjutnya buzzer dihubungkan dengan mikrokontroler dan mikrokontroler diberi


program sederhana untuk megaktipkan buzzer. Program yang diisikan ke mikrokontroler
untuk mengaktipkan buzzer adalah :
Setb P0.0
......
Perintah di atas akan memberikan logika high (1) atau tegangan 5 volt. pada P0.0,
sehingga dengan demikian buzzer akan berbunyi.

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

4.2.

Analisa

Setelah keseluruhan dibuat dan diuji, maka berikut ini adalah rangkaian kerja dari palang
kereta api yang dibuat:
1.

Pada saat dihidupkan palang akan segera mengambil logika dari sensor kanan luar.

2.

Ketika kereta api terdeteksi oleh sensor kanan luar tersebut, maka palang akan
diperintahkan untuk menutup jalan sehingga mobil dan kenderaan lainnya berhenti.

3.

Pada saat sensor kanan dalam mendeteksi kereta api sudah seluruhnya lewat maka
palang akan diperintahkan untuk membuka jalan artinya mobil dan kenderaan
lainnya dapat berjalan kembali.

4.

Demikian juga dilakukan jika sensor kiri luar yang mendapat logika, sensor kiri
dalam akan bekerja sesuai dengan yang telah diprogram.

5.

Buzzer akan berbunyi ketika kereta api terdeteksi oleh sensor inframerah demikian
halnya Running text akan aktif juga.

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

BAB 5

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Dari hasil penulisan Tugas Akhir ini diperoleh kesimpulan sebagai berikut:
1. Perancangan simulasi Palang kereta api ini dapat berfungsi dengan baik selainuntuk
mengurangi factor kecelakaan juga tenaga manusia yang betul betul menyita perhatian
yang ditugaskan untuk pos jaga dekat palang kereta api.
2. Mikrokontroler AT89S51 mempunyai fungsi yang besar untuk mengendalikan semua
cara kerja dari proyek tersebut baik untuk mengendalikan semua rangkaian.
3. Motor DC memilki speed dan torsi yang mudah dikontrol arah putaran dan
kecepataannya untuk dapat diputar ke kiri atau ke kanan yang dihubungkan dengan
Mikrokontroler AT89S51 sebagai pengendalinya.

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

5.2 Saran
1. Agar rangkaian yang digunakan tidak terganggu,sebaiknya alat ini dikemas dalam
bentuk yang lebih baik sehingga penggunaannya lebih efektif.
2. Pada proyek ini penempatan letak sensor harus sesuai dengan fungsinya masingmasing.
3. Bahasa pemograman yang digunakan pada proyek ini hendaknya bisa dikembangkan
menjadi lebih baik.
4. Pada proyek ini jenis sensor inframerah dapat diganti dengan sensor halangan yang lain
seperti sensor ultrasonik untuk proyek jadinya.
5. Dapat ditambah lagi system sistem yang dapat mendukung pada system agar tujuan
yang diinginkan lebih sempurna.

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

DAFTAR PUSTAKA

Afgianto.2002.Belajar Mikrokontroler AT89S51/52/55 Teori dan Aplikasi.


Edisi Kedua,Penerbit: Gava Media,Yogyakarta

Andi.2003.Panduan Praktis Teknik Antarmuka dan Pemograman Mikrokontroler


AT89S51,Penerbit:PT ELEX Media Komputindo,Jakarta

Bishop,Owen.2004.Dasar- dasar Elektronika,Edisi Pertama,Penerbit: Erlangga,Jakarta

Malvino,Hanafi Gunawan,1996.Prinsip-prinsip Elektronika.Edisi


Kedua,Penerbit:Erlangga,Jakarta

www.Smartec.NL
www.fairchildsemi.com
www.atmel.com

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.

Rangkaian Skematik Simulasi Palang Kereta Api Berbasis Mikrokontroler AT89S51

VD

VDD
6.2V

VCC
5V

1.0k

AT89S51
Q4

1.0k

330

10k

4.7k
2SC945

18
VCC

VCC

MOTOR

5V

5V

2SC945
1.0k

1.0k

P0.0

C828
10k

330

Poto dioda

1.0k
2SA733

1.0k
2SA733

2SC945

Tip 127

Tip 127

18

10k

Q2

4.7k

Tip 122

18

330k

Tip 122

LED1

Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan
Tampilan Running Text, 2009.
TIP32C

LM7805CT

12Volt

Vreg
IN

100ohm

220V 50Hz 0Deg

OUT

5Volt
330ohm

1N5392GP
2200uF

1uF

18
2SC945

2SC945

330

330

Anda mungkin juga menyukai