ta bagas fullverrepository.unika.ac.id/3429/8/01.50.0037 stanislaus bagas...acall tulis mov...
Post on 29-Nov-2020
21 Views
Preview:
TRANSCRIPT
LAMPIRAN
LISTING PROGRAM $mod51
KERUSAKAN EQU 45H
COUNTERA EQU 46H
HEADLOWR BIT 00H
HEADLOWL BIT 01H
HEADHIGHR BIT 02H
HEADHIGHL BIT 03H
SEINDEPANR BIT 04H
SEINDEPANL BIT 05H
SEINBLKGR BIT 06H
SEINBLKGL BIT 07H
LAMPUMERAHR BIT 08H
LAMPUMERAHL BIT 09H
KOTAR BIT 0AH
KOTAL BIT 0BH
REMR BIT 0CH
REML BIT 0DH
KLAKSON BIT 0EH
WIPERAT BIT 0FH
MUNDURR BIT 10H
MUNDURL BIT 11H
org 0h
MOV P1,#0H
SETB P3.7
SETB P3.6
SETB P3.5
;=================================
; mENU UTAMA
;=================================
start:
SETB P1.5
acall initlcd
MOV R4,#1
mov dptr,#PEMBUKA0
ACALL TULIS
acall display
JB P3.5,$
CLR P1.5
STARTFINISH:
MOV R4,#1
mov dptr,#PEMBUKA
ACALL TULIS
acall display
SCANTOMBOL0:
JNB P3.6,PENGECEKAN
JNB P3.7,PENU
SJMP SCANTOMBOL0
PENU:
AJMP PENUTUP
;==============================
;ROUTIN PENGECEKAN
;==============================
PENGECEKAN:
MOV R4,#1
mov dptr,#TUNGGU
ACALL TULIS
acall display
;KELOMPOK 1
MOV A,#00H
SETB P1.0
SETB P1.1
SETB P1.2
SETB P1.3
acall delayall
acall delayall
acall delayall
acall delayall
acall delayall
HLR: MOV P0,#00000111B
acall delayall
Jb P0.0,HLL
MOV C,P0.0
MOV 00H,C
INC A
HLL:
MOV C,P0.0
MOV 00H,C
MOV P0,#00101111B
acall delayall
Jb P0.1,HHR
MOV C,P0.1
MOV 01H,C
INC A
;KEL 2
HHR:
MOV C,P0.1
MOV 01H,C
MOV P0,#00001111B
acall delayall
Jb P0.0,HHL
MOV C,P0.0
MOV 02H,C
INC A
HHL: MOV C,P0.0
MOV 02H,C
MOV P0,#00110111B
acall delayall
Jb P0.1,SDR
MOV C,P0.1
MOV 03H,C
INC A
;KEL 3
SDR: MOV C,P0.1
MOV 03H,C
MOV P0,#00011111B
acall delayall
Jb P0.0,SDL
MOV C,P0.0
MOV 04H,C
INC A
SDL: MOV C,P0.0
MOV 04H,C
MOV P0,#00100111B
acall delayall
Jb P0.1,SBR
MOV C,P0.1
MOV 05H,C
INC A
SBR:
MOV C,P0.1
MOV 05H,C
MOV P0,#00110111B
acall delayall
Jb P0.2,SBL
MOV C,P0.2
MOV 06H,C
INC A
SBL:
MOV P0,#00001111B
acall delayall
Jb P0.2,LMR
MOV C,P0.2
MOV 07H,C
INC A
LMR:
MOV C,P0.2
MOV 07H,C
MOV P0,#00101111B
acall delayall
Jb P0.2,LML
MOV C,P0.2
MOV 08H,C
INC A
LML:
MOV C,P0.2
MOV 08H,C
MOV P0,#00000111B
acall delayall
Jb P0.2,KR
MOV C,P0.2
MOV 09H,C
INC A
;KEL4
KR:
MOV C,P0.2
MOV 09H,C
MOV P0,#00010111B
acall delayall
Jb P0.0,KL
MOV C,P0.0
MOV 0AH,C
INC A
KL:
MOV C,P0.0
MOV 0AH,C
MOV P0,#00111111B
acall delayall
Jb P0.1,RKANAN
MOV C,P0.1
MOV 0BH,C
INC A
RKANAN:
MOV C,P0.1
MOV 0BH,C
MOV P0,#00111111B
acall delayall
Jb P0.2,RKIRI
MOV C,P0.2
MOV 0CH,C
INC A
RKIRI:
MOV C,P0.2
MOV 0CH,C
MOV P0,#00011111B
acall delayall
Jb P0.2,HORN
MOV C,P0.2
MOV 0DH,C
INC A
HORN:
MOV C,P0.2
MOV 0DH,C
MOV P0,#00001111B
acall delayall
Jb P0.1,WIPER
MOV C,P0.1
MOV 0EH,C
INC A
WIPER:
MOV C,P0.1
MOV 0EH,C
MOV P0,#00010111B
acall delayall
Jb P0.1,MR
MOV C,P0.1
MOV 0FH,C
INC A
MR:
MOV C,P0.01
MOV 0FH,C
MOV P0,#00100111B
acall delayall
Jb P0.2,ML
MOV C,P0.2
MOV 10H,C
INC A
ML:
MOV C,P0.2
MOV 10H,C
MOV P0,#00010111B
acall delayall
Jb P0.2,PROSES
MOV C,P0.2
MOV 11H,C
INC A
PROSES:
MOV C,P0.2
MOV 11H,C
clr p1.0
clr p1.1
clr p1.2
clr p1.3
MOV KERUSAKAN,A
CJNE A,#0H,ADA
AJMP TIDAKADA
;===========================
; BUZZER NYALA
;===========================
ADA:
MOV R4,#1
mov dptr,#WARNING
ACALL TULIS
acall display
SETB P1.4 ; buzzer on
SCANTOMBOL1:
JNB P3.6,RUSAK
JNB P3.7,RUSAK
SJMP SCANTOMBOL1
;===========================
; JUMLAH KERUSAKAN
;===========================
RUSAK:
clr p1.4 ;buzzer mati
MOV R4,#1
mov dptr,#ADAR
ACALL TULIS
MOV A,KERUSAKAN
MOV B,#10
DIV AB
MOV 34H,A
MOV 33H,B
MOV A,33H
ADD A,#30H
MOV COUNTERA,A
mov r4,#1
mov r3,#1
mov r1,#085h
acall command4bit
ACALL TULIS3
MOV A,34H
ADD A,#30H
MOV COUNTERA,A
mov r4,#1
mov r3,#1
mov r1,#084h
acall command4bit
ACALL TULIS3
SCANTOMBOL3:
JNB P3.6,TAMPILKAN
JNB P3.7,BACK0
SJMP SCANTOMBOL3
BACK0:
AJMP STARTFINISH
;===========================
; TAMPILAN KERUSAKAN
;============================
TAMPILKAN:
TAMPIL1:
CLR C
MOV C,00H
JC TAMPIL2
MOV R4,#1
mov dptr,#TAMPIL01
ACALL TULIS
acall display
SCANTOMBOL4:
JNB P3.7,TAMPIL2
SJMP SCANTOMBOL4
TAMPIL2:CLR C
MOV C,01H
JC TAMPIL3
MOV R4,#1
mov dptr,#TAMPIL02
ACALL TULIS
acall display
SCANTOMBOL5:
JNB P3.6,TAMPIL1
JNB P3.7,TAMPIL3
SJMP SCANTOMBOL5
TAMPIL3:CLR C
MOV C,02H
JC TAMPIL4
MOV R4,#1
mov dptr,#TAMPIL03
ACALL TULIS
acall display
SCANTOMBOL6:
JNB P3.6,TAMPIL2
JNB P3.7,TAMPIL4
SJMP SCANTOMBOL6
TAMPIL4:CLR C
MOV C,03H
JC TAMPIL5
MOV R4,#1
mov dptr,#TAMPIL04
ACALL TULIS
acall display
SCANTOMBOL7:
JNB P3.6,TAMPIL3
JNB P3.7,TAMPIL5
SJMP SCANTOMBOL7
TAMPIL5:CLR C
MOV C,04H
JC TAMPIL6
MOV R4,#1
mov dptr,#TAMPIL05
ACALL TULIS
acall display
SCANTOMBOL8:
JNB P3.6,TAMPIL4
JNB P3.7,TAMPIL6
SJMP SCANTOMBOL8
TAMPIL6:CLR C
MOV C,05H
JC TAMPIL7
MOV R4,#1
mov dptr,#TAMPIL06
ACALL TULIS
acall display
SCANTOMBOL9:
JNB P3.6,TAMPIL5
JNB P3.7,TAMPIL7
SJMP SCANTOMBOL9
TAMPIL7:CLR C
MOV C,06H
JC TAMPIL8
MOV R4,#1
mov dptr,#TAMPIL07
ACALL TULIS
acall display
SCANTOMBOL10:
JNB P3.6,TAMPIL6
JNB P3.7,TAMPIL8
SJMP SCANTOMBOL10
TAMPIL8:CLR C
MOV C,07H
JC TAMPIL9
MOV R4,#1
mov dptr,#TAMPIL08
ACALL TULIS
acall display
SCANTOMBOL11:
JNB P3.6,TAMPIL7
JNB P3.7,TAMPIL9
SJMP SCANTOMBOL11
TAMPIL9:CLR C
MOV C,08H
JC TAMPIL10
MOV R4,#1
mov dptr,#TAMPIL09
ACALL TULIS
acall display
SCANTOMBOL12:
JNB P3.6,TAMPIL8
JNB P3.7,TAMPIL10
SJMP SCANTOMBOL12
TAMPIL10:CLR C
MOV C,09H
JC TAMPIL11
MOV R4,#1
mov dptr,#TAMPIL010
ACALL TULIS
acall display
SCANTOMBOL13:
JNB P3.6,TAMPIL9
JNB P3.7,TAMPIL11
SJMP SCANTOMBOL13
TAMPIL11:CLR C
MOV C,0AH
JC TAMPIL12
MOV R4,#1
mov dptr,#TAMPIL011
ACALL TULIS
acall display
SCANTOMBOL14:
JNB P3.6,TAMPIL10
JNB P3.7,TAMPIL12
SJMP SCANTOMBOL14
TAMPIL12:CLR C
MOV C,0BH
JC TAMPIL13
MOV R4,#1
mov dptr,#TAMPIL012
ACALL TULIS
acall display
SCANTOMBOL15:
JNB P3.6,TAMPIL11
JNB P3.7,TAMPIL13
SJMP SCANTOMBOL15
TAMPIL13:CLR C
MOV C,0CH
JC TAMPIL14
MOV R4,#1
mov dptr,#TAMPIL013
ACALL TULIS
acall display
SCANTOMBOL16:
JNB P3.6,TAMPIL12
JNB P3.7,TAMPIL14
SJMP SCANTOMBOL16
TAMPIL14:CLR C
MOV C,0DH
JC TAMPIL15
MOV R4,#1
mov dptr,#TAMPIL014
ACALL TULIS
acall display
SCANTOMBOL17:
JNB P3.6,TAMPIL13
JNB P3.7,TAMPIL15
SJMP SCANTOMBOL17
TAMPIL15:CLR C
MOV C,0EH
JC TAMPIL16
MOV R4,#1
mov dptr,#TAMPIL015
ACALL TULIS
acall display
SCANTOMBOL18:
JNB P3.6,TAMPIL14
JNB P3.7,TAMPIL16
SJMP SCANTOMBOL18
TAMPIL16:CLR C
MOV C,0FH
JC TAMPIL17
MOV R4,#1
mov dptr,#TAMPIL016
ACALL TULIS
acall display
SCANTOMBOL19:
JNB P3.6,TAMPIL15
JNB P3.7,TAMPIL17
SJMP SCANTOMBOL19
TAMPIL17:CLR C
MOV C,10H
JC TAMPIL18
MOV R4,#1
mov dptr,#TAMPIL017
ACALL TULIS
acall display
SCANTOMBOL20:
JNB P3.6,TAMPIL16
JNB P3.7,TAMPIL18
SJMP SCANTOMBOL20
TAMPIL18:CLR C
MOV C,11H
JC BACK00
MOV R4,#1
mov dptr,#TAMPIL018
ACALL TULIS
acall display
SCANTOMBOL21:
JNB P3.6,TAMPIL17
JNB P3.7,BACK00
SJMP SCANTOMBOL21
BACK00:
AJMP STARTFINISH
TIDAKADA:
MOV R4,#1
mov dptr,#GAKADA
ACALL TULIS
acall display
SCANTOMBOL2:
JNB P3.6,PENUTUP
JNB P3.7,BACK1
SJMP SCANTOMBOL2
BACK1:
AJMP START
BACK2:
AJMP PENGECEKAN
;===============================
;ROUTIN PENUTUP
;===============================
PENUTUP:
MOV R4,#2
mov dptr,#TUTUP
ACALL TULIS
acall display
SS:
JNB P3.5,BACK1
SJMP SS
;===============================
; ROUTIN LCD
;===============================
initLcd:
mov r1,#3fh
acall command4bit
mov r1,#28h
acall command4bit
mov r1,#06h
acall command4bit
mov r1,#01h
acall command4bit
mov r1,#0ch
acall command4bit
ret
TULIS3:
clr a
mov a,COUNTERA
mov r1,a
acall writelcd
djnz r3,tulis3
RET
command4bit:
mov P2,#00h
mov a,r1
anl a,#0f0h
mov P2,a
setb P2.2
clr P2.2
mov a,r1
swap a
anl a,#0f0h
mov P2,a
setb P2.2
clr P2.2
ACALL LDELAY
ret
writelcd:
mov P2,#01h
mov a,r1
anl a,#0f0h
orl a,#03h
mov P2,a
setb P2.2
clr P2.1
clr P2.2
setb P2.1
mov a,r1
swap a
anl a,#0f0h
orl a,#03h
mov P2,a
setb P2.2
clr P2.1
clr P2.2
setb P2.1
ACALL DELAY
ret
display:
mov P2,#01h
mov a,r1
anl a,#0f0h
orl a,#03h
mov P2,a
setb P2.2
clr P2.2
setb P2.1
mov a,r1
swap a
anl a,#0f0h
orl a,#03h
mov P2,a
setb P2.2
clr P2.2
ret
delayall:
mov r5,#06h
delayall1:
mov tmod,#01h
mov th0,#00H
mov tl0,#00H
setb tr0
DELLA:
JBC TF0,DIT
SJMP DELLA
DIT:
DJNZ R5,DELAYALL1
RET
delay:
mov r5,#04h
delay1:
mov tmod,#01h
mov th0,#0feh
mov tl0,#0b6h
setb tr0
delay2:
jbc tf0,dhit
sjmp delay2
dhit:
djnz r5,delay1
ret
ldelay:
mov r5,#11h
delay1x:
mov tmod,#01h
mov th0,#0d8h
mov tl0,#0e0h
setb tr0
delay2x:
jbc tf0,dhitx
sjmp delay2x
dhitx:
djnz r5,delay1x
ret
TULIS:
barisa:
mov r3,#16
mov r1,#080h
acall command4bit
tulis1:
clr a
movc a,@a+dptr
mov r1,a
inc dptr
acall writelcd
djnz r3,tulis1
barisb:
mov r3,#16
mov r1,#0c0h
acall command4bit
tulis2:
clr a
movc a,@a+dptr
mov r1,a
inc dptr
acall writelcd
djnz r3,tulis2
ACALL LDELAY
ACALL LDELAY
ACALL LDELAY
DJNZ R4,BARISA
ret
PEMBUKA0:
db ' CEK SISTEM '
db 'KLISTRIKAN MOBIL'
PEMBUKA:
DB ' LAKUKAN CEK? '
DB ' YA TIDAK'
TUNGGU:
DB 'WAIT........... '
DB 'CHECKING........'
TUTUP:
DB ' TERIMA KASIH '
DB ' '
DB ' S. BAGAS K '
DB ' 01.50.0037 '
ADAR:
DB 'ADA KERUSAKAN'
DB 'TAMPILKAN TIDAK'
GAKADA:
DB ' KRUSAKAN 0 '
DB 'KLUAR MENU'
WARNING:
DB 'PROSES SLESAI...'
DB 'WARNING!!!!!!...'
TAMPIL01:
DB ' HEADLOW KANAN '
DB ' NEXT >'
TAMPIL02:
DB ' HEADLOW KIRI '
DB '<BACK NEXT >'
TAMPIL03:
DB 'HEADHIGH KANAN '
DB '<BACK NEXT >'
TAMPIL04:
DB 'HEADHIGH KIRI '
DB '<BACK NEXT >'
TAMPIL05:
DB 'SEIN DEPN KANAN '
DB '<BACK NEXT >'
TAMPIL06:
DB 'SEIN DEPN KIRI '
DB '<BACK NEXT >'
TAMPIL07:
DB 'SEIN BLKG KANAN '
DB '<BACK NEXT >'
TAMPIL08:
DB 'SEIN BLKG KIRI '
DB '<BACK NEXT >'
TAMPIL09:
DB 'LAMPU MERAH R '
DB '<BACK NEXT >'
TAMPIL010:
DB 'LAMPU MERAH L '
DB '<BACK NEXT >'
TAMPIL011:
DB 'LAMPU KOTA R '
DB '<BACK NEXT >'
TAMPIL012:
DB 'LAMPU KOTA L '
DB '<BACK NEXT >'
TAMPIL013:
DB 'LAMPU REM KANAN '
DB '<BACK NEXT >'
TAMPIL014:
DB 'LAMPU REM KIRI '
DB '<BACK NEXT >'
TAMPIL015:
DB ' HORN '
DB '<BACK NEXT >'
TAMPIL016:
DB ' WIPER '
DB '<BACK NEXT >'
TAMPIL017:
DB ' LAMPU MUNDUR R '
DB '<BACK NEXT >'
TAMPIL018:
DB 'LAMPU MUNDUR L '
DB '<BACK NEXT >'
;=================================
;---------------------------------
;=================================
end
top related