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

điều khiển thông minh hệ thống đèn giao thông theo số làn xe dùng vdk 8051

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 (197.44 KB, 21 trang )

LỜI NÓI ĐẦU
Trong mấy chục năm qua , khoa học máy tính và xử lý thông tin có những bước
tiến vược bậc và ngày càng có những đóng góp to lớn vào cuộc cách mạng khoa
học kỹ thuật hiện đại. Đặc biệt sự ra đời và phát triển nhanh chóng của kỹ thuật
số làm cho ngành điện tử trở nên phong phú và đa dạng hơn. Nó góp phần rất
lớn trong việc đưa kỹ thuật hiện đại thâm nhập rộng rãi vào mọi lĩnh vực của
hoạt động sản xuất ,kinh tế và đời sống xã hội. Từ những hệ thống máy tính lớn
đến nhứng hệ thống máy tính cá nhân , từ những việc điều khiển các máy công
nghiệp đến các thiết bị phục vụ đời sống hằng ngày của con người. Với mong
muốn tìm hiểu , ứng dụng những tiến bộ của khoa học kỹ thuật hiện đại vào
phục vụ sản xuất và phục vụ đời sống con người
CHƯƠNG I
Giới thiêu về hệ thống đèn giao thông tại một ngã tư
1.1. Hệ thống đèn giao thông ngã tư
- Ra đời trước ô tô, đèn tín hiệu ban đầu chỉ dành cho tàu hỏa. Lúc đầu, nó thắp
sáng bằng khí gas. Sau 43 năm chúng chạy bằng điện nhưng vẫn cần người điều
khiển cho tới khi hoàn toàn tự động vào năm 1950. Ban đầu tín hiệu giao thông
chưa có đèn vàng và thay nó là chiếc còi hú vang khi cần.
Lịch sử đèn tín hiệu có từ tháng 10 năm 1868, khi người ta đặt hệ thống đèn
ngay bên tòa nhà quốc hội Anh ở Luân Đôn. Chúng lắp ở đây để báo hiệu cho
những đoàn tàu đi ngang qua. Trên cây cột hình khuỷu tay có hai chiếc đèn: một
màu đỏ và một màu xanh dùng cho ban đêm. Đèn đỏ nghĩa là dừng lại còn đèn
xanh là chú ý.
Tháng 8 năm 1914, công ty tín hiệu giao thông ra đời tại Mỹ và chịu trách
nhiệm lắp đèn tại các ngã tư bang Ohio. Điều đặc biệt là khi đó đèn tín hiệu vẫn
chưa có đèn vàng nên khi chuyển trạng thái, cảnh sát lại bấm chiếc còi hú vang
báo cho các lái xe biết.
- Đến năm 1920, đèn tín hiệu mới có đủ ba mầu: xanh, đỏ, vàng; do sĩ quan cảnh
sát Williams Posst, sống tại thành phố Detroit sáng chế ra. Năm 1923, Gerrette
Morgan đã được nhận bằng phát minh đèn tín hiệu giao thông, mặc dù ông
không phải người trực tiếp làm nên cuộc cách mạng đèn tín hiệu hiện đại.


Nguyên nhân dẫn tới phát minh đó của Morgan là do tình trạng tai nạn xảy ra
nhiều trên đường phố Mỹ trong những năm đó. Ông thấy cần có tiêu chuẩn
thống nhất để hệ thống tín hiệu sẵn có hoạt động hiệu quả. Sau khi nghiên cứu,
Morgan thiết kế cột đèn hình chữ T. Trong đó các tín hiệu như: "dừng lại" và
"đi" và "dừng lại ở tất cả các hướng". Khi đèn báo "dừng lại ở các hướng",
người đi bộ mới được phép băng qua đường. Sau năm 1923, hệ thống vẫn phải
có người vận hành. Tính riêng tại thành phố New York, hơn 100 cảnh sát phải
làm việc 16 giờ hàng ngày và tổng tiền lương là 250.000 USD mỗi năm. Do
những khó khăn nói trên, các kỹ sư được lệnh thiết lập và phát triển hệ thống
đèn hoạt động tự động. Tuy nhiên gần 20 năm sau, ước mơ đó của các cảnh sát
mới trở thành hiện thực.
Năm 1950, đèn tín hiệu xanh đỏ được sử dụng rất rộng rãi ở Canada và phát
triển nhanh chóng trên thế giới. Ngày nay, hệ thống đèn tín hiệu hiện đại hơn
nhiều, có tính năng đặc biệt là chụp hình những xe vượt đèn đỏ. Bên cạnh đó
nhiều nước phát minh hết sức thú vị như đèn 4 chế độ ở Anh, New Zeland, Phần
Lan v.v. Đèn từ đỏ chuyển sang đỏ và vàng rồi đến xanh và về lại vàng. Trạng
thái đỏ và vàng báo cho các lái xe biết rằng đèn xanh sẽ sáng lên trong một
khoảng thời gian rất ngắn nữa.
- Đèn giao thông bao gồm 2 loại :
+ Loại 3 màu (dành cho xe cộ)
Loại 3 màu có 3 kiểu: xanh, vàng, đỏ. Tác dụng như sau:
 Đỏ: Khi gặp đèn đỏ, tất cả các phương tiện đang lưu thông phải dừng lại ở
