Tải bản đầy đủ (.pdf) (50 trang)

Ứng dụng vi điều khiển thiết kế mạch đèn giao thông tại 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 (1.26 MB, 50 trang )

ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC SƯ PHẠM
KHOA VẬT LÝ
----------

HUỲNH THỊ NGỌC

ỨNG DỤNG VI ĐIỀU KHIỂN THIẾT KẾ
MẠCH ĐÈN GIAO THƠNG TẠI NGÃ TƯ

KHĨA LUẬN TỐT NGHIỆP


LỜI CẢM ƠN
Lời đầu tiên, chúng em xin chân thành cảm ơn thầy Lê
Xứng cùng quý thầy cô trong khoa Vật lý – trường Đại
học sư phạm Đà Nẵng.
Trong quá trình thực hiện đề tài chúng em gặp khơng ít
những khó khăn và thiếu sót. Nhưng được sự hướng dẫn
và chỉ dạy nhiệt tình của q thầy cơ đã giúp chúng em
khắc phục được những thiếu sót đó và có thể hoàn thiện
được đề tài đúng thời hạn.
Cảm ơn bạn bè, gia đình cũng đã giúp đỡ chúng em về
mặt kiến thức cũng như tinh thần trong suốt quá trình
chúng em thực hiện đề tài.
Do kiến thức còn hạn chế nên đề tài cịn nhiều sai xót,
chúng em rất mong được sự thông cảm của quý thầy cô.
Chúng em chân thành cảm ơn!
Đà Nẵng, tháng 05 năm 2012
Sinh viên thực hiện
Nguyễn Thị Thu Quỳnh


Huỳnh Thị Ngọc


PHẦN MỞ ĐẦU
1. Lý do chọn đề tài:
Công nghệ điện tử đang có những bước phát triển chóng mặt trong những năm gần
đây. Trong đó cơng nghệ vi điện tử đã có bước phát triển vượt bậc. Những con chip với
kích thước nhỏ gọn đang là sự lựa chọn tối ưu nhất cho các ứng dụng ngày nay.
Các chip càng tối ưu thì khả năng ứng dụng vào thực tế càng cao. Thực tế đã cho
thấy, những sản phẩm của công nghệ vi điện tử đã vươn tới mọi lĩnh vực trong cuộc sống,
từ sản xuất đến sinh hoạt hằng ngày. Trong tương lai công nghệ vi điện tử sẽ còn tiến xa
hơn để thoả mãn nhu cầu ngày càng cao của con người. Vi điều khiển là một sản phẩm
quan trọng của công nghệ vi điện tử, những chip vi điều khiển nhỏ gọn thực sự là một bộ
óc nhân tạo.
Chúng em đã được làm quen với vi điều khiển 8051, vì vậy qua việc thực hiện đề tài
“Ứng dụng vi điều khiển thiết kế mạch đèn giao thông tại ngã tư” này là một cơ hội
để chúng em nắm vững kiến thức hơn, đồng thời mong muốn có thể ứng dụng kiến thức
đã học để tạo ra sản phẩm có ích cho cuộc sống. Chúng em nghĩ đề tài này gần gũi với
thực tế và có nhiều hướng phát triển.
2. Mục đích của đề tài:
Hiện nay an tồn giao thông là vấn đề không chỉ riêng đối với Việt Nam mà nó là
vấn đề đang được cả thế giới quan tâm. Riêng đối với Việt Nam là một nước đang phát
triển,và đang trên đà gia tăng về dân số, do đó vấn đề này càng trở thành mối lo ngại
được đặt lên hàng đầu và cũng đang được các nhà chức năng quan tâm.
Tuy nhiên do điều kiện kinh tế, nhiều con đường chưa thể được mở rộng và nâng
cấp, lực lượng cảnh sát giao thông không đủ để đảm bảo việc đứng chốt trên tất cả các
ngã đường. Vì vậy trật tự an tồn giao thơng được xem là giải pháp tối ưu nhất để hạn
chế tai nạn giao thơng. Bên cạnh đó, tại các thành phố lớn thì mật độ dân số cao nên việc
giải quyết nạ kẹt xe cũng đang là vấn đề cấp thiết.



