You are on page 1of 8

Chương trình điều khiển đèn giao thông

ĐÈN GIAO THÔNG ĐIỀU KHIỂN TẠI 1 NGÃ TƯ


 ĐẶT VẤN ĐỀ:
_Bạn có nghĩ tại 1 ngã tư không có đèn giao thông sẽ như
thế nào? Khi đó việc lưu thông sẽ trở nên khó khăn trong lưu
thông, dễ gây ùn tắt…Để cho việc lưu thông trở nên dễ dàng
hơn ta cần có đèn giao thông. Đèn giao thông sẽ giúp cho
việc điều tiết xe lưu thông qua ngã tư thuận tiện hơn, tránh
gây ra việc ùn tắt tại giao lộ.
 Làm thế nào để hiển thị các đèn đỏ-xanh-vàng?
_Làm thế nào để hiển thị giá trị trên led 7 đoạn ? Và đếm
ngược giá trị như thế nào?
_ Dạng dữ liệu xuất ra port điều khiển( hiển thị trên led 7
đoạn) dạng BCD hay 7 đoạn?
_Cho các đèn sáng như sau:
ĐÈN
THỜI GIAN
DO2
39S
VANG2
4S
XANH2
25S
DO1
29S
VANG1
4S
XANH1
35S
_Thời gian DO2 sáng = thời gian XANH1sáng + thời gian
VANG1 sáng=39s
_ Thời gian DO1 sáng = thời gian XANH2 sáng + thời gian
VANG2 sáng=29s
 Cách thực hiện:
_Đầu tiên, ta gán các địa chỉ cho các nhãn sau:
_ XANH1 EQU P1.2
VANG1 EQU P1.1
DO1 EQU P1.0
XANH2 EQU P1.5
VANG2 EQU P1.4
DO2 EQU P1.3
_ Nạp giá trị cho R0(=35h),R1(=39h), cho đèn DO2
sáng(39s), đèn XANH1 sáng(35s), giảm các giá trị R0,
R1(mỗi lần đi 1), xuất các giá trị R0, R1 ra hiển thi trên led 7
đoạn qua các port P2, P3. Sau khi R0 giảm tới 0h (lúc đó
R1=4h) ta nạp R0=4h và cho đèn XANH1 tắt, cho đèn
VÀNG1 sáng(4s) cùng đèn DO2.
_ Khi R0, R1 bằng 0h, đèn DO2 và đèn VANG1 tắt, nạp giá
trị cho R0(=29h), R1(=25h) đồng thời cho đèn DO1
sáng(29s) và đèn XANH2 sáng(25s), giảm giá trị R0, R1 và
hiển thị các trị R0, R1 trên led 7 đoạn qua port P2, P3. Khi
R1 giảm đến 0h, cho đèn XANH2 tắt, nạp R1=4h và cho đèn
VANG2 sáng(4s) cùng đèn DO1, khi R0,R1 bằng 0h, đèn
DO1 và VANG2 tắt, sau đó quay trở lại thực hiện bước
trên.Hai quá trình trên lặp đi lặp lại.
_ Do dạng dữ liệu xuất ra led 7 đoạn là dạng BCD nên khi
giảm đến số 0 ta phải xét điều kiện ở các giá trị ( 02Fh,
01Fh,00Fh,0h) cho R0, R1(không để hiển thị số hexa); mỗi
lần như vậy ta nạp lại giá trị cho R0, R1, rồi xuất các giá trị
R0, R1 ra P2, P3 cho hiển thị lên led 7 đoạn.Xuất trực tiếp
giá trị BCD ra led 7 đoạn không cần vi mạch giải mã.
_Mỗi số hiển thị trên led 7 đoạn trong 1s.

*Sơ đồ bố trí đèn giao thông tại 1 ngã tư.(hai đường


không ưu
tiên).
*Lưu đồ giải thuật của chương trình chính

*Sơ đồ chương trình tạo trễ delay1s

*Tập lệnh chương trình:

;CHUONG TRINH DIEU KHIEN DEN GIAO THONG TAI


1 NGA TU
$MOD51
ORG 00H
XANH1 EQU P1.2
VANG1 EQU P1.1
DO1 EQU P1.0
XANH2 EQU P1.5
VANG2 EQU P1.4
DO2 EQU P1.3
MAIN:
MOV R0,#35H ;BIEN DEM SO
TRANG THAI HIEN THI
MOV R1,#39H

LAP: MOV P1,#00H ;XOA P1