phía trước vạch dừng (trừ trường hợp những xe rẽ phải ,) người đi bộ được
sang đường.
 Xanh: Khi gặp đèn xanh, tất cả các phương tiện được phép đi và phải chú
ý. Người đi bộ không được sang đường.
 Vàng: Đèn vàng là dấu hiệu của sự chuyển đổi tín hiệu.
Khi đèn vàng bật sau đèn xanh nghĩa là chuẩn bị dừng, khi đó các phương
tiện phải dừng lại trước vạch sơn dừng vì tiếp đó đèn đỏ sẽ sáng, trường hợp
đã vượt quá vạch dừng thì phải nhanh chóng cho xe rời khỏi giao lộ.

Nếu đèn vàng bật sau đèn đỏ có nghĩa là chuẩn bị đi, người lái xe có thể đi
trước hoặc chuẩn bị để đi vì tiếp đó đèn xanh sẽ sáng.
Khi đèn vàng nhấp nháy ở tất cả các hướng nghĩa là được đi nhưng người lái
xe vẫn phải chú ý.
Loại đèn này lắp theo thứ tự: Nếu lắp chiều dọc thì đèn đỏ ở trên, vàng ở giữa,
xanh ở dưới. Nếu lắp chiều ngang thì theo thứ tự đỏ ở bên trái, vàng ở giữa,
xanh ở bên phải hay ngược lại(đèn xanh luôn luôn hướng về phía vỉa hè hoặc
giải phân cách, đèn đỏ hướng xuống lòng đường).
+ Loại 2 màu (dành cho người đi bộ)
Loại 2 màu có hai màu xanh, đỏ. Tác dụng như sau:
 Đỏ: Đèn đỏ có nghĩa là "không được sang đường". Nó có hình ảnh người
màu đỏ đang đứng yên hoặc chữ "dừng lại". Khi gặp đèn đỏ, người đi bộ
phải đứng yên trên vỉa hè. Khi người đỏ nhấp nháy nghĩa là sắp được sang
đường, người đi bộ phải chuẩn bị sang phía bên kia đường.
 Xanh: Đèn xanh có nghĩa là "được phép sang đường". Nó có hình ảnh
người màu xanh đang bước đi hoặc chữ "sang đường". Khi gặp đèn xanh,
người đi bộ được phép sang đường. Khi đèn xanh nhấp nháy, người đi bộ
phải khẩn trương sang nốt quãng đường còn lại.
Loại đèn này lắp theo thứ tự: Nếu lắp chiều dọc thì đèn đỏ ở trên, đèn xanh ở
dưới. Nếu lắp chiều ngang thì đèn đỏ ở bên trái, đèn xanh ở bên phải hoặc ngược
lại. Loại này đôi khi được lắp kèm với đèn đếm lùi để người đi bộ có khả năng
ước lượng thời gian sang đường là bao lâu
1.2. Ưu điểm khi sử dụng hệ thống đèn giao thông thông minh cho ngã
tư.
- Khi sử dụng hệ thống đèn giao thông thông minh sẽ giảm thiểu được số cảnh
sát giao thông làm nhiệm vụ tại các ngã tư, đặc biệt là trong giờ cao điểm.
- Giảm ùn tắc giao thông tại những điểm có lượng xe lớn trong giờ cao điểm
- Giảm thiểu tai nạn giao thông do vượt cố khi tham gia giao thông khi mật độ
phương tiện quá lớn.
1.3. Giới thiệu về vi điều khiển 8051

