Tải bản đầy đủ (.doc) (7 trang)

ĐÈN GIAO THÔNG Ở MỘT NGÃ TƯ

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (214.38 KB, 7 trang )

ĐÈN GIAO THÔNG Ở MỘT NGÃ TƯ


1. Bài toán:
Viết chương trình cho đèn giao thông ở một ngã tư của đường 2 chiều không ưu
tiên
2. Đặt vấn đề:
Do cuộc sống ngày càng phát triển, phương tiện tham gia giao thông ngày một
nhiều hơn, nên vào những giờ cao điểm thường bị kẹt xe ở các ngõ tư, ngõ
năm,….và những tai nạn giao thông đáng tiếc có thể xảy ra. Chương trình này
có thể giảm bớt những vấn đề trên, do đó có thể tiết kiệm được tài chính và
thời gian đi lại cho người dân .
3. Cách thưc hiện:
Để giải quyết yêu cầu của bài toán ta làm như sau:
Đây là chương trình đèn giao thông tại một ngã tư. Chương trình này được viết
theo nguyên tắc đèn giao thông ở ngã tư với đường 2 chiều không ưu tiên.
- Thời gian đèn đỏ sáng = thời gian đèn xanh sáng + thời gian đèn đỏ sáng.
- - Chương trình được thiết kế sử dụng bộ nhớ ROM và RAM trong của chip
vi điều khiển 89C51, ngoài ra còn sử dụng IC giải mã 74247
- Đèn xanh 1 đ ược nối với P0.2, đèn vàng 1 được nối với P0.1, đèn đỏ 1 được nối
với P0.2.
- Đèn xanh 2 đ ược nối với P0.5, đèn vàng 2 được nối v ới P0.4, đèn đỏ 2 được nối
với P0.3.
- P2, P3 được nối với IC giải mã 74247 rồi đưa ra led 7 đoạn hiển thị thời gian
sáng của các đèn.
- Thời gian sáng của đèn xanh là 20s, đèn vàng là 5s, đèn đỏ là 25s.
- Khi đèn nào sáng thì led 7 đoạn sẽ hiển thị thời gian của đèn đó.
- Các đèn sẽ sang theo thứ tự: đèn xanh 1 và đèn đỏ 2 sáng ® đèn vàng 1 và đèn
đỏ 2 sáng ® đèn đỏ1 và đèn xanh 2 sáng® đèn đỏ 1 và đèn vàng 2 sáng. Quá
trình này sẽ lặp lại tuần hoàn.
4. Lưu đồ giải thuật:




5. Chương trình:
$MOD51
ORG 00H

MAIN:
MOV R0,#20H
MOV R1,#25H
REPEAT:
MOV P0,#00H ;XOA P0
SETBP0.3 ;DEN DO 2 SANG
SETBP0.2 ;DEN XANH 1 SANG
MOV P2,R0 ;HIEN THI RA LED 7 DOAN
MOV P3,R1 ;HIENTHI RA LED 7 DOAN
DEC R0 ;GIAM GIA TRI R0
DEC R1 ;GIAM GIA TRI R1
LCALL DELAY1S ;TAO TRE 1S
DJNZR0,REPEAT ;GIAM VA NHAY NEU R0 KHAC 0
MOV R0,#20H ;NAP LAI CHO R0
MOV R1,#25H;NAP LAI CHO R1
AAA: MOV P2,R0 ;HIEN THI RA LED 7 DOAN
MOV P3,R1 ;HIENTHI RA LED 7 DOAN
DEC R0 ;GIAM GIA TRI R0 1 DON VI
DEC R1;GIAM GIA TRI R1 1 DON VI
LCALL DELAY1S
DJNZR1,AAA ;GIAM VA NHAY NEU R1 KHAC 0
MOV R0,#20H ;NAP LAI GIA TRI CHO R0
MOV R1,#25H ;NAP LAI GIA TRI CHO R1
BBB: MOV P2,R0