Theo em nghĩ xây dựng một hệ thống tín hiệu đèn giao thơng đơn giản, có thể được
ứng dụng và nhân rộng và đặt biệt là hoạt động ổn định, thay thế được vai trị của người
cảnh sát giao thơng là cần thiết và thực tế nhất. Không những thế, hệ thống đèn giao
thông này phải thật sự linh hoạt để đáp ứng các tình huống khi mà lượng xe lưu thơng
trên đường có sự thay đổi. Tùy những thời điểm khác nhau trong ngày, và tùy thuộc vào
các đoạn đường ưu tiên hay không ưu tiên mà ta chọn thời gian hiển thị các đèn cho phù
hợp, thông qua các chương trình tương ứng với các nút bấm. Từ những ý tưởng đó đi đến
mục đích để chúng em xây dựng mơ hình hệ thống đèn giao thơng này.
3. Đối tượng và phạm vi nghiên cứu:
a. Đối tượng:
- Các tài liệu về linh kiện và các IC liên quan.
- Các tài liệu liên quan đến thiết kế mạch và lắp ráp mạch.
b. Phạm vi:
Đề tài chỉ nghiên cứu lý thuyết về “ Mạch đèn giao thông tại ngã tư” và xây
dựng mơ hình thực tế.
4. Nhiệm vụ nghiên cứu:
Để đạt được các mục đích đề ra thì đề tài cần thực hiện các nhiệm vụ sau:
-

Nghiên cứu cở sở lý thuyết về vi điều khiển và các linh kiện liên quan để
phục vụ cho quá trình thiết kế mạch.

-

Xây dựng một mơ hình “ Mạch đèn giao thơng”có tính thực tế cao, đúng
với mục đích được đặt ra.

5. Phương pháp nghiên cứu lý thuyết:
-


Nghiên cứu về việc ứng dụng mạch đèn giao thông trong thực tế.

-

Nghiên cứu về các linh kiện, dụng cụ lắp ráp mạch, sơ đồ nguyên lý và
nguyên lý hoạt động của mạch.

6. Cấu trúc luận văn:
Ngoài những phần mở đầu, kết luận, tài liệu tham khảo luận văn gồm có:
Chương I: Tìm hiểu về AT89C51 và các linh kiện .
Chương II: Thiết kế mạch đèn giao thông ứng dụng vi điều khiển.


Chương III: Chương trình.

NỘI DUNG
CHƯƠNG I: TÌM HIỂU VỀ AT89C51 VÀ CÁC LINH KIỆN
1.1. Vi điều khiển AT89C51
1.1.1 Ưu nhược điểm của việc chọn vi điều khiển làm bộ xử lý trung tâm
 Ưu điểm:
- Vi điều khiển có khả năng điều khiển linh hoạt theo mong muốn của người sử
dụng dựa vào phần mềm được viết.
- Có thể thay đổi, thêm chức năng bằng cách thay đổi phần mềm.
- Hệ thống đơn giản, kích thức nhỏ . Giá thành hạ phù hợp với khả năng tài chính
 Nhược điểm:
- Chất lượng của hệ thống phụ thuộc vào chất lượng chương trình được nạp cho vi
điều khiển.
1.1.2 Sơ đồ khối của vi điều khiển AT89C51:



Đếm sự kiện.

Nguồn ngắt

4K bytes
Điều khiển
ngắt

Nguồn
ngắt
trong.

ROM
trong

128byte

2bộ đếm
/ định
thời

RAM
trong

CPU

Khối
đ.khiển
quản lý

Bus.

Port
0

Port
1

Port
2

Port
3

Giao
diện
nối
tiếp.

