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

Báo cáo Tốt nghiệp Đề tài: Hệ thống đèn giao thông

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 (794.64 KB, 33 trang )

Trường CĐ CNTT Hữu Nghị Việt - Hàn

Hệ Thống Đèn Giao 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à một môn học sử dụng
để trang bị cho chúng ta những kiến thức cơ bản về vi xử lý, từ đó mở rộng ra các loại
vi xử lý khác có cấu trúc phức tạp hơn như AVR, PIC, …
Qua đồ án này, đã giúp chúng em có được hình dung thực tế vi xử lý được áp
dụng như thế nào trong cuộc sống hiện đại, cụ thể chính là hệ thống đèn giao thơng
dùng vi điều khiển AT89C51. Đồ án gồm 4 chương:
Chương I: Tổng quan về đèn giao thông, giới thiệu khái quát đề tài, các thành
phần chính của hệ thống đèn giao thơng, ngun lý hoạt đông, ngôn ngữ sử dụng và
phần mềm mô phỏng.
Chương II: Khảo sát vi đều khiển AT89C51.
Chương III: Thiết kế phần cứng.
Chương IV: Thiết kế phần mềm.
Nhóm chúng em xin chân thành cảm ơn sự giúp đỡ, chỉ bảo tận tình của thầy
Nguyễn Vũ Anh Quang trong suốt thời gian chúng em thực hiện đồ án này.
Đà nẵng, tháng 12 năm 2010
Nhóm sinh viên thực hiện
Phạm Văn Thanh
Hồng Minh Trang


Đồ Án Môn Học Vi Xử Lý

1


Trường CĐ CNTT Hữu Nghị Việt - Hàn

Hệ Thống Đèn Giao Thơng

MỤC LỤC
CHƯƠNG 1 TỔNG QUAN VỀ ĐÈN GIAO THƠNG........................................3
1.1 Giới thiệu đề tài........................................................................................5
1.1.1 Các chế độ hoạt động trong ngày của hệ thống đèn giao thơng (Giờ
cao điểm, bình thường và thấp điểm, hiển thị thời gian của các chế độ lên LED
7 đoạn)
............................................................................................................5
1.1.2 Các linh kiện sử dụng........................................................................5
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.........................................................................................................6
1.3 Nguyên lý hoạt động................................................................................6
1.4 Ngôn ngữ sử dụng và phần mềm mô phỏng..........................................6
1.4.1 Ngôn ngữ............................................................................................6
1.4.2 Phần mềm mô phỏng.........................................................................6
CHƯƠNG 2 KHẢO SÁT VI ĐIỀU KHIỂN AT89C51.....................................7
2.1 Tổng quát.................................................................................................7
2.2 Các chân...................................................................................................8
2.2.1 Vcc......................................................................................................8
2.2.2 GND...................................................................................................8
2.2.3 Các Port.............................................................................................9
2.2.4 PSEN..................................................................................................9

2.2.5 ALE/PROG......................................................................................10
2.2.6 EA/Vpp.............................................................................................10
2.2.7 RESET (RST)...................................................................................10
2.2.8 XTAL1 & XTAL2.............................................................................10
2.3 Tổ chức bộ nhớ.......................................................................................10
2.3.1 Vùng RAM đa mục đích..................................................................11
2.3.2 Vùng RAM định địa chỉ bit..............................................................11
2.3.3 Các dãy thanh ghi............................................................................11
2.4 Bộ nhớ ngoài...........................................................................................11
2.4.1 Truy xuất bộ nhớ chương trình ngồi.............................................12
2.4.2 Truy xuất bộ nhớ dữ liệu ngồi.......................................................12
2.4.3 Giải mã địa chỉ.................................................................................12
Đồ Án Mơn Học Vi Xử Lý

2


Trường CĐ CNTT Hữu Nghị Việt - Hàn

Hệ Thống Đèn Giao Thông