- Bé vi ®iÒu khiÓn 8051 lµ thµnh viªn ®Çu tiªn cña hä 8051 được sản xuất
bởi hơn 20 nhà sản xuất độc lập như Atmel, Maxim IC(công ty con của Dallas
Semiconductor), NXP Semicoductors (Philips Semiconductor trước đây),
Winbond, Silicon Laboratories,Texas Instruments và Cypress Semiconductor.
Tên gọi chính thứccủa họ vi điều khiển Intel 8051 –MCS51.
Những vi điều khiển Intel 8051 được sản xuất với việc dùng công nghệ
MOSFET, những những bản sau, chứa kí hiệu “C” trong tên, như 80C51, dùng
công nghệ CMOS và yêu cầu công suất thấp, hơn những cái MOSFET trước
(điều này cho phép trang bị cho các thiết bị nguồn là pin).
-Các thông số kỹ thuật:
Gồm : 8 bit ALU, 8 bit thanh ghi, 8 dữ liệu bus , 16 bit địa chỉ bus .Vì vậy
không gian bộ nhớ tối đa cho ROM và RAM lên tới 64kb .Bộ nhớ dữ liệu
SRAM 128bytes .Bộ nhớ chương trình ROM 4kb 32 chân vào/ ra đa hướng giao
tiếp nối tiếp UART hai bộ timer/counter 16 bit
- Đối với 8051 cho phép vài trình biên dịch từ ngôn ngữ lập trình C, phần
lớn chúng hỗ trợ mở rộng ngôn ngữ để dùng hiệu quả hơn các đặc tính
của 8051. Để lập trình 8051 có thể dùng các ngôn ngữ bậc cao khác:
Forth, BASIC, Pascal,…, nhưng chúng không phổ biến như C
và Assembler.
CHƯƠNG II
Xây dựng mạch phần cứng
2.1. Cấu trúc chung của hệ thống

- Nguyên lí hoạt động của hệ thống:
+ Khi cấp nguồn cho hệ thống mạch điều khiển hệ thống sẽ hiển thì các trạng
thái đèn điều khiển giao thồng khác nhau như đã được lập trình sẵn trong vi
điều khiển. Mạch điều khiển ngoài nhiệm vụ hiển thì đèn giao thông đơn
thuần còn có nhiệm vụ hiển thị đồng hồ thời gian đếm ngược để cho người
tham gia giao thông biết rằng còn bao nhiêu lâu nữa thì đèn sẽ chuyển sang
trạng thái tiếp theo.

+ Khi có cảm biến lưu lượng xe tác động (lưu lượng xe đông) thì cảm biến sẽ
phát tín hiệu cho mạch điều khiển biết rằng lưu lượng xe đã đông hơn mức
bình thường và đưa ra phương án ưu tiên phù hợp cho làn đường đang có lưu
lượng xe lớn.
2.2. Mạch phần cứng.
- Mạch mô phỏng phần cứng bao gồm:
+ 2 vi điều khiển AT 89C51
+ Các đèn led: đỏ, vàng, xanh
+ 4 IC giải mã 7447
+ Led 7 vạch hiển thì thời gian đếm ngược
Nguồn Mạch điều
khiển
Hiển thị đèn
điều khiển
giao thông
Thông số cập
nhật từ bàn
phím
Đếm ngược
thời gian
+ Nút ấn (thay cho thông số nhập từ bàn phím)
+ U1 và U6 đều điều khiển 2 hệ thống đèn đối diện nhau nhưng để đơn giản
trong mô phỏng thì chỉ vẽ 1 phía
CHƯƠNG III
Thiết kế phần mềm
3.1. Lưu đồ thật toán
SETB P0.5
Đ
S
START

P0.5 = 0
MAIN1 MAIN2
Chương trình chia làm 2 chương trình con:
+ MAIN1: là chương trình điều khiển mặc định.
+ MAIN2: là chương trình điều khiển có ưu tiên cho luồng phương tiên có
lưu lượng lớn hơn.
3.2. Mã lệnh.
Đoạn lệnh thứ nhất: (nạp cho U1)
#INCLUDE <SFR51.INC>
ORG 000H
MAIN:
SETB P0.5
JNB P0.5,MAIN2
MAIN1:
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
;
MAIN2:
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
EEE1:
ACALL DELAY1;DELAY 1S
DEC P1;GIAM P1
DJNZ R1,EEE1;GIAM VA NHAY CHO DEN KHI R1=0 THI THOAT
KHOI VONG LAP
ACALL DELAY1
MOV P1,#19H
MOV R1,#9

