Đồ án Điều khiển hệ thống đèn giao thông

Ngày nay trong khoa học kỹ thuật và đời sống xã hội các bộ vi điều khiển có ứng dụng rộng rãi và thâm nhập ngày càng nhiều đến công việc, cuộc sống hằng ngày của con người. Từ các thiết bị gia đình đến các thiết bị văn phòng, hay các bộ điều khiển tự động đều sử dụng đến các bộ vi điều khiển, vì vậy các hệ thống nhúng sử dụng vi điều khiển phục vụ cuộc sống con người là thực sự cần thiết. Cuộc sống được nâng cao, mật độ dân cư ở các thành phố đô thị lớn ngày càng đông đúc hơn, vấn đề hỗ trợ cho người tham gia giao thông an toàn là việc cần làm ngay và hệ thống đèn điều khiển và phân luồng giao thông ở các điểm ngã tư, ngã năm được đưa vào sử dụng. Không những hạn chế được những xung đột trong giao thông thành phố mà còn tránh được hiện tương ùn tắc, tai nạn giao thông, hướng dẫn người tham gia giao thông đi đúng làn đường. Với nhu cầu thực tiễn đó, nhóm chúng em đã tìm hiểu, nghiên cứu, thực hiện thiết kế mạch điều khiển đèn giao thông.

