1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

33 27 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 33
Dung lượng 1,11 MB

Nội dung

Báo cáo Tốt nghiệp Đề tài: Hệ thống đèn giao thông sẽ giúp bạn nắm được các nguyên lý hoạt động của các đèn giao thông và các hệ thống của các tín hiệu đèn. Mời bạn cùng tham khảo

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, nguyên 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 Hoà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 ngoài 12 2.4.2 Truy xuất bộ nhớ dữ liệu ngoà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 toà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 toà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ở Ngoà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ẽ 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 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 quát 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 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… 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 ngoài khi có yê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 ngoà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 ngoài Khi AT89C51 đang thực thi chương trình trong bộ nhớ chương trình ngoà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 luôn luôn 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 ngoà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 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 #include #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 Trường CĐ CNTT Hữu Nghị Việt - Hàn if (d1) tg_d1 ; if (v1) tg_v1 ; if (x1) tg_x1 ; Hệ Thống Đèn Giao Thông if (tg_d1 < 0) { if (bt) tg_x1 = 20; if (cd) tg_x1 = 30; tg_d1 = 0; d1 = 0; x1 = 1; LED_D_1 = 1; // OFF LED_X_1 = 0; // ON LED_DBX1 = 1; LED_DBD1 = 0; LED_DBX2 = 0; LED_DBD2 = 1; }; if (tg_x1 < 0) { tg_v1 = 3; tg_x1 = 0; x1 = 0; v1 = 1; LED_X_1 = 1; LED_V_1 = 0; LED_DBX1 = 1; LED_DBD1 = 0; LED_DBX2 = 0; LED_DBD2 = 1; }; if (tg_v1 < 0) { if (bt) tg_d1 = 24; if (cd) tg_d1 = 34; Đồ Án Môn Học Vi Xử Lý 26 Trường CĐ CNTT Hữu Nghị Việt - Hàn Hệ Thống Đèn Giao Thông tg_v1 = 0; v1 = 0; d1 = 1; LED_V_1 = 1; LED_D_1 = 0; LED_DBX1 = 0; LED_DBD1 = 1; LED_DBX2 = 1; LED_DBD2 = 0; }; // nga tu 2 if (d2) tg_d2 ; if (v2) tg_v2 ; if (x2) tg_x2 ; if (tg_d2 < 0) { if (bt) tg_x2 = 20; if (cd) tg_x2 = 30; tg_d2 = 0; d2 = 0; x2 = 1; LED_D_2 = 1; LED_X_2 = 0; LED_DBX1 = 0; LED_DBD2 = 0; LED_DBX2 = 1; LED_DBD1 = 1; }; if (tg_x2 < 0) { tg_v2 = 3; tg_x2 = 0; x2 = 0; Đồ Án Môn Học Vi Xử Lý 27 Trường CĐ CNTT Hữu Nghị Việt - Hàn Hệ Thống Đèn Giao Thông v2 = 1; LED_X_2 = 1; LED_V_2 = 0; LED_DBX1 = 0; LED_DBD2 = 0; LED_DBX2 = 1; LED_DBD1 = 1; }; if (tg_v2 < 0) { if (bt) tg_d2 = 24; if (cd) tg_d2 = 34; tg_v2 = 0; v2 = 0; d2 = 1; LED_V_2 = 1; LED_D_2 = 0; LED_DBX1 = 1; LED_DBD1 = 0; LED_DBX2 = 0; LED_DBD2 = 1; }; } else { LED_V_1 = !LED_V_1; LED_V_2 = !LED_V_2; } }; TF1 = 0; TR1 = 1; } // chuong trinh chinh void main(void) Đồ Án Môn Học Vi Xử Lý { 28 Trường CĐ CNTT Hữu Nghị Việt - Hàn Hệ Thống Đèn Giao Thông dem = 0; time = 0; bt = 1; cd = td = 0; tg_d1 = tg_d2 = 24; tg_x1 = tg_x2 = 20; d1 = 1; v1 = x1 = 0; x2 = 1; v2 = d2 = 0; LED_D_1 = 0; LED_X_2 = 0; LED_DBX1 = 0; LED_DBD1 = 1; LED_DBX2 = 1; LED_DBD2 = 0; Setup_Timer0(); while(1) { // phim cao diem if (!P1_0) { while(!P1_0); delay(10); tg_d1 = tg_d2 = 34; tg_x1 = tg_x2 = 30; cd = 1; td = bt = 0; d1 = 1; v1 = x1 = 0; x2 = 1; v2 = d2 = 0; OFF_LED; LED_D_1 = 0; Đồ Án Môn Học Vi Xử Lý 29 Trường CĐ CNTT Hữu Nghị Việt - Hàn Hệ Thống Đèn Giao Thông LED_X_2 = 0; LED_DBX1 = 0; LED_DBD1 = 1; LED_DBX2 = 1; LED_DBD2 = 0; }; // phim binh thuong if (!P1_1) { while(!P1_1); delay(10); tg_d1 = tg_d2 = 24; tg_x1 = tg_x2 = 20; bt = 1; cd = td = 0; d1 = 1; v1 = x1 = 0; x2 = 1; v2 = d2 = 0; OFF_LED; LED_D_1 = 0; LED_X_2 = 0; LED_DBX1 = 0; LED_DBD1 = 1; LED_DBX2 = 1; LED_DBD2 = 0; }; // phim thap diem if (!P1_2) { while(!P1_2); delay(10); OFF_LED; td = 1; Đồ Án Môn Học Vi Xử Lý 30 Trường CĐ CNTT Hữu Nghị Việt - Hàn Hệ Thống Đèn Giao Thông cd = bt = 0; }; } } Đồ Án Môn Học Vi Xử Lý 31 Trường CĐ CNTT Hữu Nghị Việt - Hàn Hệ Thống Đèn Giao Thông KẾT LUẬN Đồ Án Môn Học Vi Xử Lý 32 Trường CĐ CNTT Hữu Nghị Việt - Hàn Hệ Thống Đèn Giao Thông TÀI LIỆU THAM KHẢO [1] Tống Văn On – Hoàng Đức Hải, Họ Vi Điều Khiển 8051, Nhà Xuất Bản Lao Động – Xã Hội [2] R.H.WARRING, Sổ Tay Linh Kiện Điện Tử Cho Người Thiết Kế Mạch, NXB Thống Kê, 1996 [3] Website: dientuvietnam.net [4] Website: dientuvienthong.net [5] Website: dtvt.org Đồ Án Môn Học Vi Xử Lý 33 ... Xử Lý 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 hệ thống đèn giao thông dùng vi điều khiển AT89C51 Hệ thống đèn giao thông gồm phần chủ yếu sau:  Mạch điều... Hữu Nghị Việt - Hàn Hệ Thống Đèn Giao Thông MỤC LỤC CHƯƠNG TỔNG QUAN VỀ ĐÈN GIAO THÔNG 1.1 Giới thiệu đề tài 1.1.1 Các chế độ hoạt động ngày hệ thống đèn giao thông (Giờ cao điểm,... Hàn CHƯƠNG 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 với phát triển khoa học kỹ thuật, xã hội ngày văn minh đại, đô thị ngày lên Nhu cầu giao thông ngày trở

Ngày đăng: 25/04/2021, 23:39

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w