org 0h
start : MOV P1,#0
mov P3,#0
CekP16: JB P1.6,CekP16n ; Menguji bit P1.6, apakah adalah logika '1'
call Traff ; Jika P1.6=0, maka call traff
cekP16n: JNB P1.6,CekP16
call kuning
sjmp CekP16
Traff:
;============================== UB HIJAU ===============================
clr P3.1 ; Kuning UMM mati
clr P1.2 ; merah ub mati
setb P1.0 ; hijau UB
setb P1.3 ; merah ITN
setb P3.2 ; merah UMM
setb P3.3 ; merah UM
call timerHijau
clr P1.0
clr P1.3
setb P1.1 ;kuning UB
setb P1.3 ;merah ITN
call delay
call delay
;============================ ITN HIJAU ==================================
clr P1.1
clr P1.3
setb P1.2 ; merah UB
setb P1.5 ; hijau ITN
MOV R5,#240 ;menampilkan angka 21
ULANG21:call angka21
DJNZ R5,ULANG21
MOV R5,#240 ;menampilkan angka 20
ULANG20:call angka20
DJNZ R5,ULANG20
MOV R5,#240 ;menampilkan angka 19
ULANG19:call angka19
DJNZ R5,ULANG19
MOV R5,#240 ;menampilkan angka 18
ULANG18:call angka18
DJNZ R5,ULANG18
MOV R5,#240 ;menampilkan angka 17
ULANG17:call angka17
DJNZ R5,ULANG17
MOV R5,#240 ;menampilkan angka 16
ULANG16:call angka16
DJNZ R5,ULANG16
clr P1.5 ; hijau ITN mati
setb P1.4 ; kuning ITN nyala
MOV R5,#240 ;menampilkan angka 15
ULANG15:call angka15
DJNZ R5,ULANG15
MOV R5,#240 ;menampilkan angka 14
ULANG14:call angka14
DJNZ R5,ULANG14
clr P1.4 ;kuning ITN mati
setb P1.3 ; merah ITN nyala
;=============================== HIJAU UM ================================
clr P3.3 ; merah UM mati
setb P1.7 ; hijau UM nyala
MOV R5,#240 ;menampilkan angka 13
ULANG13:call angka13
DJNZ R5,ULANG13
MOV R5,#240 ;menampilkan angka 12
ULANG12:call angka12
DJNZ R5,ULANG12
MOV R5,#240 ;menampilkan angka 11
ULANG11:call angka11
DJNZ R5,ULANG11
clr p1.7 ; hijau UM mati
setb P3.4 ; kuning UM nyala
MOV R5,#240 ;menampilkan angka 10
ULANG10:call angka10
DJNZ R5,ULANG10
setb P3.5 ;P3.5= '0'
clr P3.6 ;P3.6= '0'
clr P3.7 ;P3.7= '0'
mov P2,#01101111b;Cetak karakter'9'
call delay
clr P3.4 ; kuning UM mati
setb P3.3 ; merah UMM nyala
;======================= UMM HIJAU =====================================
clr P3.2 ; merah UMM mati
setb P3.0 ; Hijau UMM nyala
setb P3.5 ;P3.5='0'
clr P3.6 ;P3.6='1'
clr P3.7 ;P3.7='0
mov P2,#01111111b;Cetak karakter'8'
call delay ;Panggil waktu tunda
setb P3.5 ;P3.5='0'
clr P3.6 ;P3.6='1'
clr P3.7 ;P3.7='0
mov P2,#00000111b;Cetak karakter'7'
call delay ;Panggil waktu tunda
setb P3.5 ;P3.5='0'
clr P3.6 ;P3.6='1'
clr P3.7 ;P3.7='0
mov P2,#01111101b;Cetak karakter'6'
call delay ;Panggil waktu tunda
setb P3.5 ;P3.5='0'
clr P3.6 ;P3.6='1'
clr P3.7 ;P3.7='0
mov P2,#01101101b;Cetak karakter'5'
call delay ;Panggil waktu tunda
setb P3.5 ;P3.5='0'
clr P3.6 ;P3.6='1'
clr P3.7 ;P3.7='0
mov P2,#01100110b;Cetak karakter'4'
call delay ;Panggil waktu tunda
setb P3.5 ;P3.5='0'
clr P3.6 ;P3.6='1'
clr P3.7 ;P3.7='0
mov P2,#01001111b;Cetak karakter'3'
call delay ;Panggil waktu tunda
clr P3.0 ; hijau UMM mati
setb P3.1 ; Kuning UMM nyala
setb P3.5 ;P3.5='0'
clr P3.6 ;P3.6='1'
clr P3.7 ;P3.7='0
mov P2,#01011011b;Cetak karakter'2'
call delay ;Panggil waktu tunda
setb P3.5 ;P3.5='0'
clr P3.6 ;P3.6='1'
clr P3.7 ;P3.7='0
mov P2,#00000110b;Cetak karakter'1'
call delay ;Panggil waktu tunda
ret
; sjmp start
;======================================================================
; TIMER DISPLAY HIJAU
;======================================================================
timerHijau:
setb P3.5 ;P3.5= '0'
clr P3.6 ;P3.6= '0'
clr P3.7 ;P3.7= '0'
mov P2,#00000000b ; display merah mati..
setb P3.5 ;P3.5='0'
clr P3.6 ;P3.6='1'
clr P3.7 ;P3.7='0
mov P0,#01111101b;Cetak karakter'6'
call delay ;Panggil waktu tunda
setb P3.5 ;P3.5='0'
clr P3.6 ;P3.6='1'
clr P3.7 ;P3.7='0
mov P0,#01101101b;Cetak karakter'5'
call delay ;Panggil waktu tunda
setb P3.5 ;P3.5='0'
clr P3.6 ;P3.6='1'
clr P3.7 ;P3.7='0
mov P0,#01100110b;Cetak karakter'4'
call delay ;Panggil waktu tunda
setb P3.5 ;P3.5='0'
clr P3.6 ;P3.6='1'
clr P3.7 ;P3.7='0
mov P0,#01001111b;Cetak karakter'3'
call delay ;Panggil waktu tunda
setb P3.5 ;P3.5='0'
clr P3.6 ;P3.6='1'
clr P3.7 ;P3.7='0
mov P0,#01011011b;Cetak karakter'2'
call delay ;Panggil waktu tunda
setb P3.5 ;P3.5='0'
clr P3.6 ;P3.6='1'
clr P3.7 ;P3.7='0
mov P0,#00000110b;Cetak karakter'1'
call delay ;Panggil waktu tunda
setb P3.5 ;P3.5='0'
clr P3.6 ;P3.6='1'
clr P3.7 ;P3.7='0
mov P0,#00000000b
ret
;======================================================================
; NYALA KUNING AJA KEDIP2
;======================================================================
kuning :
MOV P0,#0
mov P1,#0
mov P2,#0
mov P3,#0
setb P1.1 ;kuning UB
setb P3.1 ; Kuning UMM nyala
setb P3.4 ; kuning UM nyala
setb P1.4 ; kuning ITN nyala
call delay
clr P1.1 ;kuning UB
clr P3.1 ; Kuning UMM nyala
clr P3.4 ; kuning UM nyala
clr P1.4 ; kuning ITN nyala
call delay
ret
;========================================================================
; DELAY
;========================================================================
delay:mov R1,#255
del1:mov R2,#255
del2:mov R3,#5
del3:djnz R3,del3
djnz R2,del2
djnz R1,del1
ret
delay2:mov R1,#10
del11:mov R2,#10
del21:mov R3,#4
del31:djnz R3,del31
djnz R2,del21
djnz R1,del11
ret
;=======================================================================
; ANGKA BELASAN,PULUHAN
;=======================================================================
angka10:mov P0,#0
clr P3.5
clr P3.6
clr P3.7
mov P2,#00000110b ; Cetak Karakter '1
call delay2
setb P3.5
clr P3.6
clr P3.7
mov P2,#00111111b ; Cetak Karakter 0
call delay2
clr P3.5
setb P3.6
clr P3.7
mov P2,#00000000b
call delay2
ret
angka11:mov P0,#0
clr P3.5
clr P3.6
clr P3.7
mov P2,#00000110b ; Cetak Karakter '1
call delay2
setb P3.5
clr P3.6
clr P3.7
mov P2,#00000110b ; Cetak Karakter 1
call delay2
clr P3.5
setb P3.6
clr P3.7
mov P2,#00000000b
call delay2
ret
angka12:mov P0,#0
clr P3.5
clr P3.6
clr P3.7
mov P2,#00000110b ; Cetak Karakter '1
call delay2
setb P3.5
clr P3.6
clr P3.7
mov P2,#01011011b ; Cetak Karakter 2
call delay2
clr P3.5
setb P3.6
clr P3.7
mov P2,#00000000b
call delay2
ret
angka13:mov P0,#0
clr P3.5
clr P3.6
clr P3.7
mov P2,#00000110b ; Cetak Karakter '1
call delay2
setb P3.5
clr P3.6
clr P3.7
mov P2,#01001111b ; Cetak Karakter 3
call delay2
clr P3.5
setb P3.6
clr P3.7
mov P2,#00000000b
call delay2
ret
angka14:mov P0,#0
clr P3.5
clr P3.6
clr P3.7
mov P2,#00000110b ; Cetak Karakter '1
call delay2
setb P3.5
clr P3.6
clr P3.7
mov P2,#01100110b ; Cetak Karakter 4
call delay2
clr P3.5
setb P3.6
clr P3.7
mov P2,#00000000b
call delay2
ret
angka15:mov P0,#0
clr P3.5
clr P3.6
clr P3.7
mov P2,#00000110b ; Cetak Karakter '1
call delay2
setb P3.5
clr P3.6
clr P3.7
mov P2,#01101101b ; Cetak Karakter 5
call delay2
clr P3.5 ;
setb P3.6
clr P3.7
mov P2,#00000000b ;
call delay2
ret
angka16:mov P0,#0
clr P3.5
clr P3.6
clr P3.7
mov P2,#00000110b ; Cetak Karakter '1
call delay2
setb P3.5
clr P3.6
clr P3.7
mov P2,#01111101b ; Cetak Karakter 6
call delay2
clr P3.5
setb P3.6
clr P3.7
mov P2,#00000000b
call delay2
ret
angka17:mov P0,#0
clr P3.5
clr P3.6
clr P3.7
mov P2,#00000110b ; Cetak Karakter '1
call delay2
setb P3.5
clr P3.6
clr P3.7
mov P2,#00000111b ; Cetak Karakter '7
call delay2
clr P3.5
setb P3.6
clr P3.7
mov P2,#00000000b
call delay2
ret
angka18:mov P0,#0
clr P3.5
clr P3.6
clr P3.7
mov P2,#00000110b ; Cetak Karakter '1
call delay2
setb P3.5
clr P3.6
clr P3.7
mov P2,#01111111b ; Cetak Karakter '8
call delay2
clr P3.5
setb P3.6
clr P3.7
mov P2,#00000000b
call delay2
ret
angka19:mov P0,#0
clr P3.5
clr P3.6
clr P3.7
mov P2,#00000110b ; Cetak Karakter '1
call delay2
setb P3.5
clr P3.6
clr P3.7
mov P2,#01101111b ; Cetak Karakter '9
call delay2
clr P3.5
setb P3.6
clr P3.7
mov P2,#00000000b
call delay2
ret
angka20:mov P0,#0
clr P3.5
clr P3.6
clr P3.7
mov P2,#01011011b ; Cetak Karakter '2
call delay2
setb P3.5
clr P3.6
clr P3.7
mov P2,#00111111b ; Cetak Karakter '0
call delay2
clr P3.5
setb P3.6
clr P3.7
mov P2,#00000000b
call delay2
ret
angka21:mov P0,#0
clr P3.5
clr P3.6
clr P3.7
mov P2,#01011011b ; Cetak Karakter '2
call delay2
setb P3.5
clr P3.6
clr P3.7
mov P2,#00000110b ; Cetak Karakter '1
call delay2
clr P3.5
setb P3.6
clr P3.7
mov P2,#00000000b
call delay2
ret
END