Báo cáo đề tài: Thiết kế mạch điều khiển đèn tín hiệu giao thông dùng IC AT89C51 - Pdf 13

BỘ GIAO THÔNG VẬN TẢI
TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP. HCM

BÀI TẬP LỚN
MÔN: KỸ THUẬT VI XỬ LÝ
GIẢNG VIÊN:
Đề tài : ỨNG DỤNG 8051 ĐIỀU KHIỂN ĐÈN GIAO THÔNG
Nhóm SV thực hiện:
Nhóm 1:

Tp. Hồ Chí Minh, Tháng 12 năm 2013
Nhóm 1 Khoa Điện-Điện tử viễn thông

PHỤ LỤC Trang
PHẦN I - TỔNG QUAN VỀ ĐÈN GIAO THÔNG 1
Phần 2 - KHẢO SÁT VI ĐIỀU KHIỂN AT89C51 2
Phần III - ỨNG DỤNG 8051 ĐIỀU KHIỂN ĐÈN GIAO THÔNG 12
Địa chỉ và mức điều khiển 16
1.4.Sơ đồ nguyên lý mạch phần cứng 17
Chương II – Xây dựng lưu đồ thuật toán 19
Chương III – Viết chương trình (Dùng ngôn ngữ C , Assembly , lập trình bằng phần mêm Keil
C51 23
Nhóm 1 Khoa Điện-Điện tử viễn thông
LỜI NÓI ĐẦU
Trong những năm gần đây trên thế giới cùng với sự phát triển mạnh mẽ của ngành
công nghiệp chế tạo linh kiện bán dẫn và vi mạch tổng hợp, một hướng phát triển mới của
các vi xử lý đã hình thành đó là các vi điều khiển. Với nhiều ưu điểm, vi điều khiển đã được
sử dụng rộng rãi trên nhiều lĩnh vực khác nhau. Bằng cách áp dụng vi đều khiển trong quá
trình sản xuất và xử lý, vi điều khiển đã thực sự thể hiện được ưu thế của mình so với các
thiết bị điều khiển thông thường.Vì những lý do trên, trong nhiều trường Đại Học, Cao
Đẳng, vi xử lý thực sự trở thành một môn học hết sức quan trọng, vi xử lý 8051 gần như là

lẽ rồi dần trở nên phổ biến như hiện nay. Trong đó hệ thống đèn giao thông là công cụ điều
khiển giao thông công cộng thực tế và hiệu quả có vai trò rất lớn trong việc đảm bảo an toàn
và giảm thiểu tai nạn giao thông.
Từ thực tế đó nhóm chúng em thực hiện đề tài “Thiết kế mạch đèn giao thông dùng
vi điều khiển 8051” nhằm giúp cho mọi người nhất là tầng lớp sinh viên có ý thức hơn
trong việc chấp hành luật lệ an toàn giao thông.
Với yêu cầu khi hệ thống chạy, các đèn xanh, vàng và đỏ sáng trong thời gian
mặc định tương ứng là 30s, 5s và 25s. Ngoài ra còn có chế độ bằng tay và điều
chỉnh thời gian cho các đèn.
1.2 Các thành phần chính của hệ thống đèn giao thông dùng vi điều khiển
AT89C51
Hệ thống đèn giao thông gồm 4 phần chủ yếu sau:
− Mạch điều khiển trung tâm dùng vi điều khiển AT89C51.
− Mạch dao động, reset.
− Mạch hiển thị thời gian, trạng thái đèn.
− Phím nhấn điều khiển trạng thái đèn, chỉnh thời gian.
1.3 Nguyên lý hoạt động
Mạch đèn giao thông hoạt động dựa trên nội dung đã lập trình cho AT89C51, khi có tác
động từ các nút điều khiển mạch hoạt động theo đúng thời gian yêu cầu. AT89C51 đưa dữ
liệu đến các LED xanh, đỏ, vàng để điều khiển các LED này đóng, mở. Ngoài ra, nó còn
xuất dữ liệu đến các BJT để điều khiển các LED 7 đoạn. LED 7 đoạn còn nhận dữ liệu từ vi
điều khiển trung tâm để thực hiện việc đếm lùi thời gian. Chúng ta sử dụng ngắt ngoài 0 và
ngắt ngoài 1 để điều khiển đèn tín hiệu giao thông bằng tay và cài đặt thời gian cho các đèn
(Xanh, đỏ, vàng).
Như vậy mỗi khi mạch bắt đầu thực hiện đếm lùi, nếu trục lộ bên này đèn xanh hoặc
vàng sáng thì trục lộ bên kia đèn đỏ sáng và ngược lại. Bộ phận điều khiển AT89C51 là các
1
Nhóm 1 Khoa Điện-Điện tử viễn thông
nút nhấn. Tùy theo thời gian yêu cầu mà ta điều khiển các trục giao thông sáng. AT89C51 sẽ
xuất ra các cổng I/O những xung ở mức cao hoặc mức thấp để điều khiển các BJT từ đó điều

Hình 2.2 Sơ đồ chân của AT89C51
AT89C51 có tất cả 40 chân. Mỗi chân có chức năng như các đường I/O (xuất/nhập),
trong đó 24 chân có công dụng kép: mỗi đường có thể hoạt động như một đường I/O hoặc
như một đường điều khiển hoặc như thành phần của bus địa chỉ và bus dữ liệu.
1.6 Các chân
Hình 2.2 cho ta sơ đồ chân của chip 89C51. Mô tả tóm tắt chức năng của từng chân như
sau.
Như ta thấy trong hình 2.1, 32 trong số 40 chân của 89C51 có công dụng xuất/nhập, tuy
nhiên 24 trong 32 đường này có 2 mục đích (công dụng). Mỗi một đường có thể hoạt động
xuất/nhập hoặc hoạt động như một đường điều khiển hoặc hoạt động như một đường địa
chỉ/dữ liệu của bus địa chỉ/dữ liệu đa hợp.
32 chân nêu trên hình thành 4 port 8 bit. Với các thiết kế yêu cầu một mức tối thiểu bộ
nhớ ngoài hoặc các thành phần bên ngoài khác, ta có thể sử dụng các port này làm nhiệm vụ
xuất/nhập. 8 đường cho mỗi port có thể được xử lý như một đơn vị giao tiếp với các thiết bị
song song như máy in, bộ biến đổi D-A, v.v… hoặc mỗi đường có thể hoạt động độc lập
giao tiếp với một thiết bị đơn bit như chuyển mạch, LED, BJT, động cơ, loa, v.v…
1.6.1 Vcc
Chân cung cấp điện (5V).
1.6.2 GND
Chân nối đất (0V).
3
Nhóm 1 Khoa Điện-Điện tử viễn thông
1.6.3 Các Port
1.6.3.1 Port 0
Port 0 (các chân từ 32 đến 39 trên 89C51) có hai công dụng. Trong các thiết kế có tối
thiểu thành phần, port 0 được sử dụng làm nhiệm vụ xuất/nhập. Trong các thiết kế lớn hơn
có bộ nhớ ngoài, port 0 trở thành bus địa chỉ và bus dữ liệu đa hợp.
1.6.3.2 Port 1
Port 1 chỉ có công dụng là xuất/nhập (các chân từ 1 đến 8 trên 89C51). Các chân của
port 1 được ký hiệu là P1.0, P1.1, … , P1.7 và được dùng để giao tiếp với thiết bị bên ngoài

bit 1) được lập trình, EA sẽ được chốt bên trong khi reset.
EA nên nối với Vcc để thực thi chương trình bên trong chip.
Chân EA/Vpp còn nhận điện áp cho phép lập trình Vpp trong thời gian lập trình cho
Flash, điện áp này cấp cho các bộ phận có yêu cầu điện áp 12V.
1.6.7 RESET (RST)
Ngõ vào RST (chân 9). Mức cao trên chân này trong 2 chu kỳ máy trong khi bộ dao
động đang hoạt động sẽ reset AT89C51.
1.6.8 XTAL1 & XTAL2
XTAL1 ngõ vào đến mạch khuếch đại đảo của mạch dao động và ngõ vào đến mạch tạo
xung clock bên trong chip.
XTAL2 ngõ ra từ mạch khuếch đại đảo của mạch dao động.
1.7 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ài với dung lượng tối đa là
64KB cho bộ nhớ chương trình (hay bộ nhớ mã) và 64KB cho bộ nhớ dữ liệu.
Bộ nhớ nội trong chip bao gồm ROM và RAM. RAM trên chip bao gồm vùng RAM đa
chức năng (nhiều công dụng), vùng RAM với từng bit được định địa chỉ (gọi tắt là vùng
RAM định địa chỉ bit), các dãy (bank) thanh ghi và các thanh ghi chức năng đạc biệt SFR
(special funtion register).
Hình 2.2 cho ta chi tiết của bộ nhớ dữ liệu trên chip. Ta thấy rằng không gian nhớ nội
này được chia 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 đặc biệt (80H÷FFH).
5
Nhóm 1 Khoa Điện-Điện tử viễn thông
1.7.1 Vùng RAM đa mục đích
Mặc dù hình 2.2 trình bày vùng RAM đa mục đích có 80 byte đặt ở địa chỉ từ 30H đến
7FH, bên dưới vù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).
Hình 2.3 Bộ nhớ dữ liệu trên chip 89C51