2.5 Giao tiếp ngoại vi...................................................................................12
2.5.1 LED 7 đoạn (7 Segment LED)........................................................12
2.5.2 Giao tiếp bàn phím HEX.................................................................13
2.5.3 Giao tiếp ADC (Analog to Digital Converter).................................13
2.5.4 Giao tiếp DAC (Digital to Analog Converter).................................13
CHƯƠNG 3 THIẾT KẾ PHẦN CỨNG..........................................................14
3.1 Mạch dao động và mạch Reset..............................................................14
3.1.1 Mạch dao động................................................................................14
3.1.2 Mạch Reset.......................................................................................15

3.2 Mạch hiển thị đếm ngược LED 7 đoạn................................................15
3.3 Mạch hiện thị LED đơn.........................................................................16
3.4 Mạch nút ấn...........................................................................................17
3.5 Sơ đồ mạch nguyên lý............................................................................18
3.6 Sơ đồ mạch in.........................................................................................18
CHƯƠNG 4 THIẾT KẾ PHẦN MỀM............................................................19
4.1 Sơ đồ giải thuật......................................................................................19
4.1.1 Chương chình chính........................................................................19
4.1.2 Chế độ thấp điểm.............................................................................20
4.1.3 Chế độ cao điểm...............................................................................21
4.1.4 Chế độ nghỉ......................................................................................22
4.2 Chương trình C viết cho mạch điều khiển hệ thống đèn giao thông..22

Đồ Án Môn Học Vi Xử Lý

3


Trường CĐ CNTT Hữu Nghị Việt - Hàn

Hệ Thống Đèn Giao Thơng

DANH MỤC CÁC HÌNH VẼ
Danh mục
Trang
Hình 2.1

Hình dạng AT89C51

Hình 2.2


Sơ đồ chân của AT89C51

Hình 2.3

Bộ nhớ dữ liệu trên chip 89C51

Hình 3.1

Mạch dao động và mạch Reset

Hình 3.2

Hình dạng thạch anh

Hình 3.3

Hình dạng điện trở thanh

Hình 3.4

Sơ đồ mạch hiển thị đếm ngược

Hình 3.5

Mạch hiển thị led đơn

Hình 3.6

Mạch nút ấn


Hình 3.7

Sơ đồ mạch nguyên lý

Hình 3.8

Sơ đồ mạch in

Hình 4.1

Sơ đồ giải thuật chương trình chính

Hình 4.2

Sơ đồ giải thuật chế độ thấp điểm

Hình 4.3

Sơ đồ giải thuật chế độ cao điểm

Hình 4.4

Sơ đồ giải thuật chế độ nghỉ

Đồ Án Môn Học Vi Xử Lý

4



Trường CĐ CNTT Hữu Nghị Việt - Hàn

CHƯƠNG 1

Hệ Thống Đèn Giao Thơng

TỔNG QUAN VỀ ĐÈN GIAO THƠNG

1.1 Giới thiệu đề tài
Ngày nay cùng với sự phát triển của khoa học kỹ thuật, xã hội ngày càng văn
minh và hiện đại, các đô thị ngày một đi lên. Nhu cầu về giao thông ngày càng trở nên
cấp thiết, nhất là trong các khu vực thành thị. Do nhu cầu của đời sống con người, đặc
biệt là nhu cầu đi lại, các loại phương tiện giao thông đã tăng một cách chóng mặt.
Riêng tại Việt Nam số lượng xe máy trong những năm qua tăng một cách đột biến,
mật độ xe lưu thơng trên đường ngày một nhiều, trong khi đó hệ thống đường xá tại
Việt Nam còn quá nhiều hạn chế nên thường gây ra các hiện tượng như kẹt xe, ách tắc
giao thông, đặc biệt là tai nạn giao thông ngày càng phổ biến trở thành mối hiểm họa
cho nhiều người.
Vì lý do đó các luật giao thơng lần lượt ra đời và được đưa vào sử dụng một
cách lặng 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 tồn và giảm thiểu tai nạn giao thơng.
Từ thực tế đó nhóm chúng em quyết định chọn đề tài “Thiết kế mạch đèn giao
thông dùng vi điều khiển” làm đề tài cho đồ án môn học 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 tồn giao
thơng.
1.1.1
Các chế độ hoạt động trong ngày của hệ thống đèn giao thơng
(Giờ cao điểm, bình thường và thấp điểm, hiển thị thời gian của các chế độ lên
LED 7 đoạn)

 Cao điểm: Đèn xanh 30s, đèn đỏ 34s, đèn vàng 4s.
 Bình thường: Đèn xanh 20s, đèn đỏ 24s, đèn vàng 4s.
 Thấp điểm: Đèn vàng sáng.
 Có 4 LED 7 đoạn đơn: 2 LED hiển thị đếm ngược cho 1 làn đường.
 Hệ thống LED đơn hiển thị cho các đèn xanh, đèn vàng, đèn đỏ.
 Hệ thống nút nhấn, gồm 3 nút: nút chuyển chế độ cao điểm, bình thường,