SETB DO2 ;DEN DO2 SANG
39S
SETB XANH1 ;DEN XANH1
SANG 35S
MOV P2,R0 ;HIEN THI
MOV P3,R1 ;HIENTHI
DEC R0 ;GIAM GIA
TRI
DEC R1
LCALL DELAY1S ;TAO TRE 1S
CJNE R0,#02FH,LAP ;KIEM TRA
R0=02FH?
MOV R0,#29H ;NAP LAI BIEN
DEM CHO R0
MOV R1,#33H

LL: MOV P2,R0 ;HIEN THI


MOV P3,R1 ;HIENTHI
DEC R0 ;GIAM GIA
TRI
DEC R1
LCALL DELAY1S
CJNE R1,#02FH,LL ;KIEM TRA
R1=02FH?
MOV R0,#25H ;NAP LAI BIEN
DEM CHO R1
MOV R1,#29H

LL1: MOV P2,R0


MOV P3,R1
DEC R0
DEC R1
LCALL DELAY1S
CJNE R0,#01FH,LL1 ;KIEM TRA
R0=01FH?
MOV R0,#19H ;NAP LAI BIEN
DEM CHO R0
MOV R1,#23H

LL2: MOV P2,R0


MOV P3,R1
DEC R0
DEC R1
LCALL DELAY1S
CJNE R1,#01FH,LL2 ;KIEM TRA
R1=01FH?
MOV R0,#15H ;NAP LAI BIEN
DEM CHO R1
MOV R1,#19H

LL3: MOV P2,R0


MOV P3,R1
DEC R0
DEC R1
LCALL DELAY1S
CJNE R0,#0FH,LL3 ;KIEM TRA
R0=0FH?
MOV R0,#09H ;NAP LAI BIEN
DEM CHO R0
MOV R1,#13H

LL4: MOV P2,R0


MOV P3,R1
DEC R0
DEC R1
LCALL DELAY1S
CJNE R1,#00FH,LL4 ;KIEM TRA
R1=0FH?
MOV R0,#05H ;NAP LAI BIEN
DEM CHO R0
MOV R1,#09H

LL5: MOV P2,R0


MOV P3,R1
DEC R1
DEC R0
LCALL DELAY1S
CJNE R0,#00H,LL5 ;KIEM TRA
R0=00H?
MOV R0,#04H ;NAP LAI BIEN
DEM CHO R0

LAP1:
CLR XANH1 ; DEN XANH1
TAT
SETB VANG1 ; DEN VANG1
SANG 4S
MOV P3,R1
MOV P2,R0
DEC R1
DEC R0
LCALL DELAY1S
CJNE R1,#00,LAP1 ;KIEM TRA
R1=00H?
MOV R0,#29H ;NAP LAI BIEN
DEM CHO R0
MOV R1,#25H ;NAP LAI BIEN
DEM CHO R1

LAP2: MOV P1,#00H


SETB DO1 ;DEN DO1
SANG 29S
SETB XANH2 ;DEN XANH2
SANG 25S
MOV P2,R0
MOV P3,R1
DEC R0
DEC R1
LCALL DELAY1S
CJNE R1,#01FH,LAP2
MOV R1,#19H
MOV R0,#23H

LT0: MOV P2,R0


MOV P3,R1
DEC R0
DEC R1
LCALL DELAY1S
CJNE R0,#01FH,LT0
MOV R0,#19H
MOV R1,#15H

LT1: MOV P2,R0


MOV P3,R1
DEC R0
DEC R1
LCALL DELAY1S
CJNE R1,#00FH,LT1
MOV R0,#13H
MOV R1,#09H

LT2: MOV P2,R0


MOV P3,R1
DEC R0
DEC R1
LCALL DELAY1S
CJNE R0,#00FH,LT2
MOV R0,#09H
MOV R1,#05H

LT3: MOV P2,R0


MOV P3,R1
DEC R0
DEC R1
LCALL DELAY1S
CJNE R1,#00H,LT3
MOV R1,#04 ;NAP
LAI BIEN DEM CHO R1

LAP3: CLR XANH2 ;DEN XANH2


TAT
SETB VANG2 ;DEN VANG2
SANG 4S
MOV P3,R1
MOV P2,R0
DEC R1
DEC R0
LCALL DELAY1S
CJNE R1,#00H,LAP3 ;KIEM TRA
R1=00H?
LJMP MAIN ;LAP LAI
;**********CHUONG TRINH TAO TRE THOI GIAN
1S*******
DELAY1S:
PUSH 00H
MOV R0,#100
MOV TMOD,#10H
LOOP:
MOV TH1,#0D8H
MOV TL1,#0F0H
SETB TR1
JNB TF1,$
CLR TR1
CLR TF1
DJNZ R0,LOOP
POP 00H
RET
END

You might also like