2.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: TCON
Chức năng: điều khiển bộ định thời/bộ đếm.
Địa chỉ byte: 88H
Định địa chỉ bit: có.
TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
7 6 5 4 3 2 1 0
Định nghĩa bit:
Ký hiệu Vị trí Địa chỉ Mô tả
TF1 TCON.7 8FH
Cờ tràn bộ định thời 1. Được Set bởi phần cứng khi
bộ định thời/đếm bị tràn, được xóa bởi phần mềm
hoặc phần cứng khi trình phục vụ ngắt được trỏ
TR1 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.
TF0 TCON.5 8DH Cờ tràn bộ định thời 0
TR0 TCON.4 8CH Bit điều khiển bộ định thời 0 hoạt động.
IE1 TCON.3 8BH
Cờ ngắt ngoài 1 tác động cạnh. Được Set bởi phần
cứng khi phát hiện có ngắt ngoài tác động cạnh,
được xóa bởi phần cứng khi ngắt được xử lý.
8
Nhóm 1 Khoa Điện-Điện tử viễn thông
IT1 TCON.2 8AH
Bit điều khiển chọn ngắt. Được Set/Clear để xác

0 1 1 Bộ định thời/đếm 16 bit.
1 0 2 Bộ định thời/đếm 8 bit tự động nạp lại.
9
Nhóm 1 Khoa Điện-Điện tử viễn thông
1 1 3
Bộ định thời 0: TL0 là bộ định thời/đếm 8 bit được điều khiển
bởi các bit điều khiển bộ định thời 0. TH0 là bộ định thời 8 bit
được điều khiển bởi các bit điều khiển bộ định thời 1. Bộ định
thời 1: Bộ định thời/đếm 1 ngưng hoạt động.
2.1.2. 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 thanh ghi 8 bit. Trong đó
2 thanh phục vụ cho Timer 0 và 2 thanh phục vụ cho Timer 1.
Bộ 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
Địa chỉ: 8CH Địa chỉ: 8AH
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
Địa chỉ: 8DH Địa chỉ: 8BH
Thanh ghi TIMER
Vi Điều Khiển 89C51 có 2 timer 16 bit, mỗi timer có bốn cách làm việc. Người ta sử
dụng các timer để:
o Định khoảng thời gian.
o Đếm sự kiện.
o Tạo tốc độ baud cho port nối tiếp.
o Trong các ứng dụng định khoảng thời gian, người ta lập trình timer ở những khoả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ủa timer để
đo thời gian trôi qua giữa hai sự kiện (ví dụ đo độ rộng xung).

