Traffic Light ( Lampu lalu lintas )

Traffic light digunakan untuk mengatur lalu lintas yang biasa terpasang  pada pertigaan , perempatan , simpang lima.Tujuannya agar tertib dan mengurangi tingkat kecelakaan yang terjadi di persimpangan jalan.Langsung saja berikut lampu lalu lintas sederhana 

skematik



Source codenya

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

Demikian selamat berkreasi semoga bermanfaat.....


7 comments:

  1. OM CARA MASUKIN KODENYA ITU LEWAT PROTEUS GIMANA OM

    ReplyDelete
    Replies
    1. Caranya compile file source code diatas menggunakan MIDE-51,setelah dicompile akan menghasilkan Hex file ( contoh : trafight light.hex ) Buka isis proteus buat seperti gambar yang ada disini kemudian klik kanan di ic AT89C51 edit properties disitu nanti ada kolom program file arahkan pada file trafight light.hex hasil compile mide-51 selamat mencoba semoga bermanfaat

      Delete
  2. Replies
    1. komponen lihat pada skema yang ada pada gambar

      Delete
  3. mas lampu bangjo jenenge opo mas, jenenge gaoono

    ReplyDelete
  4. Permisi mas boleh minta file hex nya. Kalau boleh tolong share ke email saya agungsetyawan696@gmail.com Terima Kasih :)

    ReplyDelete

//