You are on page 1of 20

Điều khiển đèn giao thông

Huỳnh Quang Vũ
DHDT1 - 0503356

ĐIỀU KHIỂN ĐÈN GIAO THÔNG


Từ lâu đèn giao thông đã không thể thiếu trong việc giao thông vận tải của con
người.Đèn giao thông ngày càng hoàn thiện hơn về sự phân bố thời gian cho các
tuyến lưu thông được thuận lợi hơn.
Yêu cầu của một hệ thống đèn giao thông tại một ngã tư là gồm có:
+ Đèn báo hiệu:xanh, đỏ ,vàng.
+Hiển thị thời gian.:2 led 7 đoạn đếm ngược.
Ta sẽ dùng IC 89C51 để điều khiển hệ thống này.Port0 để hiển thị led đơn,Port 1 để
hiển thị led 7 đoạn.Vì có 4 cột đèn nên ta sẽ dùng 2 IC 89C51 , mỗi con sẽ điều khiển
2 cột đèn.Như vậy ta sẽ có 2 lưu đồ giải thuật cho 2 IC.Sau đây là lưu đồ giải thuật.
ĐOẠN CODE 1:
$MOD51
ORG 00H
MAIN:
MOV P0,#0FBH;NAP VAO P0 DE HIEN THI DEN DO
MOV P1,#26H;NAP VAO P1 DE HIEN THI THOI GIAN DEN DO
MOV R1,#6;DAT SO VONG LAP
EEE:
ACALL DELAY;DELAY 1S
DEC P1;GIAM P1
DJNZ R1,EEE;GIAM VA NHAY CHO DEN KHI R1=0 THI THOAT KHOI VONG LAP
ACALL DELAY
MOV P1,#19H
MOV R1,#9
FFF:
ACALL DELAY
DEC P1
DJNZ R1,FFF
ACALL DELAY
MOV P1,#09H
MOV R1,#9
GGG:
ACALL DELAY
DEC P1
DJNZ R1,GGG
ACALL DELAY
MOV P1,#20H;NAP VAO P1 HIEN THI THOI GIAN 20S DEN XANH
MOV P0,#0FEH; NAP VAO P0 HIEN THI DEN XANH
ACALL DELAY
MOV P1,#19H
MOV R1,#9
BBB:
ACALL DELAY
DEC P1
DJNZ R1,BBB
ACALL DELAY
MOV P1,#09H
MOV R1,#9
CCC:
ACALL DELAY
DEC P1
DJNZ R1,CCC
ACALL DELAY
MOV P0,#0FDH;NAP VAO P0 HIEN THI DEN VANG
MOV P1,#05H;NAP VAO P1 HIEN THI THOI GIAN 5S DEN VANG
MOV R1,#5
DDD:
ACALL DELAY
DEC P1
DJNZ R1,DDD
ACALL DELAY
SJMP MAIN
DELAY:
PUSH 00H
MOV TMOD,#01H
MOV R0,#100
AAA:
MOV TH0,#HIGH(-10000)
MOV TL0,#LOW(-10000)
SETB TR0
JNB TF0,$
CLR TF0
CLR TR0
DJNZ R0,AAA
POP 00H
RET
END

DOAN CODE 2:
$MOD51
ORG 00H
MAIN:
MOV P0,#0FEH;NAP VAO P0 DE HIEN THI DEN XANH
MOV P1,#20H;NAP VAO P1 DE HIEN THI THOI GIAN 20S DEN XANH
ACALL DELAY;GOI CHUONG TRINH DELAY 1S
MOV P1,#19H
MOV R1,#9;DAT SO VONG LAP
BBB:
ACALL DELAY;DELAY 1S
DEC P1;GIAM P1
DJNZ R1,BBB;GIAM VA NHAY DEN NHAN BBB DEN KHI R1=0 THI THOAT KHOI VONG LAP
ACALL DELAY
MOV P1,#09H
MOV R1,#9
CCC:
ACALL DELAY
DEC P1
DJNZ R1,CCC
ACALL DELAY
MOV P0,#0FDH;NAP VAO P0 DE HIEN THI DEN VANG
MOV P1,#05H;NAP VAO P1 DE HIEN THI THOI GIAN 5S DEN VANG
MOV R1,#5
DDD:
ACALL DELAY
DEC P1
DJNZ R1,DDD
ACALL DELAY
MOV P0,#0FBH;NAP VAO P0 DE HIEN THI DEN DO
MOV P1,#26H;NAP VAO P1 DE HIEN THI THOI GIAN 26S DEN DO
MOV R1,#6
EEE:
ACALL DELAY
DEC P1
DJNZ R1,EEE
ACALL DELAY
MOV P1,#19H
MOV R1,#9
FFF:
ACALL DELAY
DEC P1
DJNZ R1,FFF
ACALL DELAY
MOV P1,#09H
MOV R1,#9
GGG:
ACALL DELAY
DEC P1
DJNZ R1,GGG
ACALL DELAY
SJMP MAIN
DELAY:
PUSH 00H
MOV TMOD,#01H
MOV R0,#100
AAA:
MOV TH0,#HIGH(-10000)
MOV TL0,#LOW(-10000)
SETB TR0
JNB TF0,$
CLR TF0
CLR TR0
DJNZ R0,AAA
POP 00H
RET
END

