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ữn
Trang 1ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM
Trang 2Lờ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 quý 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
LỜI CẢM ƠN
Trang 3PHẦ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 toà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 toà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
Trang 4Theo 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
Trang 5Chươ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
Trang 6Hình 1.1: Sơ đồ khối của AT89C51
Bộ tạo dao động
4K bytes ROM trong
128byte
RAM trong
2bộ đếm / định thời
Khối đ.khiển quản lý Bus
XTAL 1.2
/PSEN/ALE Cổng I/O 8 bit CổngI/O Địa chỉ
cao Dữ liệu 8 bit
Cổng I/O Địa chỉ thấp Dữ liệu 8 bít
Cổng I/O Các chức năng đặc biệt Dữ liệu 8 bit
Trang 71.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 Ngoà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)
Trang 8 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 Ngoà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
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
Trang 9đườ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
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): Ngoà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ị ngoài có kiến trúc bus
Hình 1.2: Sơ đồ chân AT89C51
Trang 10+ 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ớ ngoà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 ngoài chức năng xuất nhập ra còn có một số chân đặc biệt sau:
+ 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
Trang 11+ 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
Trang 12Hì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
Trang 13 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
Ngoà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
Trang 148 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 toá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Ω
Trang 151.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
Trang 16CHƯƠNG II: THIẾT KẾ MẠCH ĐÈN GIAO THÔNG ỨNG DỤNG VI ĐIỀU KHIỂN
2.1 Sơ đồ khối:
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
Khối giải mã và hiển thị
( P1.0 - P1.7 và P2.0 - P2.7 )
(P3.0 – P3.5)
Khối điều khiển trung tâm (AT89C51)
Khối điều khiển ( Nút bấm) (P 0.0 – P0.2)
Khối nguồn
Khối điều khiển trung tâm (AT89C51)
Khối điều khiển trung tâm (AT89C51)
Khối nguồn
Trang 172.2 Chức năng từng khối:
2.2.1 Khối xử lý trung tâm AT89C51:
Hình 2.2: Sơ đồ nguyên 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
ZAT
33p 33p
Trang 182.2.2 Khối giải mã và hiển thị led 7 đoạn
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ự
LED +5V
Trang 19Nguyê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 ngoà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:
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ị Ngoà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
C2 C1
Trang 202.2.4 Khối nút bấm:
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
Trang 22CHƯƠNG III: CHƯƠNG TRÌNH
3.1 Lưu đồ thuật toán:
3.1.1 Lưu đồ thuật toán chương trình chính:
Yes
C
Yes Yes
No
NB1= 0?
No oo
THIẾT LẬP THÔNG SỐ BAN ĐẦU
( mặc định thời gian đèn đỏ 29s, đèn xanh 26s)
Trang 243.1.2 Lưu đồ thuật toán chương trình con:
3.1.2.1 Lưu đồ thuật toán chương trình con hiển thị led 7 đoạn:
Trang 253.1.2.2 Lưu đồ thuật toán chương trình con bật đèn tín hiệu:
RET
LEDXANH2 = 1
LEDDO2 = 0
LEDDO1 = 1 LEDVANG2 = 0
LEDVANG2 = 0
A2