Anda di halaman 1dari 4

DEFINE LOADER_USED 1

DEFINE OSC 4 'Define oscilator 4MHz'


INTCON2.7 = 0 'Membuat / mengizinkan P
ull-Up pada PORT B'
TRISA = 0 'Membuat semua Port A me
njadi output'
TRISB = %11110000 'Membuat Port B 4 sampai
7 sebagai input dan Port B 0 smapai 3 sebagai output'
TRISC = 0 'Membuat semua Port C me
njadi output'
TRISD = 0 'Membuat semua Port D me
njadi output'
CNT1 VAR BYTE 'Membuat Variable CNT1 s
ebagai BYTE'
CNT2 VAR BYTE
CNT3 VAR BYTE
CNT4 VAR BYTE
UP VAR PORTB.5 'Membuat tombol up berad
a pada PortB.5'
DOWN VAR PORTB.4 'Membuat tombol down ber
ada pada PortB.4'
OTOMATIS VAR PORTB.6 'Membuat tombol otomatis
berada pada PortB.6'
CNT1 = 0 'Mengeset nilai pada CNT
1 adalah 0'
CNT2 = 0 'Mengeset nilai pada CNT
2 adalah 0'
CNT3 = 0 'Mengeset nilai pada CNT
3 adalah 0'
CNT4 = 0 'Mengeset nilai pada CNT
4 adalah 0'
PORTB = CNT1 'Membuat CNT1 berada pad
a POrtB'
PORTD = CNT2 'Membuat CNT2 berada pad
a POrtD'
PORTC = CNT3 'Membuat CNT3 berada pad
a POrtC'
PORTA = CNT4 'Membuat CNT4 berada pad
a POrtA'
MAIN: 'Sebuah variable untuk l
ooping'
IF UP = 0 THEN LINE1
IF DOWN = 0 THEN LINER1
IF OTOMATIS = 0 THEN HITUNG
GOTO MAIN
HITUNG:
CNT1 = CNT1 + 1 'Menghitung variable CNT
1 untuk ditambahkan 1 nilainya'
PORTB = CNT1 'Mengirim data nilai CNT
1 ke PortB'
PAUSE 500 'Waktu tunggu (delay) 50
0mS'
IF CNT1 = 9 THEN HITUNG2 'Syarat untuk pindah Var
iable pada looping'
GOTO HITUNG
HITUNG2:
CNT1 = 0
PORTB = CNT1
IF CNT2 = 9 THEN HITUNG3
CNT2 = CNT2 + 1
PORTD = CNT2
PAUSE 500
GOTO HITUNG
HITUNG3:
CNT2 = 0
PORTD = CNT2
IF CNT3 = 9 THEN HITUNG4
CNT3 = CNT3 + 1
PORTC = CNT3
PAUSE 500
GOTO HITUNG
HITUNG4:
CNT3 = 0
PORTC = CNT3
IF CNT4 = 9 THEN STOP
CNT4 = CNT4 + 1
PORTA = CNT4
PAUSE 500
GOTO HITUNG
LINE1:
IF CNT1 = 9 THEN LINE2
CNT1 = CNT1 + 1
PORTB = CNT1
PAUSE 500
IF CNT1 = 9 THEN LINE2
GOTO MAIN
LINE2:
IF UP = 0 THEN LINE3
IF DOWN = 0 THEN LINER1
GOTO LINE2
LINE3:
CNT1 = 0
PORTB = CNT1
IF CNT2 = 9 THEN LINE4
CNT2 = CNT2 + 1
PORTD = CNT2
PAUSE 500
GOTO MAIN
LINE4:
IF UP = 0 THEN LINE5
IF DOWN = 0 THEN LINER1
GOTO LINE4
LINE5:
CNT2 = 0
PORTD = CNT2
IF CNT3 = 9 THEN LINE6
CNT3 = CNT3 + 1
PORTC = CNT3
PAUSE 500
GOTO MAIN
LINE6:
IF UP = 0 THEN LINE7
IF DOWN = 0 THEN LINER1
GOTO LINE6
LINE7:
CNT3 = 0
PORTC = CNT3
IF CNT4 = 9 THEN LINE8
CNT4 = CNT4 + 1
PORTA = CNT4
PAUSE 500
GOTO MAIN
LINE8:
IF UP = 0 THEN LINE9
IF DOWN = 0 THEN LINER1
GOTO LINE8
LINE9:
CNT4 = 0
PORTA = CNT4
PAUSE 250
GOTO MAIN
LINER1:
IF CNT1 = 0 AND CNT2 = 0 AND CNT3 = 0 AND CNT4 = 0 THEN LINER8
IF CNT1 = 0 then LINER2
CNT1 = CNT1 - 1
'Menghitung variable CNT1 untuk dikurangkan 1 nilainya'
PORTB = CNT1
PAUSE 500
IF CNT1 = 0 then LINER2
GOTO MAIN
LINER2:
IF UP = 0 THEN LINE1
IF DOWN = 0 THEN LINER3
GOTO LINER2
LINER3:
CNT1 = 9
PORTB = CNT1
IF CNT2 = 0 AND CNT3 = 0 THEN LINER1
IF CNT2 = 0 THEN LINER4
CNT2 = CNT2 - 1
PORTD = CNT2
PAUSE 500
GOTO MAIN
LINER4:
IF UP = 0 THEN LINE1
IF DOWN = 0 THEN LINER5
GOTO LINER4
LINER5:
CNT2 = 9
PORTD = CNT2
IF CNT3 = 0 AND CNT4 = 0 THEN LINER1
IF CNT3 = 0 THEN LINER6
CNT3 = CNT3 - 1
PORTC = CNT3
PAUSE 500
GOTO MAIN
LINER6:
IF UP = 0 THEN LINE1
IF DOWN = 0 THEN LINER7
GOTO LINER6
LINER7:
CNT3 = 9
PORTC = CNT3
IF CNT4 = 0 THEN LINER1
CNT4 = CNT4 - 1
PORTA = CNT4
PAUSE 500
GOTO MAIN
LINER8:
CNT1 = 9
PORTB = CNT1
CNT2 = 9
PORTD = CNT2
CNT3 = 9
PORTC = CNT3
CNT4 = 9
PORTA = CNT4
PAUSE 500
GOTO MAIN
END