thấp điểm.
1.1.2

Các linh kiện sử dụng

CHƯƠNG 2 Vi điều khiển AT89C51.
 Hiển thị: 4 LED 7 đoạn (anode chung), 6 LED đơn xanh, đỏ, 4 LED đơn vàng.
 Các transistor A564(PNP).
 2 điện trở thanh 10K và các điện trở cần dùng.
 Nút nhấn điều khiển
Đồ Án Môn Học Vi Xử Lý

5


Trường CĐ CNTT Hữu Nghị Việt - Hàn

Hệ Thống Đèn Giao Thơng

2.1 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 thi 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.
2.2 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ở. Ngồi ra, nó cịn xuất dữ liệu đến các BJT để tăng dòng cho các LED 7 đoạn, các
BJT sẽ điều khiển việc đóng mở 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.
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 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. AT 89C51 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 khiển các đèn hiển thị. Khi AT89C51 nhận tín hiệu
điều khiển từ các phím nhấn, nó sẽ qt và tìm ra chương trình được mã hóa phù hợp
với tín hiệu điều khiển để hoạt động.
2.3 Ngơn ngữ sử dụng và phần mềm mô phỏng
2.3.1

Ngôn ngữ

Ngôn ngữ lập trình C.
Phần mềm Keil C
2.3.2

Phần mềm mơ phỏng

Phần mềm Orcad 10.5.

Đồ Án Môn Học Vi Xử Lý


6


Trường CĐ CNTT Hữu Nghị Việt - Hàn

CHƯƠNG 3

Hệ Thống Đèn Giao Thơng

KHẢO SÁT VI ĐIỀU KHIỂN AT89C51

3.1 Tổng qt

Hình 2.1 Hình dạng AT89C51
AT89C51 là một hệ vi tính 8 bit đơn chip CMOS có hiệu suất cao, cơng suất
nguồn tiêu thụ thấp và có 4KB bộ nhớ ROM Flash xóa được/lập trình được. Chip này
được sản xuất dựa vào cơng nghệ bộ nhớ khơng mất nội dung có độ tích hợp cao của
Atmel.
Chip AT89C51 cũng tương thích với tập lệnh và các chân ra của chuẩn công
nghiệp MCS-51. Flash trên chip này cho phép bộ nhớ chương trình được lập trình lại
trên hệ thống. Kết hợp một CPU linh hoạt 8 bit với Flash trên một chip đơn thể, Atmel
89C51 là một hệ vi tính 8 bit đơn chip mạnh cho ta một giải pháp có hiệu quả về chi
phí và rất linh hoạt đối với các ứng dụng điều khiển.
AT89C51 có các đặc trưng chuẩn sau: 4KN Flash, 128 byte RAM, 32 đường xuất
nhập, 2 bộ định thời/đếm 16 bit, một cấu trúc ngắt hai mức ưu tiên và 5 nguyên nhân
ngắt, một port nối tiếp song công, mạch dao động và tạo xung clock trên chip.
Ngoài ra 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ộ định thời/đếm, port

nối tiếp và hệ thống ngắt tiếp tục hoạt động.
Cấu hình chân của AT89C51 như sau:

Đồ Án Môn Học Vi Xử Lý

7


Trường CĐ CNTT Hữu Nghị Việt - Hàn

Hệ Thống Đèn Giao Thơng

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.
3.2 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 ngồ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…

3.2.1

Vcc

Chân cung cấp điện (5V).
3.2.2

GND

Chân nối đất (0V).
3.2.3

Các Port

3.2.3.1 Port 0
Đồ Án Môn Học Vi Xử Lý