Bộ tạo
dao động

XTAL 1.2
/PSEN/ALE

Cổng I/O
Địa chỉ
thấp Dữ
liệu 8 bít


Cổng
CổngI/O
I/O 8 bit Địa chỉ
cao Dữ
liệu 8
bit

Hình 1.1: Sơ đồ khối của AT89C51

Cổng I/O Các
chức năng
đặc biệt Dữ
liệu 8 bit


1.1.3 Chức năng của từng khối :
 Khối xử lý trung tâm CPU:
Phần chính của bộ vi xử lý là khối xử lý trung tâm, khối này có chứa các thành phần
chính :
- Thanh chứa ACC (ký hiệu là A).
- Thanh ghi chứa phụ (ký hiệu là B) thường được dùng cho phép nhân và phép chia.
- Khối logic số học (ALU=Arithmetic Logical Unit).
- Từ trạng thái chương trình (PSW= Program Status Word).
- Bốn băng thanh ghi (Blank).
- Con trỏ ngăn xếp SP cũng như con trỏ dữ liệu để định địa chỉ cho bộ nhớ dữ liệu ở
bên ngoài.
Ngoài ra, khối xử lý trung tâm còn chứa:
- Thanh ghi đếm chương trình (PC= Progam Counter ).
- Bộ giải mã lệnh
- Bộ điều khiển thời gian và logic.

- Sau khi được Reset, CPU bắt đầu làm việc tại địa chỉ 0000h, là địa chỉ đầu được
ghi trong thanh ghi chứa chương trình (PC) và sau đó, thanh ghi này sẽ tăng lên 1 đơn vị
và chỉ đến các lệnh tiếp theo của chương trình.


Bộ tạo dao động:

Khối xử lý trung tâm nhận trực tiếp xung nhịp từ bộ tạo dao động được lắp thêm
vào, linh kiện phụ trợ có thể là một khung dao động làm bằng tụ gốm hoặc thạch anh.
Ngồi ra, cịn có thể đưa một tín hiệu giữ nhịp từ bên ngoài vào.
 Khối điều khiển ngắt:
Chương trình đang chạy có thể cho dừng lại nhờ một khối logic ngắt ở bên trong.
Các nguồn ngắt có thể là: các biến cố ở bên ngoài, sự tràn bộ đếm/bộ định thời hay có thể
là giao diện nối tiếp. Tất cả các ngắt đều có thể được thiết lập chế độ làm việc thông qua
hai thanh ghi IE (Interrupt Enable) và IP (Interrupt Priority).


 Khối điều khiển và quản lý Bus :
Các khối trong vi điều khiển liên lạc với nhau thông qua hệ thống Bus nội bộ được
điều khiển bởi khối điều khiển quản lý Bus.
 Các bộ đếm/định thời:
Vi điều khiển 8051 có chứa hai bộ đếm tiến 16 bit có thể hoạt động như là bộ định
thời hay bộ đếm sự kiện bên ngoài hoặc như bộ phát tốc độ Baud dùng cho giao diện nối
tiếp. Trạng thái tràn bộ đếm có thể được kiểm tra trực tiếp hoặc được xoá đi bằng một
ngắt.
 Các cổng vào/ra:
Vi điều khiển 8051 có bốn cổng vào/ra (P0,P1,P2,P3), mỗi cổng chứa 8 bit, độc lập
với nhau. Các cổng này có thể được sử dụng cho những mục đích điều khiển rất đa
dạng. Ngồi chức năng chung, một số cổng còn đảm nhận thêm một số chức năng đặc
biệt khác.

 Giao diện nối tiếp:
Giao diện nối tiếp có chứa một bộ truyền và một bộ nhận không đồng bộ làm việc
độc lập với nhau. Bằng cách đấu nối các bộ đệm thích hợp, ta có thể hình thành một cổng
nối tiếp RS-232 đơn giản. Tốc độ truyền qua cổng nối tiếp có thể đặt được trong một
vùng rộng phụ thuộc vào một bộ định thời và tần số dao động riêng của thạch anh.
 Bộ nhớ chương trình:
