Đề tài Mô hình đèn giao thông dùng vi điều khiển AT89C51

- Trong mạch thiết kế thực tế này em thiết kế sử dụng loại Anot chung.

- Để ghép nối với LED7 có thể có nhiều cách, nhưng phải đảm bảo sao có thể điều khiển tắt mở riêng từng LED đơn trong đó để tạo ra các số. Các IC vi điều khiển sinh dòng kém tức là dòng đầu ra của các chân IC nhỏ hơn khả năng tiêu tốn dòng. Do vậy,em ghép nối trực tiếp các led với các chân IC thì loại Anode chung là thích hợp.

- Dùng trực tiếp các chân điều khiển cua vi điều khiển AT89C51.

- Dòng mà vi xử lý chịu đựng được cũng khá nhỏ khoảng dưới 100mA

- Thiết nghĩ tại 1 ngã tư không có đèn giao thông sẽ như thế nào? Khi đó việc lưu thông sẽ trở nên khó khăn trong lưu thông, dễ gây ùn tắt Để cho việc lưu thông trở nên dễ dàng hơn ta cần có đèn giao thông. Đèn giao thông sẽ 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 ra việc ùn tắt tại giao lộ.

- Làm thế nào để hiển thị các đèn đỏ-xanh-vàng?

- Làm thế nào để hiển thị giá trị trên led 7 đoạn ? Và đếm ngược giá trị như thế nào?

- Dạng dữ liệu xuất ra port điều khiển hiển thị trên led 7 đoạn dạng BCD hay 7 đoạn?

 