doc20 trang | Chia sẻ: ngtr9097 | Lượt xem: 3762 | Lượt tải: 3download
Bạn đang xem nội dung tài liệu Đồ án Điều khiển hệ thống đèn giao thông, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
ĐẠI HỌC THÁI NGUYÊN KHOA CÔNG NGHỆ THÔNG TIN ***********&&&********** BÀI TẬP LỚN MÔN : Kỹ Thuật Lập Trình Nhúng Đề Tài :Điều Khiển Hệ Thống Đèn Giao Thông Giáo viên hướng dẫn Sinh viên thực hiện Lớp  : PHẠM QUỐC THỊNH. : NGUYỄN VIẾT VIỆT. : BÙI THU THỦY. : NGUYỄN THỊ HỒNG VÂN. : PHAN THỊ HOA. :TRẦN QUỐC ĐẠT. : NGUYỄN ANH TUẤN. : ĐTVT-K7B   Thái Nguyên,tháng 5 năm 2010 Mục Lục Lời nói đầu 3 Phần I. Phương án thiết kế 4 1.1. Mô tả hoạt động của hệ thống: 4 1.2. Phương án thiết kế: 4 1.3. Sơ đồ khối của hệ thống: 5 Phần II. Thiết kế 6 2.1. Khối xử lý: 6 2.1.1 Giới thiệu chung về vi điều khiển 8051: 6 2.1.2 Chức năng của các chân tín hiệu: 7 2.1.3. Bộ nhớ trên chip 12 2.2. Khối giải mã: 13 2.3. Khối hiển thị: 14 Phần III. Nguyên lý hệ thống 15 3.1. Nguyên lý hoạt động: 15 3.2. Sơ đồ nguyên lý mạch mô phỏng: 16 3.3. Chương trình điều khiển: 17 Kết Luận 20 Lời nói đầu Ngày nay trong khoa học kỹ thuật và đời sống xã hội các bộ vi điều khiển có ứng dụng rộng rãi và thâm nhập ngày càng nhiều đến công việc, cuộc sống hằng ngày của con người. Từ các thiết bị gia đình đến các thiết bị văn phòng, hay các bộ điều khiển tự động đều sử dụng đến các bộ vi điều khiển, vì vậy các hệ thống nhúng sử dụng vi điều khiển phục vụ cuộc sống con người là thực sự cần thiết. Cuộc sống được nâng cao, mật độ dân cư ở các thành phố đô thị lớn ngày càng đông đúc hơn, vấn đề hỗ trợ cho người tham gia giao thông an toàn là việc cần làm ngay và hệ thống đèn điều khiển và phân luồng giao thông ở các điểm ngã tư, ngã năm được đưa vào sử dụng. Không những hạn chế được những xung đột trong giao thông thành phố mà còn tránh được hiện tương ùn tắc, tai nạn giao thông, hướng dẫn người tham gia giao thông đi đúng làn đường. Với nhu cầu thực tiễn đó, nhóm chúng em đã tìm hiểu, nghiên cứu, thực hiện thiết kế mạch điều khiển đèn giao thông. Chương I. Phương án thiết kế Mô tả hoạt động của hệ thống: Hệ thống đèn điều khiển giao thông gồm: led(xanh, đỏ, vàng) và 2 led 7 thanh có chức năng hiển thị thời gian đếm lùi đồng thời điều khiển các đèn Led (Xanh, Vàng, Đỏ) để hướng dẫn các phương tiện tham gia giao thông đi đúng làn đường cho phép của mình. Do vị trí và lưu lượng người tham gia giao thông ở các nút giao thông là khác nhau, nên thời gian hiển thị của các đèn ưu tiên cũng có thể đặt khác nhau tùy từng thời điểm. Ở hệ thống này mỗi pha được điều khiển tự động như sau: Đèn xanh sáng tương ứng với thời gian hiển thị đếm lùi là 25 giây, hoặc có thể đặt phù hợp với từng nút giao thông. Đèn vàng sáng 4 giây, thông báo cho các phương tiện tham gia giao thông ứng với pha này giảm tốc độ và chuẩn bị dừng lại. Đèn đỏ sáng 29 giây, thông báo cho các phương tiện biết hướng đi ứng với pha này phải dừng lại. Để hệ thống hoạt động một cách đồng bộ đèn xanh sáng đồng thời leg 7 đoạn đếm lùi 25s, khi đèn xanh tắt đèn vàng sáng led 7 đoạn đếm lùi 4s, khi đèn vàng tắt led 7 đoạn đếm lùi 29s, quá trình này cứ lặp đi lặp lại. Thời gian hiển thị của hai pha: Đỏ 1 = Xanh 1 + Vàng 1 Phương án thiết kế: Hiện nay việc sử dụng các mạch số kết hợp với chíp vi điều khiển trong các hệ thống điều khiển tự động đã trở nên rất phổ biến vì những ưu tiên của nó như: Độ chính xác, khả năng lập trình được, tốc độ điều khiển nhanh, sử dụng đơn-– giản,... Mặt khác kỹ thuật số, vi xử lý, vi điều khiển là lĩnh vực đang phát triển mạnh mẽ và có ứng dụng trong rất nhiều ngành sản xuất. Vì vậy, ta sẽ thiết kế một hệ thống điều khiển đèn giao thông đơn giản, chỉ sử dụng bộ vi điều khiển. Tất cả các tín hiệu điều khiển đều được đưa đến khối hiển thị trực tiếp từ các cổng của bộ vi điều khiển. Phương án này có đặc điểm là mạch gọn nhẹ, không quá phức tạp, cách thức bố trí linh kiện dễ dàng, lập trình đơn giản, dễ chỉnh sửa. Các vi điều khiển được sử dụng trong hệ thống: - Vi điều khiển AT89C51/52/55 hoặc AT89S51/52/55. - Bộ giải mã 74LS47. - Các led 7seg. - Các led đơn hiển thị đèn xanh, đèn vàng, đèn đỏ. - Một số linh kiện hỗ trợ mạch hoạt động ( tụ, trở, thạch anh…). Sơ đồ khối của hệ thống:  Phần II. Thiết kế Để thực hiện thiết kế hệ thống, trước hết chúng ta tìm hiểu về cấu tạo và chức năng của các vi điều khiển, khối vi điều khiển được sử dụng trong hệ thống. 2.1. Khối xử lý: Giới thiệu chung về vi điều khiển 8051: Vi điều khiển AT89C51 là một vi điều khiển thuộc họ 8051, loại CMOS, có tốc độ cao và công suất thấp với bộ nhớ Flash có thể lập trình được. Nó được sản xuất với công nghệ bộ nhớ không bay hơi mật độ cao của hãng Atmel. AT89C51 có 40 chân, được đóng gói theo tiêu chuẩn PDIP.  Sơ đồ chân ra của dòng vi điều khiển 8051 Các đặc điểm tiêu chuẩn của họ 8051: - 4KB Flash ROM. - 128 byte RAM. - 4 cổng vào/ra song song 8 bit. - 2 bộ định thời/đếm 16 bit. - Kiến trúc 5 vectơ ngắt 2 mức (five vector two-level interrupt architecture). - 1 cổng nối tiếp song công (full-duplex). - Mạch tạo dao động trên chip và mạch đồng hồ. 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, cổng nối tiếp và hệ thống ngắt tiếp tục hoạt động. Chế độ nguồn giảm duy trì nội dung của RAM nhưng không cho mạch dao động cung cấp xung clock nhằm vô hiệu hóa các hoạt động khác của chip cho đến khi có reset cứng tiếp theo. Chức năng của các chân tín hiệu: Các cổng vào ra song song: AT89C52 có 4 cổng vào/ra song song 8 bit ( Port 0, Port 1, Port 2, Port3 ), các cổng này có thể được sử dụng như là các cổng vào hoặc cổng ra dữ liệu. - Cổng P0: Chân 32 - 39, dùng để trao đổi tin về dữ liệu (D0 – D7), hoặc đưa ra các địa chỉ mức thấp (A0 – A7) theo chế độ dồn kênh (kết hợp với tín hiệu chốt ALE). Đây là cổng vào/ra song song tùy vào chế độ đặt địa chỉ. Để có thể vừa làm đầu ra vừa làm đầu vào thì mỗi chân phải được nối tới một điện trở kéo 10KΩ bên ngoài. Sở dĩ như vậy là vì cổng P0 có dạng cực máng hở, đây là điểm khác với các cổng P1, P2 và P3. Khái niệm cực máng hở cũng tương tự như colector hở, tuy nhiên ở đây áp dụng cho các chip dang MOS. Khi nối 8051 tới bộ nhớ ngoài thì cổng P0 cung cấp cả địa chỉ và dữ liệu bằng cách dông kênh để tiết kiệm số chân. Chân ALE sẽ báo P0 có địa chỉ hay dữ liệu. Nếu ALE = 0 thì P0 cấp dữ liệu D0 – D7, còn nếu ALE = 1 thì là địa chỉ. - Cổng Port 1: Chân 1 - 8, là cổng vào/ra song song, dùng để trao đổi tin song song dữ liệu, chúng được dùng cho giao tiếp các thiết bị ngoại vi. Khác với cổng P0, cổng P1 không cần đến điện trở kéo vì nó đã có các điện trở kéo bên trong. Khi Reset cổng P1 được cấu hình làm cổng ra. Để chuyển cổng P1 thành đầu vào cần lập trình bằng cách ghi 1 lên tất cả các bit của cổng. - Cổng Port 2: Chân 21 – 28, dùng để trao đổi tin song song về dữ liệu (D0 – D7), hoặc đưa ra địa chỉ cao (A8 – A15), được dùng như các đường xuất nhập hoặc là byte của Bus địa chỉ 16 bit đối với các thiết bị dùng bộ nhớ ngoài mở rộng. Hai chức năng của cổng P2 là chuyển địa chỉ và dữ liệu. - Cổng P3: Chiếm 8 chân, từ chân 10 đến chân 17. Cổng này có thể được sử dụng làm đầu vào hoặc đầu ra. Cũng như P1 và P2, cổng P3 không cần điện trở kéo. Khi Reset, cổng P3 được cấu hình làm một cổng ra, tuy nhiên ở đây không phải là ứng dụng chủ yếu. Cổng P3 có thêm một chức năng quan trong khác là cung cấp một số tín hiệu đặc biệt, chẳng hạn như ngắt. Bit P3.0 và P3.1 được dùng để thu phát dữ liệu trong truyền thông nối tiếp. Bit P3.2 và P3.3 được dành cho ngắt ngoài. Bit P3.4 và P3.5 được dùng cho các bộ định thời 0 và 1. Bit P3.6 và P3.7 dùng để ghi, đọc các bộ nhớ ngoài. Bảng chức năng của cổng P3 Bit  Tên  Chức năng chuyển đổi   P3.0  RxD  Đường vào dữ liệu cổng nối tiếp   P3.1  TxD  Đường ra dữ liệu cổng nối tiếp   P3.2  INT0  Đường vào ngắt ngoài 0   P3.3  INT1  Đường vào ngắt ngoài 1   P3.4  T0  Đường vào của bộ định thời/bộ đếm thứ 0   P3.5  T1  Đường vào của bộ định thời/bộ đếm thứ 1   P3.6  WR  Tín hiệu ghi dữ liệu bộ nhớ ngoài   P3.7  RD  Tín hiệu đọc dữ liệu bộ nhớ ngoài   Các chân tín hiệu điều khiển: Chân cho phép bộ nhớ chương trình PSEN (Program Storage Enable): Tín hiệu PSEN là tín hiệu ra ở chân 29 có tác dụng kép. Cho phép đọc bộ nhớ chương trình ngoài, thường được nối đến chân OE (Output Enable) của EPROM cho phép đọc các byte mã lệnh. Tín hiệu PSEN ở logic 0 trong thời gian vi điều khiển tìm nạp lệnh. Các mã lệnh được đọc từ EPROM qua bus dữ liệu và được chốt vào thanh ghi lệnh IR của vi điều khiển để giải mã. Khi vi điều khiển thi hành chương trình trong ROM nội PSEN sẽ ở mức logic 1. Chân cho phép chốt địa chỉ ALE/PROG (Address Latch Enable): Chân tín hiệu ALE (chân 30) đưa ra xung điều khiển cho phép chốt byte thấp của địa chỉ khi vi điều khiển truy xuất bộ nhớ ngoài. Chân này cũng là đầu vào của xung lập trình khi lập trình cho FLASH, khi đó chân tín hiệu ở mức 0. Khi hoạt động bình thường, tín hiệu ALE được phát ra với tần số không đổi bằng 1/6 tần số của bộ tạo dao động trên chip, và có thể sử dụng cho mục đích định thời. Tuy nhiên, sẽ có một xung ALE bị bỏ qua mỗi khi vi điều khiển truy xuất bộ nhớ ngoài. Chân tín hiệu truy xuất ngoài EA (External Access): Tín hiệu vào EA (chân 31) được nối với 5V (mức logic 1) hoặc với GND (mức 0). Nếu ở mức 1, vi điều khiển thi hành chương trình từ ROM nội. Nếu ở mức 0, vi điều khiển sẽ thi hành chương trình ở bộ nhớ mở rộng. Chân EA được lấy làm chân cấp nguồn 12V khi lập trình cho FLASH trong vi điều khiển. Chân thiết lập lại RST (Reset): Chân RST (chân 9) là đường vào xóa chính của vi điều khiển dùng để thiết lập lại hệ thống. Khi chân tín hiệu này đưa lên mức cao ít nhất là 2 chu kì máy, các thanh ghi bên trong được nạp những giá trị thích hợp để khởi động hệ thống. RST có thể được kích khi cấp điện dùng một mạch R-C. Mạch này như sau:  Trạng thái các thanh ghi của vi điều khiển được tóm tắt trong bảng dưới.Quan trọng nhất trong các thanh ghi trên là thanh ghi bộ đếm chương trình (PC – Program Counter). Sau khi thiết lập lại (RST trở về mức thấp), thanh ghi PC có giá trị 0000H, tức là chương trình luôn bắt đầu tại địa chỉ đầu tiên trong bộ nhớ chương trình. Nội dung của RAM trên chip không bị thay đổi khi thiết lập lại.  Các chân XTAL1, XTAL2: Các chân này (chân 18, 19) nối với bộ tạo dao động trên chip. Mạch tạo dao động như sau:  Tần số của dao động thường là 12MHz. Khi đó tụ có giá trị 33pF. Chân VCC nối đến +5V của nguồn cấp, chân GND nối đất. 2.1.3. Bộ nhớ trên chip RAM trong: Bộ vi điều khiển 8051 có 128 byte RAM trong bao gồm 32 byte đầu tiên(00H đến 1FH) dành cho các thanh ghi, 16 byte tiếp theo (20H đến 2FH) là vùng RAM định địa chỉ theo bit, sau đó là 80 byte RAM nháp. Vùng thanh ghi có 32 byte, chia thành 4 khối (bank 0 đến bank 3), mỗi khối có 8 thanh ghi (từ R0 đến R7). Ở vùng RAM định địa chỉ theo bit, các bit được dánh địa chỉ từ 00H đến 7FH. Các thanh ghi chuyên dụng (SFRs – Special Function Registers): Các thanh ghi này có địa chỉ từ 80H đến FFH. Chúng chứa nội dung của các thanh ghi điều khiển. Tổ chức không gian bộ nhớ RAM của 8051:  Khối giải mã: Khối giải mã nhận tín hiệu điều khiển từ khối xử lý, sau đó giải mã để đưa đến hiển thị trên các đồng hồ đếm ngược. Với chức năng trên thì khối này chính là khối giải mã cho đèn LED 7 thanh.  Các đầu ra (từ a đến f) nối đến các chân tương ứng của LED 7 thanh. Ta thấy các đầu ra đều có mức tích cực là mức thấp. Do đó, loại LED 7 thanh cần sử dụng là loại Anode chung. Khối hiển thị: Khối hiển thị có chức năng đưa ra thông tin điều khiển giao thông tương ứng với trạng thái hiện thời của hệ thống. Khối này gồm 2 phần: đèn điều khiển và đồng hồ. Đèn điều khiển bao gồm: Đèn dành cho các phương tiện tham gia giao thông: xanh, đỏ, vàng. Đồng hồ dùng các Led 7 thanh để tạo các hiển thị tử 00 đến 29, ở đây ta dùng loại Anot chung. Phần III. Nguyên lý hệ thống Nguyên lý hoạt động: Mạch hiển thị hoạt động dựa trên nguyên tắc điều khiển tín hiệu vào/ra của vi điều khiển AT89C51. Vi điều khiển được lập trình để thực hiện 2 công việc chính: Điều khiển chuyển mức các đèn tín hiệu giữa hai làn đường, cụ thể là: Việc chuyển mức sẽ được thực hiện bằng 6 bit truyền dữ liệu: P0.0: Đèn xanh P0.1: Đèn vàng P0.2: Đèn đỏ Các đèn hiển thị là các Led đơn nối chung nhau anot, đèn sáng tương ứng với mức logic thấp. Đèn xanh ở làn 1 sẽ tương ứng là đèn đỏ ở làn 2 và ngược lại, chuyển mức giữa các đèn sẽ xen kẽ những bộ đếm lùi thời gian. Kết thúc mỗi bộ đếm sẽ tương ứng thiết lập lại các bit để hiển thị đèn tiếp theo. Giữa đèn xanh và vàng là 25 giây Giữa đèn vàng và đèn đỏ là 4 giây Giữa đèn đỏ và đèn xanh là 29 giây Hiển thị bộ đếm lùi tương ứng từng trạng thái của đèn tín hiệu: IC 74LS47 thực hiện việc giải mã BCD sang thập phân và hiển thị các thập phân đó sang Led 7 đoạn. Hệ thống sử dụng 4 IC 74LS47 được nối với các cổng Port 1 và Port 2 dùng cho việc hiển thị hai Led trên hai làn đường. Việc tạo ra số thập phân được thực hiện bằng cách nạp giá trị đếm 29 giảm dần vào bộ nhớ RAM. Để thu được mã BCD hiển thị ra dãy số thập phân 29 – 0 ta sẽ bỏ qua các trạng thái 0A,0B…1F. Nạp các giá trị biến đếm trạng thái hiển thị cho hai làn đường vào các thanh ghi R1 và R2, lần lượt giảm dần giá trị có trong thanh ghi và kiểm tra các trạng thái không cho phép hiển thị (1F…0B,0A). Sơ đồ nguyên lý mạch mô phỏng:  Chương trình điều khiển: $MOD51 ORG 0000h Xanh1 EQU P0.0 Vang1 EQU P0.1 Do1 EQU P0.2 MAIN: MOV R1,#29h; BIEN DEM TRANG THAI HIEN THI DEN DO LAP1: CLR Do1; DEN DO MOV P1,R1 DEC R1 ACALL DELAY CJNE R1,#01Fh,LAP2 MOV R1,#19h; NAP LAI BIEN DEM CHO R1 LAP2: MOV P1,R1 DEC R1 ACALL DELAY CJNE R1,#0Fh,LAP2 MOV R1,#09h LAP3: MOV P1,R1 SETB Do1; TAT DEN DO CLR Xanh1 DEC R1 ACALL DELAY CJNE R1,#00h,LAP3 MOV R1,#25h LAP4: MOV P1,R1 CLR Xanh1; DEN XANH SANG DEC R1 ACALL DELAY CJNE R1,#01Fh,LAP4 MOV R1,#19h LAP5: MOV P1,R1 DEC R1 ACALL DELAY CJNE R1,#0Fh,LAP5 MOV R1,#09h LAP6: MOV P1,R1 DEC R1 ACALL DELAY CJNE R1,#00Fh,LAP6 MOV R1,#04h LAP7: MOV P1,R1 SETB Xanh1 CLR Vang1 DEC R1 ACALL DELAY CJNE R1,#00Fh,LAP7 MOV R1,#29h LJMP MAIN DELAY: PUSH 00H MOV TMOD,#01H MOV R0,#100 AAA: MOV TH0,#HIGH(-10000) MOV TL0,#LOW(-10000) SETB TR0 JNB TF0,$ CLR TF0 CLR TR0 DJNZ R0,AAA POP 00H RET END Kết Luận Hệ thống đèn điều khiển giao thông hiện nay đã góp phần hết sức quan trọng trong việc tham gia giao thông an toàn của mọi người dân. Và ở những thành phố lớn, tại những nút giao thông trọng điểm không chỉ là sự giao nhau của hai làn đường mà là rất nhiều làn đương khác nhau cùng với lượng lưu thông càng lớn. Chính vì thế ngoài hệ thống đèn điều khiển chính còn có thêm các hệ thống phân làn đường khác. Trong quá trình làm bài và thiết kế hệ thống, kết quả vẫn chưa được hoàn thiện và cần được bổ sung thêm. Nhóm chúng em mong được sự góp ý của thầy giáo cùng các bạn để tất cả sẽ có được một sản phẩm hoàn hảo. Em xin chân thành cảm ơn!!!

Các file đính kèm theo tài liệu này:

  • docnhom 7.doc
  • pptDK GiaoThong.ppt