Tóm tắt thanh ghi IP
o  Nếu 2 ngắt xảy ra đồng thời thì ngắt nào có nào có mức ưu tiên cao hơn sẽ được
phục vụ trước.
o  Nếu 2 ngắt xảy ra đồng thời có cùng mức ưu tiên thì thứ tự ưu tiên được thực
hiện từ cao đến thấp như sau: ngắt ngoài 0 – timer 0 – ngắt ngoài 1 – timer 1 – cổng
nối tiếp – timer 2.
o  Nếu chương trình của một ngắt có mức ưu tiên thấp đang chạy mà có một ngắt
xảy ra với mức ưu tiên cao hơn thì chương trình này tạm dừng để chạy một chương
trình khác có mức ưu tiên cao hơn.
o - Cho phép và cấm ngắt:
11
Nhóm 1 Khoa Điện-Điện tử viễn thông
o Mỗi nguồn ngắt được cho phép hoặc cấm ngắt qua một thanh ghi chức năng đặt biệt
có định địa chỉ bit IE (Interrupt Enable: cho phép ngắt) ở địa chỉ A8H.
o Bảng 2.5 Tóm tắt thanh ghi IE
Phần III - ỨNG DỤNG 8051 ĐIỀU KHIỂN ĐÈN GIAO THÔNG.
Chương I – XÂY DỰNG PHẦN CỨNG.
Bit Ký hiệu Địa chỉ bit Mô tả
IE.7 EA AFH Cho phép / Cấm toàn bộ
IE.6 _ AEH Không được mô tả
IE.5 ET2 ADH Cho phép ngắt từ Timer 2 (8052)
IE.4 ES ACH Cho phép ngắt port nối tiếp
IE.3 ET1 ABH Cho phép ngắt từ Timer 1
IE.2 EX1 AAH Cho phép ngắt ngoài 1
IE.1 ET0 A9H Cho phép ngắt từ Timer 0
12
Nhóm 1 Khoa Điện-Điện tử viễn thông
1.1. Mạch dao động và mạch Reset
Hình 3.1 Mạch dao động và mạch Reset
a. Mạch dao động

