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.
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.
Sensor Kanan
Luar 0?
Sensor Kiri
Luar = 0?
Sensor Kanan
Dalam 0?
Sensor Kiri
Dalam 0?
Buka Palang
Buka Palang
Tutup Palang
Tutup Palang
Buka Palang
Ya
Ya Tidak
Tidak Tidak
Tidak
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:
s e n s o r _ k a n a n _ l u a r b i t p 1 . 4 ; s e n s o r k a n a n l u a r b e r a d a
p a d a a l a ma t b i t p 1 . 4 s e n s o r _ k a n a n _ d a l a m b i t p 1 . 5
; s e n s o r k a n a n d a l a m b e r a d a p a d a a l a ma t b i t p 1 . 5
s e n s o r _ k i r i _ l u a r b i t p 1 . 6 ; s e n s o r k i r i l u a r b e r a d a p a d a
a l a ma t b i t p 1 . 6 s e n s o r _ k i r i _ d a l a m b i t p 1 . 7
; s e n s o r k i r i d a l a m b e r a d a p a d a a l a ma t b i t p 1 . 7
l i mi t 1 b u k a b i t p 2 . 1 ; l i mi t 1 b u k a b e r a d a p a d a a l a ma t
b i t p 2 . 1 l i mi t 1 t u t u p b i t p 2 . 0
; l i mi t 1 t u t u p b e r a d a p a d a a l a ma t b i t p 2 . 0
l i mi t 2 b u k a b i t p 2 . 3 ; l i mi t 2 b u k a b e r a d a p a d a a l a ma t
b i t p 2 . 3
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
l i mi t 2 t u t u p b i t p 2 . 2 ; l i mi t 2 t u t u p b e r a d a p a d a
a l a ma t b i t p 2 . 2
h i j a u b i t p 0 . 0 ; h i j a u b e r a d a p a d a b i t p 0 . 0
b i r u b i t p 0 . 1 ; b i r u b e r a d a p a d a b i t p 0 . 1
u n g u b i t p 0 . 2 ; u n g u b e r a d a p a d a b i t p 0 . 2
a b u b i t p 0 . 3 ; a b u b e r a d a p a d a b i t p 0 . 3
u t a ma : ; p r o g r a m u t a ma
a c a l l b u k a ; me ma n g g i l r u t i n b u k a
c e k _ k a n a n : ; p r o g r a m u t a ma
s e t b p 3 . 1 ; a k t i f k a n l o g i k a h i g h 1 p a d a
b i t p 3 . 1 a c a l l s t o p
; me ma n g g i l r u t i n s t o p j b s e n s o r _ k a n a n _ l u a r , c e k _ k i r i ; me l o mp a t k e b i t p 1 . 4
p a d a l o g i k a h i g h 1
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
r u t i n 1 : ; p e r i n t a h u n t u k r u t i n 1
a c a l l t u t u p ; me ma n g g i l r u t i n t u t u p
l o o p : ; p e r i n t a h u n t u k l o o p
a c a l l s t o p ; me ma n g g i l r u t i n s t o p
j b s e n s o r _ k a n a n _ d a l a m, l o o p ; me l o mp a t k e b i t p 1 . 5 p a d a l o g i k a h i g h 1
r u t i n 2 : ; p r i n t a h u n t u k r u t i n 2
a c a l l s t o p ; me ma n g g i l r u t i n s t o p
j n b s e n s o r _ k a n a n _ d a l a m, r u t i n 2 ; me l o mp a t k e b i t
p 1 . 5 p a d a l o g i k a l o w
s j mp u t a ma ; me l o mp a t k e b a r i s p e r i n t a h l a b e l
u t a ma
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
c e k _ k i r i : ; p r o g r a m u t a ma
j b s e n s o r _ k i r i _ l u a r , c e k _ k a n a n ; me l o mp a t k e b i t
p 1 . 6 p a d a l o g i k a h i g h 1
r u t i n 3 : ; p e r i n t a h u n t u k r u t i n 3
a c a l l t u t u p ; me ma n g g i l r u t i n t u t u p
l o o p 1 : ; p e r i n t a h u n t u k l o o p 1
a c a l l s t o p ; me ma n g g i l r u t i n s t o p
j b s e n s o r _ k i r i _ d a l a m, l o o p 1 ; me l o mp a t k e b i t p 1 . 7 p a d a l o g i k a h i g h 1
r u t i n 4 : ; p e r i n t a h u n t u k r u t i n 4
a c a l l s t o p ; me ma n g g i l r u t i n s t o p
j n b s e n s o r _ k i r i _ d a l a m, r u t i n 4 ; me l o mp a t k e b i t p 1 . 7 p a d a l o g i k a l o w 0
s j mp u t a ma ; me l o mp a t k e b a r i s
p e r i n t a h l a b e l u t a ma
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
b u k a : ; p e r i n t a h b u k a
c l r p 3 . 1 ; a k t i f k a n l o g i k a l o w 0
p a d a b i t p 3 . 1 a c a l l b u k a mo t o r 1
; me ma n g g i l r u t i n
b u k a mo t o r 1
c e k mo t o r b u k a 1 : ; p e r i n t a h u n t u k c e k mo t o r b u k a 1
j b l i mi t 1 b u k a , c e k mo t o r b u k a 2 ; me l o mp a t k e b i t
p 2 . 1 p a d a l o g i k a h i g h 1 a c a l l s t o p mo t o r 1
; me ma n g g i l r u t i n s t o p mo t o r 1
c e k mo t o r b u k a 2 : ; p e r i n t a h u n t u k c e k mo t o r b u k a 2
j b l i mi t 2 b u k a , b u k a s e r e n t a k ; me l o mp a t k e b i t p 2 . 3 p a d a l o g i k a h i g h 1
a c a l l s t o p mo t o r 2 ; me ma n g g i l r u t i n s t o p mo t o r 2
a c a l l s t o p ; me ma n g g i l r u t i n s t o p
r e t ; p r o g r a m b e r h e n t i u n t u k
p r o g r a m b u k a
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
b u k a s e r e n t a k : ; p e r i n t a h b u k a s e r e n t a k
j b l i mi t 1 b u k a , l a n j u t ; me l o mp a t k e b i t p 2 . 1 p a d a l o g i k a h i g h 1
a c a l l b u k a mo t o r 2 ; me ma n g g i l r u t i n b u k a mo t o r 2
s j mp c e k mo t o r b u k a 1 ; me l o mp a t k e b a r i s p e r i n t a h
l e b e l c e k mo t o r b u k a 1
l a n j u t : ; p e r i n t a h l a n j u t
a c a l l b u k a s e mu a ; me ma n g g i l r u t i n
b u k a s e mu a
s j mp b u k a ; me l o mp a t k e b a r i s p e r i n t a h
l e b e l b u k a
t u t u p : ; p e r i n t a h t u t u p
c l r p 3 . 1 ; a k t i f k a n l o g i k a l o w 0
p a d a b i t p 3 . 1 a c a l l t u t u p mo t o r 1
; me ma n g g i l r u t i n t u t u p mo t o r 1
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
c e k mo t o r t u t u p 1 : ; p e r i n t a h c e k mo t o r t u t u p 1
j b l i mi t 1 t u t u p , c e k mo t o r t u t u p 2 ; me l o mp a t k e b i t
p 2 . 0 p a d a l o g i k a h i g h 1
a c a l l s t o p mo t o r 1 ; me ma n g g i l r u t i n
s t o p mo t o r 1
c e k mo t o r t u t u p 2 : ; p e r i n t a h c e k mo t o r t u t u p 2
j b l i mi t 2 t u t u p , t u t u p s e r e n t a k ; me l o mp a t k e b i t
p 2 . 2 p a d a l o g i k a h i g h 1 a c a l l s t o p mo t o r 2
; me ma n g g i l r u t i n s t o p mo t o r 2 r e t
; p r o g r a m b e r h e n t i u n t u k p r o g r a m t u t u p
t u t u p s e r e n t a k : ; p e r i n t a h t u t u p s e r e n t a k
j b l i mi t 1 t u t u p , l a n j u t k a n ; me l o mp a t k e b i t p 2 . 0
p a d a l o g i k a h i g h 1
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
a c a l l t u t u p mo t o r 2 ; me ma n g g i l r u t i n
t u t u p mo t o r 2 s j mp c e k mo t o r t u t u p 1
; me l o mp a t k e b a r i s p e r i n t a h c e k mo t o r t u t u p 1
l a n j u t k a n : ; p e r i n t a h l a n j u t k a n
a c a l l t u t u p s e mu a ; me ma n g g i l r u t i n t u t u p s e mu a
s j mp t u t u p ; me l o mp a t k e b a r i s p r i n t a h
l e b e l t u t u p
b u k a s e mu a : ; p e r i n t a h b u k a s e mu a
mo v p 0 , 0 a h ; i s i k a n n i l a i a h e k s a d e s i ma l
k e p 0 mo v r 7 , 2 0 0
; i s i k a n n i l a i 2 0 0 h e k s a d e s i ma l k e r e g i s t e r 7 r 7
d j n z r 7 , ; i n s t r u k s i y a n g a k a n me n g u r a n g i 1
n i l a i r e g i s t e r 7 d a n a k a n me l o mp a t k e me mo r i p r o g r a m b u k a s e mu a j i k a
s e t e l a h p e n g u r a n g a n b e l u m d i h a s i l k a n 0
a c a l l s t o p ; me ma n g g i l r u t i n s t o p
r e t ; p r o g r a m b e r h e n t i u n t u k p r o g r a m
b u k a s e mu a
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
t u t u p s e mu a : ; p e r i n t a h t u t u p s e mu a
mo v p 0 , 0 5 h ; i s i k a n n i l a i 5 h e k s a d e s i ma l
k e p 0 mo v r 7 , 1 0 0
; i s i k a n n i l a i 1 0 0 h e k s a d e s i ma l k e r e g i s t e r 7 r 7
d j n z r 7 , ; i n s t r u k s i y a n g a k a n
me n g u r a n g i 1 n i l a i r e g i s t e r 7 d a n a k a n me l o mp a t k e me mo r i
p r o g r a m t u t u p s e mu a j i k a s e t e l a h p e n g u r a n g a n b e l u m
d i h a s i l k a n 0 a c a l l s t o p
; me ma n g g i l r u t i n s t o p
r e t ; p r o g r a m b e r h e n t i u n t u k p r o g r a m
t u t u p s e mu a
b u k a mo t o r 1 : ; p e r i n t a h b u k a mo t o r 1
mo v p 0 , 0 2 h ; i s i k a n n i l a i 2 h e k s a d e s i ma l k e p 0
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
mo v r 7 , 2 0 0 ; i s i k a n n i l a i 2 0 0 h e k s a d e s i ma l k e
r e g i s t e r 7 r 7 d j n z r 7 ,
; i n s t r u k s i y a n g a k a n me n g u r a n g i 1 n i l a i r e g i s t e r 7 d a n a k a n me l o mp a t
k e me mo r i p r o g r a m b u k a mo t o r 1 j i k a s e t e l a h p e n g u r a n g a n b e l u m
d i h a s i l k a n 0 a c a l l s t o p
; me ma n g g i l r u t i n s t o p r e t
; p r o g r a m b e r h e n t i u n t u k p r o g r a m b u k a mo t o r 1
b u k a mo t o r 2 : ; p e r i n t a h b u k a mo t o r 2
mo v p 0 , 0 8 h ; i s i k a n n i l a i 8 h e k s a d e s i ma l k e p 0
mo v r 7 , 2 0 0 ; i s i k a n n i l a i 2 0 0 h e k s a d e s i ma l k e
r e g i s t e r 7 r 7 d j n z r 7 ,
; i n s t r u k s i y a n g a k a n me n g u r a n g i 1 n i l a i r e g i s t e r 7 d a n a k a n me l o mp a t
k e me mo r i p r o g r a m b u k a mo t o r 2 j i k a s e t e l a h p e n g u r a n g a n b e l u m
d i h a s i l k a n 0 a c a l l s t o p
; me ma n g g i l r u t i n s t o p
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
r e t ; p r o g r a m b e r h e n t i u n t u k p r o g r a m
b u k a mo t o r 2 t u t u p mo t o r 1 :
; p e r i n t a h t u t u p mo t o r 1 mo v p 0 , 0 1 h
; i s i k a n n i l a i 1 h e k s a d e s i ma l k e p 0 mo v r 7 , 1 0 0
; i s i k a n n i l a i 1 0 0 h e k s a d e s i ma l k e 7 r 7
d j n z r 7 , ; i n s t r u k s i y a n g a k a n me n g u r a n g i 1
n i l a i r e g i s t e r 7 d a n a k a n me l o mp a t k e me mo r i p r o g r a m t u t u p mo t o r 1 j i k a
s e t e l a h p e n g u r a n g a n b e l u m d i h a s i l k a n 0
a c a l l s t o p ; me ma n g g i l r u t i n s t o p
r e t ; p r o g r a m b e r h e n t i u n t u k p r o g r a m
t u t u p mo t o r 1
t u t u p mo t o r 2 : ; p e r i n t a h t u t u p mo t o r 2
mo v p 0 , 0 4 h ; i s i k a n n i l a i 4 h e k s a d e s i ma l k e p 0
mo v r 7 , 1 0 0 ; i s i k a n n i l a i 1 0 0 h e k s a d e s i ma l k e
r e g i s t e r 7 r 7 d j n z r 7 ,
; i n s t r u k s i y a n g a k a n me n g u r a n g i 1 n i l a i r e g i s t e r 7 d a n a k a n me l o mp a t
k e me mo r i p r o g r a m t u t u p mo t o r 2 j i k a
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
s e t e l a h p e n g u r a n g a n b e l u m d i h a s i l k a n 0
a c a l l s t o p ; me ma n g g i l r u t i n s t o p
r e t ; p r o g r a m b e r h e n t i u n t u k p r o g r a m
t u t u p mo t o r 2
s t o p mo t o r 1 : ; p e r i n t a h s t o p mo t o r 1
c l r h i j a u ; a k t i f k a n l o g i k a l o w 0 p a d a b i t
p 0 . 0 c l r b i r u
; a k t i f k a n l o g i k a l o w 0 p a d a b i t p 0 . 1
r e t ; p r o g r a m b e r h e n t i u n t u k p r o g r a m
s t o p mo t o r 1
s t o p mo t o r 2 : ; p e r i n t a h s t o p mo t o r 2
c l r b i r u ; a k t i f k a n l o g i k a l o w 0 p a d a b i t
p 0 . 1 c l r u n g u
; a k t i f k a n l o g i k a l o w 0 p a d a b i t p 0 . 2
Mona Farida Lumbantoruan : Aplikasi Mikrokontroler AT89S51 sebagai BASIS pada Simulasi Palang Kereta Api dengan Tampilan Running Text, 2009.
r e t ; p r o g r a m b e r h e n t i u n t u k p r o g r a m
s t o p mo t o r
s t o p : ; p e r i n t a h
c l r h i j a u ; a k t i f k a n l o g i k a l o w 0 p a d a b i t
p 0 . 0 c l r b i r u
; a k t i f k a n l o g i k a l o w 0 p a d a b i t p 0 . 1
c l r u n g u ; a k t i f k a n l o g i k a l o w 0 p a d a b i t
p 0 . 2 c l r a b u
; a k t i f k a n l o g i k a l o w 0 p a d a b i t p 0 . 3
mo v r 7 , 1 0 0 ; i s i k a n n i l a i 1 0 0 h e k s a d e s i ma l k e
r e g i s t e r 7 r 7 d j n z r 7 ,
; i n s t r u k s i y a n g a k a n me n g u r a n g i 1 n i l a i r e g i s t e r 7 d a n a k a n me l o mp a t
k e me mo r i p r o g r a m s t o p j i k a s e t e l a h p e n g u r a n g a n b e l u m d i h a s i l k a n 0
r e t ; p r o g r a m b e r h e n t i u n t u k p r o g r a m
s t o p
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