điều khiển đèn giao thông sử dụng 89c51 với code assemble .điều khiển đèn giao thông tại ngã tư với đường ưu tiên và không ưu tiên.số giây của đường ưu tiên sẽ là đỏ 25 ,vàng 5 , xanh 60 ;với đường ko ưu tiên đỏ 55 , vàng 5, xanh 30
MỤC LỤC LỜI NÓI ĐẦU .3 CHƯƠNG 1:TỔNG QUAN VỀ ĐỀ TÀI .4 1.1 Mục đích, Ý nghĩ đề tài 1.2 Nội dung,phương pháp nghiên cứu 1.3 Các phương pháp điều khiên đèn giao thông ngã tư 1.4 Kết luận chương CHƯƠNG 2: PHÂN TÍCH VÀ TÍNH TỐN .6 2.1 Khảo sát vi điều khiển 89C51 2.2 Các ghi có chức đặc biệt 2.3 Các tiêu chuẩn lựa chọn vi điều khiển 17 2.4 Led đoạn led đơn 18 2.5 Giao tiếp vi điều khiển với led đoạn 23 2.6 TRAN quét led C2383 24 2.7 Thạch anh 25 2.8 Kết luận chương 27 CHƯƠNG 3: THIẾT KẾ VÀ CHẾ TẠO MẠCH ĐIỀU KHIỂN ĐÈN GIAO THÔNG TẠI NGÃ TƯ 28 3.1.Sơ đồ kết nối khối: 28 3.2 Mạch dao động mạch Reset 29 3.3.Lưu đồ thuật toán .33 3.4.Thiết kế phần cứng .34 3.5 kết luận chương 39 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 40 1.Kết luận chung .40 2.Hướng phát triển 41 PHỤ LỤC .41 Tài liệu tham khảo .48 NHẬN XÉT VÀ ĐÁNH GIÁ CỦA GIÁO VIÊN HƯỚNG DẪN Ngày tháng năm 2020 Giảng viên hướng dẫn Nguyễn Văn Vinh LỜI NÓI ĐẦU Với thời đại phát triển ngày vấn đề giao thông ngày trú trọng Các phương tiện tham gia giao thông gia tăng không ngừng hệ thống giao thông ngày phức tạp Vì để đảm bảo an tồn tham gia giao thơng việc sử dụng hệ thống tín hiệu để điều khiển phân luồng nút giao thông cần thiết Qua thực tế chúng em nhận thấy vấn đề sát thực Hơn chúng em trang bị kiến thức trình nghiên cứu học tập trường chúng em chọn đề tài “ Thiết kế chế tạo hệ thống điều khiển tín hiệu giao thơng cho ngã tư ” Trong suốt trình thực đề tài chúng em nhận hướng dẫn tận tình “Nguyễn Văn Vinh” thầy cô khoa điện- điện tử Chúng em xin chân thành cám ơn thầy cô Tuy nhiên trình thực đồ án kiến thức hiểu biết hạn hẹp chúng em chưa có nhiều điều kiện khảo sát thực tế nhiều, thời gian làm đồ án không dài đồ án chúng em tránh thiếu sót Chúng em mong thầy các bạn đóng góp bổ sung ý kiến để đồ án chúng em thêm hoàn thiện Chúng em xin chân thành cám ơn! CHƯƠNG 1:TỔNG QUAN VỀ ĐỀ TÀI 1.1 Mục đích, Ý nghĩ đề tài Trước tình hình phương tiện tham gia giao thông ngày gia tăng không ngừng hệ thống giao thơng ngày phức tạp Chính lý dẫn đến tình trạng ùn tắc tai nạn giao thơng ngày gia tăng Vì để đảm bảo giao thơng an tồn thơng suốt việc sử dụng hệ thống tín hiệu để điều khiển phân luồng nút giao thông cần thiết Với tầm quan trọng hệ thống điều khiển tín hiệu giao thơng cần đảm bảo yêu cầu sau: - Đảm bảo trình hoạt động cách xác liên tục - Độ tin cậy cao - Đảm bảo làm việc ổn định, lâu dài 1.2 Nội dung,phương pháp nghiên cứu Trong thời đại nay,dưới bùng nổ phát triển công nghệ Đặc biệt ngành công nghệ điện tử kỹ vi xử lý mạch ứng dụng vào thực tế nhiều Các thiết bị điện tử số dù đơn giản đại đến đâu hướng tới tiện lợi cho người sử dụng Trước yêu cầu đòi hỏi cấp thiết sống Nhóm đồ án chúng em bắt tay vào tìm hiểu thiết kế điều khiển đèn giao thông ngã tư” “ Mạch Dưới hướng dẫn thầy Nguyễn Văn Vinh thầy cô giáo khoa giúp đỡ chúng em thực ý tưởng 1.3 Các phương pháp điều khiên đèn giao thơng ngã tư - Sau tìm hiểu tham khảo tài liệu học tập phương pháp điều khiển đèn giao thơng ngã tư em tìm phương pháp phù hợp phương pháp sử dụng PLC phương pháp sử dụng vi xử lí - sau tìm hiểu phương pháp với kiến thức giảng dạy thầy cô giáo em chọn phương pháp sử dụng vi xử lý để thiết kế chế tạo mạch điều khiển đèn giao thông ngã tư 1.4 Kết luận chương - Trong chương nêu mục đích, ý nghĩa, nội dung đề tài số phương pháp điều khiển đèn giao thông ngã tư Trong phương pháp đưa em chọn phương pháp phù hợp để thiết kế chế tạo mạch CHƯƠNG 2: PHÂN TÍCH VÀ TÍNH TOÁN 2.1 Khảo sát vi điều khiển 89C51 2.1.1 Giới thiệu cấu trúc phần cứng MCS-51 (89C51): MCS-51 họ IC vi điều khiển hãng Intel sản xuất Các IC tiêu biểu cho họ 8051 8031 Các sản phẩm MCS-51 thích hợp cho ứng dụng điều khiển Việc xử lý Byte toán số học cấu trúc liệu nhỏ thực nhiều chế độ truy xuất liệu nhanh RAM nội Tập lệnh cung cấp bảng tiện dụng lệnh số học Bit gồm lệnh nhân lệnh chia Nó cung cấp hổ trợ mở rộng Chip dùng cho biến Bit kiểu liệu riêng biệt cho phép quản lý kiểm tra Bit trực tiếp điều khiển hệ thống logic đòi hỏi xử lý luận lý 89C51 vi điều khiển Bit, chế tạo theo công nghệ CMOS chất lượng cao, công suất thấp với KB EPROM (Flash Programmable and erasable read only memory) Thiết bị chế tạo cách sử dụng nhớ không bốc mật độ cao ATMEL tương thích với chuẩn cơng nghiệp MCS-51 tập lệnh chân EPROM ON-CHIP cho phép nhớ lập trình lập trình hệ thống lập trình viên bình thường Bằng cách kết hợp CPU Bit với PEROM Chip đơn, ATMEL AT89C51 vi điều khiển mạnh (có cơng suất lớn) mà cung ấp linh động cao giải pháp giá nhiều ứng dụng vi điều khiển AT89C51 cung cấp đặc tính chuẩn sau: KB nhớ đọc xóa lập trình nhanh (EPROM), 128 Byte RAM, 32 đường I/O, TIMER/COUNTER 16 Bit, vectơ ngắt có cấu trúc mức ngắt, Port nối tiếp bán song công, mạch dao động tạo xung Clock dao động ON-CHIP Thêm vào đó, AT89C51 thiết kế với logic tĩnh cho hoạt động đến mức không tần số hỗ trợ hai phần mềm lựa chọn chế độ tiết kiệm công suất, chế độ chờ (IDLE MODE) dừng CPU cho phép RAM, timer/counter, port nối tiếp hệ thống ngắt tiếp tục hoạt động Chế độ giảm công suất lưu nội dung RAM treo dao động làm khả hoạt động tất chức khác Reset hệ thống Các đặc điểm 89C51 tóm tắt sau: • KB nhớ lập trình lại nhanh, có khả tới 1000 chu kỳ ghi xố • Tần số hoạt động từ: 0Hz đến 24 MHz • mức khóa nhớ lập trình • Timer/counter 16 Bit • 128 Byte RAM nội • Port xuất /nhập I/O bit • Giao tiếp nối tiếp • 64 KB vùng nhớ mã ngồi • 64 KB vùng nhớ liệu ngoại • Xử lý Boolean (hoạt động bit đơn) • 210 vị trí nhớ định vị bit • ms cho hoạt động nhân chia 2.1.2 Sơ đồ chân tín hiệu AT89C51 Hình 2.1 Sơ đồ chân 89c51 Chức chân tín hiệu sau: - P0.0 đến P0.7 chân cổng - P1.0 đến P1.7 chân cổng - P2.0 đến P2.7 chân cổng - P3.0 đến P3.7 chân cổng - RxD: Nhận tín hiệu kiểu nối tiếp - TxD: Truyền tín hiệu kiểu nối tiếp - /INT0: Ngắt - /INT1: Ngắt - T0: Chân vào Timer/Counter - T1: Chân vào Timer/Counter - /Wr: Ghi liệu vào nhớ - /Rd: Đọc liệu từ nhớ - RST: Chân vào Reset, tích cực mức logic cao khoảng chu kỳ máy - XTAL1: Chân vào mạch khuyếch đaị dao động - XTAL2: Chân từ mạch khuy ếch đaị dao động - /PSEN : Chân cho phép đọc nhớ chương trình ngồi (ROM ngồi) - ALE (/PROG): Chân tín hiệu cho phép chốt địa để truy cập nhớ ngoài, On-chip xuất byte thấp địa Tín hiệu chốt kích hoạt mức cao, tần số xung chốt = 1/6 tần số dao động VĐK Nó dùng cho Timer ngồi cho mục đích tạo xung Clock Đây chân nhận xung vào để nạp chương trình cho Flash (hoặc EEPROM) bên On-chip mức thấp - /EA/Vpp: Cho phép On-chip truy cập nhớ chương trình ngồi /EA=0, - /EA=Ĩ On-chip làm việc với nhớ chương trình nội trú Khi chân cấp nguồn điện áp 12V (Vpp) On-chip đảm nhận chức nạp chương trình cho Flash bên - Vcc: Cung cấp dương nguồn cho On-chip (+ 5V) - GND: nối mass 2.2 Các ghi có chức đặc biệt Bảng 2.1 Địa chỉ, ý nghĩa giá trị SFR sau Reset Symbol * ACC *B * PSW SP DP0L DP0H * P0 * P1 * P2 * P3 * IP * IE TMOD Name Thanh ghi tích lũy Thanh ghi B Từ trạng thái chương trình Con trỏ ngăn xếp Byte cao trỏ liệu Byte thấp trỏ liệu Cổng Cổng Cổng Cổng TG điều khiển ngắt ưu tiên TG điều khiển cho phép ngắt Điều khiển khiểu Timer/Counter Address 0E0h 0F0h 0D0h 81h 82h 83h 80h 90h 0A0h 0B0h 0B8h 0A8h 89h Reset Values 00000000b 00000000b 00000000b 00000111b 00000000b 00000000b 11111111b 11111111b 11111111b 11111111b xxx00000b 0xx00000b 00000000b * TCON TH0 TL0 TH1 TL1 * SCON SBUF PCON TG điều khiển Timer/Counter Byte cao Timer/Counter Byte thấp Timer/Counter Byte cao Timer/Counter Byte thấp Timer/Counter Serial Control Serial Data Buffer Power Control 88h 8Ch 8Ah 8Dh 8Bh 98h 99h 87h 00000000b 00000000b 00000000b 00000000b 00000000b 00000000b indeterminate 0xxx0000b • Có thể định địa bit, x: Không định nghĩa 2.2.1 Thanh ghi ACC: Là ghi tích luỹ, dùng để lưu trữ tốn hạng kết phép tính Thanh ghi ACC dài bits Trong tập lệnh On-chip, thường quy ước đơn giản A 2.2.2 Thanh ghi B: Thanh ghi dùng thực phép toán nhân chia Đối với lệnh khác, xem ghi đệm tạm thời Thanh ghi B dài bits Nó thường dùng chung với ghi A phép toán nhân chia 2.2.3 Thanh ghi SP: Thanh ghi trỏ ngăn xếp dài bit SP chứa địa liệu đỉnh ngăn xếp Giá trị tự động tăng lên thực lệnh PUSH trước liệu lưu trữ ngăn xếp SP tự động giảm xuống thực lệnh POP Ngăn xếp đặt nơi RAM on-chip, nhung sau khởi động lại hệ thống trỏ ngăn xếp mặc định trỏ tới địa khởi đầu 07h, ngăn xếp địa 08h Ta định trỏ ngăn xếp địa mong muốn lệnh di chuyển liệu thông qua định địa tức thời 10 3.4.Thiết kế phần cứng 3.4.1.Sơ đồ nguyên lý mạch điều khiển Hình 3.6: sơ đồ mạch nguyên lý 34 3.4.2.Thi cơng a.Sơ đồ bố trí linh kiện Hình 3.7: sơ đồ bố trí linh kiện 35 b.Sơ đồ dây board mạch Hình 3.8: sơ đồ dây board mạch 36 c Sơ đồ hiển thị cột đèn giao thơng Hình 3.9: Sơ đồ cột đèn d.Sơ đồ dây cột đèn Hình 3.10: sơ đồ mạch in cột đèn 37 e.Mạch dựng thực tế Hình 3.11:mạch thực tế -Mơ hình dựng thực tế Hình 3.12: mơ hình sau dựng 38 3.5 kết luận chương - Trong chương đưa sơ đồ khối toàn mạch, phần mạch có mạch với nêu lưu đồ thuật toán sử dụng cho mạch - Đã thiết kế phần cứng mơ hình giao thơng ngã tư kèm hình ảnh thực tế 39 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 1.Kết luận chung - Với mạch điều khiển giao thơng ngã tư ta có ưu điểm sau: + Dễ dàng thay đổi nội dung hiển thị, Led hiển thị tương đối rõ + Đảm bảo độ xác cao -Những kết đạt được: - Với hướng dẫn tận tình thầy giáo: Nguyễn Văn Vinh với tìm hiểu học hỏi thành viên nhóm sau thời gian thực nhóm chúng em đạt kết sau: + Thiết kế chế tạo mạch điều khiển đèn giao thơng ngã tư có khả sử dụng thực tế + Đạt mục tiêu yêu cầu ban đầu + Vận dụng nhiều kiến thức vi xử lý q trình thực thi cơng + Khả làm việc theo nhóm tìm hiểu đề tài để phục vụ cho đồ án sau + Rút nhiều kinh nghiệm thực thi công -Hạn chế: - Hoạt động mạch bị nhiễu, phần cứng phần mềm phức tạp làm thời gian thi cơng kéo dài - Tuy nhiên q trình thực hạn chế mặt kiến thức chun mơn, kinh nghiệm làm việc nên nhóm cịn gặp nhiều khó khăn việc tìm hiểu đề tài việc tìm hiểu tài liệu liên quan kiến thức cịn nên q trình thực thi cơng làm mạch khơng tránh khỏi sai sót nên mong thầy cô cho ý kiến giúp đỡ để nhóm chúng em hồn thiện đề tài tốt có kinh nghiệm để phục vụ cho đồ án sau Chúng em xin chân thành cảm ơn! 40 2.Hướng phát triển - Sau trình nhận làm đề tài “Thiết kế chế tạo hệ thống điều khiển tín hiệu giao thơng cho ngã tư” chúng em thấy đề tài hay ứng dụng thực tế đời sống ngày - Trong thực tế có nhiều ngã tư trải dài khắp tuyến đường, đặc biệt nơi ngã tư trọng yếu nối đường quan trọng Nơi thường hay xảy ùn tắc giao thơng chí vụ tai nạn người tham gia giao thông không ý xung quanh Vì vệ có hệ thống điều khiển giao thơng tín hiệu đèn giúp giải vấn đề Từ mơ hình mạch nguyên lý mà chúng em làm ,chúng ta phát triển đề tài lên nhiều cấp độ hướng khác để đề tài có tính tối ưu thực tế PHỤ LỤC $INCLUDE(REG51.INC) ORG 0000H MAIN: mov p3,#00h mov 7eh,#25 mov 7fh,#30 mov 7ch,#60 mov 7dh,#55 mov 7ah,#1 mov 7bh,#1 MAIN1: CALL CTA; CHAY DO - XANH CALL CTB; CHAY DO - VANG 41 CALL CTC; CHAY XANH - DO CALL CTD; CHAY VANG - DO JMP MAIN1 ; *************************** CTA: ; HIEN THI DO - XANH MOV A,#0010100B MOV P2,A; CHO HIEN THI MA LED DON MOV R0,7fh; GIA TRI DEM DO 1=30S MOV R1,7eh ; GIA TRI DEM XANH 1=25S NEXT1: ;LED THANH DEM LUI acall ht DEC R0; GIAM BIEN DEM DEC R1 acall kiem_tra CJNE R1,#0,NEXT1 RET ;^^^^^^^^^^^^^^^^^^^^^^^^^^^^ CTB:; HIEN THI DO - VANG 5S MOV A,#00100100B MOV P2,A MOV R0,#5; GIA TRI DEM MOV R1,#5 NEXT2: CALL HT ; GOI CHUONG TRINH HIEN THI DEC R0; GIAM BIEN DEM 42 DEC R1 CJNE R0,#0,NEXT2 RET ;********************** CTC: ;D0 XANH DO DI BO MOV A,#01000001B MOV P2,A MOV R0,7dh; GIA TRI DEM DEN MOV R1,7ch NEXT3: CALL HT ; GOI CHUONG TRINH HIEN THI DEC R0; GIAM BIEN DEM DEC R1 CJNE R0,#0,NEXT3 RET ;********************** CTD: MOV A,#01000010B MOV P2,A MOV R0,#5; GIA TRI DEM DEN MOV R1,#5 NEXT4: CALL HT ; GOI CHUONG TRINH HIEN THI DEC R0; GIAM BIEN DEM DEC R1 CJNE R0,#0,NEXT4 RET 43 ;*******KIEM TRA BAN PHIM***** KIEM_TRA: JNB P1.0,BAN_DEM JNB P1.2,OUT MOV A,7bh CJNE A,#1,h1 JNB P1.1,YEU H1: MOV A,7ah CJNE A,#2,h2 JB p1.1,MAIN10 RET h2: RET OUT: ACALL DELAY011 JMP MAIN MAIN10: JMP MAIN BAN_DEM: JB P1.0,MAIN10 MOV P3,#0FFH MOV P0,#0C0H MOV P2,#20H ACALL DELAY1 MOV P2,#02H ACALL DELAY1 JMP BAN_DEM 44 YEU: MOV 7eh,#35 MOV 7fh,#40 MOV 7dh,#65 MOV 7ch,#70 MOV 7bh,#2 MOV 7ah,#2 JMP MAIN1 ;******* CHUONG TRINH HIEN THI LED DOAN************** HT: MOV R7,#25 ; SO LAN QUET QUET: MOV A,R0; MOV B,#10; DIV AB ;CHIA PHAN NGUYEN VAO A PHAN DU VAO B MOV DPTR,#MALED MOV R2,A MOV A,B MOVC A,@A+DPTR ;LAY MA LED DOAN CUA PHAN DU MOV P0,A SETB P3.6 ;BAT HIEN THI TREN LED DON VI CALL DELAY; CLR P3.6 MOV A,R2 ; TRA LAI GIA TRI PHAN NGUYEN MOVC A,@A+DPTR ; LAY MA LED DOAN CUA PHAN NGUYEN MOV P0,A 45 SETB P3.7 CALL DELAY CLR P3.7 ;****************************************************duong MOV A,R1 MOV B,#10 DIV AB ; CHIA PHAN NGUYEN VAO A PHAN DU VAO B MOV DPTR,#MALED MOV R2,A ; CAT PHAN NGUYEN VAO THANH GHI A DUA GIA TRI PHAN DU HIEN THI TRUOC MOV A,B MOVC A,@A+DPTR ;LAY MA LED DOAN CUA PHAN DU MOV P0,A SETB P3.4 ;BAT HIEN THI TREN LED CALL DELAY CLR P3.4 MOV A,R2 ;TRA LAI GIA TRI PHAN NGUYEN MOVC A,@A+DPTR ; LAY MA LED DOAN CUA PHAN NGUYEN MOV P0,A SETB P3.5 CALL DELAY CLR P3.5 acall kiem_tra k: DJNZ R7,QUET RET ;********************CHUONG TRINH DELAY******** DELAY011: 46 MOV R3,#10 DELAY01: CALL DELAY DJNZ R3,DELAY01 RET DELAY: ; HAM DELAY 10ms MOV R4,#100 STOP: MOV R5,#50 DJNZ R5,$ DJNZ R4,STOP RET DELAY1: MOV R6,#20 MOV TMOD,#01h LAP: MOV TH0,#3Ch MOV TL0,#0B0h SETB TR0 JNB TF0,$ CLR TR0 CLR TF0 DJNZ R6,LAP RET MALED: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H END 47 Tài liệu tham khảo [1] Nguyễn Tăng Cường, Phan Quốc Thắng, “Cấu trúc lập trình vi điều khiển,” Nxb Khoa học kỹ thuật, 2009 Giáo trình vi điều khiển - Trường ĐHSPKT Hưng Yên Trang web Đientuvienthong.name 48