Bộ nhớ chương trình thường là bộ nhớ ROM (Read Only Memory), bộ nhớ chương
trình được sử dụng để cất giữ chương trình điều khiển hoạt động của vi điều khiển.
 Bộ nhớ số liệu:
Bộ nhớ số liệu thường là bộ nhớ RAM (Ramdom Acces Memory), bộ nhớ số liệu
dùng để cất giữ các thông tin tạm thời trong quá trình vi điều khiển làm việc.
1.1.4 Sơ đồ và chức năng các chân của IC AT89C51:
1.1.4.1.Sơ đồ chân của AT89C51:
IC AT89C51 có tất cả 40 chân có chức năng như các đường xuất nhập.Trong
đó có 24 chân có tác dụng kép (có nghĩa một chân có hai chức năng), mỗi


đường có thể hoạt động như đường xuất nhập hoặc như đường diều khiển hoặc là
thành phần của các bus dữ liệu và bus dịa chỉ. Mặt khác khối này nó được lập trình để
điều khiển các khối con của mạch.

Hình 1.2: Sơ đồ chân AT89C51

1.1.4.2 Chức năng của các chân:
+ Port 0 ( P0.0 – P0.7 hay chân 32 – 39): Ngồi chức năng xuất nhập (I/O) ra thì
Port 0 còn là bus đa hợp dữ liệu và địa chỉ ( AD0 – AD7), chức năng này sẽ được sử
dụng khi AT89C51 giao tiếp với thiết bị ngồi có kiến trúc bus.


+ Port 1 ( P1.0 – P1.7 hay chân 1 – 8): Chỉ có chức năng xuất nhập theo bit và byte,

khơng dùng cho mục đích khác.
+ Port 2 ( P2.0 – P2.7 hay chân 21 - 28 ): đây là port có 2 chức năng. Đó là chức
năng xuất nhập và chức năng địa chỉ. Đối vỡi chức năng địa chỉ: dùng làm 8 bit địa chỉ
cao khi cần bộ nhớ ngồi có địa chỉ 16 bit. Khi đó, port 2 khơng được dùng cho mục đích
I/O.
+ Port 3 ( P3.0 – P3.7 hay chân 10 – 17): mỗi chân trên port 3 ngồi chức năng xuất
nhập ra cịn có một số chân đặc biệt sau:
Bit

Tên

Chức năng chuyển đổi

P3.0

RXD

Dữ liệu nhận cho port nối tiếp

P3.1

TXD

Dữ liệu truyền cho port nối tiếp

P3.2

INT0

Ngắt bên ngoài 0


P3.3

INT1

Ngắt bên ngoài 1

P3.4

T0

Ngõ vào của timer/Counter 0

P3.5

T1

Ngõ vào của timer/Counter 1

P3.6

WR

Xung ghi bộ nhớ dữ liệu ngoài

P3.7

RD

Xung ghi bộ nhớ dữ liệu ngoài


+ RST ( reset – chân 9): Là ngõ vào Reset dùng để thiết lập thông số ban đầu cho vi
điều khiển. Hệ thống sẽ được thiết lập lại các giá trị ban đầu nếu ngõ này ở mức 1 tối
thiểu 2 chu kỳ máy.
+ XTAL 1, XTAL 2: AT89C51 có một bộ dao động trên chip, nó thường nối với
một bộ dao động thạch anh có tần số lớn nhất là 33MHz, thơng thường là 12MHz.
Chu kì máy: Tck = 12.Toc
Với Toc : Chu kì của nguồn xung dao động cấp cho vi điều khiển
Tck: Chu kì máy.
Nếu tần số mạch là 12MHz thì chu kì máy là 1µs.


