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, hiện đại và mạnh mẽ của kinh tế như hiện nay. Các hệ thống điện tử rất đa dạng và đang thay thế các công việc hàng ngày của con người từ những công việc đơn giản đến phức tạp. Cùng với đó là vấn đề giao thông đang là một bài toán khó, một vấn đề phức tạp và khó giải quyết đòi hỏi nhiều nghành, nhiều cấp phải quan tâm và tìm ra các hướng giải quyết để làm giảm bớt những khó khăn đó cũng như làm cho việc lưu thông trên các tuyến đường được thông thoáng và giảm thiểu tại nạn. Nhận thấy đây là vấn đề sát thực với những kiến thức đã trang bị trong quá trình học tập và nghiên cứu, em đã lựa chọn đề tài : “Nghiên cứu họ vi điều khiển 8051, xây dựng hệ thống điều khiển đèn giao thông” để làm đồ án tốt nghiệp.
Trang 1ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
Đề tài: Tìm hiểu họ vi điều khiển 8051, xây
dựng hệ thống điều khiển đèn giao thông
ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN
THÔNG KHOA CÔNG NGHỆ ĐIỆN TỬ VÀ TRUYỀN THÔNG
Sinh viên thực hiện : Phạm Văn Hưng Giáo viên hướng dẫn : ThS Nguyễn Ngọc Hoan
Thái Nguyên, Tháng 9/2014
Trang 2Giới Thiệu
N gà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, hiện đại và mạnh mẽ của kinh tế như hiện nay Các hệ thống điện tử rất đa dạng và đang thay thế các công việc hàng ngày của con người từ những công việc đơn giản đến phức tạp Cùng với đó là vấn đề giao thông đang là một bài toán khó, một vấn đề phức tạp và khó giải quyết đòi hỏi nhiều nghành, nhiều cấp phải quan tâm và tìm ra các hướng giải quyết để làm giảm bớt những khó khăn đó cũng như làm cho việc lưu thông trên các tuyến đường được thông thoáng và giảm thiểu tại nạn Nhận thấy đây là vấn đề sát thực với những kiến thức đã trang bị trong quá trình học tập
và nghiên cứu, em đã lựa chọn đề tài : “Nghiên cứu họ vi điều khiển 8051, xây dựng hệ thống điều khiển đèn giao thông” để làm đồ án tốt nghiệp.
Trang 3Nội dung đề tài
Tổng quan về đèn giao thông
Trang 4Chương I : Tổng quan về đèn giao thông
Đèn tín hiệu giao thông đường bộ là một thiết bị được dùng
để điều khiển giao thông ở những giao lộ có lượng phương tiện lưu thông lớn (thường là ngã ba, ngã tư đông xe qua lại) Đây là một thiết bị quan không những an toàn cho các phương tiện mà còn giúp giảm ùn tắc giao thông vào giờ cao điểm Nó được lắp ở tâm giao lộ hoặc trên vỉa hè Đèn tín hiệu có thể hoạt động tự động hay cảnh sát giao thông điều khiển.
Giới thiệu đề tài
Trang 5Phương pháp nghiên cứu
Cách thức tiến hành nghiên cứu dựa trên sự hiểu biết về vi điều khiển 8051, các kiến thức đã học từ môn “ kỹ thuật lập trình nhúng” Cùng với sự hướng dẫn của GVHD và tận dụng những nguồn thông tin trên Internet
Đèn tín hiệu là một thiết bị quan trọng không những đảm bảo an toàn cho người và phương tiện tham gia giao thông mà còn giúp giảm thiểu ách tắc giao thông tại những nơi có mật độ giao thông cao vào những giờ cao điểm
Trang 6
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 bit
để đ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 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 bit 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ẽ quét 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.
Nguyên lý hoạt động
Trang 7Vấn đề điều khiển hệ thống tín hiệu
Mật độ giao thông phát triển mạnh mẽ ở các đô thị lớn đòi hỏi hệ thống điều khiển giao thông phải chính xác, đơn giản, nhưng hiệu quả cao Hệ thống đèn giao thông hai pha phần nào đã đáp ứng được những yêu cầu trên.
Mỗi pha gồm các đèn: Xanh-Đỏ-Vàng điều khiển các phương tiện cơ giới.
Hoạt động của từng pha như sau:
- Đèn xanh: cho phép các phương tiện tham gia giao thông được đi.
- Đèn vàng: thông báo cho các phương tiện giảm tốc độ, và chuẩn bị dừng lại.
- Đèn đỏ: các phương tiện phải dừng lại.
Trang 8Chương II: Khảo sát vi điều khiển 8051
- 4 KB EPROM bên trong
- 128 Byte RAM nội
- 4 Port xuất /nhập I/O 8 bít
- Giao tiếp nối tiếp
- 64 KB vùng nhớ mã ngoài
- 64 KB vùng nhớ dữ liệu ngoại
- Xử lí Boolean (hoạt động trên bít đơn)
- 210 vị trí nhớ có thể định vị bít Hình dạng AT89C51
- 4 chu kì máy (4 μs đối với thạch anh 12MHz) cho hoạt động nhân hoặc chia.
- Có các chế độ nghỉ (Low – power Idle) và chế độ nguồn giảm (power
down) Ngoài ra một số IC khác của họ MCS – 51 có thêm bộ định thời thứ 3
và 256 byte RAM nội
Tổng quát
Trang 9Sơ đồ khối và các chân
Sơ đồ khối của họ vi điều khiển 8051
Trang 10- Interrupt Control: điều khiển ngắt
- Other Register: các thanh ghi khác
- 128 byte Ram
- Bộ định thời: 0, 1, 2
- CPU: đơn vị điều khiển trung tâm
- Oscillator: mạch dao động
- Bus Control: điều khiển Bus
- Input/output: các chân vào ra
- Serial port: cổng nối tiếp
- INT1/INT0: các ngắt 1/0
Trang 11AT89C51 có 128 byte RAM ở
bên trong chip RAM trong
AT89C51 bao gồm nhiều
thành phần: Phần lưu trữ đa
dụng, phần lưu trữ địa chỉ
hóa từng bit, các bank thanh
ghi và các thanh ghi chức
năng đặc biệt Họ 8051 có bộ
nhớ theo cấu trúc Harvard:
có những vùng bộ nhớ riêng
biệt cho chương trình và dữ
liệu Chương trình và dữ liệu
có thể chứa bên trong
AT89C51 vẫn có thể kết nối
với 64K byte bộ nhớ chương
trình và 64K byte dữ liệu.
Bộ nhớ dữ liệu chip
Trang 12- Port0:
Là Port có 2 chức năng ở trên chân từ
32 đến 39 trong các thiết kế cỡ nhỏ (không dùng bộ nhớ mở rộng) có hai chức năng như các đường I/O Đối với các thiết kế cỡ lớn (với bộ nhớ mở rộng) nó được kết hợp kênh giữa các bus
- Port1:
Port1 là một port I/O trên các chân
1-8 Các chân được ký hiệu P1.0, P1.1, P1.2… có thể dùng cho các thiết bị ngoài nếu cần Port1 không có chức năng khác, vì vậy chúng ta chỉ được dùng trong giao tiếp với các thiết bị ngoài
Trang 13- Port2:
Port2 là một port công dụng kép trên các chân 21 - 28 được dùng như các đường xuất nhập hoặc là byte cao của bus địa chỉ đối với các thiết kế dùng bộ nhớ mở rộng
- Port3:
Port3 là một port công dụng kép trên các chân 10 - 17 Các chân của port này có nhiều chức năng, các công dụng chuyển đổi có liên hệ với các đặc tính đặc biệt của 8051 / 8031 như sau :
P3.0 RXD Dữ liệu nhận cho port nối tiếp
P3.1 TXD Dữ liệu phát cho port nối tiếp
P3.6 WR Xung ghi bộ nhớ dữ liệu ngoài
P3.7 RD Xung đọc bộ nhớ dữ liệu ngoài
Trang 14 LED 7 thanh được dùng nhiều trong các mạch hiện thị thông báo, hiện thị số, kí tự đơn giản LED 7 thanh được cấu tạo từ các LED đơn sắp xếp theo các thanh nét để có thể biểu diễn các chữ số hoặc các kí tự đơn giản như từ số 0 đến 9 và A đến F LED 7 thanh dùng để hiện số thì rất đẹp và dễ nhìn
Hiện nay trên thị trường có 2 loại LED 7 thanh đó là loại chung Anot và chung catot Cấu tạo của nó gồm 8 con LED đơn được ghép với nhau
Một số linh kiện khácLed 7 thanh
Trang 15Chức năng: Là nguồn tạo xung nhịp dao động clock ổn định (12MHz) cho dao động của 8051 Thạch anh sẽ được gắn vào chân XTAL1 và XTAL2 (Chân số 18 và 19) của 8051 Tần số thạch anh thường dùng trong các ứng dụng là : 11.0592Mhz(giao tiếp với cổng com máy tính)
và 12Mhz Tần số tối đa 24Mhz Tần số càng lớn VĐK xử lí càng
nhanh.
Thạch Anh
Trang 16Bốn transistor nối với P1.0 -> P1.3 sử dụng như những chiếc khóa điện tử đóng mở rất nhanh, vừa có tác dụng đệm dòng cho các led đủ sáng vì dòng do vi điều khiển cung cấp không đủ để làm cho các led sáng đẹp được.Và một lý do nữa là nếu ta sử dụng trực tiếp các chân của vi điều khiển sẽ làm vi điều khiển hoạt động quá công suất, dẫn đến
vi điều khiển rất nóng và hay bị treo khi hoạt động Sáu transistor nối với P2.0 -> P2.5 dùng để khuếch đại dòng vào các led đơn đồng thời ngăn dòng dò từ vi điều khiển vào các led
Transistor
Điện trở
Hạ dòng vào cực B của các transistor và dòng từ cực E của transistor ra các led
Trang 17Các led được lập trình sáng theo thứ tự và thời gian khác nhau để điều khiển giao thông tại các đường giao nhau.
Led đơn
Trang 18Chức năng: Lọc nhiễu cho dao động thạch anh 2 tụ gốm 33pF sẽ được nối một đầu với chân của thạch anh, đầu còn lại đấu ra Mass.
Khởi động lại quá trình hoạt động của mạch.
Ngoài ra mạch còn có thêm một con diot dùng để bảo vệ mạch khi người sử dụng vô tình cắm ngươc nguồn.Và LM7805 để mạch co thể hoạt động với dải điện áp lớn hơn và bảo vệ khi người sử dụng cắm nguồn điện áp lớn hơn đện áp cho phép.Vì qua kinh nghiệm thực tế mạch rất hay bị hỏng vi điều khiển khi ta cắm nhầm nguồn cung cấp hoặc cắm ngược cực tính của nguồn
Tụ
Công tắc
Reset
Diot
Trang 19CHƯƠNG III: XÂY DỰNG MÔ HÌNH ĐIỀU KHIỂN ĐÈN
TÍN HIỆU GIAO THÔNG
Phần mềm Proteus là phần mềm cho
phép mô phỏng hoạt động của mạch
điện tử bao gồm phần thiết kế mạch và
viết chương trình điều khiển cho các họ
vi điều khiển như MCS-51, PIC, AVR,…
Giới thiệu phần
mềm mô phỏng
mạch điện proteus
Trang 20 có thể mô phỏng hoạt động của các hệ vi diều khiển mà không cần thêm phần mềm hỗ trợ nào Sau đó ISIS có thể xuất file sang ARES hoặc các phần mềm vẽ mạch in khác.
ISIS có ưu điểm là hình ảnh mạch điện đẹp, cho phép ta định dạng đường nét, màu sắc mạch điện, cũng như thiết kế theo các mạch mẫu.
ARES
Trang 21Keil C là một trình biên dịch, nó hỗ trợ tốt cho các ngôn ngữ như C, ASM, và là một công cụ hữu hiệu trong lập trình nhúng với họ vi điều khiển AT89C51.
Phần mềm Keil
C
Trang 23Mạch được chia làm 4 khối:
Khối thứ nhất là khối nguồn cung cấp có tác dụng ổn định nguồn và bảo vệ mạch.
Khối thứ hai là khối hiển thị bao gồm các Led xanh, đỏ, vàng và các led 7 thanh để hiển thị số giây đếm lùi và hướng đi ưu tiên.
Khối thứ ba: Là khối xử lý trung tâm AT89C51, khối này có vai trò quan trọng nhất bao gồm có tất cả 40 chân có chức năng như các đường nhập xuất Trong đó có 24 chân có tác dụng kép (có nghĩa 1 chân có 2 chức năng), mỗi đường có thể hoạt động như đường xuất nhập hoặc như đường điều khiển hoặc là thành phần của các bus dữ liệu và các bus địa chỉ Khối này có nhiệm vụ lưu trữ chương trình thực thi được viết bằng ngôn ngữ C và đã được nạp bằng phần mềm Keil C Khối này gồm có vi điều khiển AT89C51 và các phần tử tối thiểu cho vi điều khiển hoạt động như bộ tạo giao động thạch anh …
Khối thứ tư: là khối điều khiển có công tắc dùng để reset mạch.
Hoạt động của hệ thống
Trang 24 Bước 1: Cấp nguồn cho led thứ nhất,các led còn lại đều tắt.
Bước 2: Xuất dữ liệu cần hiển thị của led đó ra port được nối chung với các chân của led.
Bước 3: Tạo một khoảng thời gian trễ để cho led kịp sáng(thời gian trễ này rất quan trọng vì nếu ta để quá ngắn thì led sẽ bị mờ do led chưa kịp sáng đã phải tắt rồi, nhưng nếu để trễ quá lâu thì sẽ ảnh hưởng đến tần số quét led dẫn đến led hiển thị có hiện tượng nhấp nháy gây khó chịu cho người quan sát).
Bước 4: Lại cấp nguồn cho led thứ hai,các led khác đều bị tắt.Và cũng lại xuất dữ liệu cần hiển thị ra port được nối chung với các led đó.
Phương pháp quét Led
Trang 25Lưu đồ giải thuật
Chương trình 3 (vàng nhấp nháy)
END
Trang 26cũng có lưu đồ tương tự như chương trình 1; chúng chỉ khác chương trình 1 tại giá trị xét đặt thời gian đèn xanh và thời gian đèn đỏ.
Lưu đồ chương trình 1
Bắt đầu chương trình 1
Đoạn 11: Khởi tạo cột đỏ 1 giá trị 35s, xanh 2 giá trị 31s
Đoạn 21: Khởi tạo cột đỏ 1 giá trị 3s, vàng 2 giá trị 3s
Đoạn 31: Khởi tạo đỏ 2 giá trị 35s, xanh 1 giá trị 31s
Đoạn 41: Khởi tạo đỏ 2 giá trị 3s, vàng 1 giá trị 3s
Kết thúc chương trình 1
Lưu đồ chương trình 2
Trang 27Bắt đầu chương trình
3
KẾT THÚC CHƯƠNG TRÌNH
3
SETBIT VÀNG 1, VÀNG 2
DELAY 1 GIÂY
CLR VÀNG 1, VÀNG 2 Lưu đồ chương trình 3
Trang 28DELAY 1S
Trang 29Mạch mô phỏng
Mạch mô phỏng
Trang 301 Thành quả đạt được
Mạch chạy ổn định, hiển thị được thời gian đèn tín hiệu giao thông sáng tắt theo yêu cầu.
Nắm được nguyên tắc hoạt động của mạch.
Một bản báo cáo và một đĩa CD chương trình.
Hiểu được nguyên lý mạch.
2 Nhược điểm
Không có khả năng thay đổi thời gian sáng tắt các đèn.
Không có khả năng ứng dụng vào thực tế.
3 Hướng phát triển
Tìm hiểu thêm phần lập trình để hoàn hiện hóa các chức năng của mạch điều khiển tín hiệu đèn giao thông.
Trang 31EM XIN CẢM ƠN SỰ THEO DÕI
CỦA THẦY CÔ VÀ CÁC BẠN