Trêng §HSPKT Hng Yªn §å An chuyªn ngµnh 2
Khoa §iÖn - §iÖn Tö
Luận văn tốt nghiệp
“ Thiết kế và chế tạo hệ thống
điều khiển tín hiệu giao thông
cho ngã tư lập trình bằng vi
điều khiển”
1
Giảng viên hướng dẫn: Nguyễn Trung Thành
SVTH: Trần Đông- Nguyễn Văn Hoàng - Nguyễn Huy Toàn
Trêng §HSPKT Hng Yªn §å An chuyªn ngµnh 2
Khoa §iÖn - §iÖn Tö
ĐỒ ÁN CHUYÊN NGÀNH 2
Đề tài: “ Thiết kế và chế tạo hệ thống điều khiển tín hiệu giao
thông cho ngã tư lập trình bằng vi điều khiển”
Giảng viên hướng dẫn : Nguyễn Trung Thành
Sinh viên thực hiện : Trần Đông
Nguyễn Văn Hoàng
Nguyễn Huy Toàn
Lớp : Đ-ĐTK5.1
Hưng yên ngày tháng … năm 2010
2
Giảng viên hướng dẫn: Nguyễn Trung Thành
SVTH: Trần Đông- Nguyễn Văn Hoàng - Nguyễn Huy Toàn
Trêng §HSPKT Hng Yªn §å An chuyªn ngµnh 2
Khoa §iÖn - §iÖn Tö
NHẬN XÉT VÀ ĐÁNH GIÁ CỦA GIÁO VIÊN HƯỚNG DẪN
2.3.H thng iu khin giao thụng cho ngó ba. 11
II.PHN TCH LA CHN PHNG N IU KHIN 12
1.Mch dựng IC s 12
2.iu khin bng vi iu khin 13
3.Vi vi mch dựng k thut vi x lý 13
4.iu khin bng PLC. 14
III.CC TIấU CHUN LA CHN B VI IU KHIN 14
IV.LED 7 ON V LED N 16
1.Cỏc khỏi nim c bn 16
2.Kt ni vi vi iu khin 19
V.GIAO TIP VI IU KHIN VI LED 7 ON 21
VI.KHI GII M 22
1. IC gii mó 7447 22
VII.GII THIU CHUNG CU TRC B VI IU KHIN 24
Trong mục này chúng ta xem xét một số thành viên khác nhau của họ bộ vi điều khiển 8051 và các
đặc điểm bên trong của chúng. Đồng thời ta điểm qua một số nhà sản xuất khác nhau và các sản
phẩm của họ có trên thị trờng 24
1.Túm tt v lch s ca AT89C51 24
RAM 25
2.S chõn tớn hiu ca 80C51/AT89C51 26
4
Ging viờn hng dn: Nguyn Trung Thnh
SVTH: Trn ụng- Nguyn Vn Hong - Nguyn Huy Ton
Trêng §HSPKT Hng Yªn §å An chuyªn ngµnh 2
Khoa §iÖn - §iÖn Tö
3.Các thanh ghi chức năng đặc biệt 28
Phần II: THIẾT KẾ PHẦN CỨNG VÀ CHƯƠNG TRÌNH ĐIỀU KHIỂN 37
I.Sơ đồ nguyên lý theo từng khối 37
1.Khối hiển thị 37
2.Khối tín hiệu điều khiển 38
Trêng §HSPKT Hng Yªn §å An chuyªn ngµnh 2
Khoa §iÖn - §iÖn Tö
Phần I: GIỚI THIỆU CHUNG
I. TỔNG QUAN VỀ HỆ THỐNG ĐIỀU KHIỂN TÍN HIỆU GIAO
THÔNG.
1. Yêu cầu và mục đích của hệ thống điều khiển tín hiệu giao
thông.
Trước tình hình phương tiện tham gia giao thông ngày càng gia tăng không
ngừng và hệ thống giao thông ngày càng phức tạp. Chính lý do này đã dẫn đến tình
trạng ùn tắc và tai nạn giao thông ngày càng gia tăng. Vì vậy để đảm bảo giao
thông được an toàn và thông suốt thì việc sử dụng các hệ thống tín hiệu để điều
khiển và phân luồng tại các nút giao thông là rất cần thiết. Với tầm quan trọng như
vậy hệ thống điều khiển tín hiệu giao thông cần đảm bảo những yêu cầu sau:
- Đảm bảo trong quá trình hoạt động một cách chính xác và liên tục.
- Độ tin cậy cao.
- Đảm bảo làm việc ổn định, lâu dài.
2. Một số hệ thống điều khiển tín hiệu giao thông.
2.1. Hệ thống điều khiển tín hiệu giao thông ưu tiên cho người đi bộ.
Hệ thống hoạt động như sau:
- Ở trạng thái bình thường đèn báo trên tuyến đường ô tô luôn ở trạng thái
xanh.
- Khi người đi bộ muốn qua đường, người đi bộ phải nhấn vào nút nhấn nằm
trên cột đèn dành cho người đi bộ.
7
Giảng viên hướng dẫn: Nguyễn Trung Thành
SVTH: Trần Đông- Nguyễn Văn Hoàng - Nguyễn Huy Toàn
Trêng §HSPKT Hng Yªn §å An chuyªn ngµnh 2
Khoa §iÖn - §iÖn Tö
- Sau khi nhấn nút xin đường hệ thống đèn báo trên tuyến đường được mô tả
bằng giản đồ thời gian sau.
đang sáng cho phép các phương tiện đi thẳng từ A và B theo C. Đồng thời lúc này
đèn đỏ tại các vị trí C sáng không cho phép xe lưu thông theo chiều từ C sang
đường A và B. Sau khoảng thời đèn đỏ tại A và B sáng, không cho phép phương
tiện đi thẳng từ A và B, đồng thời đèn xanh tại vị trí C sáng cho phép phương tiện
đi vào C và đi từ C sang đường A và B. Trong quá trình chuyển từ đèn xanh sang
11
Giảng viên hướng dẫn: Nguyễn Trung Thành
SVTH: Trần Đông- Nguyễn Văn Hoàng - Nguyễn Huy Toàn
Trêng §HSPKT Hng Yªn §å An chuyªn ngµnh 2
Khoa §iÖn - §iÖn Tö
đỏ và ngược lại thì đèn vàng sáng một khoảng thời gian. Ở chế độ ban đêm chỉ có
đèn vàng nhấp nháy. Ta có thời gian mô tả hoạt động của hệ thống như sau.
II. PHÂN TÍCH LỰA CHỌN PHƯƠNG ÁN ĐIỀU KHIỂN
Với sự phát triển của khoa học kỹ thuật để điều khiển được hệ thống giao
thông chúng ta có nhiều cách khác nhau như là: Dùng IC số, các bộ vi xử lý, vi
điều khiển, các bộ điều khiển PLC.
1. Mạch dùng IC số
Với mạch dùng IC số có những ưu điểm sau:
• Giá thành rẻ
• Mạch đơn giản dễ thực hiện
• Tổn hao công suất bé, mạch có thể dùng pin hoặc acquy
12
Giảng viên hướng dẫn: Nguyễn Trung Thành
SVTH: Trần Đông- Nguyễn Văn Hoàng - Nguyễn Huy Toàn
Trêng §HSPKT Hng Yªn §å An chuyªn ngµnh 2
Khoa §iÖn - §iÖn Tö
Tuy nhiên khi sử dụng kỹ thuật số rất khó khăn trong việc thay đổi chương
trình. Muốn thay đổi một chương trình nào đó thì buộc ta phải thay đổi phần cứng.
Do đó mỗi lần phải lắp lại mạch dẫn đến tốn kém về kinh tế mà nhiều khi yêu cầu
đó không thực hiện được nhờ phương pháp này.
Lập trình đơn giản, độ tin cậy cao.
Chức năng điều khiển thay đổi dễ dàng bằng thiết bị lập trình (máy tính, màn
hình) mà không cần thay đổi phần cứng nếu không có yêu cầu thêm bớt các thiết bị
nhập xuất.
Thời gian hoàn thành một chu trình điều khiển rất nhanh.
Tuy nhiên phương pháp này có nhiều ưu điểm hơn vi xử lý nhưng việc áp
dụng trong hệ thống nhỏ là không thích hợp bởi giá thành rất cao.
Với những ưu điểm của từng phương pháp là khác nhau. Tuy nhiên thực
hiện đề tài này nhóm chúng em chọn phương pháp điều khiển bằng vi điều khiển
bởi đây là phương án tối ưu nhất phù hợp với đề tài.
Hiện nay bộ vi điều khiển AT89C51 đang được sử dụng rộng rãi vì vậy
chúng em lựa chọn bộ điều khiển này để điều khiển hệ thống.
III. CÁC TIÊU CHUẨN LỰA CHỌN BỘ VI ĐIỀU KHIỂN
Có 4 bộ vi điều khiển 8 bit chính. Đó là 6811 của Motorola, 8051 của Intel
Z8 của Xilog và Pic 16 × của Microchip Technology. Mỗi một kiểu loại trên đây
đều có một tập lệnh và thanh ghi riêng duy nhất, nếu chúng đều không tương thích
lẫn nhau. Cũng có những bộ vi điều khiển 16 bit và 32 bit được sản xuất bởi các
14
Giảng viên hướng dẫn: Nguyễn Trung Thành
SVTH: Trần Đông- Nguyễn Văn Hoàng - Nguyễn Huy Toàn
Trêng §HSPKT Hng Yªn §å An chuyªn ngµnh 2
Khoa §iÖn - §iÖn Tö
hãng sản xuất chíp khác nhau. Với tất cả những bộ vi điều khiển khác nhau như thế
này thì lấy gì làm tiêu chuẩn lựa chọn mà các nhà thiết kế phải cân nhắc?
1. Tiêu chuẩn đầu tiên và trước hết trong lựa chọn một bộ vi điều khiển là nó
phải đáp ứng nhu cầu bài toán về một mặt công suất tính toán và giá thành hiệu
quả. Trong khi phân tích các nhu cầu của một dự án dựa trên bộ vi điều khiển
chúng ta trước hết phải biết là bộ vi điều khiển nào 8 bit, 16 bit hay 32 bit có thể
đáp ứng tốt nhất nhu cầu tính toán của bài toán một cách hiệu quả nhất? Những tiêu
chuẩn được đưa ra để cân nhắc là:
khiển. Trong trường hợp 8051 thì nhà sáng chế của nó là Intel, nhưng hiện nay có
rất nhiều hãng sản xuất nó (cũng như trước kia đã sản xuất).
Các hãng này bao gồm: Intel, Atmel, Philips/signe-tics, AMD, Siemens,
Matra và Dallas, Semicndictior.
IV. LED 7 ĐOẠN VÀ LED ĐƠN
1. Các khái niệm cơ bản
Trong các thiết bị, để báo trạng thái hoạt động của thiết bị đó cho người sử dụng
với thông số chỉ là các dãy số đơn thuần, thường người ta sử dụng "led 7 đoạn".
Led 7 đoạn được sử dụng khi các dãy số không đòi hỏi quá phức tạp, chỉ cần hiện
thị số là đủ, chẳng hạn led 7 đoạn được dùng để hiển thị nhiệt độ phòng, trong các
đồng hồ treo tường bằng điện tử, hiển thị số lượng sản phẩm được kiểm tra sau một
công đoạn nào đó
Led 7 đoạn có cấu tạo bao gồm 7 led đơn có dạng thanh xếp theo hình và có
thêm một led đơn hình tròn nhỏ thể hiện dấu chấm tròn ở góc dưới, bên phải của
led 7 đoạn. 8 led đơn trên led 7 đoạn có Anode(cực +) hoặc Cathode(cực -) được
nối chung với nhau vào một điểm, được đưa chân ra ngoài để kết nối với mạch
16
Giảng viên hướng dẫn: Nguyễn Trung Thành
SVTH: Trần Đông- Nguyễn Văn Hoàng - Nguyễn Huy Toàn
Trêng §HSPKT Hng Yªn §å An chuyªn ngµnh 2
Khoa §iÖn - §iÖn Tö
điện. 8 cực còn lại trên mỗi led đơn được đưa thành 8 chân riêng, cũng được đưa ra
ngoài để kết nối với mạch điện.
Led 7 đoạn có 2 loại:
Anode (cực +) chung: đầu (+) chung này được nối với +Vcc, các chân còn
lại dùng để điều khiển trạng thái sáng tắt của các led đơn, led chỉ sáng khi tín
hiệu đặt vào các chân này ở mức 0.
Cathode (cực -) chung: đầu( -) chung được nối xuống Ground (hay Mass),
các chân còn lại dùng để điều khiển trạng thái sáng tắt của các led đơn, led
chỉ sáng khi tín hiệu đặt vào các chân này ở mức 1.
Dạng chỉ thị led 7 đoạn:
Vì led 7 đoạn chứa bên trong nó các led đơn, do đó khi kết nối cần đảm bảo
dòng qua mỗi led đơn trong khoảng 10mA-20mA để bảo vệ led. Nếu kết nối với
nguồn 5V có thể hạn dòng bằng điện trở 330Ω trước các chân nhận tín hiệu điều
hiển.
Các điện trở 330Ω là các điện trở bên ngoài được kết nối để giới hạn dòng
điện qua led nếu led 7 đoạn được nối với nguồn 5V.
18
Giảng viên hướng dẫn: Nguyễn Trung Thành
SVTH: Trần Đông- Nguyễn Văn Hoàng - Nguyễn Huy Toàn
Trêng §HSPKT Hng Yªn §å An chuyªn ngµnh 2
Khoa §iÖn - §iÖn Tö
Chân nhận tín hiệu a điều khiển led a sáng tắt, ngõ vào b để điều khiển led b.
Tương tự với các chân và các led còn lại.
2. Kết nối với vi điều khiển
Ngõ nhận tín hiệu điều khiển của led 7 đoạn có 8 đường, vì vậy có thể dùng
1 Port nào đó của Vi điều khiển để điều khiển led 7 đoạn. Như vậy led 7 đoạn nhận
một dữ liệu 8 bit từ Vi điều khiển để điều khiển hoạt động sáng tắt của từng led led
đơn trong nó, dữ liệu được xuất ra điều khiển led 7 đoạn thường được gọi là "mã
hiển thị led 7 đoạn". Có hai kiểu mã hiển thị led 7 đoạn: mã dành cho led 7 đoạn có
Anode(cực +) chung và mã dành cho led 7 đoạn có Cathode(cực -) chung. Chẳng
hạn, để hiện thị số 1 cần làm cho các led ở vị trí b và c sáng, nếu sử dụng led 7
đoạn có Anode chung thì phải đặt vào hai chân b và c điện áp là 0V(mức 0) các
chân còn lại được đặt điện áp là 5V(mức 1), nếu sử dụng led 7 đoạn có Cathode
chung thì điện áp(hay mức logic) hoàn toàn ngược lại, tức là phải đặt vào chân b
và c điện áp là 5V(mức 1).
Bảng mã hiển thị led 7 đoạn( led 7 đoạn anot chung: led đơn sáng ở mức 0)
Số hiển thị trên
led 7 đoạn
led 7 đoạn
Mã hiển thị led 7
đoạn dạng nhị phân
Mã hiển thị led 7
đoạn dạng thập lục
phân
hgfedcba
0 00111111 3F
1 00000110 06
2 01011011 5B
3 01001111 4F
4 01100110 66
5 01101101 6D
6 01111101 7D
7 00000111 07
8 01111111 7F
20
Giảng viên hướng dẫn: Nguyễn Trung Thành
SVTH: Trần Đông- Nguyễn Văn Hoàng - Nguyễn Huy Toàn
Trêng §HSPKT Hng Yªn §å An chuyªn ngµnh 2
Khoa §iÖn - §iÖn Tö
9 01101111 6F
A 01110111 77
B 01111100 7C
C 00111001 39
D 01011110 5E
E 01111001 79
F 01110001 71
Phần cứng được kết nối với 1 Port bất kì của Vi điều khiển, để thuận tiện cho
+
A
B
C
D
+ ABC
D
e = A
B
C
D
+ AB
C
D
+
A
B
C
D
+ A
B
C
D
+ ABC
D
f = A
B
C
D
+
giải pháp: một là sử dụng các IC chuyên dụng cho việc hiện thị led 7 đoạn, hai là
kết nối nhiều led 7 đoạn vào cùng một đường xuất tín hiệu hiển thị. Nội phần này
sẽ đề cập đến cách kết nối nhiều led 7 đoạn theo giải pháp thứ 2.
Để kết nối nhiều led 7 đoạn vào vi điều khiển thực hiện như sau: nối tất cả
các chân nhận tín hiệu của tất cả các led 7 đoạn (chân abcdefgh) cần sử dụng vào
cùng 1 Port, trong ví dụ, 8 led 7 đoạn có các chân nhận tín hiệu cùng được được nối
với P0. Dùng các ngõ ra còn lại của Vi điều khiển điều khiển on/off cho led 7 đoạn,
mỗi ngõ ra điều khiển ON/OFF cho 1 led 7 đoạn,(ON: led 7 đoạn được cấp nguồn
để hiển thị, OFF: led 7 đoạn bị ngắt nguồn nên không hiển thị được).
Tại mỗi thời điểm, chỉ nên cho Vi điều khiển điều khiển cho 1 led 7 đoạn
hoạt động, do đó tại mỗi thời điểm chỉ nên có 1 ngõ ra duy nhất nối với transitor ở
mức 0. Tại mỗi thời điểm chỉ có một led 7 đoạn được ON nên sẽ không xảy ra tình
trạng quá tải cho tải và quá tải cho vi điều khiển khi điều khiển nhiều led 7 đoạn.
VI. KHỐI GIẢI MÃ
1. IC giải mã 7447
Mạch giải mã là mạch có n đầu vào và 2
n
đầu ra . Bộ giải mã cũng là các bộ biến
đổi mã , chúng biến đổi từ các mã nhị phân BCD sang mã nhị phân hay mã 7 đoạn.
Để xác định bộ giả mã chúng có thể áp dụng phương pháp thiết kế logic cơ bản.
Hiện nay người ta không dùng phương pháp trên mà thường dùng các vi mạch giải
mã có sẵn trên thị trường.
Giải mã BCD sang mã 7 đoạn:
22
Giảng viên hướng dẫn: Nguyễn Trung Thành
SVTH: Trần Đông- Nguyễn Văn Hoàng - Nguyễn Huy Toàn
Trêng §HSPKT Hng Yªn §å An chuyªn ngµnh 2
Khoa §iÖn - §iÖn Tö
• Mã nhị phân BCD được chuyển sang thập phân và hiển thị các số thập
phân bằng 7 đoạn tương ứng với mỗi tổ hợp xác định .Các thanh sáng hiển
0
0
0
1
1
1
0
0
1
1
0
0
1
0
1
0
1
0
1
0
1
0
1
1
0
1
1
1
1
1
1
1
0
0
1
1
1
1
1
23
Giảng viên hướng dẫn: Nguyễn Trung Thành
SVTH: Trần Đông- Nguyễn Văn Hoàng - Nguyễn Huy Toàn
Trờng ĐHSPKT Hng Yên Đồ An chuyên ngành 2
Khoa Điện - Điện Tử
7
8
9
0
1
1
1
0
0
1
0
0
1
0
1
1
định thời, một cổng nối tiếp và 4 cổng (đều rộng 8 bit) vào ra tất cả đợc đặt trên một
chíp. Lúc ấy nó đợc coi là một hệ thống trên chíp. AT89C51 là một bộ xử lý 8 bit
có nghĩa là CPU chỉ có thể làm việc với 8 bit dữ liệu tại một thời điểm. Dữ liệu lớn
hơn 8 bit đợc chia ra thành các dữ liệu 8 bit để cho xử lý. AT89C51 có tất cả 4 cổng
vào - ra I/O mỗi cổng rộng 8 bit (xem hình 1.2). Mặc dù 8051 có thể có một ROM
trên chíp cực đại là 64 K byte, nhng các nhà sản xuất lúc đó đã cho xuất xởng chỉ
với 4K byte ROM trên chíp. Điều này sẽ đợc bàn chi tiết hơn sau này.
24
Ging viờn hng dn: Nguyn Trung Thnh
SVTH: Trn ụng- Nguyn Vn Hong - Nguyn Huy Ton
Trờng ĐHSPKT Hng Yên Đồ An chuyên ngành 2
Khoa Điện - Điện Tử
AT89C51 đã trở nên phổ biến sau khi Intel cho phép các nhà sản xuất khác
sản xuất và bán bất kỳ dạng biến thế nào của AT89C51 mà họ thích với điều kiện
họ phải để mã lại tơng thích với AT89C51. Điều này dẫn đến sự ra đời nhiều phiên
bản của AT89C51 với các tốc độ khác nhau và dung lợng ROM trên chíp khác nhau
đợc bán bởi hơn nửa các nhà sản xuất. Điều này quan trọng là mặc dù có nhiều
biến thể khác nhau của AT89C51 về tốc độ và dung lơng nhớ ROM trên chíp, nhng
tất cả chúng đều tơng thích với AT89C51 ban đầu về các lệnh. Điều này có nghĩa là
nếu ta viết chơng trình của mình cho một phiên bản nào đó thì nó cũng sẽ chạy với
mọi phiên bản bất kỳ khác mà không phân biệt nó từ hãng sản xuất nào.
Bảng 3.1: Các đặc tính của AT89C51 đầu tiên.
Đặc tính Số lợng
ROM trên chíp
RAM
Bộ định thời
Các chân vào - ra
Cổng nối tiếp
Nguồn ngắt
4K byte
BUS
CONTROL
SERIAL
PORT
EXTERNAL
INTERRUPTS
CPU
ON - CHIP
RAM
ETC
TIMER 0
TIMER 1
ADDRESS/DATA
TXD RXDP0 P1 P2 P3