Mikrokontroler memiliki fungsi yang sangat luas sekali, kali ini saya akan menggunakan mikrokontroler sebagai pengontrol dari lampu lalu lintas atau traffic light,
Dengan memanfaatkan 2 port dari AT89C2051 kita sudah bisa mengontrol traffic light dengan 4 simpangan/perempatan.
Dibawah ini adalah skema dari rangkaian tersebut:
Rangkaian membutuhkan tegangan 5V yang telah diregulasi, pada proyek ini lampu yang digunakan adalah lampu led. jika anda ingin menggunakan lampu 220V atau yang lebih tinggi tegangannya anda memerlukan Relay Board sebagai penghubung mikrokontroler dengan lampu.
Untuk Relay Board saya akan terbitkan di lain posting.
Source Kode Rangkaian :
NR EQU P3.5
NY EQU P3.4
NG EQU P3.3
SR EQU P1.2
SY EQU P1.3
SG EQU P1.4
ER EQU P1.5
EY EQU P1.6
EG EQU P1.7
WR EQU P3.7
WY EQU P1.0
WG EQU P1.1
CSEG AT 0 ; RESET VECTOR
;---------==========----------==========---------=========---------
; PROCESSOR INTERRUPT AND RESET VECTORS
;---------==========----------==========---------=========---------
ORG 00H ; Reset
JMP MAIN
;---------==========----------==========---------=========---------
MAIN:
MOV SP,#40H
MOV P1,#0FFH
MOV P3,#0FFH
TOP: CLR NR
CLR SR
CLR ER
CLR WY
SETB WG
CALL Y_DELAY
SETB NR
CLR NY
CLR WR
SETB WY
CALL Y_DELAY
SETB NY
CLR NG
CALL DELAY
CLR NY
SETB NG
CALL Y_DELAY
CLR NR
SETB NY
SETB SR
CLR SY
CALL Y_DELAY
SETB SY
CLR SG
CALL DELAY
CLR SY
SETB SG
CALL Y_DELAY
CLR SR
SETB SY
SETB ER
CLR EY
CALL Y_DELAY
SETB EY
CLR EG
CALL DELAY
CLR EY
SETB EG
CALL Y_DELAY
CLR ER
SETB EY
SETB WR
CLR WY
CALL Y_DELAY
SETB WY
CLR WG
CALL DELAY
AJMP TOP
;**********************************************************
DELAY:
MOV R3,#3FH
REPA3: MOV R1,#0FFH
REPA2: MOV R2,#0FFH
REPA1: NOP
DJNZ R2,REPA1
DJNZ R1,REPA2
DJNZ R3,REPA3
RET
; ---------==========----------==========---------=========---------
Y_DELAY:
MOV R3,#1AH
RQPA3: MOV R1,#0FFH
RQPA2: MOV R2,#0FFH
RQPA1: NOP
DJNZ R2,RQPA1
DJNZ R1,RQPA2
DJNZ R3,RQPA3
RET
;**********************************************************
END
Kode Lengkap Rangkaian beserta Skema rangkaian dapat anda download disini
Dengan memanfaatkan 2 port dari AT89C2051 kita sudah bisa mengontrol traffic light dengan 4 simpangan/perempatan.
Dibawah ini adalah skema dari rangkaian tersebut:
Untuk melihat ukurannya silahkan klik pada gambar
Rangkaian membutuhkan tegangan 5V yang telah diregulasi, pada proyek ini lampu yang digunakan adalah lampu led. jika anda ingin menggunakan lampu 220V atau yang lebih tinggi tegangannya anda memerlukan Relay Board sebagai penghubung mikrokontroler dengan lampu.
Untuk Relay Board saya akan terbitkan di lain posting.
Source Kode Rangkaian :
NR EQU P3.5
NY EQU P3.4
NG EQU P3.3
SR EQU P1.2
SY EQU P1.3
SG EQU P1.4
ER EQU P1.5
EY EQU P1.6
EG EQU P1.7
WR EQU P3.7
WY EQU P1.0
WG EQU P1.1
CSEG AT 0 ; RESET VECTOR
;---------==========----------==========---------=========---------
; PROCESSOR INTERRUPT AND RESET VECTORS
;---------==========----------==========---------=========---------
ORG 00H ; Reset
JMP MAIN
;---------==========----------==========---------=========---------
MAIN:
MOV SP,#40H
MOV P1,#0FFH
MOV P3,#0FFH
TOP: CLR NR
CLR SR
CLR ER
CLR WY
SETB WG
CALL Y_DELAY
SETB NR
CLR NY
CLR WR
SETB WY
CALL Y_DELAY
SETB NY
CLR NG
CALL DELAY
CLR NY
SETB NG
CALL Y_DELAY
CLR NR
SETB NY
SETB SR
CLR SY
CALL Y_DELAY
SETB SY
CLR SG
CALL DELAY
CLR SY
SETB SG
CALL Y_DELAY
CLR SR
SETB SY
SETB ER
CLR EY
CALL Y_DELAY
SETB EY
CLR EG
CALL DELAY
CLR EY
SETB EG
CALL Y_DELAY
CLR ER
SETB EY
SETB WR
CLR WY
CALL Y_DELAY
SETB WY
CLR WG
CALL DELAY
AJMP TOP
;**********************************************************
DELAY:
MOV R3,#3FH
REPA3: MOV R1,#0FFH
REPA2: MOV R2,#0FFH
REPA1: NOP
DJNZ R2,REPA1
DJNZ R1,REPA2
DJNZ R3,REPA3
RET
; ---------==========----------==========---------=========---------
Y_DELAY:
MOV R3,#1AH
RQPA3: MOV R1,#0FFH
RQPA2: MOV R2,#0FFH
RQPA1: NOP
DJNZ R2,RQPA1
DJNZ R1,RQPA2
DJNZ R3,RQPA3
RET
;**********************************************************
END
Kode Lengkap Rangkaian beserta Skema rangkaian dapat anda download disini