Chương I Giới thiệu đề tài yêu cầu Ứng dụng BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ Đề Tài MÔ HÌNH ĐÈN GIAO THÔNG DÙNG VI ĐIỀU KHIỂN AT89C51 GV[.]
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ Đề Tài: MƠ HÌNH ĐÈN GIAO THƠNG DÙNG VI ĐIỀU KHIỂN AT89C51 GVHD: Ths Nguyễn Đình Phú SVTH: Lê Trần Minh 11341030 Thành phố Hồ Chí Minh, ngày 25 tháng 11 năm 2011 LỜI CẢM ƠN Lời em xin cảm ơn Thầy Ths Nguyễn Đình Phú giảng viên hướng dẫn chấp thuận cho em thực đề tài Sau khoảng thời gian tìm hiểu, thi cơng đồ án mơn học1, đề tài: “mơ hình đèn giao thơng sử dụng vi điều khiển AT89C51 ”, cuối cùng, em hồn thành cơng việc Những kết mà em có nhờ kiến thức tiếp thu trình học tập, bên cạnh dẫn tận tình Thầy Nguyễn Đình phú, nhờ giúp đỡ thầy khoa Điện-Điện Tử Em xin kính lời cám ơn chân thành đến Ban Giám Hiệu trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chi Minh, ban chủ nhiệm khoa Điện-Điện Tử, quý Thầy Cơ khoa, đặc biệt, em xin kính lời cám ơn đến Thầy Nguyễn Đình Phú hết lịng giúp đỡ tạo điều kiện thuận lợi để em hoàn thành đề tài Tuy nhiên, trình độ chun mơn cịn hạn chế nên đồ án em khơng thể tránh khỏi thiếu sót Rất mong nhận giúp đỡ Thầy để đồ án em hoàn chỉnh Em xin chân thành cảm ơn! NHẬN XÉT ĐỒ ÁN MÔN HỌC Tên đề tài: MƠ HÌNH ĐÈN GIAO THƠNG DÙNG VI ĐIỀU KHIỂN 89C51 Nhận xét giáo viên phản biên: Sinh viên thực hiện: LÊ TRẦN MINH MSSV:1134103 MỤC LỤC Chương I GIỚI THIỆU- YÊU CẦU- ỨNG DỤNG Ngày nay, vi điều khiển quen thuộc, sử dụng rộng rãi phổ biến lĩnh vực điện, điện tử, tự động hóa,… Có thể nói vi điều khiển góp phần khơng nhỏ q trình phát triển kinh tế nói chung, lĩnh vực điện tử nói riêng Vi điều khiển ứng dụng nhiều hệ thống điều khiển công nghiệp, dây chuyền sản xuất, máy điều hịa nhiệt độ, Vì vậy, em chọn đề tài nhằm thực hành, sử dụng vi điều khiển để mô hình hóa đèn giao thơng Đề tài “ Mơ hình đèn giao thơng”, đề tài mang tính chất mơ hình thiết kế nhỏ, gọn hiển thị led đơn, hiển thị thời gian led đoạn Đối nới đề tài mơ hình nhỏ nên nhiều hạn chế so với điều khiển đèn giao thông thực tế mặt công suất, tính xác, ổn định thời gian Nên mơ hình để quan sát liên hệ thực tế thơi MỤC ĐÍCH U CẦU: Giới thiệu đề tài: Đề tài bao gồm phần bản: Nội dung : Nêu lên khái quát kiến thức vi xử lí liên quan đến đề tài chức linh liện đề tài Thi cơng: Nêu sơ đồ ngun lý, q trình thi công mạch, nguyên lý thi công mạch Ứng dụng đề tài: Mạch đèn giao thông thiết kế hoạt động để điều khiển giao thông đường phố đặc biệt có ý nghĩa quan trọng tuyến đường có ngã tư.Việc đặt cột đèn giao thơng ngã tư góp phần lớn vào việc giảm thiểu nạn kẹt xe đảm bảo trật tự giao thông đường phố Phương pháp nghiên cứu: Tham khảo ý kiến giáo viên hướng dẫn Thu thập tài liệu có liên quan đến đề tài ứng dụng kiến thức vi điều khiển học Chương II: THIẾT KẾ VÀ MƠ HÌNH ỨNG DỤNG I Sơ đồ khối chức khối Khối cấp nguồn Khối Điều khiển Hình 1: sơ đồ khối Chức khối - khối cấp nguồn: Khối hiển thị Nhiệm vụ khối nguồn cung cấp toàn nguồn cho mạch hoạt động - Khối điều khiển: Có nhiệm vụ xử lý điều khiển theo chương trình lập trình - khối hiển thị: Nhiệm vụ hiển thị thông qua led đoạn led đơn Sơ nguyên lý: R R R R R R R +5VD C 120 120 120 10 120 11 120 12 120 13 120 LE D L7S LE D L7S LE D L7S LE D L7S 7a 9f 7a 9f 7a 9f 7a 9f 6b 10g 6b 10g 6b 10g 6b 10g 4c 5p 4c 5p 4c 5p 4c 5p 2d 8A C 2d 8A C 2d 8A C 2d 8A C 1e 3A C 1e 3A C 1e 3A C 1e 3A C 2 +5VD C J3 C O N 9 104p 10uF 120 C 1 C R 27p 1 M H z 30 29 31 R 17 K D 12 - + R 1k 0 J1 B R ID G E V I V O C 1000uF 50v D 11 LE D R 10k +5V D C U LM 7805 C 11 C AP +5VD C K +5VD C R 16 K A L E /P R O G P S E N E A /V P P R 15 K R 14 2 2 2 2 P P G N D XTA L2 XTA L1 P P P P P P C 10 /R XD /T XD /IN T /IN T /T /T /W R /R D Q Q 2S A 1015 +5VD C X1 C 18 19 Q Q 2S A 1015 +5VD C 27p +5VD C Q Q 2S A 1015 +5VD C 2 2 2 2 Q Q 2S A1015 9 2 V C C /A /A /A /A /A /A /A /A 3 3 3 3 C 2 A T89C 51 1 1 1 1 LE D 10uF D D D D D D D D 12 /A /A /A /A /A /A /A /A 0 3 3 3 3 0 0 0 0 P P P P P P P P P P P P P P P P G N D 1 1 S T 20 P P P P P P P P R 1 LE D LE D 1 LE D V A N G 2X A N H LE D D O LE D XA N H V A N G 1D O 1 40 U C O N T it le M A C H D E N G IA O T H O N G S iz e A D a te : Giới thiệu linh kiện Các linh kiện sử dụng mạch: - Vi điều khiển AT89C51 - 7805 - Led đoạn - Led (oval) D ocum ent N um ber R ev L E T R A N M IN H Monday october,17th 2011 S heet Hình 2: Sơ đồ nguyên lý of - Điện trở - Thạch anh (Crystal) 12MHz - Tụ điện - Diode cầu - Transistor A1015 AT89C51 a Một số nét đặc trưng: - Bộ nhớ chương trình bên trong: 4KB (ROM) - Bộ nhớ liệu bên trong: 128 KB (RAM) - Port xuất nhập (I/O port) : 32 - định thời 16 bit - Nguồn cấp : Vcc =5V - Mạch giao tiếp nối tiếp - Hoạt động tĩnh: từ Hz đến 24 MHz - Số chân IC : 40 19 18 31 0 0 0 0 P P P P P P P P 1 1 1 1 /A /A /A /A /A /A /A /A D D D D D D D D XTA L1 XTA L2 E A /V P P R ST A T89C 51 VC C P P P P P P P P P /A P /A P 2 /A P /A P /A P /A P /A P /A P /R XD P /T X D P /IN T P 3 /IN T P /T P /T P /W R P /R D A L E /P R O G PSEN 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17 30 29 G N D 20 3 3 3 3 40 U Hình 3: sơ đồ chân AT89C51 b chức năng: - Vcc:nguồn cấp (chân số 40) - GND: Nối đất (chân số 20 ) - Port (P0.0 – P0.7) có số chân từ 32- 39 - Port (P1.0 – P1.7) có số chân từ – - Port (P2.0 – P2.7) có số chân từ 21 -28 - Port (P3.0 - P3.7) có số chân từ 10 – 17 Chức số chân: - RST : Thiết lập lại ( chân 9) Mức cao chân chu kì máy dao động hoạt động Reset AT89C51 Mạch Reset tự động ta cấp nguồn - Ở thực Reset cách nối chân 89C51 với nguồn 5V - Chân ALE (Address Latch Enable) / PROG : chân số 30 Là xung ngõ cho phép chốt địa chỉ, cho phép Hình 4: mạch reset chốt byte thấp địa thời gian truy xuất nhớ Chân dùng làm ngõ vào xung lập trình ( PROG ) thời gian lập trình cho Flash - Khi hoạt động bình thường, xung ngõ ALE ln ln có tần số 1/6 tần số mạch dao động chip, sử dụng cho mục đích định thời từ bên ngồi tạo xung Clock - Chân PSEN (Program Store Enable): cho phép đọc nhớ chương trình, chân số 29 Trong ta nối PSEN với Vcc CPU sử dụng nhớ Rom nội - Chân EA / Vpp (External Access): truy xuất , chân số 31 + V D C C 1 u F R k phải đươc nối với GND cho phép xuất mã từ vị trí nhớ chương trình ngồi bắt đầu 0000H đến FFFFH C Chú ý: cho dù nào, khoá bit lập trình, EA chốt bên lúc Reset 27p EA nối Vcc để thực chương trình bên X1 Chân nhận điện áp cho phép lập trình 12V C (Vpp) lập trình Flash Chân XTAL (Crysral), hân 18) p 1 M H z - Ngõ vào mạch khuếch đại đảo mạch dao động ngõ vào mạch tạo xung Clock bên chip Chân XTAL 2(chân 19) - Ngõ mạch khuếch đại đảo mạch dao Hình 5: mạch dao động thạch anh động Để tạo dao động cho vi điều khiển AT89C51 hoạt động, em chọn mạch dao động hình vẽ sau với giá trị linh kiện: C7= C8=33pF Thạch anh dao động có tần số 12MHz EA 2.LM7805: - LM7805 IC ổn áp điện áp cố định +5V Thực tế điện áp dao động từ4,7V đến 5,2V Chân 1: ngõ vào Chân 2: nối mass Chân 3: ngõ điện áp +5V Hình 6: sơ đồ chân 7805 Led đoạn led đơn(oval): a Led đoạn: 10 - Điều khiển tồn hoạt động mạch, có vai trị quang trọng CPU máy tính, có ngõ giao tiếp với khối hiển thị ( port I/O) - Hoạt động khối điều khiển: thực thi theo chương trình lập trình( chương điều khiển phần sau) Khối hiển thị: Q1 Q2 Q3 A1015 A1015 A1015 R13 R14 4k7 R15 4k7 +5V A1015 R16 4k7 +5V Q4 4k7 +5V +5V D6 D5 D4 D3 D2 D1 LED-BIRG LED-BIRG LED-BIRG LED-BIRG LED-BIRG LED-BIRG Hình 13: khối hiển thị Chức - Dùng để hiển thị thời gian thông qua led đoạn led đơn - Trong mạch thiết kế thực tế em thiết kế sử dụng loại Anot chung - Để ghép nối với LED7 có nhiều cách, phải đảm bảo 16 điều khiển tắt mở riêng LED đơn để tạo số Các IC vi điều khiển sinh dòng tức dòng đầu chân IC nhỏ khả tiêu tốn dòng Do vậy,em ghép nối trực tiếp led với chân IC loại Anode chung thích hợp - Dùng trực tiếp chân điều khiển cua vi điều khiển AT89C51 - Dòng mà vi xử lý chịu đựng nhỏ khoảng 100mA V Giải thuật chương trình ĐẶT VẤN ĐỀ: - Thiết nghĩ ngã tư đèn giao thơng nào? Khi việc lưu thơng trở nên khó khăn lưu thông, dễ gây ùn tắt…Để cho việc lưu thông trở nên dễ dàng ta cần có đèn giao thơng Đèn giao thông giúp cho việc điều tiết xe lưu thông qua ngã tư thuận tiện hơn, tránh gây việc ùn tắt giao lộ - Làm để hiển thị đèn đỏ-xanh-vàng? - Làm để hiển thị giá trị led đoạn ? Và đếm ngược giá trị nào? - Dạng liệu xuất port điều khiển hiển thị led đoạn dạng BCD hay đoạn? 2.ĐÈN THỜI GIAN Cho đèn sáng sau: Đỏ 2= 44S, Vàng 2= 5S, Xanh 2= 40S, Đỏ 1= 44S, Vàng 1= 5S, Xanh 1= 40S Thời gian Đỏ sáng = thời gian Xanh 1sáng + thời gian Vàng sáng=45s Thời gian Đỏ sáng = thời gian Xanh sáng + thời gian Vàng sáng=45s chuyển trực tiếp giá trị BCD led đoạn không cần vi mạch giải mã Mỗi số hiển thị led đoạn 1s Lưu đồ giải thuật: 17 Begin Tạo thông số thời gian, liệu điều khiển led, vùng mã 7đoạn S 17h = 0? Đ Nạp thông số tg cho ghi 16h,17h, cho x1- d2 sáng giải mã: 16h,17h Nạp thông số tg cho ghi 16h,17h, cho v2- d1 sáng giải mã: 16h,17h Hiển thị thời gian: Giảm nội dung ghi Hiển thị thời gian: Giảm nội dung ghi S S 16h = 0? 17h = 0? Đ Đ Nạp thông số tg cho ghi 16h,17h, cho v1- d2 sáng giải mã: 16h,17h End Hiển thị thời gian: Giảm nội dung ghi S 16h = 0? Đ Nạp thông số tg cho ghi 16h,17h, cho x2- d1 sáng giải mã: 16h,17h Hiển thị thời gian: Giảm nội dung ghi 18 Giản đồ thời gian: 40s Xanh ĐT t 05s Vàng ĐT t 45s Đỏ ĐT t 45s Đỏ NB 05s Vàng NB 40s Xanh NB t t t Chương trình điều khiển ngơn ngữ assembly Vùng nhớ để hiển thị cho led 7đoạn Vùng nhớ chứa mã 27h 26h 25h 24h 23h 22h 21h 20 BCD h Vùng nhớ chứa mã 37h 36h 35h 34h 33h 32h 31h 30 19 đoạn Hiển thị led thứ h ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;chương trình điều khiển đèn giao thơng có hiển thị led đoạn ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ; quy ước: X1 xanh Đông Tây ; V1 vàng Đông Tây ; D1 đỏ Đông Tây ; X2 xanh Nam Bắc ; V2 vàng Nam Bắc ; D2 Đỏ Nam Bắc ;dữ liệu điều khiển led đơn tích cực mức X1_d2 EQU 10000100B ;XANH 1, DO SANG V1_d2 EQU 01000100B ;VANG 1, DO SANG d1_X2 EQU 00100001B ;DO 1, XANH SANG D1_V2 EQU 00100010B ;DO 1, VANG SANG tg_xanh equ 39 ;39 đếm xuống tức đếm 40 tg_vang equ ;4 đếm xuống tức đếm tg_do equ 44 ;44 đếm xuống tức đếm 45 led7 equ p0 quet equ p2 leddon equ p1 ;điều khiển đoạn a,b,c,d,e,f,g,dp ;điều khiển quét transistor ; điềuu khiển led đơn ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ; Bắt đầu chương trình ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx org 0000h mov tmod,#00000001b ; khởi tạo timer1 mov dptr,#ma7doan mov 22h,#0ffh mov 23h,#0ffh ; xóa vùng nhớ hiển thị không dùng mov 24h,#0ffh 20