8


Trường CĐ CNTT Hữu Nghị Việt - Hàn

Hệ Thống Đèn Giao Thông

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.
3.2.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 ngồi khi có u cầu. Khơng có chức năng nào khác nữa gán cho các chân của
port 1, nghĩa là chúng chỉ được sử dụng để giao tiếp với các thiết bị ngoại vi.
3.2.3.3 Port 2
Port 2 (các chân từ 21 đến 28 trên 89C51) có hai công dụng, hoặc làm nhiệm vụ
xuất/nhập hoặc là byte địa chỉ 16 bit cho các thiết kế có bộ nhớ chương trình ngồi
hoặc các thiết kế có nhiều hơn 256 byte bộ nhớ dữ liệu ngoài.
3.2.3.4 Port 3
Port 3 (các chân từ 10 đến 17 trên 89C51) có hai cơng dụng. Khi không hoạt động
xuất/nhập, các chân của port 3 có nhiều chức năng riêng (mỗi chân có chức năng riêng
liên quan đến các đặc trưng cụ thể của 89C51).
Bảng 2.1 dưới đây cho ta chức năng của các chân của port 3.

3.2.4

PSEN

Chân cho phép bộ nhớ chương trình PSEN (program store enable) điều khiển truy
xuất bộ nhớ chương trình ngồi. Khi AT89C51 đang thực thi chương trình trong bộ
nhớ chương trình ngồi, PSEN tích cực hai lần cho mỗi chu kỳ máy, ngoại trừ trường
hợp 2 tác động của PSEN bị bỏ qua cho mỗi lần truy xuất bộ nhớ dữ liệu ngoài.
3.2.5

ALE/PROG

Xung của ngõ ra cho phép chốt địa chỉ ALE (address latch enable) cho phép chốt
byte thấp của địa chỉ trong thời gian truy suất bộ nhớ ngoài. Chân này cũng được dùng
làm ngõ vào xung lập trình (PROG) trong thời gian lập trình cho Flash.

Đồ Án Môn Học Vi Xử Lý


9


Trường CĐ CNTT Hữu Nghị Việt - Hàn

Hệ Thống Đèn Giao Thơng

Khi hoạt động bình thường, xung của ngõ ra ALE ln ln có tần số bằng 1/6 tần
số của mạch dao động trên chip, có thể được sử dụng cho các mục đích định thời từ
bên ngồi và tạo xung clock. Tuy nhiên cần lưu ý là một xung ALE sẽ bị bỏ qua trong
mỗi một chu kỳ truy xuất bộ nhớ dữ liệu ngoài.
3.2.6

EA/Vpp

Chân cho phép truy xuất bộ nhớ ngoài EA (external access enable) phải được nối
với GND để cho phép chip vi điều khiển tìm nạp lệnh từ các vị trí nhớ của bộ nhớ
chương trình ngoài, bắt đầu từ địa chỉ 0000H cho đến FFFFH. Tuy nhiên cần lưu ý là
nếu bit khóa 1 (lock 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.
3.2.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.
3.2.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.
3.3 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).
3.3.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).

Đồ Án Mơn Học Vi Xử Lý

10



Trường CĐ CNTT Hữu Nghị Việt - Hàn

Hệ Thống Đèn Giao Thơng

Hình 2.3 Bộ nhớ dữ liệu trên chip 89C51
3.3.2

Vùng RAM định địa chỉ bit

AT89C51 chứa 210 vị trí bit được định địa chỉ trong đó 128 bit chứa trong các
byte ở địa chỉ từ 20H đến 2FH và phần còn lại chứa trong các thanh ghi chức năng đặc
biệt.
3.3.3

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.
3.4 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-51 cho 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.
3.4.1

Truy xuất bộ nhớ chương trình ngồi

Bộ nhớ chương trình ngồi là bộ nhớ chỉ đọc, được cho phép bởi tín hiệu PSEN.


Đồ Án Môn Học Vi Xử Lý

11


Trường CĐ CNTT Hữu Nghị Việt - Hàn
3.4.2

Hệ Thống Đèn Giao Thơng

Truy xuất bộ nhớ dữ liệu ngồ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.
3.4.3