+ EA (External Access): Thường được mắc lên mức cao (5V) hoặc mức thấp
(GND). Nếu ở mức cao bộ vi điều khiển thi hành chương trình từ ROM nội. Nếu ở mức
thấp thì chương trình được thi hành từ bộ nhớ mở rộng.
+ ALE ( Address Latch Enable): là tín hiệu để chốt địa chỉ vào một thanh ghi bên
ngoài trong nữa chu kỳ đầu của chu kỳ bộ nhớ. Sau đó, các đường port0 dùng để xuất
hoặc nhập dữ liệu trong nữa chu kỳ sau của bộ nhớ.
+ PSEN ( Program Store Enable): PSEN là điều khiển để cho phép bộ nhớ chương
trình mở rộng và thường được nối với chân OE ( Output Enable) của một EPROM để cho
phép đọc các byte mã lệnh. PSEN ở mức thấp trong thời gian đọc lệnh. Các mã nhị phân
của chương trình được đọc từ EPROM qua bus và dduocj chốt vào thanh ghi lệnh của bộ
vi điều khiển để giải mã lệnh. Khi thi hành chương trình trong ROM nội thì PSEN sẽ ở
mức cao.
+ Vcc, GND: AT89C51 dùng nguồn một chiều có dải điện áp từ 4V – 5.5V được
cấp qua chân 40 (Vcc) và chân 20 (GND).
1.2 IC giải mã 74LS47
Ứng dụng khi ta cần hiển thị số trên led 7 đoạn trong mạch số mà không cần dùng vi
xử lý hoặc muốn tiết kiệm chân.
Dữ liệu lần lượt được đưa vào các chân A,B,C,D của IC và tín hiệu ra là các đầu

a,b,c,d,e,f,g.


RBI là ngõ xóa dợn sóng.



LT là ngõ thử đèn.



BI/RBO là ngõ vào xóa.


Hình 1.3: Sơ đồ chân của 74LS47

Hình 1.4: Bảng các trạng thái của IC 74LS47




Nhận thấy các ngõ ra mạch giải mã tác động ở mức thấp (0) thì led tương ứng

sáng.


Ngồi 10 số từ 0 đến 9 được giải mã, mạch cũng còn giải mã được 6 trạng thái

khác nhưng ở đây không dùng đến .



Để hoạt động giải mã xảy ra bình thường thì chân LT và BI/RBO phải ở mức cao



Muốn thử đèn led để các led đều sáng hết thì kéo chân LT xuống thấp .



Muốn xoá các số (tắt hết led) thì kéo chân BI xuống thấp .

1.3 Led 7 đoạn loại anode chung và led đơn
 Khối hiển thị đếm ngược thời gian trên led 7 đoạn:
Nguyên lý hoạt động của led 7 đoạn cũng giống như led đơn, nghĩa là khi cấp
dịng cho chân nào thì chân đó sáng
Led 7 đoạn có cấu tạo bao gồm 7 led đơn có dạng thanh xếp theo hìnhvẽ dưới và có
thể 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.

Hình 1.5: Sơ đồ cấu tạo của led 7

đoạn