12
TA
f
f
=
Chu kỳ máy = thời gian sử lý 1 lệnh: T =
f
1
Khi reset thì trạng thái của RAM nội không thay đổi, bảng trạng thái của các thanh ghi
khi reset
1.2. Mạch hiển thị đếm ngược LED 7 đoạn
Khối hiển thị đếm ngược led 7 đoạn: hiển thị thời gian của các chế độ thời gian, được
hiển thị trên led 7 đoạn, các chân của led được nối thông qua một điện trở thanh để nối với
IC vi điều khiển.
Hình 3.3 Hình dạng điện trở thanh
Việc giải mã nhị phân sang led 7 đoạn điều được thực hiện trên vi điều khiển. Led 7
đoạn được nối theo kiểu anode chung, trong mạch này :chân A nôt chung của các led được
điều khiên gián tiếp từ chân P2.0 đến P2.3 thông qua các Trasistor H1061 (loại NPN). Led
hoạt động với dòng từ 10mA đến 20mA. Sử dụng port (P0): P0.0, P0.1, P0.2, P0.3, P0.4,
P0.5, P0.6, P0.7 , để điều khiển các chân K tốt . Với các chân A nốt chung được điều khiển
thông qua các transistor H1061, điều khiển hoạt động ở chế độ bão hòa cung cấp dòng cho
14
Nhóm 1 Khoa Điện-Điện tử viễn thông
LED sáng. Transistor H1061 được nối với port (P2): P2.0, P2.1, P2.2, P2.3 của vi điều khiển
có chức năng khuyếch đại dòng cho led 7 đoạn hoạt động bình thường. Các chân từ P1.0
đến P1.5 dùng để điều khiển thời gian sáng tối của các đèn báo xanh đỏ vàng của hai làn
đường.
Cụ thể bảng địa chỉ như sau và mưc điều khiển các Led 7 đoạn như sau.
a. Địa chỉ điều khiển các chân K chung của Led 7 đoạn:
-P2.0: Thanh A của các led 7 đoạn.

R. Và nó được điều khiển bởi các chân P0.0 đến P0.5.
Vì LED đơn có dòng hoạt động khoảng 10mA trở lên nên ta có thể chọn điện trở R sao
cho phù hợp.
Nguồn được cấp: Vcc = +5V.
Điện áp phân cực thuận của các LED:
-Led xanh : V
x
= 2V - 2.8V.
-Led vàng : V
v
= 2V - 2.5V.
-Led đỏ : V
d
= 1.4V - 1.8V.
* Mức điểu khiển các đền báo vàng xanh đỏ.
- Mức 1: Đèn sáng.
- Mức 0: Đèn tắt.
1.4. Sơ đồ nguyên lý mạch phần cứng.
16
Nhóm 1 Khoa Điện-Điện tử viễn thông
Chương II – XÂY DỰNG LƯU ĐỒ THUẬT TOÁN.

LƯU ĐỒ
THUẬT TOÁN
CHƯƠNG
TRÌNH
CHÍNH
17

START

SoGiayLan1 = 30.
SoGiayLan2 = 25.
Nhóm 1 Khoa Điện-Điện tử viễn thông

19
Chạy chương trình quét
led 7 đoạn.
Trễ 1s
SoGiayLan1 = SoGiayLan1 – 1.
SoGiayLan2 = SoGiayLan2 – 1.
SoGiayLan2=
0
?
Tắt Đèn : Xanh2
Bật Đèn : Vang2
.
SoGiayLan2 = 5.
Sai
Đúng
Chạy chương trình quét
led 7 đoạn.
Trễ 1s
Nhóm 1 Khoa Điện-Điện tử viễn thông

20
SoGiayLan1 = SoGiayLan1 – 1.
SoGiayLan2 = SoGiayLan2 – 1.
SoGiayLan1=
0
?

?
?
THOÁT
CHẾ ĐỘ
TAY
?
?
THOÁT
CHẾ ĐỘ
TAY
?
?
EXIT

START
EXIT

START
EXIT

START
Nhóm 1 Khoa Điện-Điện tử viễn thông
S
S SS SS S
Đ
Đ
22
Đ
Đ
TẮT XANH 2 BẬT VÀNG 2


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status