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

thiet ke va che tao he thong dieu khien tin hieu giao thong cho nga tu lap trinh bang vi dieu khien (1)

32 648 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 32
Dung lượng 1,65 MB

Nội dung

BÁO CÁO ĐỒ ÁN CƠ SỞ 2 MẠCH ĐÈN GIAO THÔNG NGÃ TƯ SỬ DỤNG PIC16F877A AI MUỐN LẤY FILE PROTUES MẠCH CODE MẠCH IN THÌ CỨ LIÊN HỆ QUA MAIL NGUYENVANLYHTGMAIL.COM ĐỂ LẤY MẠCH .LỜI NÓI ĐẦU 2 CHƯƠNG I: GIỚI THIỆU CHUNG 3 1.1. Tổng quan về hệ thống điều khiển tín hiệu đèn giao thông 3 1.2. Phân tích lựa chọn phương án điều khiển 3 a. Mạch dùng IC số 3 b. Điều khiển bằng vi điều khiển. 4 c. Với vi mạch dùng kỹ thuật vi xử lý. 4 d. Điều khiển bằng PLC. 4 CHƯƠNG II: GIỚI THIỆU LINH KIỆN 5 2.1. Led 7 đoạn 5 a. Kết nối với vi điều khiển 7 b. Giao tiếp vi điều khiển với led 7 đoạn 10 2.2. Cấu trúc bộ vi điều khiển 10 CHƯƠNG III: THIẾT KẾ PHẦN CỨNG VÀ CHƯƠNG TRÌNH ĐIỀU KHIỂN 21 3.1 Sơ đồ nguyên lý theo từng khối 21 a. Khối hiển thị 21 b. Khối tín hiệu điều khiển 21 c. Khối điều khiển đèn 22 d. Sơ đồ mạch nguyên lý chung 23 3.2 Nguyên lý hoạt động: 23 3.3 Chương trình điều khiển 24 CHƯƠNG IV: THI CÔNG MẠCH 4.1 Vẽ mạch in……………………………………………………………………………………..29 4.2 Mạch mô phỏng………………………………………………………………………………..29 4.3 Mạch thực tế…………………………………………………………………………………...29 CHƯƠNG V: PHẦN TỔNG KẾT 30 TÀI LIỆU THAM KHẢO 31