Read more: http://www.ant7.com/forum/forum_post.asp?TID=1368#ixzz1HK9momKb


Cach 2

MẠCH ĐIỀU KHIỂN ĐÈN GIAO THÔNG

1. MỤC ĐÍCH:

Mạch này điều khiển hai trụ đèn tại một ngã tư.

Mục đích là để phân luồng giao thông, điều khiển đèn đỏ sáng trong vòng 30 giây,
đèn xanh sáng trong 25 giây, và đèn vàng sáng trong 5 giây.

Đèn xanh, đèn vàng, và đèn đỏ của 2 trụ đèn trên 2 con đường sáng xen kẽ nhau.

Đèn xanh đèn vàng của trụ đèn bên này sáng thì đồng thời đèn đỏ của trụ đèn bên
kia cũng sáng

2. LƯU ĐỒ GIẢI THUẬT:


3. MẠCH NGUYÊN LÝ:
4. CODE CHƯƠNG TRÌNH:

$MOD51
ORG 0000H
MAIN:
SETB P0.0
MOV R0,#9
MOV R1,#2
LOOP:
MOV P1,R0
MOV P2,R1
LCALL DELAY 1S
DJNZ R0,LOOP
DEC R1
MOV R0,#9
CJNE R1,#0,LOOP
VANG:
DEC R0
MOV P1,R0
LCALL DELAY 1S
CJNE R0,#5,VANG
CLR P0.0
SETB P0.1
DJNZ R0,VANG
CLR P0.1
SETB P0.2
MOV R0,#9
MOV R1,#2
LOOP1:
MOV P1,R0
MOV P2,R1
LCALL DELAY 1S
DJNZ R0,LOOP1
DEC R1
MOV R0,#9
CJNE R1,#0,LOOP1
VANG1:
DEC R0
MOV P1,R0
LCALL DELAY 1S
CJNE R0,#5,VANG1
CLR P0.2
SETB P0.3
DJNZ R0,VANG1
CLR P0.3
RET
DELAY 1S:
MOV R4,#100
DEL2:
MOV R2,#100
DEL:
MOV R3,#50
DJNZ R3,$
DJNZ R2,DEL
DJNZ R4,DEL2
RETI
END

Read more: http://www.ant7.com/forum/forum_post.asp?TID=1368#ixzz1HK9q1rVI


Cach 3
Điều khiển đèn giao thông tại ngã tư
Họ Và Tên: Trần Văn Đại
MSSV: 0503670
LỚP: DHDT1

 Đặt Vấn Đề (ứng dụng):


Với mỗi một dân tộc, để kinh tế phát triển thì sự phát triển về khoa hoc, kỹ thuật là thật sự cần
thiết và đặc biệt quan trọng. Với sự phát triển mạnh mẽ của kinh tế như hiện nay, giao thông đang là
một bài toán khó đòi hỏi nhiều ngành, nhiều cấp phải quan tâm, và tìm ra các hưóng giải quyết. Để làm
giảm bớt những khó khăn đó cũng như làm cho việc lưu thông trên các tuyến đường được thông
thoáng và giảm thiểu tại nạn, thì việc đặt các cột đèn tại các ngã và thời gian quy định cho phép đi và
cấm đi của các tuyến là đặc biệt quan trọng.
Đối với một ngã tư, tại mỗi thời điểm trong ngày thì sự lưu thông ở mỗi tuyến là không giống
nhau (lúc thì lưu thông trên tuyến A(chẳng hạn) đông, lúc thì lưu thông trên tuyến B đông), nhưng có
lúc hai tuyến này có lượng lưu thông là tương đối giống nhau. Vì thế, một chương trình điều khiển có
thể thay đổi được thời gian ưu tiên cũng như thời gian không ưu tiên giữa 2 ngã là tối ưu nhất.
Với những nhận định như thế, tôi quyết định chọn đề tài “giao thông tại ngã tư” này.
 Kết Cấu Chương Trình.
