Vì vậy để đảm bảo sự an toàn khi tham giagiao thông, ngoài ý thức của người tham gia giao thông thì việc sử dụng các hệthống đèn tín hiệu để điều khiển và phân luồng tại các nút giao thô
Trang 1LỜI NÓI ĐẦU
Với thời đại phát triển như ngày nay thì vấn đề giao thông ngày càng đượcchú trọng Các phương tiện tham gia giao thông cũng gia tăng không ngừng, hệthống giao thông ngày càng phức tạp Vì vậy để đảm bảo sự an toàn khi tham giagiao thông, ngoài ý thức của người tham gia giao thông thì việc sử dụng các hệthống đèn 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ầnthiết Qua thực tế chúng em nhận thấy vấn đề này là rất thiết thực Hơn nữa, chúng
em đã được trang bị nhiều kiến thức trong quá trình học tập và nghiên cứu tại
trường, vì vậy chúng em đã lựa chọn đề tài: “Ứng dụng vi điều khiển 8051, thiết
kế mạch điều khiển đèn giao thông 2 luồng
Trong suốt quá trình thực hiện đề tài chúng em đã nhận được sự hướng dẫntận tình của cô và các thầy cô trong khoa Điện Chúng em xin chân thành cảm ơncác thầy cô Tuy nhiên trong quá trình thực hiện đồ án, do kiến thức hiều biết cònhạn chế cũng như chúng em chưa có nhiều điều kiện khảo sát thực tế, thời gian làm
đồ án không dài, vì vậy đồ án của chúng em không tránh khỏi những thiếu sót.Chúng em rất mong thầy cô và các bạn đóng góp và bổ sung ý kiến để đồ án củachúng em thêm hoàn thiện hơn
Chúng em xin chân thành cảm ơn!
Trang 2CHƯƠNG 1
TỔNG QUAN HỌ VI ĐIỀU KHIỂN 8051
1.1 Giới thiệu chung về vi điều khiển 8051
Họ vi điều khiển MCS-51 do Intel sản xuất là các IC thiết kế cho các ứngdụng hướng điều khiển Các IC này chính là một hệ thống vi xử lý hoàn chỉnh baogồm các thành phần của hệ vi xử lý: CPU, bộ nhớ, các mạch giao tiếp, điều khiểnngắt…
MCS-51 là họ vi điều khiển sử dụng cơ chế CISC (Complex Instruction SetComputer), có độ dài và thời gian thực thi của các lệnh khác nhau Tập lệnh cungcấp cho MCS-51 có các lệnh dung cho điều khiển xuất/nhập tác động đến từng bit
AT89C51 là một vi điều khiển thuộc họ 8051, chế tạo theo công nghệCMOS, có tốc độ cao và công suất thấp với bộ nhớ Flash có thể lập trình được Nóđược sản xuất với công nghệ bộ nhớ không bay hơi mật độ cao của hang Atmel.AT89C51 có 40 chân, đóng gói theo tiêu chuẩn PDIP
Trang 3Cấu trúc vi điều khiển 8051
Các đặc điểm tiêu chuẩn của họ 8051:
4 KB PEROM, có khả năng tới 1000 chu kỳ ghi xóa
AT89C51 được thiết kế với logic tĩnh cho hoạt động có tần số giảm xuống 0
và hỗ trợ hai chế độ tiết kiệm năng lượng được lựa chọn bằng phần mềm Chế độnghỉ dừng CPU trong khi vẫn cho phép RAM, các bộ Timer/Counter, cổng nối tiếp
và hệ thống ngắt tiếp tục hoạt động Chế độ nguồn giảm duy trì nội dung của RAMnhưng không cho mạch dao động cung cấp xung clock, nhằm vô hiệu hóa các hoạtđộng khác của chip cho đến khi có reset cứng tiếp theo
1.2 Chức năng các chân vi điều khiển 8051
1.2.1 Các cổng vào/ra song song
Trang 4AT89C51 có 4 cổng vào/ra song song 8 bit (Port 0, Port 1, Port 2, Port 3),các cổng này có thể sử dụng như là các cổng vào hoặc cổng ra của dữ liệu.
Cổng P0: Chân 32- 39, dùng để trao đổi thông tin về dữ liệu hoặc đưa ra các địachỉ mức thấp theo chế độ dồn kênh Để có thể vừa làm đầu ra vừa làm đầu vào thìmỗi chân phải được nối tới một điện trở kéo 10KΩ bên ngoài vì cổng P0 có dạngcực máng hở
Cổng P1: Chân 1- 8, chỉ có một chức năng là nhập/xuất dữ liệu (Input/Output).Không cần điện trở kéo vì đã có các điện trở kéo bên trong
Cổng P2: Chân 21- 28, có hai chức năng:
Chức năng I/O dùng làm ngõ vào, trước đó phải reset mức logic 1
Chức năng địa chỉ: dùng làm 8 bit địa chỉ cao khi cần bộ nhớ ngoài có địachỉ 16 bit Khi đó P2 không được dùng cho mục đích I/O
Cổng P3: Chân 10- 17, có hai chức năng:
Chức năng I/O dùng làm ngõ vào, trước đó phải reset mức logic 1
Các chức năng khác:
P3.0 RxD Ngõ vào dữ liệu cổng nối tiếpP3.1 TxD Ngõ ra dữ liệu cổng nối tiếpP3.2 INT0 Ngõ vào ngắt ngoài 0
P3.3 INT1 Ngõ vào ngắt ngoài 1P3.4 T0 Ngõ vào bộ định thời/bộ đếm 0P3.5 T1 Ngõ vào bộ định thời/bộ đếm 1P3.6 WR Tín hiệu nghi dữ liệu bộ nhớ ngoàiP3.7 RD Tín hiệu đọc dữ liệu bộ nhớ ngoài
1.2.2 Các chân tín hiệu điều khiển
Chân cho phép bộ nhớ chương trình PSEN (Program Storage Enable):
Tín hiệu PSEN là tín hiệu ra ở chân 29 có tác dụng kép
Cho phép đọc bộ nhớ chương trình ngoài, thường được nối đến chân OE(Out Enable) của EPROM cho phép đọc các byte mã lệnh Tín hiệu PSEN ở mứclogic 0 trong thời gian vi điều khiển tìm nạp lệnh Các mã lệnh được đọc từ
Trang 5EPROM qua bus dữ liệu và được chốt vào thanh ghi lệnh IR của vi điều khiển đểgiải mã.
Khi vi điều khiển thi hành chương trình trong ROM nội PSEN sẽ ở mức logic 1
Chân cho phép chốt địa chỉ ALE/PROG (Address Latch Enable):
Chân tín hiệu ALE (chân 30) đưa tín hiệu ra xung điều khiển cho phép chốt bytethấp của địa chỉ khi vi điều khiển truy xuất bộ nhớ ngoài
Chân này cũng là đầu vào của xung lập trình khi lập trình cho FLASH, khi đó chântín hiệu ở mức 0
Khi hoạt động bình thường, tín hiệu ALE phát ra với tần số không đổi bằng 1/6 lầntần số của bộ tạo dao động trên chip, và có thể sử dụng cho mục đích định thời.Tuy nhiên sẽ có một xung ALE bị bỏ qua mỗi khi vi điều khiển truy xuất bộ nhớngoài
Chân tín hiệu truy xuất ngoài EA (External Access):
Tín hiệu vào EA (chân 31) được cấp nguồn 5V (mức logic 1) hoặc nối với GND(mức logic 0) Nếu ở mức 1, vi điều khiển thi hành chương trình ở ROM nội Nếu
ở mức 0, vi điều khiển thi hành chương trình ở bộ nhớ mở rộng
Chân EA được lấy làm chân cấp nguồn 12V khi lập trình FLASH trong vi điềukhiển
Chân thiết lập lại RST (Reset):
Ngõ vào RST ở chân số 9 là ngõ vào xóa chính (Master Reset) của 8051 dùng đểthiết lập lại trạng thái ban đầu cho hệ thống hay gọi là Reset hệ thống Các thanhghi bên trong được nạp những giá trị thích hợp để khởi động hệ thống
Các chân XTAL1 và XTAL2:
Mạch dao động bên trong chip 8051 được ghép với thạch anh bên ngoài ở 2chân XTAL1(chân 19) và XTAL2(chân 18) Tần số thạch anh thường sử dụng cho
Trang 6Các thanh ghi nội của AT89C51 được truy xuất ngầm định bởi bộ lệnh,được định dạng như một phần của RAM trên chip vì vậy mỗi thanh ghi sẽ có mộtđịa chỉ (ngoại trừ thanh ghi bộ đếm chương trình và thanh ghi lệnh vì các thanh ghinày hiếm khi bị tác động trực tiếp) Vi điều khiển AT89C51 có 21 thanh ghi cóchức năng đặc biệt ở vùng trên của RAM nội từ địa chỉ 80H đến FFH.
Tất cả 128 địa chỉ từ 80H đến FFH không được định nghĩa, chỉ có 21 thanhghi có chức năng đặc biệt được định nghĩa sẵn các địa chỉ
1.2.3.1 Thanh ghi điều khiển bộ định thời/bộ đếm TCON ( Timer/Counter Control
Register)
Thanh ghi này bao gồm các bit trạng thái và các bit điều khiển bởi Timer 0,Timer 1 Thanh ghi TCON có bit định vị
Ký hiệu: TCONChức năng: điều khiển bộ định thời/bộ đếm
Địa chỉ byte: 88HĐịnh địa chỉ bit: có
T
F
T R
T F
T R
I E
I T
I E
I T
TR
1
TCON
6
8EH Bit điều khiển bô định thời 1 hoạtđộng Được Set/Clear bởi phần mềm
để điều khiển bộ định thời 11 hoạtđộng hoặc ngưng hoạt động
5
8DH
Trang 7IT1 TCON.
2
8AH
Bit điều khiển chọn ngắt ĐượcSet/Clear để xác định ngắt ngoàithuộc loại tác động cạnh xuống haytác động mức thấp
1
89H Cờ ngắt ngoài 0 tác động cạnh
0 88H Bit điều khiển chọn loại ngắt.
1.2.3.2 Thanh ghi TMOD (Timer/Counter Mode Control Register)
Thanh ghi này gồm 2 nhóm 4 bit: 4 bit thấp đặt mode hoạt động cho Timer
0 và 4 bit cao đặt mode hoạt động cho Timer 1
Ký hiệu: TMODChức năng: điều khiển chọn chế độ định thời/bộ đếm
Địa chỉ byte: 89HĐịnh địa chỉ bit: không
C/T Bit chọn chức năng đếm hay định thời cho bộ định thời/đếm KhiC/T = 0, bộ định thời/đếm hoạt động định thời(dùng xung Clock
nhận từ ngõ vào Tx)
M1 Bit chọn chế độ
M0 Bit chọn chế độ
1.2.3.3 Hệ các thanh ghi phục vụ định thời
Hệ thanh ghi này gồm 4 thanh ghi nó cho phép lập trình viên nạp giá trị cho
bộ định thời Thực tế chỉ 2 thanh ghi 16 bit nhưng nó được cắt đôi thành 4 thanhghi 8 bit Trong đó 2 thanh phục vụ cho Timer 0 và 2 thanh phục vụ cho Timer 1
Trang 8Bộ Timer 0 có hai thanh ghi là TH0 và TL0, hai thanh ghi này không định địa chỉbit.
Thanh ghi 8 bit TH0 Thanh ghi 8 bit TL0
Bộ Timer 1 có hai thanh ghi là TH1 và TL1, hai thanh ghi này không định địa chỉbit
Thanh ghi 8 bit TH1 Thanh ghi 8 bit TL1
Trong các ứng dụng định khoảng thời gian, người ta lập trình timer ở nhữngkhoảng đều đặn và đặt cờ tràn timer Cờ được dùng để đồng bộ hóa chương trình
để thực hiện một tác động như kiểm tra trạng thái của các ngõ vào hoặc gửi sự kiện
ra các ngõ ra Các ứng dụng khác có thể sử dụng việc tạo xung nhịp đều đặn củatimer để đo thời gian trôi qua giữa hai sự kiện (ví dụ đo độ rộng xung)
Thanh ghi ngắt (INTERRUPT):
Một ngắt là sự xảy ra một điều kiện, một sự kiện mà nó gây ra treo tạm thờithời chương trình chính trong khi điều kiện đó được phục vụ bởi một chương trìnhkhác
Các ngắt đóng một vai trò quan trọng trong thiết kế và cài đặt các ứng dụng
vi điều khiển Chúng cho phép hệ thống đáp ứng bất đồng bộ với một sự kiện vàgiải quyết sự kiện đó trong khi một chương trình khác đang thực thi
1.2.4 Tổ chức bộ nhớ
AT89C51 có không gian bộ nhớ riêng cho chương trình và dữ liệu Cả hai
bộ nhớ chương trình và dữ liệu đều đặt bên trong chip, tuy nhiên ta có thể mở rộng
bộ nhớ chương trình và bộ nhớ dữ liệu bằng cách sử dụng các chip nhớ bên ngoàivới dung lượng tối đa là 64KB cho bộ nhớ chương trình (hay bộ nhớ mã) và 64KBcho bộ nhớ dữ liệu
Bộ nhớ nội trong chip bao gồm ROM và RAM RAM trên chip bao gồmvùng RAM đa chức năng (nhiều công dụng), vùng RAM với từng bit được định địachỉ (gọi tắt là vùng RAM định địa chỉ bit), các dãy (bank) thanh ghi và các thanhghi chức năng đặc biệt SFR (special funtion register Không gian nhớ nội này được
Trang 9chia thành: các dãy thanh ghi (00H ÷ 1FH), vùng RAM định địa chỉ bit(20H÷2FH), vùng RAM đa mục đích (30H÷7FH) và các thanh ghi chức năng đặcbiệt (80H÷FFH).
Vùng RAM đa mục đích
Vùng RAM đa mục đích có 80 byte đặt ở địa chỉ từ 30H đến 7FH, bên dướivùng này từ địa chỉ 00H đến 2FH là vùng nhớ có thể được sử dụng tương tự (mặc
dù các vị trí nhớ này có các mục đích khác)
Vùng RAM định địa chỉ bit
AT89C51 chứa 210 vị trí bit được định địa chỉ trong đó 128 bit chứa trongcác byte ở địa chỉ từ 20H đến 2FH và phần cũn lại chứa trong cỏc thanh ghi chứcnăng đặc biệt
Các dãy thanh ghi
32 vị trớ thấp nhất của bộ nhớ nội chứa các dãy thanh ghi
1.2.5 Bộ nhớ ngoài
Các bộ vi điều khiển cần có khả năng mở rộng các tài nguyên trên chip (bộnhớ, I/O, v.v…) để tránh hiện tượng cổ chai trong thiết kế Cấu trúc của MCS-51cho ta khả năng mở rộng không gian bộ nhớ chương trình đến 64K và không gian
bộ nhớ dữ liệu đến 64K ROM và RAM được thêm vào khi cần
Truy xuất bộ nhớ chương trình ngoài
Bộ nhớ chương trình ngoài là bộ nhớ chỉ đọc, được cho phép bởi tín hiệuPSEN
Truy xuất bộ nhớ dữ liệu ngoài
Bộ nhớ dữ liệu ngoài là bộ nhớ đọc/ghi được cho phép bởi các tín hiệu RD
và WR ở các chân P3.7 và P3.6
Giải mã địa chỉ
Nếu nhiều EPROM hoặc nhiều RAM hoặc cả hai giao tiếp với 89C51 ta cầnphải giải mã địa chỉ Một IC giải mã điển hình là 74HC373
Trang 10CHƯƠNG 2
NGHIÊN CỨU VÀ THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN ĐÈN GIAO
THÔNG 2 LUỒNG
2.1 Yêu cầu và mục đích của hệ thống điều khiển đèn 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ôngngừng và hệ thống giao thông ngày càng phức tạp đã dẫn đến tình trạng ùn tắc vàtai nạn giao thông ngày càng tăng theo Vì vậy để đảm bảo giao thông được antoà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ânluồ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 đèn giao thông cần đảm bảo những yêu cầu sau:
Đảm bảo hoạt động 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
Đơn giản, dễ thiết kế, dễ lắp đặt, dễ sửa chữa
Chi phí rẻ nhất có thể
2.2 Hệ thống điều khiển đèn giao thông 2 luồng
Trang 11Nút giao thông gồm 2 luồng A-C và B-D
Hệ thống hoạt động như sau:
Trang 12Giả thiết tại thời điểm ban đầu đèn xanh tại A-C sáng cho phép các phươngtiện di chuyển từ A sang C, Sau một khoảng thời gian, đèn vàng A-C sang báo hiệucho các phương tiện trên luồng A-C giảm tốc độ Sau đó đèn xanh B-D sáng chophép phương tiện được di chuyển, đồng thời đèn đỏ A-C sáng không phương tiện
di chuyển trên luồng của họ Việc hoạt động của các đèn đối xứng với nhau Đènxanh của hướng này sẽ đi cùng với đèn đỏ của hướng còn lại Và đèn đỏ sẽ đi vớiđèn vàng và đèn xanh của hướng còn lại
Quá trình trên cứ lặp đi lặp lại Thời gian hiển thị của 2 luồng: Đỏ = Xanh + Vàng
2.3 Phương án thiết kế
Hiện nay việc sử dụng các mạch số kết hợp với chip vi điều khiển trong các
hệ thống điều khiển tự động đã trở nên rất phổ biến vì những ưu điểm của nó: độchính xác, khả năng lập trình được, tốc độ điều khiển nhanh, sư dụng đơn giản…Mặt khác, vi điều khiển là lĩnh vực đang phát triển mạnh mẽ và có nhiều ứng dụngtrong các ngành sản xuất Vì vậy ta sẽ thiết kế một hệ thống đèn giao thông sửdụng bộ vi điều khiển Phương án này có đặc điểm là mạch gọn nhẹ, không quáphức tạp, lập trình đơn giản, dễ chỉnh sửa
Trang 13Các vi điều khiển sử dụng trong hệ thống:
Vi điều khiển AT89C51
Led 7 thanh, loại 7SEG-MPX2-CA nối anode chung
Các Led đơn hiển thị đèn xanh, vàng, đỏ
Một số linh kiện hỗ trợ mạch: điện trở, tụ điện, thạch anh, IC 74LS32, IC 7404,…
2.4 Tìm hiểu một số linh kiện sử dụng trong mạch
Trang 142.4.3 Bộ tạo dao động
Bộ dao động đồng bộ hóa hoạt động của tất cả các mạch bên trong vi điềukhiển Nó thường được tạo bởi thạch anh hoặc gốm để ổn định tần số Các lệnhkhông được thực thi theo tốc độ của bộ dao động mà thường châm hơn, bởi vì mỗicâu lệnh thực hiện qua nhiều bước Mỗi loại vi điều khiển cần có số chu kỳ khácnhau để thực hiện lệnh Hai đầu vào ra của bộ dao động nối với 2 chân XTAL1 vàXTAL2 của vi điều khiển
Trang 15Vàng 5s
END
Xanh 40s Vàng 5s
đỏ 45s
Trang 174.1.2 Khối điều khiển đèn
4.1.3 Khối tín hiệu điều khiển và Reset
Trang 194.1.4 Sơ đồ mạch nguyên lý chung
A C E G
DO VANG XANH
DO1 VANG1 XANH1
DO1 VANG1 XANH1
ALE 30 EA 31 PSEN 29 RST 9
D1TT
LED-BLUE A K
D2TT
LED-YELLOW A K
D4T
LED-BLUE A K
D5T
LED-YELLOW A K
D7N
LED-BLUE A K
D8N
LED-YELLOW A K
D10NN
LED-BLUE A K
D11NN
LED-YELLOW A K
CALL CTA
Trang 23KẾT LUẬN
Đồ án “Ứng dụng vi điều khiển 8051, thiết kế mạch điều khiển đèn giao
thông 2 luồng và người đi bộ dùng led 7 thanh” nhằm cải thiện tình hình giao
thông tại các nút giao thông trọng điểm, giải quyết tốt nhất nhiệm vụ của đèn giaothông giúp cho giao thông được thông suốt và hợp lý Trong đồ án này em chủ yếutìm hiểu hệ thống đèn giao thông 2 luồng và người đi bộ nhằm thiết kế một hệthống hoàn chỉnh giúp giải quyết phần nào tình trạng giao thông phức tạp như hiệnnay
Sau khi thực hiện đồ án em đã tập hoàn thành các nội dung như sau: Mô tảthực trạng tại các nút giao thông, tìm hiểu về vi điều khiển 89C51, ứng dụng viđiều khiển xây dựng mô hình thực hệ thống điều khiển đèn giao thông Đồ án đượcthực hiện trong một thời gian ngắn không tránh khỏi những sai sót mong các thầy
cô thông cảm và giúp đỡ em hoàn thiện đồ án này
Chúng em xin chân thành cảm ơn!
Chí Linh, ngày 20 tháng 6 năm 2016
Sinh viên