TRƯỜNG ĐH CÔNG NGHỆ TPHCM MỤC LỤC LỜI NÓI ĐẦU .1 CHƯƠNG I: GIỚI THIỆU CHUNG 1.1Tổng quan hệ thống điều khiển tín hiệu đèn giao thông 1.2Phân tích lựa chọn phương án điều khiển a.Mạch dùng IC số b.Điều khiển vi điều khiển c.Với vi mạch dùng kỹ thuật vi xử lý d.Điều khiển PLC CHƯƠNG II: GIỚI THIỆU LINH KIỆN 1.3Led đoạn .5 a Kết nối với vi điều khiển b.Giao tiếp vi điều khiển với led đoạn .10 1.4CẤU TRÚC BỘ VI ĐIỀU KHIỂN: 10 Phần III: THIẾT KẾ PHẦN CỨNG VÀ CHƯƠNG TRÌNH ĐIỀU KHIỂN .21 3.1Sơ đồ nguyên lý theo khối 21 a.Khối hiển thị 21 b.Khối tín hiệu điều khiển 21 c.Khối điều khiển đèn .22 d.Sơ đồ mạch nguyên lý chung 23 3.2Nguyên lý hoạt động: 23 3.3Chương trình điều khiển 24 CHƯƠNG V: PHẦN TỔNG KẾT 30 LỜI NÓI ĐẦU Giảng viên hướng dẫn: Trần Duy Cường SVTH: Nguyễn Quốc Hải TRƯỜNG ĐH CÔNG NGHỆ TPHCM 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 toà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 chế độ lập trình vi điều khiển” Trong suốt trình thực đề tài chúng em nhận hướng dẫn tận tình thầy “Trần Duy Cường” 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á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! Giảng viên hướng dẫn: Trần Duy Cường SVTH: Nguyễn Quốc Hải TRƯỜNG ĐH CÔNG NGHỆ TPHCM CHƯƠNG I: GIỚI THIỆU CHUNG 1.1 Tổng quan hệ thống điều khiển tín hiệu đèn giao thông 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 toà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 Phân tích lựa chọn phương án điều khiển Với phát triển khoa học kỹ thuật để điều khiển hệ thống giao thông có nhiều cách khác là: Dùng IC số, vi xử lý, vi điều khiển, điều khiển PLC a Mạch dùng IC số Với mạch dùng IC số có ưu điểm sau: • Giá thành rẻ • Mạch đơn giản dễ thực • Tổn hao công suất bé, mạch dùng pin acquy Tuy nhiên sử dụng kỹ thuật số khó khăn việc thay đổi chương trình Muốn thay đổi chương trình buộc ta phải thay đổi phần cứng Do lần phải lắp lại mạch dẫn đến tốn kinh tế mà nhiều yêu cầu không thực nhờ phương pháp Giảng viên hướng dẫn: Trần Duy Cường SVTH: Nguyễn Quốc Hải TRƯỜNG ĐH CÔNG NGHỆ TPHCM Với phát triển mạnh mẽ ngành kỹ thuật số đặc biệt cho đời họ vi xử lý, vi điều khiển hay PLC giải bế tắc kinh tế mà phương pháp dùng IC số kết nối lại không thực b Điều khiển vi điều khiển Ngoài ưu điểm phương pháp trên, phương pháp có ưu điểm sau: Do vi điều khiển có sử dụng timer, hệ thống ngắt, câu lệnh đơn giản nên việc lập trình đơn giản Trong mạch sử dụng nhớ chương trình có quy mô nhỏ tiện lợi mà vi xử lý không thực Nó giao tiếp nối tiếp trực tiếp với máy tính mà vi xử lý giao tiếp giao tiếp song song sang nối tiếp để giao tiếp với máy tính c Với vi mạch dùng kỹ thuật vi xử lý Với phương pháp có ưu điểm sau: Ta thay đổi cách linh hoạt việc thay đổi phần mềm phần cứng không thay đổi mà mạch dùng IC số thực mà thực cứng nhắc mà người công nhân khó tiếp cận, đễ nhầm Số linh kiện sử dụng mạch Mạch đơn giản mạch dùng IC số Song phần cứng vi xử lý sử dụng CPU đơn chíp mà nhớ RAM, ROM, timer, hệ thống ngắt Do việc viết chương trình gặp nhiều khó khăn Do để khắc phục nhược điểm người ta sử dụng vi điều khiển d Điều khiển PLC Với phương pháp sử dụng PLC có ưu diểm sau: Lập trình đơn giản, độ tin cậy cao Chức điều khiển thay đổi dễ dàng thiết bị lập trình (máy tính, hình) mà không cần thay đổi phần cứng yêu cầu thêm bớt thiết bị nhập xuất Thời gian hoàn thành chu trình điều khiển nhanh Giảng viên hướng dẫn: Trần Duy Cường SVTH: Nguyễn Quốc Hải TRƯỜNG ĐH CÔNG NGHỆ TPHCM Tuy nhiên phương pháp có nhiều ưu điểm vi xử lý việc áp dụng hệ thống nhỏ không thích hợp giá thành cao Với ưu điểm phương pháp khác Tuy nhiên thực đề tài nhóm chúng em chọn phương pháp điều khiển vi điều khiển phương án tối ưu phù hợp với đề tài Hiện vi điều khiển PIC 16F877A sử dụng rộng rãi chúng em lựa chọn điều khiển để điều khiển hệ thống CHƯƠNG II: GIỚI THIỆU LINH KIỆN 1.3 Led đoạn Trong thiết bị, để báo trạng thái hoạt động thiết bị cho người sử dụng với thông số dãy số đơn thuần, thường người ta sử dụng "led đoạn" Led đoạn sử dụng dãy số không đòi hỏi phức tạp, cần thị số đủ, chẳng hạn led đoạn dùng để hiển thị nhiệt độ phòng, đồng hồ treo tường điện tử, hiển thị số lượng sản phẩm kiểm tra sau công đoạn Led đoạn có cấu tạo bao gồm led đơn có dạng xếp theo hình có thêm led đơn hình tròn nhỏ thể dấu chấm tròn góc dưới, bên phải led đoạn led đơn led đoạn có Anode(cực +) Cathode(cực -) nối chung với vào điểm, đưa chân để kết nối với mạch điện cực lại led đơn đưa thành chân riêng, đưa để kết nối với mạch điện Led đoạn có loại:  Anode (cực +) chung: đầu (+) chung nối với +Vcc, chân lại dùng để điều khiển trạng thái sáng tắt led đơn, led sáng tín hiệu đặt vào chân mức  Cathode (cực -) chung: đầu( -) chung nối xuống Ground (hay Mass), chân lại dùng để điều khiển trạng thái sáng tắt led đơn, led sáng tín hiệu đặt vào chân mức Giảng viên hướng dẫn: Trần Duy Cường SVTH: Nguyễn Quốc Hải TRƯỜNG ĐH CÔNG NGHỆ TPHCM Hiển thị LED phần tử hiển thị thông dụng, để hiển thị phần tử số từ đến số hệ thập phân Nó gồm xếp thành hình số 8, diode ( LED ) phát quang hiển thị tinh thể lỏng Điode thưòng cấu tạo từ chất Ga, As, P …nó có tính chất chỉnh lưu diode thường Nhưng điện áp thuận đạt nên diode vượt mức ngưỡng Ung diode sáng Điện áp ngưỡng thay đổi từ 1,5 đến v tuỳ theo loại có màu sắc khác • LED màu đỏ có điện áp ngưỡng Ung = 1,6 đến v • LED màu cam có điện áp ngưỡng Ung = 2,2 đến v • LED màu xanh có điện áp ngưỡng Ung = 2,8 đến 3,2 v • LED màu vàng có điện áp ngưỡng Ung = 2,4 đến3, v • LED màu xanh trời có điện áp ngưỡng Ung = đến v Thiết kế giải mã hiển thị cho LED với tín hiệu đầu vào mã BCD  Dạng thị led đoạn: Giảng viên hướng dẫn: Trần Duy Cường SVTH: Nguyễn Quốc Hải TRƯỜNG ĐH CÔNG NGHỆ TPHCM Vì led đoạn chứa bên led đơn, kết nối cần đảm bảo dòng qua led đơn khoảng 10mA-20mA để bảo vệ led Nếu kết nối với nguồn 5V hạn dòng điện trở 330Ω trước chân nhận tín hiệu điều hiển Các điện trở 330Ω điện trở bên kết nối để giới hạn dòng điện qua led led đoạn nối với nguồn 5V Chân nhận tín hiệu a điều khiển led a sáng tắt, ngõ vào b để điều khiển led b Tương tự với chân led lại a Kết nối với vi điều khiển Ngõ nhận tín hiệu điều khiển led đoạn có đường, dùng Port Vi điều khiển để điều khiển led đoạn Như led đoạn nhận liệu bit từ Vi điều khiển để điều khiển hoạt động sáng tắt led led đơn nó, liệu xuất điều khiển led đoạn thường gọi "mã hiển thị led đoạn" Có hai kiểu mã hiển thị led đoạn: mã dành cho led đoạn có Anode(cực +) chung mã dành cho led đoạn có Cathode(cực -) chung Chẳng hạn, để thị số cần làm cho led vị trí b c sáng, sử dụng led đoạn có Anode chung phải đặt vào hai chân b c điện áp 0V(mức 0) chân lại đặt điện áp 5V(mức 1), sử dụng led đoạn có Cathode chung điện áp(hay mức logic) hoàn toàn ngược lại, tức phải đặt vào chân b c điện áp 5V(mức 1) Bảng mã hiển thị led đoạn( led đoạn anot chung: led đơn sáng mức 0) Giảng viên hướng dẫn: Trần Duy Cường SVTH: Nguyễn Quốc Hải TRƯỜNG ĐH CÔNG NGHỆ TPHCM Số hiển thị led Mã hiển thị led đoạn Mã hiển thị led đoạn đoạn dạng nhị phân dạng thập lục phân HGFEDCBA 11000000 C0 11111001 F9 10100100 A4 10110000 B0 10011001 99 10010010 92 11000010 82 11111000 F8 10000000 80 10010000 90 A 10001000 88 B 10000011 83 C 11000110 C6 D 10100001 A1 E 10000110 86 F 10111111 8E Bảng mã hiển thị led đoạn dành cho led đoạn canot chung(các led đơn sang mức 1) Số hiển thị led Mã hiển thị led đoạn Mã hiển thị led đoạn đoạn dạng nhị phân dạng thập lục phân HGFEDCBA 00111111 3F 00000110 06 01011011 5B 01001111 4F 01100110 66 Giảng viên hướng dẫn: Trần Duy Cường SVTH: Nguyễn Quốc Hải TRƯỜNG ĐH CÔNG NGHỆ TPHCM 01101101 6D 01111101 7D 00000111 07 01111111 7F 01101111 6F A 01110111 77 B 01111100 7C C 00111001 39 D 01011110 5E E 01111001 79 F 01110001 71 Phần cứng kết nối với Port Vi điều khiển, để thuận tiện cho việc xử lí sau phần cứng nên kết nối sau: Portx.0 nối với chân a, Portx.1 nối với chân b, theo thứ tự Portx.7 nối với chân h Dữ liệu xuất có dạng nhị phân sau : hgfedcba Từ bảng chức lập bảng karnaught cho hàm ta có kết quả: a = AB C D + A BCD b = A B C D + A BC D c = A BC D d = A B C D + A B C D + ABC D e = A B C D + AB C D + A B C D + A B C D + ABC D f = A B C D + A B C D + AB C D + ABC D g = A B C D + ABC D + A B C D Giảng viên hướng dẫn: Trần Duy Cường SVTH: Nguyễn Quốc Hải TRƯỜNG ĐH CÔNG NGHỆ TPHCM b Giao tiếp vi điều khiển với led đoạn Nếu kết nối Port Vi điều khiển với led đoạn tối đa kết nối led đoạn Mặt khác kết nối hạn chế khả thực công việc khác Vi điều khiển Cho nên cần phải kết nối, điều khiển nhiều led đoạn với số lượng chân điều khiển từ Vi điều khiển tốt Có hai giải pháp: sử dụng IC chuyên dụng cho việc thị led đoạn, hai kết nối nhiều led đoạn vào đường xuất tín hiệu hiển thị Nội phần đề cập đến cách kết nối nhiều led đoạn theo giải pháp thứ Để kết nối nhiều led đoạn vào vi điều khiển thực sau: nối tất chân nhận tín hiệu tất led đoạn (chân abcdefgh) cần sử dụng vào Port, ví dụ, led đoạn có chân nhận tín hiệu được nối với P0 Dùng ngõ lại Vi điều khiển điều khiển on/off cho led đoạn, ngõ điều khiển ON/OFF cho led đoạn,(ON: led đoạn cấp nguồn để hiển thị, OFF: led đoạn bị ngắt nguồn nên không hiển thị được) Tại thời điểm, nên cho Vi điều khiển điều khiển cho led đoạn hoạt động, thời điểm nên có ngõ nối với transitor mức Tại thời điểm có led đoạn ON nên không xảy tình trạng tải cho tải tải cho vi điều khiển điều khiển nhiều led đoạn 1.4 CẤU TRÚC BỘ VI ĐIỀU KHIỂN: a Sơ đồ chân vi điều khiển PIC 16F877A 10 Giảng viên hướng dẫn: Trần Duy Cường SVTH: Nguyễn Quốc Hải TRƯỜNG ĐH CÔNG NGHỆ TPHCM Các ghi điều khiển liên quan đến Timer0 bao gồm: TMR0 (địa 01h, 101h) : chứa giá trị đếm Timer0 INTCON (địa 0Bh, 8Bh, 10Bh, 18Bh): cho phép ngắt hoạt động (GIE PEIE) OPTION_REG (địa 81h, 181h): điều khiển prescaler g TIMER1 Timer1 định thời 16 bit, giá trị Timer1 lưu hai ghi (TMR1H:TMR1L) Cờ ngắt Timer1 bit TMR1IF (PIR1) Bit điều khiển Timer1 TMR1IE (PIE) Tương tự Timer0, Timer1 có hai chế độ hoạt động: chế độ định thời (timer) với xung kích xung clock oscillator (tần số timer ¼ tần số oscillator) chế độ đếm (counter) với xung kích xung phản ánh kiện cần đếm lấy từ bên thông qua chân RC0/T1OSO/T1CKI (cạnh tác động cạnh lên) Việc lựa chọn xung tác động (tương ứng với việc lựa chọn chế độ hoạt động timer hay counter) điều khiển bit TMR1CS (T1CON) Sau sơ đồ khối Timer1: Hình 14 Sơ đồ khối Timer1 Ngoài Timer1 có chức reset input bên điều khiển hai khối CCP (Capture/Compare/PWM) Khi bit T1OSCEN (T1CON) set, Timer1 lấy xung clock từ hai chân RC1/T1OSI/CCP2 RC0/T1OSO/T1CKI làm xung đếm Timer1 bắt đầu đếm sau cạnh xuống xung ngõ vào Khi PORTC bỏ qua tác động hai bit TRISC PORTC gán giá trị Khi clear bit T1OSCEN, Timer1 lấy xung đếm từ oscillator từ chân C0/T1OSO/T1CKI Timer1 có hai chế độ đếm đồng (Synchronous) bất đồng (Asynchronous).Chế độ đếm định bit điều khiển T1SYNC (T1CON) 18 Giảng viên hướng dẫn: Trần Duy Cường SVTH: Nguyễn Quốc Hải TRƯỜNG ĐH CÔNG NGHỆ TPHCM Khi T1SYNC =1 xung đếm lấy từ bên không đồng hóa với xung clock bên trong, Timer1 tiếp tục trình đếm vi điều khiển chế độ sleep ngắt Timer1 tạo bị tràn có khả “đánh thức” vi điều khiển Ở chế độ đếm bất đồng bộ, Timer1 sử dụng để làm nguồn xung clock cho khối CCP (Capture/Compare/Pulse width modulation) Khi T1SYNC =0 xung đếm vào Timer1 đồng hóa với xung clock bên Ở chế độ Timer1 không hoạt động vi điều khiển chế độ sleep Các ghi liên quan đến Timer1 bao gồm: INTCON (địa 0Bh, 8Bh, 10Bh, 18Bh): cho phép ngắt hoạt động (GIE PEIE) PIR1 (địa 0Ch): chứa cờ ngắt Timer1 (TMR1IF) PIE1( địa 8Ch): cho phép ngắt Timer1 (TMR1IE) TMR1L (địa 0Eh): chứa giá trị bit thấp đếm Timer1 TMR1H (địa 0Eh): chứa giá trị bit cao đếm Timer1 T1CON (địa 10h): xác lập thông số cho Timer1 h TIMER2 Timer2 định thời bit hỗ trợ hai chia tần số prescaler postscaler Thanh ghi chứa giá trị đếm Timer2 TMR2 Bit cho phép ngắt Timer2 tác động TMR2ON (T2CON) Cờ ngắt Timer2 bit TMR2IF (PIR1) Xung ngõ vào (tần số ¼ tần số oscillator) đưa qua chia tần số prescaler bit (với tỉ số chia tần số 1:1, 1:4 1:16 điều khiển bit T2CKPS1:T2CKPS0 (T2CON)) Hình 15 Sơ đồ khối Timer2 Timer2 hỗ trợ ghi PR2 Giá trị đếm ghi TMR2 tăng từ 00h đến giá trị chứa ghi PR2, sau reset 00h Khi reset ghi 19 Giảng viên hướng dẫn: Trần Duy Cường SVTH: Nguyễn Quốc Hải TRƯỜNG ĐH CÔNG NGHỆ TPHCM PR2 nhận giá trị mặc định FFh Ngõ Timer2 đưa qua chia tần số postscaler với mức chia từ 1:1 đến 1:16 Postscaler điều khiển bit T2OUTPS3:T2OUTPS0 Ngõ postscaler đóng vai trò định việc điều khiển cờ ngắt Ngoài ngõ Timer2 kết nối với khối SSP, Timer2 đóng vai trò tạo xung clock đồng cho khối giao tiếp SSP Các ghi liên quan đến Timer2 bao gồm: INTCON (địa 0Bh, 8Bh, 10Bh, 18Bh): cho phép toàn ngắt (GIE PEIE) PIR1 (địa 0Ch): chứa cờ ngắt Timer2 (TMR2IF) PIE1 (địa chị 8Ch): chứa bit điều khiển Timer2 (TMR2IE) TMR2 (địa 11h): chứa giá trị đếm Timer2 T2CON (địa 12h): xác lập thông số cho Timer2 PR2 (địa 92h): ghi hỗ trợ cho Timer2 1.5 Một số linh kiện khác: + nút nhấn : + tụ : + led 20 Giảng viên hướng dẫn: Trần Duy Cường SVTH: Nguyễn Quốc Hải TRƯỜNG ĐH CÔNG NGHỆ TPHCM Phần III: THIẾT KẾ PHẦN CỨNG VÀ CHƯƠNG TRÌNH ĐIỀU KHIỂN 3.1 Sơ đồ nguyên lý theo khối a Khối hiển thị IC 1F877A Led b Khối tín hiệu điều khiển Tín hiệu IC 16F877A 21 Giảng viên hướng dẫn: Trần Duy Cường SVTH: Nguyễn Quốc Hải TRƯỜNG ĐH CÔNG NGHỆ TPHCM c Khối điều khiển đèn IC 16F877A Led đơn 22 Giảng viên hướng dẫn: Trần Duy Cường SVTH: Nguyễn Quốc Hải TRƯỜNG ĐH CÔNG NGHỆ TPHCM d Sơ đồ mạch nguyên lý chung 3.2 Nguyên lý hoạt động: Khi IC 16F877A khởi động chương trình tự động điều khiển đếm lùi mặc định: - Đèn đỏ sáng 30s - Đèn xanh sáng 27s - Đèn vàng sáng 3s IC16F877A tự động đưa liệu để hiển thị LED đồng thời đợi tín hiệu điều khiển từ bên - SW1: chế độ Reset - SW2: chế độ chạy tự động - SW3: chế độ điều khiển tay 23 Giảng viên hướng dẫn: Trần Duy Cường SVTH: Nguyễn Quốc Hải TRƯỜNG ĐH CÔNG NGHỆ TPHCM 3.3 Chương trình điều khiển #include #include #FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT #use delay(clock=20000000) #define LC1 RA1 //4 CHAN DK LED DOAN #define LDV1 RA0 #define LC2 RA3 #define LDV2 RA2 #define do1 RD0 //6 CHAN LED #define vang1 RD1 #define xanh1 RD2 #define do2 RD3 #define vang2 RD4 #define xanh2 RD5 #define k1 RE0 #define k2 RE1 #define k3 RE2 //khai bao bien int d1=30,d2=30,v1=3,v2=3,x1=27,x2=27; //luu thoi gian chinh int td1 = 30,td2=30,tv1=3,tv2=3,tx1=27,tx2=27; unsigned int trangthai = 1; int16 count; int8 chuc,dvi,n,run=0; const unsigned char so[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //chuong trinh #INT_TIMER1 //khai bao ngat de dinh thoi gian VOID NGAT_TIMER1() { SET_TIMER1(15536); count++; IF(count>100) //20*50000us = 1000000us = 1s { //giay++; 24 Giảng viên hướng dẫn: Trần Duy Cường SVTH: Nguyễn Quốc Hải TRƯỜNG ĐH CÔNG NGHỆ TPHCM count=0; } } //ham chuyen doi tach so de hien thi void hex_bcd(int a) { chuc = a/10; dvi = a%10; } //hien thi tren led doan void hienthi7doan(int tg1,int tg2) { int i; unsigned char chuc,donvi; chuc = tg1/10; donvi = tg1%10; PORTA=255; PORTb = so[donvi]; LC1 = 0; for (i = 0;i[...]... if(k2==0) {while(k2==0){} goto chedoxanh2; } if(k1==0) {while(k1==0){} goto chedotudong; } if(run==1) goto chedotudong; } chedoxanh2: while(true) { porta=0xff; xanh1=1; xanh2=0; do1=0; do2=1; vang1=1; vang2=1; if(k2==0) {while(k2==0){} goto chedoxanh1; } if(k1==0) {while(k1==0){} goto chedotudong; } if(run==1) goto chedotudong; } } 28 Giảng vi n hướng dẫn: Trần Duy Cường SVTH: Nguyễn Quốc Hải TRƯỜNG ĐH CÔNG... xanh1do2(); break; case 2: vang1do2(); break; case 3: do1xanh2(); break; case 4: do1vang2(); break; } if(run==1) goto chedotudong; if(k1==0) {while(k1==0){} goto chedoxanh1; } } chedoxanh1: 27 Giảng vi n hướng dẫn: Trần Duy Cường SVTH: Nguyễn Quốc Hải TRƯỜNG ĐH CÔNG NGHỆ TPHCM while(true) { porta=0xff; xanh1=0; xanh2=1; do1=1; do2=0; vang1=1; vang2=1; if(k2==0) {while(k2==0){} goto chedoxanh2; } if(k1==0)... la ngo ra trisb= 0x00; // khai bao hang ngo ra, cot ngo vao trisd = 0x00; trise = 0x07;//nhap du lieu set_tris_c(0); SETUP_TIMER_1(T1_INTERNAL); / /cho phep cac ngat hoat dong de dem thoi gian ENABLE_INTERRUPTS(GLOBAL); ENABLE_INTERRUPTS(INT_TIMER1); SET_TIMER1(15536); //T_dinhthoi = (65536-15536)*1us = 50000us // Khoi tao cho ngat ngoai chedotudong: run = 0; n=0; tx1 = x1; tv1=v1;td1=d1;tx2=x2;tv2=v2;td2=d2;... hienthi7doan(tx1,td2); 25 Giảng vi n hướng dẫn: Trần Duy Cường SVTH: Nguyễn Quốc Hải TRƯỜNG ĐH CÔNG NGHỆ TPHCM } void vang1do2() { xanh1=1; xanh2=1; do1=1; do2=0; vang1=0; vang2=1; hienthi7doan(tv1,td2); } void do1xanh2() { xanh1=1; xanh2=0; do1=0; do2=1; vang1=1; vang2=1; hienthi7doan(td1,tx2); } void do1vang2() { xanh1=1; xanh2=1; do1=0; do2=1; vang1=1; vang2=0; hienthi7doan(td1,tv2); } //chuong trinh chinh void... nay ở nhiều trục đường có tín hiệu đèn giao thông, vẫn xảy ra tình trạng người tham gia giao thông đậu phương tiện trên vạch đường dành cho người đi bộ trong thời gian chờ đèn đỏ Theo em nên đặt hệ thống cảm biến để phát hiện và báo động trong trường hợp phương tiện tham gia giao thông đậu quá vạch đường dành cho người đi bộ Đồng thời tận dụng thời gian đèn đỏ, đèn giao thông sẽ tự động chiếu lên một... chuc,donvi; chuc = tg1/10; donvi = tg1%10; PORTA=255; PORTb = so[donvi]; LC1 = 0; for (i = 0;i

Ngày đăng: 20/07/2016, 20:29

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

TÀI LIỆU LIÊN QUAN

w