Giải mã địa chỉ

Nếu có nhiều EPROM hoặc nhiều RAM hoặc cả hai giao tiếp với 89C51 ta cần
phải giải mã địa chỉ.
Một IC giải mã điển hình là 74HC138.
3.5 Giao tiếp ngoại vi
3.5.1

LED 7 đoạn (7 Segment LED)

Dạng LED

LED Anode chung


Đối với dạng Led Anode chung, chân COM phải có mức logic 1 và muốn sáng
Led thì tương ứng các chân a – f, dp sẽ ở mức logic 0.
Bảng mã cho Led Anode chung (a là LSB, dp là MSB):

Đồ Án Môn Học Vi Xử Lý

12


Trường CĐ CNTT Hữu Nghị Việt - Hàn
3.5.2

Hệ Thống Đèn Giao Thơng

Giao tiếp bàn phím HEX

Giao tiếp với bàn phím thường được cần đến đối với các thiết kế dựa trên bộ vi
điều khiển. Nhập từ bàn phím và xuất ra Led là sự lựa chọn kinh tế để giao tiếp với
người sử dụng và thích hợp với các ứng dụng phức tạp. Các thí dụ bao gồm việc giao
tiếp người sử dụng với lò vi ba hoặc máy đổi tiền tự động.
3.5.3

Giao tiếp ADC (Analog to Digital Converter)

3.5.4

Giao tiếp DAC (Digital to Analog Converter)

Đồ Án Môn Học Vi Xử Lý


13


Trường CĐ CNTT Hữu Nghị Việt - Hàn

CHƯƠNG 4

Hệ Thống Đèn Giao Thông

THIẾT KẾ PHẦN CỨNG

4.1 Mạch dao động và mạch Reset

Hình 3.1 Mạch dao động và mạch Reset
4.1.1

Mạch dao động

Tinh thể thạch anh (Quartz Crytal) là loại đá trong mờ trong thiên nhiên, chính là
dioxyt silicium (SiO2).
Tinh thể thạch anh dùng trong mạch dao động là một lát mỏng được cắt ra từ tinh
thể. Tùy theo mặt cắt mà lát thạch anh có đặc tính khác nhau. Lát thạch anh có diện
tích từ nhỏ hơn 1cm2 đến vài cm2 được mài rất mỏng, phẳng (vài mm) và 2 mặt thật
song song với nhau. Hai mặt này được mạ kim loại và nối chân ra ngồi để dễ sử dụng.

Hình 3.2 Hình dạng thạch anh
Ðặc tính của tinh thể thạch anh là tính áp điện (Piezoelectric Effect) theo đó khi ta
áp một lực vào 2 mặt của lát thạch anh (nén hoặc kéo dãn) thì sẽ xuất hiện một điện
thế xoay chiều giữa 2 mặt. Ngược lại dưới tác dụng của một điện thế xoay chiều, lát
thạch anh sẽ rung ở một tần số không đổi và như vậy tạo ra một điện thế xoay chiều có

tần số khơng đổi. Tần số rung động của lát thạch anh tùy thuộc vào kích thước của nó
đặc biệt là độ dày mặt cắt. Khi nhiệt độ thay đổi, tần số rung động của thạch anh cũng
thay đổi theo nhưng vẫn có độ ổn định tốt hơn rất nhiều so với các mạch dao động
không dùng thạch anh (tần số dao động gần như chỉ tùy thuộc vào thạch anh mà không
lệ thuộc mạch ngồi).

Đồ Án Mơn Học Vi Xử Lý

14


Trường CĐ CNTT Hữu Nghị Việt - Hàn
4.1.2

Hệ Thống Đèn Giao Thơng

Mạch Reset

Chân Reset (chân 9) có tác dụng reset chip AT89C51, mức tích cực của chân này
là mức 1, để reset ta phải đưa mức 1 (5V) đến chân này với thời gian tối thiếu 2 chu kỳ
máy (tương đương 2  S – đối với thạch anh 12MHz).
Tần số làm việc AT89C51

f 

f TA
12

Chu kỳ máy = thời gian sử lý 1 lệnh:


T=

1
f

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

