You are on page 1of 3

JAWAB TEST II MIKRO

01. Forklift
START

T
STOP=0? MAJU1=0? MAJU2=0? MAJU3=0? MUNDUR1=0?

MUNDUR1
STOP SIGNAL MAJU1 SIGNAL MAJU2 SIGNAL MAJU3 SIGNAL
SIGNAL

MUNDUR3=0? MUNDUR2=0?

MUNDUR3 MUNDUR2
SIGNAL SIGNAL

VC C

R ESET S2 C 8
10uF
VCC 5V PIN 20
GND PIN 10
R 1 1
4K7 R ST
VC C Y 1 4
12M H z X2

30pf
10K 30pf 5
X1
2 1 2
P 3 .0 /R XD +P 1 .0 TS 1
S TO P 10K 3 1 3
P 3 .1 /T XD -P 1 .1 TS 2
6 1 4
P 3 .2 /IN T 0 P 1 .2 TS 3
7 1 5
P 3 .3 /IN T 1 P 1 .3 TS 4
M AJU 1 10K 8 1 6
P 3 .4 /T 0 P 1 .4 TS 5
9 1 7
P 3 .5 /T 1 P 1 .5 TS 6
1 8
P 1 .6 TS 7
M AJU 2 10K 11 1 9
P 3 .7 P 1 .7
AT89C 2051
M AJU 3 10K

M U N D U R 1 10K

M U N D U R 2
10K

M U N D U R 3

1
;PROGRAM FORKLIFT
$mod51
stop equ P3.0
maju1 equ P3.1
maju2 equ P3.2
maju3 equ P3.3
mundur1 equ P3.4
mundur2 equ P3.5
mundur3 equ P3.7
TS1 equ P1.0
TS2 equ P1.1
TS3 equ P1.2
TS4 equ P1.3
TS5 equ P1.4
TS6 equ P1.5
TS7 equ P1.6

Org 0000h
Start:
Clr ea
Mov sp,#2fh
Acall stop_signal
FLoop:
JNB STOP,Stop_signal
JNB maju1,Maju1_signal
JNB maju2,Maju2_signal
JNB maju3,Maju3_signal
JNB mundur1,Mundur1_signal
JNB mundur2,Mundur2_signal
JNB mundur3,Mundur3_signal
Sjmp Floop
Stop_signal:
Mov P1,#0ffh ;all ‘1’
Ret
Maju1_signal:
Acall stop_signal ;set all
Clr TS1
Clr TS4
Clr TS5
Clr TS6
Ret
Maju2_signal:
Acall stop_signal
Clr TS1
Clr TS5
Clr TS6
Ret
Maju3_signal:
Acall stop_signal
Clr TS1
Clr TS6
Ret

2
Mundur1_signal:
Acall stop_signal
Clr TS1
Clr TS4
Clr TS5
Clr TS7
Ret
Mundur2_signal:
Acall stop_signal
Clr TS1
Clr TS5
Clr TS7
Ret
Mundur3_signal:
Acall stop_signal
Clr TS1
Clr TS7
Ret

End

;02. Subrutin Ganjil Genap

Ganjil_genap:
Mov b,#2 ;isi b=2
Div ab ;bagi a/2
Mov a,b ;pindahkan sisa ke a
Jz genap ;kalau sisa = 0 berarti genap
Clr P1.0 ;ganjil
Ret
Genap:
Setb P1.0
Ret

;03. Emulasi NAND Gate 3 input


$mod51
org 0000h

nand_loop:
JNB P1.0,OUT_1
JNB P1.1,OUT_1
JNB P1.2,OUT_3

‘all input ‘1’ ->out=’0’


CLR P1.3
Sjmp nand_loop
Out_1:
Setb P1.3
Sjmp nand_loop
End

You might also like