Chương trình này gồm 4 chương trình con: Chương trình 1, chương trình 2, chương trình 3 và
chương trình 4
• Chương trình 1 là chương trình không ưu tiên, nghĩa là thời gian đèn xanh và đèn đỏ tại các
ngã là như nhau. Trong đó thời gian đèn xanh là 31 giây, thời gian đèn đỏ là 35 giây, thời gian
đèn vàng là 3 giây.
• Chương trình 2 là chương trình ưu tiên, nghĩa là một ngã có thời gian đèn đỏ ít hơn ngã còn
lại trong khi đó thời gian đèn xanh lại nhiều hơn. Ngã được ưu tiên là ngã có thời gian đèn
xanh nhiều hơn thời gian đèn xanh của ngã còn lại và thời gian đèn đỏ thì ít hơn, ngã không
được ưu tiên là ngã còn lại. Với ngã đựơc ưu tiên: Thời gian đèn xanh là 41giây, thời gian đèn
vàng là 3 giây, thời gian đèn đỏ là 15 giây; với ngã không được ưu tiên: thời gian đèn đỏ là 45
giây, thời gian đèn vàng là 3 giây, thời gian đèn xanh là 10 giây.
• Chương trình 3 là chương trình không hoạt động, nghĩa là việc lưu thông là tự do, lúc này chỉ
có đèn vàng là hoạt động( liên tục nhấp nháy với chu kỳ là 2 giây)
để chọn được các chương trình trên, ta phải thiết lập các mức logic tại các bit P2.6 và P2.7. Các
chương trình tương ứng như sau:
1. Chương trình 1: P2.6 = 0; P2.7 = 0
2. Chương trình 2: P2.6 = 0; P2.7 = 1
3. Chương trình 3: P2.6 = 1.
Để chọn chương trình ta phải thiết lập chương trình và reset hệ thống qua nút nhấn reset.
 Kết nối ngoại vi gồm có:
 Phần điều khiển hiển thị: 4 IC 7446: được dùng để giải mã BCD từ các port 0 và 1 ra
mã bảy đoạn để hiển thị số đếm tại các cột giao thong
 Phần hiển thị: 8 Led 7 đoạn và 12 led đơn; chúng được dùng để hiện thị trạng thái của
các cột.
 Mạch in của chương trình như sau:

 Toàn bộ chương trình có lưu đồ giải thuật như sau:


Chương trình 1 có lưu đồ như sau:
• Các đoạn của chương trình 1 có lưu đồ là giống nhau và có lưu đồ giống lưu đồ của đoạn
11, chúng chỉ khác nhau tại giá trị xét đặt thời gian ban đầu.
Lưu đồ của đoạn 11( thuộc chương trình 1)
Chương trình 2 cũng có lưu đồ tương tự như chương trình 1; chúng chỉ khác
chương trình 1 tại giá trị xét đặt thời gian đèn xanh và thời gian đèn đỏ.
Lưu đồ của chương trình 3.
Chương trình con delay 1 giây có lưu đồ như sau:
 Phần Code của chương trình như sau:
; CHUONG TRINH DEN GIAO THONG
$MOD51
DO1 BIT P2.0
XANH1 BIT P2.1
VANG1 BIT P2.2
DO2 BIT P2.3
XANH2 BIT P2.4
VANG2 BIT P2.5
;-------------------
;CHUONG TRINH CHINH
ORG 00H
MAIN:
MOV SP,#30H
CLR DO1
CLR DO2
CLR XANH1
CLR XANH2
CLR VANG1
CLR VANG2
;CHON CHUONG TRINH
KIEM_TRA:
JNB P2.6,QCT12
LCALL CT3
QCT12:
JNB P2.7,CT1
LCALL CT2
;------------------------------
;CHUONG TRINH 1: KHONG UU TIEN
CT1:
LCALL DOAN11
LCALL DOAN21
LCALL DOAN31
LCALL DOAN41
LJMP CT1
;------------------------------
;CHUONG TRINH 2: UU TIEN
CT2:
LCALL DOAN12
LCALL DOAN22
LCALL DOAN32
LCALL DOAN42
LJMP CT2
;------------------------------
;CHUONG TRINH 3:KHONG HOAT DONG,CAC DEN VANG NHAP NHAY
CT4:
LCALL CODE4
LJMP CT4
;-------------------------------
;4 DOAN CUA CHUONG TRINH 1
DOAN11:
PUSH ACC
PUSH 00H
PUSH 01H
MOV R2,#35H
MOV R1,#31H
MOV P2,#00H
VDAI11:
MOV P0,R2
MOV P1,R1
SETB DO1
SETB XANH2
LCALL DELAY
MOV A,R2
ADD A,#99H
DA A
MOV R2,A
MOV A,R1
ADD A,#99H
DA A
MOV R1,A
CJNE R1,#99H,VDAI11
POP 01H
POP 00H
POP ACC
RET