doc23 trang | Chia sẻ: lethao | Lượt xem: 9593 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Đề tài Mô hình đèn giao thông dùng vi điều khiển AT89C51, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
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 đầu tiên em xin được 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 hiện đề 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 cũng đã hoàn thành công việc. Những kết quả mà em có được là nhờ những kiến thức đã tiếp thu được trong quá trình học tập, bên cạnh đó là sự chỉ dẫn tận tình của Thầy Nguyễn Đình phú, và nhờ sự giúp đỡ của thầy cô khoa Điện-Điện Tử. Em xin kính lời cám ơn chân thành nhất đế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ô của khoa, và đặ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 đỡ và tạo mọi điều kiện thuận lợi nhất để em hoàn thành đề tài này. Tuy nhiên, do trình độ chuyên môn còn hạn chế nên đồ án của em không thể tránh khỏi những thiếu sót. Rất mong nhận được sự giúp đỡ của Thầy để đồ án của em được hoàn chỉnh hơn. 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 của 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, hầu như vi điều khiển đã khá quen thuộc, được sử dụng rộng rãi phổ biến trong các 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ỏ trong quá trình phát triển kinh tế nói chung, trong lĩnh vực điện tử nói riêng. Vi điều khiển được ứng dụng rất nhiều trong các hệ thống điều khiển công nghiệp, các dây chuyền sản xuất, máy điều hòa nhiệt độ,...Vì vậy, em chọn đề tài này 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”, là một đề tài mang tính chất mô hình được thiết kế nhỏ, gọn hiển thị bằng led đơn, hiển thị thời gian trên led 7 đoạn. Đối nới đề tài nay chỉ là mô hình nhỏ nên còn nhiều hạn chế so với điều khiển đèn giao thông trong thực tế về mặt công suất, cũng như tính chính xác, ổn định về thời gian. Nên mô hình này chỉ để quan sát và liên hệ thực tế thôi. MỤC ĐÍCH YÊU CẦU: Giới thiệu đề tài: Đề tài này bao gồm 2 phần cơ bản: Nội dung : Nêu lên khái quát về các kiến thức vi xử lí liên quan đến đề tài cũng như chức năng của từng linh liện trong đề tài. Thi công: Nêu sơ đồ nguyên lý, quá trình thi công mạch, nguyên lý thi công mạch. Ứng dụng của đề tài: Mạch đèn giao thông được thiết kế hoạt động để điều khiển giao thông trên đường phố đặc biệt có ý nghĩa rất quan trọng tại các tuyến đường có ngã tư.Việc đặt một cột đèn giao thông tại các ngã tư sẽ góp phần rất lớn vào việc giảm thiểu nạn kẹt xe và đảm bảo được trật tự giao thông trên đường phố. Phương pháp nghiên cứu: Tham khảo ý kiến của 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 về các kiến thức vi điều khiển đã được học. Chương II: THIẾT KẾ VÀ MÔ HÌNH ỨNG DỤNG I. Sơ đồ khối và chức năng các khối Khối Điều khiển Khối cấp nguồn Khối hiển thị Hình 1: sơ đồ khối Chức năng các khối - khối cấp nguồn: Nhiệm vụ của khối nguồn là cung cấp toàn bộ nguồn cho mạch hoạt động - Khối điều khiển: Có nhiệm vụ xử lý và điều khiển theo chương trình đã được lập trình. - khối hiển thị: Nhiệm vụ hiển thị thông qua led 7 đoạn và led đơn. Sơ nguyên lý: Hình 2: Sơ đồ nguyên lý Giới thiệu linh kiện Các linh kiện sử dụng trong mạch: - Vi điều khiển AT89C51 - 7805 - Led 7 đoạn - Led (oval) - Điện trở - Thạch anh (Crystal) 12MHz - Tụ điện - Diode cầu - Transistor A1015 1 AT89C51 a. Một số nét đặc trưng: - Bộ nhớ chương trình bên trong: 4KB (ROM) - Bộ nhớ dữ liệu bên trong: 128 KB (RAM) - Port xuất nhập (I/O port) : 32 - 2 bộ đị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ừ 0 Hz đến 24 MHz - Số chân IC : 40 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 0 (P0.0 – P0.7)  có số chân từ 32- 39 - Port 1 (P1.0 – P1.7) có số chân từ 1 – 8. - Port 2 (P2.0 – P2.7) có số chân từ 21 -28 - Port 3 (P3.0 - P3.7) có số chân từ 10 – 17 Chức năng của một số chân: RST : Thiết lập lại ( 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 Mạch Reset tự động khi ta cấp nguồn - Ở đây chúng ta thực hiện Reset bằng cách nối chân 9 của 89C51 với nguồn 5V. - Chân ALE  (Address Latch Enable) /: chân số 30 Hình 4: mạch reset Là một xung ngõ ra cho phép chốt địa chỉ, cho phép chốt byte thấp của địa chỉ trong thời gian truy xuất bộ nhớ ngoài. Chân này cũng được dùng làm ngõ vào xung lập trình () trong thời gian lập trình cho Flash. - 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. - Chân (Program Store Enable): cho phép đọc bộ nhớ chương trình, chân số 29. Trong bài này ta nối với Vcc vì CPU chỉ sử dụng bộ nhớ Rom nội. - Chân/ Vpp (External Access): truy xuất ngoài , chân số 31 phải đươc nối với GND cho phép xuất mã từ vị trí bộ nhớ chương trình ngoài bắt đầu tại 0000H đến FFFFH. Chú ý: cho dù thế nào, nếu khoá bit 1 được lập trình, sẽ được chốt bên trong lúc Reset. nối Vcc để thực hiện chương trình bên trong. Chân này nhận điện áp cho phép lập trình là 12V (Vpp) trong khi lập trình Flash Chân XTAL 1 (Crysral), hân 18) - Ngõ vào mạch khuếch đại đảo của mạch dao động và ngõ vào mạch tạo xung Clock bên trong chip Chân XTAL 2(chân 19) Hình 5: mạch dao động thạch anh - Ngõ ra mạch khuếch đại đảo của mạch dao động. Để tạo dao động cho vi điều khiển AT89C51 hoạt động, em chọn mạch dao động như hình vẽ sau với các giá trị của linh kiện: C7= C8=33pF Thạch anh dao động có tần số 12MHz. 2.LM7805: - LM7805 là IC ổn áp điện áp ra cố định +5V. Thực tế điện áp ra dao động từ4,7V đến 5,2V. Chân 1: ngõ vào Chân 2: nối mass Chân 3: ngõ ra điện áp +5V Hình 6: sơ đồ chân 7805 3. Led 7 đoạn và led đơn(oval): a. Led 7 đoạn: Hình 7: Cấu tạo led 7 đoạn - LED 7 đoạn được dùng nhiều trong các mạch hiện thị thông báo, hiện thị số, kí tự đơn giản... LED 7 được cấu tạo từ các LED đơn sắp xếp theo các thanh nét để có thể biểu diễn các chữ số hoặc các kí tự đơn giản như từ số 0 đến 9 và A đến F chả hạn. LED 7 đoạn dùng để hiện số thì rất đẹp và dễ nhìn. Các LED đơn đó được ghép và được đặt tên bằng các chữ cái a, b, c, d, e, f, g và có một dấu chấm dot ( dấu chấm này có thể sáng và tắt tùy theo yêu cầu, thông thương là dp) được cấu tạo bởi 1 LED đơn. - Qua đó người ta chỉ cần 8 bit tương ứng với 8 LED đơn để điều khiển được và hiện thị số từ 0 đến 9 và các kí tự từ A đến F. Led 7 đoạn với điện áp ở mức cao (K chung),mức thấp (A chung). Điện áp rơi trên mỗi đoạn là 1,8 -2V, với dòng là 7- 20mA. Chọn chế độ hoạt động bình thường cho Led là 2V, 8mA. b. Led đơn: Hình 8: Led đơn Có cấu tạo đơn giản giống như diode 2 chân và được phân cực A-K. Trong mô hình em dùng để hiển thị đèn tín hiệu giao thông( xanh, đỏ, vàng). 4. Điện trở: Điện trở là một linh kiện thụ động có tính cản trở dòng điện và làm một số chức năng khác tùy thuộc vào vị trí của điện trở trong mạch điện. Đơn vị: ohm (Ω), Kohm (KΩ), Mohm (MΩ) 1MΩ = 1000 KΩ = 1000000 Ω - Điện trở than là loại điện trở có trị số cố định, được sử dụng nhiều nhất trong mạch điện. Điện trở than là hổn hợp của bột than và các chất khác, tùy tỉ lệ pha trộn mà điện trở có trị số lớn hay nhỏ. Bên ngoài điện trở được bọc lớp cách điện. - Trị số của điện trở được ghi bằng vòng màu theo quy ước của Hoa Kỳ. Trường hợp đặc biệt, nếu không có vòng số 4 ( loại điện trở có 3 vòng màu) thì sai số là -20% đến +20%. Hiện nay, người ta có thể chế tạo các loại điện trở than có 5 vòng màu là loại điện trở có tính chính xác cao. Lúc đó, vòng số 1,2,3 là vòng số; vòng số 4 là bội số; vòng số 5 là sai số. Trong mạch em dùng những điện trở có giá trị: 330Ω, 100Ω, 4.7KΩ, 10KΩ, điện trở thanh kéo lên 10KΩ dùng cho P0. 5. Thạch anh (Crystal) 12MHz Là linh kiện được dùng để tạo dao động, được sử dụng nhiều trong các mạch vi điều khiển, vi xử lý, trong máy vi tính với những trị số khác nhau: 11.0592MHz, 14.38 MHz,… Bên ngoài là một lớp kim loại bao bọc. Trong đồ án này em dùng thạch anh với thông số 11.0592MHz để tạo dao động và được nối với chân 18-19 của AT89C51. 6. Tụ Điện: Là loại linh kiện thụ động có tính tích trữ năng lượng điện. Để đặc trưng cho khả năng tích điện của tụ dùng đại lượng gọi là điện dung C. 1uF (micro Farad) = 10-6 F 1nF (nano Farad) = 10-9 F 1pF (pico farad) = 10-12 F Hình 9: tụ điện Tụ điện được chia làm hai loại chính: - Tụ điện có phân cực tính dương và âm. - Tụ điện không phân cực tính. Tụ hóa: Là loại tụ có phân cực tính dương và âm. Tụ hóa có bản cực là lá nhôm, điện môi là những lớp nhôm ôxit rất mỏng được tạo nên bằng phương pháp điện phân. Điện dung của tụ hóa khá lớn từ 1uF dến 10000uF. Ở đây em chỉ sử dụng những tụ hóa có giá trị điện dung, điện áp nhỏ: 10uF50v; 1000uF50v; 2200uF25v. Tụ gốm (ceramic): Là loại tụ không phân cực tính. Được chế tạo gồm chất điện môi là gốm, thường có dạng tròn dẹt, bề mặt được tráng bạc để làm bản tụ. Trong mạch em dung nhưng tụ như: 104pF; 33pF. 7. Diode bán dẫn: - Cấu tạo: Là linh kiện tích cực có một lớp tiếp tiếp xúc P-N. Bên ngoài có bọc lớp plastic, hai đầu của mỗi bán dẫn có trán kim loại nhôm để nối dây ra ngoài. Nguyên lí họat động: Điều kiện để diode dẫn là VA ≥VK. Phân cực thuận (VA ≥VK): Cực dương của nguồn nối với Anod, cực âm nguồn nối với Catod. Lúc đó, điện tích dương của nguồn sẽ đẩy lỗ trống trong vùng P và điện tích âm của nguồn sẽ đẩy electron trong vùng N làm cho electron và lỗ trống lại gần mối nối hơn và khi lực tĩnh điện đủ lớn thì electron từ N sẽ sang mối nối qua P và tái hợp với lỗ trống. Khi vùng N mất electron trở thành mang điện tích dương thì vùng N sẽ kéo điện tích âm từ cực âm của nguồn lên thế chỗ, khi vùng P nhận electron trở thành mang điện tích âm thì cực dương của nguồn sẽ kéo điện tích âm từ vùng P về. Như vậy, có một dòng electron chạy từ cực âm của nguồn qua diode từ N sang P đến cực dương của nguồn, nói cách khác có một dòng điện chạy từ P sang N. Phân loại: Có rất nhiều loại diode nhưng trong mạch em chỉ sử dụng diode chỉnh lưu hoạt động tần số thấp, dùng để đổi điện xoay chiều sang điện 1 chiều cấp nguồn 9v cho 7805 hoạt động cấp nguồn chính cho mạch hoạt động. 8. Transistor : Hình 10: ký hiệu transistor Transistor gồm ba lớp bán dẫn ghép với nhau hình thành hai mối tiếp giáp P-N , nếu ghép theo thứ tự PNP ta được Transistor thuận , nếu ghép theo thứ tự NPN ta được Transistor ngược. về phương diện cấu tạo Transistor tương đương với hai Diode đấu ngược chiều nhau . Thực ra một thiết bị không có Transistor thì chưa phải là thiết bị điện tử, vì vậy Transistor có thể xem là một linh kiện quan trọng nhất trong các thiết bị điện tử, các loại IC thực chất là các mạch tích hợp nhiều Transistor trong một linh kiện duy nhất, trong mạch điện , Transistor được dùng để khuyếch đại tín hiệu Analog, chuyển trạng thái của mạch Digital, sử dụng làm các công tắc điện tử, làm các bộ tạo dao động v v... Trong mạch dùng transistor loại PNP( A1015) dùng để điều khiển đóng ngắt led 7 đoạn. III. Phân tích họat đông các khối 1. Khối cấp nguồn: a. Sơ đồ nguyên lý: Hình 11: sơ đồ nguyên lý khối cấp nguồn b. linh kiện trong mạch: - 7805: ghim điện áp ra là 5V cấp cho mạch. - diode: nhiệm vụ chỉnh lưu nắn điện AC thành DC. - điện trở: hạn dòng cho led báo nguồn. - các tụ: lọc nhiễu tần số cao. c. chức năng và nguyên ly hoạt động: - Chức năng của khối cấp nguồn là nắng điện áp 9VAC thành 5VDC, 1A cho mạch điều khiển và hiển thị. Ta cấp nguồn 9vac cho cầu diode khi đó diode làm nhiệm vụ chỉnh lưu toàn kỳ nắn điện AC thành 9VDC cấp nguồn cho 7805, đồng lúc này led báo nguồn sáng lên. Trong mạch nguồn còn được gắn thêm 2 tụ điện 2200uF và 1000uF để lọc nhiễu tần số cao và chống phóng điện ngược gây chết 7805. Điện áp ra từ chân số 3 của 7805 là 4.8V-5.2V, dòng cho phép qua là 1A. 2. Khối điều khiển ( vi điều khiển AT89C51) Hình 12: sơ đồ nguyên lý khối điều khiển a. Các linh kiện trong khối điều khiển: - AT89C51: có vai trò là bộ xử lý trung tâm điều khiển thông qua các port IO - Các tụ điện: dùng để lọc và chống nhiễu ( lọc nguồn, reset và mạch tạo dao động). - Các điện trở hạn dòng cho các linh kiện trong mạch. - Transistor để điều khiển đóng ngắt các led 7 đoạn. - Là nơi lưu trữ chương trình điều khiển của toàn bộ hệ thống. - Điều khiển toàn bộ hoạt động của mạch, có vai trò rất quang trọng như một CPU của máy tính, có các ngõ giao tiếp với khối hiển thị ( các port I/O). - Hoạt động của khối điều khiển: thực thi theo chương trình đã được lập trình( chương điều khiển phần sau) 3. Khối hiển thị: Hình 13: khối hiển thị Chức năng - Dùng để hiển thị thời gian thông qua led 7 đoạn và led đơn - Trong mạch thiết kế thực tế này em thiết kế sử dụng loại Anot chung. - Để ghép nối với LED7 có thể có nhiều cách, nhưng phải đảm bảo sao có thể điều khiển tắt mở riêng từng LED đơn trong đó để tạo ra các số. Các IC vi điều khiển sinh dòng kém tức là dòng đầu ra của các chân IC nhỏ hơn khả năng tiêu tốn dòng. Do vậy,em ghép nối trực tiếp các led với các chân IC thì loại Anode chung là thích hợp. - Dùng trực tiếp các chân điều khiển cua vi điều khiển AT89C51. - Dòng mà vi xử lý chịu đựng được cũng khá nhỏ khoảng dưới 100mA. V. Giải thuật và chương trình 1. ĐẶT VẤN ĐỀ: - Thiết nghĩ tại 1 ngã tư không có đèn giao thông sẽ như thế nào? Khi đó việc lưu thông sẽ trở nên khó khăn trong lưu thông, dễ gây ùn tắt…Để cho việc lưu thông trở nên dễ dàng hơn ta cần có đèn giao thông. Đèn giao thông sẽ 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 ra việc ùn tắt tại giao lộ. - Làm thế nào để hiển thị các đèn đỏ-xanh-vàng? - Làm thế nào để hiển thị giá trị trên led 7 đoạn ? Và đếm ngược giá trị như thế nào? - Dạng dữ liệu xuất ra port điều khiển hiển thị trên led 7 đoạn dạng BCD hay 7 đoạn? 2.ĐÈN THỜI GIAN Cho các đèn sáng như sau: Đỏ 2= 44S, Vàng 2= 5S, Xanh 2= 40S, Đỏ 1= 44S, Vàng 1= 5S, Xanh 1= 40S Thời gian Đỏ 2 sáng = thời gian Xanh 1sáng + thời gian Vàng 1 sáng=45s Thời gian Đỏ 1 sáng = thời gian Xanh 2 sáng + thời gian Vàng 2 sáng=45s chuyển trực tiếp giá trị BCD ra led 7 đoạn không cần vi mạch giải mã. Mỗi số hiển thị trên led 7 đoạn trong 1s 3. Lưu đồ giải thuật: Đ Đ S S Begin Tạo thông số thời gian, dữ liệu điều khiển led, vùng mã 7đoạn Nạp thông số tg cho thanh ghi 16h,17h, cho x1- d2 sáng và giải mã: 16h,17h Hiển thị thời gian: Giảm nội dung 2 thanh ghi 16h = 0? Nạp thông số tg cho thanh ghi 16h,17h, cho v1- d2 sáng và giải mã: 16h,17h Hiển thị thời gian: Giảm nội dung 2 thanh ghi 16h = 0? Nạp thông số tg cho thanh ghi 16h,17h, cho x2- d1 sáng và giải mã: 16h,17h Hiển thị thời gian: Giảm nội dung 2 thanh ghi Nạp thông số tg cho thanh ghi 16h,17h, cho v2- d1 sáng và giải mã: 16h,17h Hiển thị thời gian: Giảm nội dung 2 thanh ghi 17h = 0? 17h = 0? End Đ Đ S S 4. Giản đồ thời gian: 5. Chương trình điều khiển ngôn ngữ assembly Vùng nhớ để hiển thị cho 8 led 7đoạn Vùng nhớ chứa mã BCD 27h 26h 25h 24h 23h 22h 21h 20h Vùng nhớ chứa mã 7 đoạn 37h 36h 35h 34h 33h 32h 31h 30h Hiển thị trên led thứ 7 6 5 4 3 2 1 0 ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;chương trình điều khiển đèn giao thông có hiển thị trên led 7 đoạn ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ; quy ước: X1 là xanh Đông Tây ; V1 là vàng Đông Tây ; D1 là đỏ Đông Tây ; X2 là xanh Nam Bắc ; V2 là vàng Nam Bắc ; D2 là Đỏ Nam Bắc ;dữ liệu điều khiển led đơn tích cực mức 1 X1_d2 EQU 10000100B ;XANH 1, DO 2 SANG V1_d2 EQU 01000100B ;VANG 1, DO 2 SANG d1_X2 EQU 00100001B ;DO 1, XANH 2 SANG D1_V2 EQU 00100010B ;DO 1, VANG 2 SANG tg_xanh equ 39 ;39 đếm xuống 0 tức đã đếm 40 tg_vang equ 4 ;4 đếm xuống 0 tức đã đếm 5 tg_do equ 44 ;44 đếm xuống 0 tức đã đếm 45 led7 equ p0 ;điều khiển các đoạn a,b,c,d,e,f,g,dp quet equ p2 ;điều khiển quét các transistor leddon equ p1 ; điềuu khiển led đơn ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ; Bắt đầu chương trình chính ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx org 0000h mov tmod,#00000001b ; khởi tạo timer1 mov dptr,#ma7doan mov 22h,#0ffh mov 23h,#0ffh ; xóa các vùng nhớ hiển thị không dùng mov 24h,#0ffh mov 25h,#0ffh ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;xanh1 va do2 sáng 40 giây ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx b222: mov 16h,#tg_xanh ; biến đếm thời gian cho ht1 mov 17h,#tg_do ; biến đếm thời gian cho ht2 mov leddon,#x1_d2 ;cho xanh1, do2 sang b221: lcall hextobcd lcall gma lcall delay dec 17h ; giảm nội dung thanh ghi 17h xuống1 djnz 16h,b221 ; Giảm và nhảy nếu chưa bằng lcall hextobcd ; goi ctrinh chuyển so hex sang BCD lcall gma ; gọi ctrinh con giải mã lcall delay ; gọi ctrinh con delay ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;vang1 va do2 sang 5 giay ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx dec 17h mov 16h,#tg_vang ; biến đếm thời gian cho ht2 mov leddon,#v1_d2 ;cho vang 1, do2 sang b221a: lcall hextobcd lcall gma lcall delay dec 16h djnz 17h,b221a lcall hextobcd lcall gma lcall delay ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;do1 va xanh2 sang 40 giay ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx mov 16h,#tg_do ; biến đếm thời gian cho ht1 mov 17h,#tg_xanh ; biến đếm thời gian cho ht2 mov leddon,#d1_x2 ;do1 va xanh2 sang b221b: lcall hextobcd lcall gma lcall delay dec 16h djnz 17h,b221b lcall hextobcd lcall gma lcall delay ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;do1 va vang2 sang 5 giay ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx dec 16h mov 17h,#tg_vang mov leddon,#d1_V2 ;do1 va xanh2 sang b221c: lcall hextobcd lcall gma lcall delay dec 17h djnz 16h,b221c lcall hextobcd lcall gma lcall delay ljmp b222 ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ; chương trình con chuyển số hex sang số bcd ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx hextobcd: mov a,17h mov b,#10 div ab ;b lưu hàng đơn vị swap a orl a,b mov 37h,a mov a,16h mov b,#10 div ab ;b lưu hàng đơn vị swap a orl a,b mov 36h,a ret ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ; chuong trinh con giai ma ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx gma: mov a,37h anl a,#0fh movc a,@a+dptr mov 27h,a ; hàng đơn vị mov a,37h anl a,#0f0h swap a movc a,@a+dptr mov 26h,a ; hàng chục mov a,36h anl a,#0fh movc a,@a+dptr mov 21h,a ; hàng đơn vị mov a,36h anl a,#0f0h swap a movc a,@a+dptr mov 20h,a ; hàng chục ret ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;chuong trinh delay co goi chuong trinh hien thi ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx delay: mov 7fh,#10h del2: clr tr0 mov th0,#00 mov tl0,#00 setb tr0 clr tf0 del1: lcall hthi jnb tf0,del1 djnz 7fh,del2 ret ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;chuong trinh con hien thi ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx hthi: mov r1,#01111111b ;ma quet mov r0,#27h ; nạp địa chỉ quản ly vùng mã 7đoạn vào r0 mov r5,#8 ht1: mov led7,@r0 mov quet,r1 lcall delay1 mov quet,#0ffh ; tắt để chống lem dec r0 mov a,r1 rr a mov r1,a djnz r5,ht1 ret ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ;chuong trinh con delay1 ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx delay1: mov r7,#0fh djnz r7,$ ret ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ; vùng mã 7 đoạn ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ma7doan: db 0c0h,0f9h,0a4h,0b0h,099h,092h,082h,0f8h,080h,090h end CHƯƠNG III THI CÔNG MÔ HÌNH I. Thi công vẽ mạch bằng phần mềm orcad Chuẩn bị máy tính cài chương trình orcad 9.2 Các bước thực hành: ở đây em xin nói ngắn gọn Bước 1: vẽ sơ đồ nguyên lý Bước 2: kiểm tra lỗi, tạo netlist Bước 3: mở layout sắp xếp linh kiện/ tạo chân, lớp hợp lý Bươc 4: cho chương trình chạy và đi lai những dây chưa được Sơ đồ sắp xếp chân linh kiện: Hình 14: sắp xếp linh kiện Sơ đồ mạch in khối điều khiển: Hình 15: sơ đồ mạch in Sơ đồ mạch in hiển thị: Hình 16:sơ đồ mạch in led hiển thị II. Thực hiện mô hình nhỏ: Chuẩn bị dụng cụ thực hiện Phôm tạo khung 25x35cm Decan 0.5m ( đen, đỏ, trong) Nhựa bọc ngoài 0.5m Keo+dao+đục Kéo và một số dụng cụ khúc Mạch thiết kế và tiến hành thi công Linh kiện chuẩn bị: AT89C51; biến áp 1A; diode cầu; 7805; transistor A1015; led 7 đoạn (8con); led oval ( xanhx2; đỏx2; vàngx2); các điện trở; các tụ điện; dây dẫn, mỏ hàn, chì, khoan, thuốc rửa mạch in, đồng hồ VOM, … Tiến hành ráp mạch và làm mô hình. CHƯƠNG IV KẾT LUẬN Mạch đèn giao thông rất thông dụng hiện nay được ứng dụng nhiều trong thực tế. Trong điều kiện cho phép em chỉ có thể thực hiện mô hình ở mức độ đơn giản nhất nhưng trong quá trình thực hiện cũng không được hoàn hảo nhất ,mạch thi công cũng còn nhiều thiếu sót, hạn chế. Rất mong được sự quan tâm hướng dẫn của chủ nhiệm bộ môn Thầy Nguyễn Đình Phú để em ngày càng cũng cố kiến thức nhiều hơn. Em chân thành cảm ơn! I. ƯU ĐIỂM - Thực hiện được mô hình - vận dụng kiến thức đã học - mach chạy ổn định - mô hình nhỏ gọn II. HẠN CHẾ - Dù đã thực hiện được mô hình nhưng không tránh khỏi những thiếu sót trong quá trinh thực hiện. - Mô hình chỉ mang tính chất tham khảo chưa áp dụng được cho thực tế ( công suất thấp) PHỤ LỤC Hình 1: sơ đồ khối Hình 2: Sơ đồ nguyên lý Hình 3: sơ đồ chân AT89C51 Hình 4: mạch reset Hình 5: mạch dao động thạch anh Hình 6: sơ đồ chân 7805 Hình 7: Cấu tạo led 7 đoạn Hình 8: Led đơn Hình 9: tụ điện Hình 10: ký hiệu transistor Hình 11: sơ đồ nguyên lý khối cấp nguồn Hình 12: sơ đồ nguyên lý khối điều khiển Hình 13: khối hiển thị Hình 14: sắp xếp linh kiện Hình 15: sơ đồ mạch in Hình 16:sơ đồ mạch in led hiển thị

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

  • docMô hình đèn giao thông dùng vi điều khiển at89c51.doc