4.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, nghĩa là: chân E của transistor được nối lên
Đồ Án Môn Học Vi Xử Lý

15


Trường CĐ CNTT Hữu Nghị Việt - Hàn

Hệ Thống Đèn Giao Thơng

nguồn. Led hoạt động với dịng tối thiểu là 20mA. Sử dụng port (P0): P0.0, P0.1, P0.2,
P0.3, P0.4, P0.5, P0.6, P0.7. Với các chân điều khiển hoạt động thông qua các
transistor PNP A654 điều khiển hoạt động ở chế độ bão hòa cung cấp dòng cho LED
sáng. Transistor PNP A654 được nối với port (P2) của vi điều khiển có chức năng
khuyếch đại dịng cho led hoạt động bình thường.

P2.7: Nối với led 1 (transistor 1)
P2.6: Nối với led 2 (transistor 2)
P2.5: Nối với led 3 (transistor 3)
P2.4: Nối với led 4 (transistor 4)

Hình 3.3 Sơ đồ mạch hiển thị đếm ngược
4.3 Mạch hiển thị LED đơn
P2.0: Nối với đèn xanh đường 1.
P2.1: Nối với đèn xanh đường 2.
P2.2: Nối với đèn vàng đường 2.
P2.3: Nối với đèn đỏ đường 2.
P3.6: Nối với đèn đỏ đường 1.
P3.7: Nối với đèn vàng đường 1.
P1.4: Nối với đèn đi bộ 1.
P1.5: Nối với đèn đi bộ 2.
P1.6: Nối với đèn đi bộ 3.
P1.7: Nối với đèn đi bộ 4.
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 P2.0, P2.1, P2.2, P2.3…
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.
Đồ Án Môn Học Vi Xử Lý

16


Trường CĐ CNTT Hữu Nghị Việt - Hàn

Hệ Thống Đèn Giao Thông


Điện áp phân cực thuận của các LED:
 Led xanh

: Vx = 2V – 2.8V.

 Led vàng

: Vv = 2V- 2.5V.

 Led đỏ

: Vd = 1.4V- 1.8V.

Hình 3.4 Mạch hiển thị led đơn
4.4 Mạch nút ấn
P1.0 Nối với Key_1
P1.1 Nối với Key_1
P1.2 Nối với Key_1

Hình 3.5 Mạch nút ấn

Đồ Án Môn Học Vi Xử Lý

17


Trường CĐ CNTT Hữu Nghị Việt - Hàn

Hệ Thống Đèn Giao Thơng


4.5 Sơ đồ mạch ngun lý

Hình 3.6 Sơ đồ mạch nguyên lý
4.6 Sơ đồ mạch in

Hình 3.7 Sơ đồ mạch in

Đồ Án Môn Học Vi Xử Lý

18


Trường CĐ CNTT Hữu Nghị Việt - Hàn

CHƯƠNG 5

Hệ Thống Đèn Giao Thông

THIẾT KẾ PHẦN MỀM

5.1 Sơ đồ giải thuật
5.1.1

Chương trình chính

Hình 4.1 Sơ đồ giải thuật chương trình chính

Đồ Án Môn Học Vi Xử Lý


19


Trường CĐ CNTT Hữu Nghị Việt - Hàn
5.1.2

Hệ Thống Đèn Giao Thơng

Chế độ thấp điểm

Hình 4.2 Sơ đồ giải thuật chế độ thấp điểm

Đồ Án Môn Học Vi Xử Lý

20


Trường CĐ CNTT Hữu Nghị Việt - Hàn
5.1.3

Hệ Thống Đèn Giao Thơng

Chế độ cao điểm

Hình 4.3 Sơ đồ giải thuật chế độ cao điểm
5.1.4

Chế độ nghỉ

Hình 4.4 Sơ đồ giải thuật chế độ nghỉ

Đồ Án Môn Học Vi Xử Lý

21


Trường CĐ CNTT Hữu Nghị Việt - Hàn

Hệ Thống Đèn Giao Thơng

5.2 Chương trình C viết cho mạch điều khiển hệ thống đèn giao thông
#include <REGX51.H>
#include <intrins.h>
#define LED_D_1

P2_0

#define LED_V_1