MOV P3,R1
DEC R0 ;GIAM R0 1 DON VI
DEC R1 ;GIAM R1 1 DON VI
LCALL DELAY1S
DJNZR0,BBB ;GIAM VA NHAY NEU R0 KHAC 0
MOV R0,#20H ;NAP LAI CHO R0
MOV R1,#25H ;NAP LAI CHO R1
CCC: MOV P2,R0
MOV P3,R1
DEC R0
DEC R1
LCALL DELAY1S
DJNZR1,CCC ;GIAM VA NHAY NEU R1 KHAC 0
MOV R0,#20H ;NAP LAI CHO R0
MOV R1,#25H ;NAP LAI CHO R1
DDD: MOV P2,R0
MOV P3,R1
DEC R0
DEC R1
LCALL DELAY1S
DJNZR0,DDD ;GIAM VA NHAY NEU R0 KHAC 0
MOV R0,#20H ;NAP LAI CHO R0
MOV R1,#25H ;NAP LAI CHO R1
EEE: MOV P2,R0
MOV P3,R1
DEC R0
DEC R1
LCALL DELAY1S
DJNZR1,EEE ;GIAM VA NHAY NEU R1 KHAC 0
MOV R0,#05H ;NAP LAI GIA TRI CHO R0

MOV R1,#20H ;NAP LAI GIA TRI CHO R1
FFF: MOV P2,R0
MOV P3,R1
DEC R1
DEC R0
LCALL DELAY1S
DJNZR0,FFF ;GIAM VA NHAY NEU R0 KHAC 0
MOV R0,#05H ;NAP LAI CHO R0
REPEAT1:
CLR P0.2 ;DEN XANH 1 TAT
SETBP0.1 ;DEN VANG 1 SANG
MOV P3,R1
MOV P2,R0
DEC R1
DEC R0
LCALL DELAY1S
DJNZR1,REPEAT1 ;GIAM VA NHAY NEU R1 KHAC 0
MOV R0,#25H ;NAP LAI CHO R0
MOV R1,#20H ;NAP LAI CHO R1
REPEAT2:
MOV P0,#00H
SETBP0.0 ;DEN DO 1 SANG
SETBP0.5 ;DEN XANH 2 SANG
MOV P2,R0
MOV P3,R1
DEC R0 ;GIAM R0 1 DON VI
DEC R1 ;GIAM R1 1 DON VI
LCALL DELAY1S
DJNZR1,REPEAT2;GIAM VA NHAY NEU R1 KHAC 0
MOV R1,#20H ;NAP LAI CHO R1

MOV R0,#25H ;NAP LAI CHO R0
AA0: MOV P2,R0
MOV P3,R1
DEC R0
DEC R1
LCALL DELAY1S
DJNZR0,AA0;GIAM VA NHAY NEU R0 KHAC 0
MOV R0,#20H ;NAP LAI GIA TRI CHO R0
MOV R1,#15H ;NAP LAI GIA TRI CHO R1
AA1: MOV P2,R0
MOV P3,R1
DEC R0
DEC R1
LCALL DELAY1S
DJNZR1,AA1;GIAM VA NHAY NEU R1 KHAC 0
MOV R0,#25H ;NAP LAI GIA TRI CHO R0
MOV R1,#05H ;NAP LAI GIA TRI CHO R1
AA2: MOV P2,R0
MOV P3,R1
DEC R0
DEC R1
LCALL DELAY1S
DJNZR0,AA2;GIAM VA NHAY NEU R0 KHAC 0
MOV R0,#20H ;NAP LAI GIA TRI CHO R0
MOV R1,#05H ;NAP LAI GIA TRI CHO R1
AA3: MOV P2,R0
MOV P3,R1
DEC R0
DEC R1
LCALL DELAY1S

DJNZR1,AA3 ;GIAM VA NHAY NEU R1 KHAC 0
MOV R1,#05H ;NAP LAI CHO R1
REPEAT3:
CLR P0.5 ;DEN XANH 2 TAT
SETBP0.4 ;DEN VANG 2 SANG
MOV P3,R1
MOV P2,R0
DEC R1
DEC R0
LCALL DELAY1S
DJNZR1,REPEAT3 ;GIAM VA NHAY NEU R1 KHAC 0
LJMPMAIN ;LAP LAI
DELAY1S:
PUSH 00H
MOV TMOD,#01H
MOV R0,#100
LOOP:
MOV TH0,#HIGH(-10000)
MOV TL0,#LOW(-10000)
SETB TR0
JNB TF0,$
CLR TF0
CLR TR0
DJNZ R0,LOOP
POP 00H
RET
END




6. Mô phỏng bằng proteus:

×