FFF1:
ACALL DELAY
DEC P1
DJNZ R1,FFF1
ACALL DELAY
MOV P1,#09H
MOV R1,#9
GGG1:
ACALL DELAY1
DEC P1
DJNZ R1,GGG1
ACALL DELAY1
MOV P1,#25H;NAP VAO P1 HIEN THI THOI GIAN 25S DEN XANH
MOV P0,#0FEH; NAP VAO P0 HIEN THI DEN XANH
ACALL DELAY1
MOV P1,#24H
MOV R1,#4
BBB1:
ACALL DELAY1
DEC P1
DJNZ R1,BBB1
ACALL DELAY1
MOV P1,#19H
MOV R1,#9
OOO:
ACALL DELAY1
DEC P1
DJNZ R1,OOO
ACALL DELAY1
MOV P1,#09H

MOV R1,#9
CCC1:
ACALL DELAY1
DEC P1
DJNZ R1,CCC1
ACALL DELAY1
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
DDD1:
ACALL DELAY1
DEC P1
DJNZ R1,DDD1
ACALL DELAY1
LJMP MAIN
DELAY1:
PUSH 00H
MOV TMOD,#01H
MOV R0,#100
AAA1:
MOV TH0,#HIGH(-10000)
MOV TL0,#LOW(-10000)
SETB TR0
JNB TF0,$
CLR TF0
CLR TR0
DJNZ R0,AAA1
POP 00H
RET
END

Đoạn mã lệnh thứ 2: (nạp cho U6)
#INCLUDE <SFR51.INC>
ORG 000H
MAIN:
SETB P0.5
JNB P0.5,MAIN2
MAIN1:
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,#19H
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
;
MAIN2:
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 DELAY1;GOI CHUONG TRINH DELAY 1S
MOV P1,#19H
MOV R1,#9;DAT SO VONG LAP
BBB1:
ACALL DELAY1;DELAY 1S
DEC P1;GIAM P1
DJNZ R1,BBB1;GIAM VA NHAY DEN NHAN BBB DEN KHI R1=0 THI
THOAT KHOI VONG LAP
ACALL DELAY1
MOV P1,#19H
MOV R1,#9
CCC1:
ACALL DELAY1
DEC P1
DJNZ R1,CCC1
ACALL DELAY1

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
DDD1:
ACALL DELAY1
DEC P1
DJNZ R1,DDD1
ACALL DELAY1
MOV P0,#0FBH;NAP VAO P0 DE HIEN THI DEN DO
MOV P1,#31H;NAP VAO P1 DE HIEN THI THOI GIAN 31S DEN DO
MOV R1,#1
EEE1:
ACALL DELAY1
DEC P1
DJNZ R1,EEE1
ACALL DELAY1
MOV P1,#29H
MOV R1,#9
FFF1:
ACALL DELAY1
DEC P1
DJNZ R1,FFF1
ACALL DELAY1
MOV P1,#19H
MOV R1,#9
OOO:
ACALL DELAY1
DEC P1
DJNZ R1,OOO
ACALL DELAY1

MOV P1,#09H
MOV R1,#9
GGG1:
ACALL DELAY1
DEC P1
DJNZ R1,GGG1
ACALL DELAY1
LJMP MAIN
DELAY1:
PUSH 00H
MOV TMOD,#01H
MOV R0,#100
AAA1:
MOV TH0,#HIGH(-10000)
MOV TL0,#LOW(-10000)
SETB TR0
JNB TF0,$
CLR TF0
CLR TR0
DJNZ R0,AAA1
POP 00H
RET
END
3.3. Kết quả đạt được.
- Khi nút ấn không tác động (cảm biến chưa tác động), U1 và U6 hoạt động
theo MAIN1: hiển thị thời gian đèn đỏ trong 26s, đèn vàng trong 5s, đèn
xanh trong 20s.
- Khi nút ấn tác động (cảm biến tác động),U1 và U6 hoạt động theo MAIN2:
+ U1 tăng thời gian đèn xanh lên thêm 5s
+ U6 tăng thời gian đèn đỏ lên thêm 5s

+ Các chế đọ khác giữ nguyên
3.4. Nhận xét.
- Với hệ thống đã thiết kế ở trên chỉ sử dụng được cho những nơi chỉ có 1
loại phương tiện duy nhất qua lại (VD: đường dành riêng cho ôtô hoặc xe
máy,…)
- Hệ thống hoạt động chưa thực sự tin cậy khi có các xe lớn bé khác nhau
cùng lưu thông, chỉ cảm nhận được là lượng xe đang lưu thông là đông hoặc
không đông chứ không thể biết được lượng xe là bao nhiêu, nhiều tới mức
nào.
TÀI LIỆU THAM KHẢO
[1] Tống Văn Ôn và Hoàng Đức Hải – Họ vi diều khiển 8051
[2] Giáo trình môn kĩ thật vi xử lí
[3] cdtvn.net
[4] tailieu.vn

×