P3_7

#define LED_X_1

P3_6

#define LED_D_2

P2_3

#define LED_V_2


P2_2

#define LED_X_2

P2_1

#define LED_DBX1

P1_4

#define LED_DBD1

P1_5

#define LED_DBX2

P1_6

#define LED_DBD2

P1_7

#define OFF_LED
((LED_D_1 = 1),(LED_V_1 = 1),(LED_X_1 = 1),
(LED_D_2 = 1),(LED_V_2 = 1),(LED_X_2 = 1),(LED_DBX1 = 1),(LED_DBD1 =
1),(LED_DBX2 = 1),(LED_DBD2 = 1))
void delay (unsigned int number);

// khai bao bien


unsigned char code bang_ma[10] = {0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82,
0xf8, 0x80, 0x90}; //FLASH ROM
char dem, time, n1, n2, n3, n4;

// RAM

char bt, cd, td;
char tg_d1, tg_v1, tg_x1, tg_d2, tg_v2, tg_x2;
char d1, v1, x1, d2, v2, x2;
//ham Delay
void delay (unsigned int number)
{
unsigned char temp;
while(number)
{
temp = 200;
while (temp--);
number--;
}
Đồ Án Môn Học Vi Xử Lý

22


Trường CĐ CNTT Hữu Nghị Việt - Hàn

Hệ Thống Đèn Giao Thông

}
// ham khai bao dung ngat timer 0& 1

void Setup_Timer0(void)
{
TMOD = 0x11;

// timer0 & 1 : CHE DO 1

TH0 = 0xEC;
TL0 = 0x77;
TH1 = 0x3C;
TL1 = 0xAF;
ET0 = 1;
ET1 = 1;
EA = 1;
TF0 = 0;
TF1 = 0;
TR0 = 1;
TR1 = 1;
}
// ham ngat timer 0
void T0_ISR(void)

== quet led
interrupt1

{ TR0 = 0;
TH0 = 0xEC;
TL0 = 0x76;
if (td == 0)
{// qui doi gia tri
if (d1)


{

n1 = tg_d1 / 10;
n2 = tg_d1 % 10;
};
if (x1)

{

n1 = tg_x1 / 10;
n2 = tg_x1 % 10;
};
Đồ Án Môn Học Vi Xử Lý

23


Trường CĐ CNTT Hữu Nghị Việt - Hàn

Hệ Thống Đèn Giao Thông

if (v1){
n1 = tg_v1 / 10;
n2 = tg_v1 % 10;
};
if (d2)

{


n3 = tg_d2 / 10;
n4 = tg_d2 % 10;
};
if (x2){
n3 = tg_x2 / 10;
n4 = tg_x2 % 10;
};
if (v2){
n3 = tg_v2 / 10;
n4 = tg_v2 % 10;
};
P2_7 = 1; // KHOA TRANZITOR
P2_6 = 1;
P2_5 = 1;
P2_4 = 1;
dem++;
if (dem == 1)
{
P0 = bang_ma[n1];
P2_7 = 0;
};
if (dem == 2)
{
P0 = bang_ma[n2];
P2_6 = 0;
};
if (dem == 3)
Đồ Án Môn Học Vi Xử Lý

24



Trường CĐ CNTT Hữu Nghị Việt - Hàn

Hệ Thống Đèn Giao Thông

{
P0 = bang_ma[n3];
P2_5 = 0;
};
if (dem == 4) {
P0 = bang_ma[n4];
P2_4 = 0;
dem = 0;
};
}
else

{

P2_7 = 1;
P2_6 = 1;
P2_5 = 1;
P2_4 = 1;
}
TF0 = 0;
TR0 = 1;
}
// ham ngat timer 1 = tạo clock
void T1_ISR(void)


interrupt

3

{

TR1 = 0;
TH1 = 0x3C; //TIMER 1 CHAY TU 15.535 DEN 65.535 = 50.000 MICRO
SECOND TUONG UNG 1 LAN TIMER1 1 TRÀN
TL1 = 0xAF;
time++;
if (time == 20)
{
time = 0;
if (td == 0)
{
// nga tu 1
Đồ Án Môn Học Vi Xử Lý

25


×