8 led đơn trên led 7 đoạn có Anode(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 đ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. Vì là led 7
đoạn có Anode (cực +) chung nên đầ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. 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.
Ta chọn dòng qua led cỡ 15mA, với nguồn 5V thì ta có thể hạn dịng bằng điện trở
được tính tốn như sau:
Ta có: Rled = Vcc / 15mA = 5V/15mA ~ 0.333KΩ.
Do đó ta chọn Rled = 330Ω.
 Khối hiển thị báo đèn xanh, đỏ, vàng:
+ P3.0 : Nối với đèn đỏ ở đường A.
+ P3.1 : Nối với đèn vàng ở đường A.
+ P3.2 : Nối với đèn xanh ở đường A.
+ P3.3 : Nối với đèn đỏ ở đường B
+ P3.4 : Nối với đèn vàng ở đường B.
+ P3.5 : Nối với đèn xanh ở đường B.
Sử dụng các led đơn nối anode chung. Cịn các chân cathode thì được nối vào điện
trở R. Và nó được điều khiển bởi các chân P3.0, P3.1, P3.2, P3.3, P3.4, P3.5 của port P3.
Dòng qua Led đơn: Id= 10mA- 20mA, nên ta chọn Id = 15mA. Nguồn được cấp Vcc =
+5V.
R= =

~ 0.330KΩ. Do đó ta chọn R = 330Ω.


1.4 IC ổn áp 7805:
Là loại IC dùng để ổn định điện áp 5V đầu ra.
- Output (3): Chân điện áp ra 5V.
- Command (2): Chân nối mass.
- Input (1): Chân điện áp vào.
- ĐIện áp ngõ vào Vin >= 5V, điện áp ngõ ra Vout = 5V.
- Chân nối mass cũng rất quan trọng, nếu chân này hở thì áp tại ngõ ra có thể sẽ
bằng với áp ngõ vào. Điều này sẽ rất nguy hiểm nếu vi xử lý nhận được mức điện áp này.


Hình 1.6: IC 7805


CHƯƠNG II: THIẾT KẾ MẠCH ĐÈN GIAO THÔNG ỨNG DỤNG VI ĐIỀU
KHIỂN.
2.1 Sơ đồ khối:

Khối điều
Khối nguồn

khiển

Khối giải mã và hiển thị.
( P1.0 - P1.7 và P2.0 - P2.7 )
(P3.0 – P3.5)

trung tâm
(AT89C51)

Khối điều khiển
( Nút bấm)
(P 0.0 – P0.2)

Hình 2.1: Sơ đồ khối

2.2. Nguyên lý hoạt động chung của mạch:
 Ban đầu khi được cấp nguồn thì mạch sẽ hiển thị giá trị được đưa vào mặc định là
đèn đỏ 29s, đèn xanh 26s, đèn vàng 3s
 Nhấn nút bấm để chọn thời gian cần hiển thị. Với mỗi nút bấm sẽ ứng với một
chương trình hiển thị thời gian khác nhau, để vào mỗi thời gian khác nhau tùy thuộc

vào giờ cao điểm hay khơng thì ta chọn thời gian cho phù hợp với mỗi đoạn đường.
 Và ở đây chúng em cài đặt thời gian cho từng nút bấm: nút bấm 1 đèn đỏ 25s, đèn
xanh 22s ; nút bấm 2 đèn đỏ 38s, đèn xanh 35s ; nút bấm 3 đèn đỏ 45s, đèn xanh 42s.
 Khi ta cắt nguồn rồi cấp nguồn lại thì mạch lại hiển thị thời gian mặc định ban đầu.


2.2 Chức năng từng khối:
2.2.1 Khối xử lý trung tâm AT89C51: Vcc

O
O
O
O
O

39
38
37
36
35
34
33
32

1
2
3
4
5
6

7
8
+5V O

+
- 10µF

P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7

P2.0/A08
P2.1/A09
P2.2/A10
P2.3/A11
P2.4/A12
P2.5/A13
P2.6/A14
P2.7/A15

P1.0
P1.1
P1.2

P3.0/RXD

P3.1/TXD
P3.2/

P1.3
P1.4
P1.5
P1.6

P3.3/
P3.4/T0
P3.5/T1
P3.6/

P1.7

P3.7/

31
9

10
11
12
13
14
15
16
17

30

O
29

ALE/

O

XTAL2

XTAL1

RST
R2
10K

21
22
23
24
25
26
27
28

AT89C51

33p

GND


ZAT

33p

Hình 2.2: Sơ đồ ngun lý khối vi điều khiển
-

Các chân từ P0.0 đến P0.2 được nối với các nút bấm

-

Port 1 và port 2 được nối với IC 74LS47 để giải mã led 7 đoạn hiển thị thời gian.

-

Các chân từ P3.0 đến P3.5 dùng để điều khiển sáng tắt led đơn, đóng vai trị điều
khiển tín hiệu đèn giao thơng.

-

Code lập trình sẽ được nạp vào vi điều khiển để điều khiển cho mạch hoạt động.


2.2.2 Khối giải mã và hiển thị led 7 đoạn

O

+5V

O


+5V

+5V

IC74LS47
D3 D2 D1 D0

P1.3
P1.2
P1.1
P1.0

BI/RBO

1

2

G F E D C BA

3

RBI LT

+5V

IC74LS47
BI/RBO


D3 D2 D1 D0

P1.7
P1.6
P1.5
P1.4

G F E D C BA

4

H
G
F
E
D
C
B
A

RBI LT

330Ω

Led xanh 1(P3.2)

+5V O

+5V O


330Ω

Led vàng 1 (P3.1)

330Ω

330Ω

330Ω

Led đỏ 1 (P3.0)

H
G
F
E
D
C
B
A

LED

Hình 2.3: Sơ đồ nguyên lý khối giải mã và hiển thị

- 7 chân của led 7 đoạn sẽ được nối vào 7 chân của IC giải mã, và 4 chân D0, D1,
D2, D3 của IC 74LS47 sẽ được nối vào các port P1.0 – P1.3. Các led cịn lại thì mắc
tương tự.
- 3 led đỏ, vàng, xanh thì được nối vào port P3.0 – P3.2, đầu còn lại của led đơn nối
với nguồn +5V. Các led ở cột cịn lại thì cũng mắc tương tự.



Nguyên lý hoạt động:
- Chương trình hiển thị led đơn, hiển thị thời gian trên led 7 đoạn được đặt trong
chương trình ngắt Timer0. Chương trình hiển thị led chỉ được thực hiện sau khi đã chạy
xong chương trình phuc vụ ngắt ngồi ( Chương trình cài đặt thời gian hiển thị cho các
led).
- Sau khi đã cài đặt thời gian, các giá trị được lưu trên 4 ô nhớ 36h, 37h, 38h, 39h
hiển thị hàng chục và đơn vị của đèn đỏ và đèn xanh. Các giá trị này lần lược được
chuyển qua thanh ghi R7, R6, R5, R4.
- Ta biết hệ thống giao thơng ngã tư có hai tuyến. Chương trình khởi động chế độ
hiển thị thứ nhất: tuyến A đèn đỏ và tuyến B đèn xanh. Chương trình con hiển thị và bật
đèn được gọi để hiển thị thời gian trên led 7 đoạn và bật tín hiệu đèn giao thông hoạt
động ở chế độ mặc định thì thời gian đèn đỏ và đèn xanh cùng giảm. Lúc này, nếu thời
gian hiển thị đèn đỏ chưa hết thì chương trình sẽ tiếp tục giảm đơn vị đèn đỏ cho đến khi
bằng 3s thì đèn xanh bắt đầu tắt, đồng thời bật đèn vàng sáng trong vòng 3s, đèn đỏ giữ
nguyên. Khi so sánh giái trị của đơn vị đèn đỏ bằng 0 thì chương trình sẽ chuyển sang
trạng thái hiển thị thứ hai: tuyến A đèn xanh và tuyến B đèn đỏ. Chương trình hoạt động
theo trình tự như trên.
2.2.3 Khối nguồn:
2

1

IN

1

GND


LM7805

+
C1
-

470F/25V

OUT
2

+5V O

330Ω

3

+
C2
-

LED

470F/25V

Hình 2.4: Sơ đồ nguyên lý khối nguồn
Nguồn cung cấp điện áp là 5VDC. Mức điện áp này đi qua IC ổn áp 7805, đầu ra
của IC 7805 là mức điện áp 5VDC, mức điện áp này dùng để cung cấp cho khối vi xử lí
và khối hiển thị. Ngồi ra trong sơ đồ khối nguồn cịn có các tụ có nhiệm vụ lọc nhiễu và
giảm bớt độ nhấp nhô của áp DC ở ngõ ra.



2.2.4 Khối nút bấm:

O +5V

10K

SW1
O

O

P0.0

O +5V

10K

SW2
O

O

P0.1

O +5V

10K


SW3
O

O

P0.2

Hình 2.5: Sơ đồ nguyên lý khối nút bấm

Mỗi nút bấm ứng với một chương trình khác nhau:
- SW1 điều khiển chương trình hiển thị thời gian đèn đỏ 25s và thời gian đèn xanh 22s.
- SW2 điều khiển chương trình hiển thị thời gian đèn đỏ 38s và thời gian đèn xanh 35s.
- SW3 điều khiển chương trình hiển thị thời gian đèn đỏ 45s và thời gian đèn xanh 42s.


2.3 Sơ đồ mạch in:
2.3.1 Mạch vi điều khiển:

Hình 2.6: Sơ đồ mạch in mạch điều khiển

2.3.2 Mạch hiển thị:

Hình 2.7: Sơ đồ mạch
in mạch hiển thị


CHƯƠNG III: CHƯƠNG TRÌNH.
3.1 Lưu đồ thuật tốn:
3.1.1 Lưu đồ thuật tốn chương trình chính:
MAIN


THIẾT LẬP THƠNG SỐ BAN ĐẦU
( mặc định thời gian đèn đỏ 29s, đèn xanh 26s)

CALL HIENTHI
(Hiển thị led 7 đoạn)

R3  20

Yes

NB1= 0?

No
oo
o
NB2= 0?

Thiết lập thời gian 1 (đèn đỏ
25s, đèn xanh 22s)

Yes

Thiết lập thời gian 2 (đèn đỏ
38s, đèn xanh 35s)

Yes

Thiết lập thời gian 3 (đèn đỏ
45s, đèn xanh 42s)


No

NB3= 0?
No

THIẾT LẬP BỘ ĐỊNH THỜI
( Cho phép bộ định thời hoạt động)

TF0=1?

No

Yes

A

B

C


A

B

DỪNG TIMER VÀ XÓA CỜ TRÀN

Giảm R3
No

R3 = 0?
Yes

GIẢM THỜI GIAN HIỂN THỊ
XUỐNG 1 ĐƠN VỊ

TG ĐÈN
ĐỎ = 3?

yes

No
No

TG ĐÈN
ĐỎ = 0?
yes

CALL BATDEN
(Đảo chiều đường đi)

No

TẮT ĐÈN XANH VÀ
ĐỒNG THỜI BẬT
ĐÈN VÀNG (3S)

C



3.1.2 Lưu đồ thuật tốn chương trình con:
3.1.2.1 Lưu đồ thuật tốn chương trình con hiển thị led 7 đoạn:

HIỂN THỊ

No

L1 = 1
Yes

A  R7

A1

A  R5
CALL DOIMALED3

CALL DOIMALED3

A  R6

A  R4

CALL DOIMALED4

CALL DOIMALED4

A  R5
CALL DOIMALED2


A  R4
CALL DOIMALED1

A  R7
CALL DOIMALED2

A  R6
CALL DOIMALED1

RET
A1


3.1.2.2 Lưu đồ thuật tốn chương trình con bật đèn tín hiệu:

BẬT ĐÈN

No

L1 = 1
A2
Yes

LEDXANH1 = 1

LEDXANH2 = 1

LEDDO1 = 0

LEDDO2 = 0


LEDVANG1 = 0

LEDVANG2 = 0

LEDDO2 = 1

LEDDO1 = 1

LEDXANH2 = 0

LEDXANH1 = 0

LEDVANG2 = 0

LEDVANG1 = 0

A2

RET


×