Chương trìnhđiềukhiểnđèngiao thông
ĐÈN GIAOTHÔNGĐIỀUKHIỂN TẠI 1 NGÃ TƯ
ĐẶT VẤN ĐỀ:
_Bạn có nghĩ tại 1 ngã tư không có đèngiaothô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ó đèngiao thông. Đèngiaothô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ạigiao 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í đèngiaothôngtại 1 ngã tư.(hai đường
không ưu
tiên).
*Lưu đồ giải thuật của chươngtrình chính
*Sơ đồ chươngtrình tạo trễ delay1s
*T
ập lệnh chương trình:
;CHUONG TRINHDIEUKHIENDENGIAOTHONGTAI
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
. 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ẽ. 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ẽ