DOAN21:
PUSH ACC
PUSH 00H
PUSH 01H
MOV R2,#03H
MOV R1,#03H
MOV P2,#00H
VDAI21:
MOV P0,R2
MOV P1,R1
SETB DO1
SETB VANG2
LCALL DELAY
MOV A,R2
ADD A,#99H
DA A
MOV R2,A
MOV A,R1
ADD A,#99H
DA A
MOV R1,A
CJNE R1,#99H,VDAI21
POP 01H
POP 00H
POP ACC
RET

DOAN31:
PUSH ACC
PUSH 00H
PUSH 01H
MOV R2,#31H
MOV R1,#35H
MOV P2,#00H
VDAI31:
MOV P0,R2
MOV P1,R1
SETB DO2
SETB XANH1
LCALL DELAY
MOV A,R2
ADD A,#99H
DA A
MOV R2,A
MOV A,R1
ADD A,#99H
DA A
MOV R1,A
CJNE R2,#99H,VDAI31
POP 01H
POP 00H
POP ACC
RET

DOAN41:
PUSH ACC
PUSH 00H
PUSH 01H
MOV R2,#03H
MOV R1,#03H
MOV P2,#00H
VDAI41:
MOV P0,R2
MOV P1,R1
SETB DO2
SETB VANG1
LCALL DELAY
MOV A,R2
ADD A,#99H
DA A
MOV R2,A
MOV A,R1
ADD A,#99H
DA A
MOV R1,A
CJNE R1,#99H,VDAI41
POP 01H
POP 00H
POP ACC
RET
;-----------------------------------
;4 DOAN CUA CHUONG TRINH 2
DOAN12:
PUSH ACC
PUSH 00H
PUSH 01H
MOV R2,#45H
MOV R1,#41H
MOV P2,#00H
VDAI12:
MOV P0,R2
MOV P1,R1
SETB DO1
SETB XANH2
LCALL DELAY
MOV A,R2
ADD A,#99H
DA A
MOV R2,A
MOV A,R1
ADD A,#99H
DA A
MOV R1,A
CJNE R1,#99H,VDAI12
POP 01H
POP 00H
POP ACC
RET

DOAN22:
PUSH ACC
PUSH 00H
PUSH 01H
MOV R2,#03H
MOV R1,#03H
MOV P2,#00H
VDAI22:
MOV P0,R2
MOV P1,R1
SETB DO1
SETB VANG2
LCALL DELAY
MOV A,R2
ADD A,#99H
DA A
MOV R2,A
MOV A,R1
ADD A,#99H
DA A
MOV R1,A
CJNE R1,#99H,VDAI22
POP 01H
POP 00H
POP ACC
RET

DOAN32:
PUSH ACC
PUSH 00H
PUSH 01H
MOV R2,#11H
MOV R1,#15H
MOV P2,#00H
VDAI32:
MOV P0,R2
MOV P1,R1
SETB DO2
SETB XANH1
LCALL DELAY
MOV A,R2
ADD A,#99H
DA A
MOV R2,A
MOV A,R1
ADD A,#99H
DA A
MOV R1,A
CJNE R2,#99H,VDAI32
POP 01H
POP 00H
POP ACC
RET

DOAN42:
PUSH ACC
PUSH 00H
PUSH 01H
MOV R2,#03H
MOV R1,#03H
MOV P2,#00H
VDAI42:
MOV P0,R2
MOV P1,R1
SETB DO2
SETB VANG1
LCALL DELAY
MOV A,R2
ADD A,#99H
DA A
MOV R2,A
MOV A,R1
ADD A,#99H
DA A
MOV R1,A
CJNE R1,#99H,VDAI42
POP 01H
POP 00H
POP ACC
RET
;-----------------------------------
;DOAN CUA CHUONG TRINH 3: CHUONG TRINH KHONG HOAT DONG
CODE4:
SETB VANG1
SETB VANG2
LCALL DELAY
CLR VANG1
CLR VANG2
LCALL DELAY
RET
;----------------------------
;CHUONG TRINH CON DELAY 1 MICRO GIAY
DELAY:
PUSH 00H
PUSH 01H
MOV R0,#100
MOV TMOD,#01H
DEL:
MOV TH0,#HIGH(-10000)
MOV TL0,#LOW(-10000)
SETB TR0
JNB TF0,$
CLR TR0
CLR TF0
DJNZ R0,DEL
POP 01H
POP 00H
RET
END

 Kết quả mô phỏng:


• Chương trình 1:
• Chương trình 2

• Chương trình 3:
Read more: http://www.ant7.com/forum/forum_post.asp?
TID=1366&PN=1#ixzz1HKBqbFYe

You might also like