Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51

40 1.3K 5
Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51

Đ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

Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào ra sử dụng vi điều khiển MCS51

Đề tài: Nghiên cứu thiết kế mạch đếm xe vào/ra sử dụng vi điều khiển MCS51 MỤC LỤC ĐỀ TÀI CHƢƠNG 1: ĐẶT VẤN ĐỀ VÀ NHIỆM VỤ THƢ Đặt vấn đề Nhiệm vụ thƣ CHƢƠNG 2: TỔNG QUAN VỀ CÁC PHƢƠNG PHÁP ĐẾM 2.1 Ic rời 2.2 Mạch dùng PLC 2.3 Mạch kết nối với máy tính 14 2.4 Mạch dùng kỹ thuật vi điều khiển 14 CHƢƠNG 3: THIẾT KẾ PHẦN CỨNG 15 3.1 Sơ đồ khối 3.2 Giới thiệu chung 15 3.2.1 Chíp AT 89S52 15 3.2.2 CD4558 18 3.2.3 LCD 18 3.2.4 LM7805 21 3.3 Sơ đồ khối 23 3.3.1 Khối cảm biến 23 3.3.2 Khối hiển thị 24 3.3.3 Khối lƣu trữ 24 3.3.5 Khối xử lí 25 3.3.6 Khối nguồn 26 CHƢƠNG 4: THIẾT KẾ PHẦN MỀM 27 CHƢƠNG 5: KẾT LUẬN VÀ PHƢƠNG HƢỚNG PHÁT TRIỂN 39 Ƣu điểm, nhƣợc điểm 39 Phƣơng hƣớng phát triển 39 Kết luận 39 TÀI LIỆU THAM KHẢO 40 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào/ra sử dụng vi điều khiển MCS51 ĐỀ TÀI Nghiên cứu thiết kế mạch đếm xe vào/ra sử dụng vi điều khiển MCS51 1, Nguyễn Thị Nhuận 2, Đinh Thế Phú Nhóm trưởng 3, Đặng Ngọc Tuyết 4, Nguyễn Mạnh Quân Nhiệm vụ thiết kế :  Tìm hiểu phương pháp đếm sản phẩm cách dùng cảm biến hồng ngoại  Mạch có giao tiếp với nhớ để lưu sản phẩm đếm  Đưa tín hiệu điều khiển barie đầy xe  Có phím chức để đọc, cài đặt chức lưu sản phẩm đếm  Hiển thị kết đếm lên LCD Yêu cầu:  Chương 1: Đặt vấn đề nhiệm vụ thư  Chương 2: Tổng quan phương pháp đếm sản phẩm (2 tuần)  Chương 3: Thiết kế phần cứng (2 tuần)  Chương 4: Thiết kế phần mềm (2 tuần)  Chương 5: Kết luận phương hướng phát triển (1 tuần) (1 tuần) Đề tài: Nghiên cứu thiết kế mạch đếm xe vào/ra sử dụng vi điều khiển MCS51 CHƢƠNG 1: ĐẶT VẤN ĐỀ VÀ NHIỆM VỤ THƢ Đặt vấn đề Hiện số lượng xe ô tô Việt Nam ngày tăng, thành phố lớn Hà Nội TP Hồ Chí Minh Theo chun gia giao thơng, tơ cần có diện tích đỗ xe tính khoảng 15 – 20m2, khu chung cư khu thị 100m2 diện tích mặt sàn sử dụng cần có chỗ đỗ xe ô tô Với số lượng ô tô có mức độ tăng tơ việc thiếu bãi đỗ xe chắn xảy thành phố lớn, nhu cầu bãi đỗ xe ô tô lớn Với gara ô tơ lớn, số lượng xe nhiều cần phải có mạch điện để giúp đỡ cho việc điều khiển quản lý số lượng xe gara cần thiết, số lượng xe ô tô vào lớn mức cho phép gara gây cản trở lưu thơng gara cần giới hạn số lượng xe vào gara Vì việc thiết kế mạch đếm điều khiển quản lý số lượng xe ô tô giúp ta kiểm soát số lượng ô tô gara bãi đậu xe cần thiết Nhiệm vụ thƣ Mục đích mơ hình điều khiển đóng mở cửa gara, đếm số lượng xe ô tô giúp cho người quản lý gara ô tô đếm số lượng ô tô giới hạn lượng xe vào phù hợp với sức chứa gara Yêu cầu mạch đếm số lượng xe tơ phải chạy cách xác, ổn định, gọn nhẹ dễ lắp đặt, dễ sửa chữa giá thành thấp Xuất phát từ nhu cầu thực tế nêu trên, nhóm chúng em định chọn đề tài “Nghiên cứu thiết kế mạch đếm xe vào/ra phẩm vào sử dụng vi điều khiển MCS51” Đề tài: Nghiên cứu thiết kế mạch đếm xe vào/ra sử dụng vi điều khiển MCS51 CHƢƠNG 2: TỔNG QUAN VỀ CÁC PHƢƠNG PHÁP ĐẾM Trên thực tế ta có nhiều phương pháp khác để đếm số xe vào bãi đỗ xe như: mạch sử dụng IC rời, mạch dùng PLC , mạch kết nối với máy tính, mạch sử dụng vi xử lí…v v 2.1 Mạch sử dụng Ic rời Mạch sử dụng ic rời ghép nối lại với tạo nên khối.các khối ghép nối lại với tạo nên mạch đếm xe vào sử dụng ic rời Khối hồng ngoại Khối điềukhiển Khối đếmếm Khối nguồn Khối giải mã Khối hiển thị Hình 2.1 Sơ đồ khối mạch IC rời đếm xe vào 2.1.1 Chức khối: A, Khối nguồn: Hình 2.2 Khối nguồn Tạo dòng điện ổn định cung cấp cho toàn mạch Mạch dùng nguồn 9V cấp cho LED đoạn Riêng IC 7805 dùng để ổn định dòng 5V cấp cho IC B Khối hồng ngoại: Khối hồng ngoại gồm khối thu phát hồng ngoại: Đề tài: Nghiên cứu thiết kế mạch đếm xe vào/ra sử dụng vi điều khiển MCS51 - Khối phát hồng ngoại chủ yếu phát ánh sáng hồng ngoại cấp cho mạch thu hồng ngoại - Khối thu hồng ngoại dùng để thu ánh sáng từ mạch phát hồng ngoại để điều khiển Hình 2.3 Khối thu hồng ngoại C Khối đếm Sử dụng ic 40192, nhận xung từ khối điều khiển để đếm lên đếm xuống, đồng thờixuất giá trị BCD chuyển đến khối giải mã Hình 2.4 Khối đếm Chức IC 40192: Đây IC vừa có khả đếm lên vừa có khả đếm xuống với ngõ số BCD Đếm lên hay đếm xuống tùy thuộc vào kết nối xung clock vào chân CLKU hay chân CLKD.Do mạch thấy IC 40192 đơn vị (IC 1) chân CLKU nối với Đề tài: Nghiên cứu thiết kế mạch đếm xe vào/ra sử dụng vi điều khiển MCS51 liệu lấy từ cửa vào chân CLKD nối với liệu lấy từ cửa Còn IC 40192 hàng chục (IC 2) chân CLKUđược nối với chân /CO IC chân CLKD nối với chân BO IC1 Nhìn vào sơ đồ nguyên lý ta thấy IC 40192 bắt đầu đếm lên xung clock, ngõ giá trị 1001(số 9) mà gặp cạnh xuống clock chân CLKU chân CO từ mức chuyển xuống mức cạnh lên clock giá trị ngõ chuyển từ 1001 sang 0000 đồng thời chân CO trở lại mức (tạo cạnh lên), giải thích tương tự với chân BO lần ngõ chuyển Mạch đếm sản phẩm kiểm tra xe vào dùng IC hồng ngoại từ 0000 sang 1001 xét chân CLKD Điều giải thích cho cách đấu tầng : hàng chục hàng đơn vị mạch, hàng đơn vị đếm lên chuỷen từ sang hàng chục tăng lên 1, đếm xuống mà chuyển từ sang hàng chục bị giảm D Khối giải mã Sử dụng ic 74LS247, nhận giá trị BCD từ khối đếm chuyển đổi thành giá trị cho LCD chuyển đến khối hiển thị Hình 2.5 Khối giải mã E Khối hiển thị Nhận giá trị chuyển đổi từ khối giải mã xuất LED Đề tài: Nghiên cứu thiết kế mạch đếm xe vào/ra sử dụng vi điều khiển MCS51 Hình 2.6: Khối hiển thị F Khối điều khiển: Sử dụng ic 4071, ic4093, ic4013 ghép nối lại với nhằm nhận xung clock từ khối hồng ngoại để điều khiển cho khối đếm 2.1.2 Sơ đồ nguyên lí Đề tài: Nghiên cứu thiết kế mạch đếm xe vào/ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào/ra sử dụng vi điều khiển MCS51 2.1.3 Nguyên lý hoạt động: a.Cấu tạo mạch kiểm tra xe vào dùng hồng ngoại: Mạch sử dụng IC đếm 40192, IC giải mã BCD 74247 hiển thị lên led đoạn, thu phát hồng ngoại ,IC 4093 IC ổn áp 7805 b Nguyên lý hoạt động mạch kiểm tra xe vào dùng hồng ngoại Khối tạo xung clock ( tức khối phát hồng ngoại): cửa vào nên ta giải thích cho cửa ví dụ cửa vào Khi khơng có xe qua led thu nhận toàn hồng ngoại từ led phát điện áp đầu xem tụ C xả hết xuống mass, qua cổng NAND đảo đặt lên chân clock IC 40192 mức Khi có xe qua led thu khơng cịn nhận hồng ngoại xem hở mạch, tụ C nạp qua VAR 200k, thời điểm nạp tụ C xem nối tắt lên nguồn nên qua cổng NAND chân clock xuống mức số hiển thị led đoạn tăng lên (hoặc giảm) đơn vị Khi xe qua led thu nhận hồng ngoại từ led phát nên tụ C nhanh chóng xả xuống mass tiếp tục 2.1.4 Ƣu, nhƣợc điểm: a Ưu điểm: - Đảm bảo độ xác cao - Tần số đáp ứng mạch nhanh - Tổn hao cơng suất bé, mạch sử dụng pin acquy - Khả đếm rộng - Giá thành thấp - Mạch đơn giản dễ thực b Nhược điểm: Với việc sử dụng kỹ thuật số khó đáp ứng việc thay đổi số đếm Muốn thay đổi yêu cầu mạch buộc lịng 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 phương pháp việc tín tốn thuật tốn phức tạp 2.2 Mạch dùng PLC 2.2.1 Giới thiệu chung PLC, viết tắt programable logic controler thiết bị điều khiển logic lập trình được, hay thiết bị logic khả trình cho phép thực linh hoạt thuật toán điều khiển logic thơng qua ngơn ngữ lập trình Như với chương trình điều khiển PLC trở thành điều khiển số nhỏ gọn dễ dàng thay đổi thuật tốn điều khiển trao đổi thơng tin với mơi trường bên ngồi ( PLC khác máy tính ) S7-200 thiết bị điều khiển logic khả trình hãng Siemens ( CHLB Đức ), có cấu trúc kiểu module có module mở rộng Các module sử dụng với mục đích khác Đề tài: Nghiên cứu thiết kế mạch đếm xe vào/ra sử dụng vi điều khiển MCS51 Toàn nội dung chương trình lưu nhớ PLC, trường hợp dung lượng nhớ không đủ ta sử dụng nhớ ngồi để lưu chương trình liệu (Catridge ) Dịng PLC S7-200 có hai họ 21X ( loại cũ ) 22X ( loại ), họ 21X khơng cịn sản xuất Họ 21X có đời sau: 210, 212, 214, 215-2DP, 216; họ 22X có đời sau: 221, 222, 224,224XP, 226, 226XM Hình 2.7: PLC S7-200 CPU224XP Hình 2.8: Sơ đồ chân PLC S7-200 CPU224XP Để đếm số lượng xe vào ta sử dụng sensor cảm biến quang, hồng ngoại kết nối với PLC để đếm lượng xe vào Có thể sử dụng nhiều loại PLC khác S7-200, S7-300, S7-1200 chúng dựa nguyên lý chung sử dụng counter để đếm lượng xe vào 10 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào/ra sử dụng vi điều khiển MCS51 Khi nhận tín hiệu từ cảm biến chân DIN, DIN1 vi điều khiển đếm lên xuống sau suất hình LCD , đồng thời lưu trữ vào EEPROM Sử dụng nút bấm để thay đổi số xe giới hạn bãi đỗ ô tô, UP(lên giá trị) ,DOWN (xuống giá trị) Giả sử điện liệu AT24C04 lưu giữ, có điện gửi lại vi điều khiển thực đếm tiếp từ giá trị lưu 3.3.6 Khối nguồn: Hình 3.15 :Khối nguồn JAC DC dắc để cắm nguồn điện chiều LM7085 nhận điện từ dắc DC chuyển điện áp thành 5V cấp nguồn cho thiết bị 3.4 Sơ đồ nguyên lí tổng 26 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào/ra sử dụng vi điều khiển MCS51 CHƢƠNG 4: THIẾT KẾ PHẦN MỀM 4.1 Lƣu đồ thuật tốn Hình 4.1: Lưu đồ thuật tốn 4.2 Chƣơng trình phần mềm #include #include #include #include #include #include #include #include // -Code khai báo, đinh nghĩa chân #define LED_DELAY #define WrEEPROM1 0xA0 #define RdEEPROM1 0xA1 #define Da_EEPROM P3_7 27 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào/ra sử dụng vi điều khiển MCS51 #define Cl_EEPROM P3_6 #define LCD_RS P2_2 #define LCD_RW P2_1 #define LCD_EN P2_0 #define LCD_D4 P2_4 #define LCD_D5 P2_5 #define LCD_D6 P2_6 #define LCD_D7 P2_7 #define Up_key P1_5 #define Dw_key P1_6 #define Set_key P1_7 #define uint8_t unsigned char unsigned int doc=0,th=0; unsigned char i=0,j=0,k=0,m=0,a=0,n=1; char buff[5],buff1[5]; unsigned int max=0,temp=0; unsigned int ngin=0,ngout=0; char str[5]; char l=0,cp=1,cho=0,load=0; void delay_us(unsigned int in); void delay_ms(unsigned time); void LCD_Enable(void); void LCD_Send4Bit( uint8_t Data ); void LCD_SendCommand (uint8_t command ); void LCD_Init ( void ); void LCD_Gotoxy(uint8_t x, uint8_t y); void LCD_Clear(); void LCD_PutChar ( uint8_t Data ); void LCD_Puts (uint8_t *s); void settup1(); // -đợi eeprom gửi tín hiệu có nguồn cấp // void wait (unsigned int input); void WriteEEPROM1(unsigned char input,unsigned int ); unsigned char ReadEEPROM1(unsigned int ); void Write_int_EEPROM1(unsigned int ,unsigned int ); int Read_int_EEPROM1(unsigned int ); void Write_lo_EEPROM1(unsigned long ,unsigned int ) ; unsigned long Read_lo_EEPROM1(unsigned int ); void Write_str_EEPROM1(unsigned char * , unsigned int ); void wait (unsigned int input) // ham delay { while(input ){;} } // ham bat dau giao tiep voi eeprom -// void Start_EEPROM(void) 28 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào/ra sử dụng vi điều khiển MCS51 { Da_EEPROM=1; _nop_(); Cl_EEPROM=1; _nop_(); Da_EEPROM=0; _nop_(); Cl_EEPROM=0; } // ket thuc giao tiep voi eeprom -// void Stop_EEPROM(void) { Da_EEPROM=0; _nop_(); Cl_EEPROM=1; _nop_(); Da_EEPROM=1; _nop_(); Cl_EEPROM=0; } // - gui byte du lieu den eeprom -// void Send1B_EEPROM(unsigned char input) { char i; for(i=7;i>=0;i ) { if(input&0x80)Da_EEPROM=1; else Da_EEPROM=0; input=input1)&0x01; LCD_D6=(Data>>2)&0x01; LCD_D7=(Data>>3)&0x01; } /*************************************************************************** **** 31 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào/ra sử dụng vi điều khiển MCS51 Noi Dung : Gui byte du lieu den LCD Tham Bien : command: byte du lieu can gui Tra Ve : Khong *************************************************************************** *****/ void LCD_SendCommand (uint8_t command ) { LCD_Send4Bit ( command >>4 ); /* Gui bit cao */ LCD_Enable () ; LCD_Send4Bit ( command ); /* Gui bit thap*/ LCD_Enable () ; } /*************************************************************************** **** Noi Dung : Khoi tao LCD Tham Bien : Khong Tra Ve : Khong *************************************************************************** *****/ void LCD_Init ( void ) { LCD_Send4Bit(0x00); delay_ms(20); LCD_RS=0; LCD_RW=0; LCD_Send4Bit(0x03); LCD_Enable(); delay_ms(5); LCD_Enable(); delay_us(100); LCD_Enable(); LCD_Send4Bit(0x02); LCD_Enable(); LCD_SendCommand( 0x28 ); // giao thuc bit, hien thi hang, ki tu 5x8 LCD_SendCommand( 0x0c); // cho phep hien thi man hinh LCD_SendCommand( 0x06 ); // tang ID, khong dich khung hinh LCD_Clear(); // xoa toan bo khung hinh } /*************************************************************************** **** Noi Dung : Thiet lap vi tri tro LCD Tham Bien : x: vi tri cot cua tro x = - 15 y: vi tri hang cua tro y= 0,1 Tra Ve : Khong *************************************************************************** *****/ void LCD_Gotoxy(uint8_t x, uint8_t y) { uint8_t address; 32 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào/ra sử dụng vi điều khiển MCS51 if(!y) address = (0x80+x); else address = (0xC0+x); delay_ms(1); LCD_SendCommand(address); delay_ms(5); } /*************************************************************************** **** Noi Dung : Xoa noi dung hien thi tren LCD Tham Bien : Khong Tra Ve : Khong *************************************************************************** *****/ void LCD_Clear() { LCD_SendCommand(0x01); delay_ms(5); } /*************************************************************************** **** Noi Dung : Viet ki tu len LCD Tham Bien : Khong Tra Ve : Khong *************************************************************************** *****/ void LCD_PutChar ( uint8_t Data ) { LCD_RS=1; LCD_SendCommand( Data ); LCD_RS=0; } /*************************************************************************** **** Noi Dung : Viet chuoi ki tu len LCD Tham Bien : Khong Tra Ve : Khong *************************************************************************** *****/ void LCD_Puts (uint8_t *s) { while (*s) { LCD_PutChar(*s); s++; } } void settup1() 33 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào/ra sử dụng vi điều khiển MCS51 { unsigned char Set_key0=0,Set_key1=0,Up_key0=0,Up_key1=0,Dw_key0=0,Dw_key1=0; unsigned int doc=0,th=0; unsigned char i=0,j=0,k=0,m=0,a=0,n=1; unsigned char buff[5],buff1[5]; Set_key0=Set_key1; Set_key1=Set_key; if(Set_key0==1 & Set_key1==0) // neu nut SET DUOC NHAN { if(temp==0) { th=Read_int_EEPROM1(10); if(doc9999) Write_int_EEPROM1(th,10); i=th/1000; j=(th%1000)/100; k=((th%1000)%100)/10; m=((th%1000)%100)%10; } sprintf(buff1,"%4d",th); a=strlen(buff1); temp++; if(temp>=a+1){ temp=0;if(th>0 && th 0) ngin ; load=0;cho=0;cp=0;l=0;//TR0=0; sprintf(str,"%4d",ngin); LCD_Gotoxy(10,1); LCD_Puts(str); ngout=max-ngin; sprintf(str,"%4d",ngout); LCD_Gotoxy(10,0); LCD_Puts(str); //cp=0; } else { load=2;cp=2; TR0=1;} } } void ngattime0(void) interrupt // ham tao timer de cap nhat du lieu len lcd { l++; if(l>10) { l=0; cho++; if(cho==6) { cho=0;load=0;} if(load==0){cp=1;TR0=0;} } } void main() { LCD_Init(); LCD_Clear(); if(Read_int_EEPROM1(10)9999) Write_int_EEPROM1(101,10); LCD_Gotoxy(0,0); LCD_Puts("con lai"); delay_ms(500); sprintf(str,"%d",Read_int_EEPROM1(10)); LCD_Gotoxy(0,1); LCD_Puts("da vao"); max=Read_int_EEPROM1(10); TMOD=0x01; EA=1; EX1=1; EX0=1; ET0=1; IT0=1; //suon am TR0=1; TR1=1; 36 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào/ra sử dụng vi điều khiển MCS51 sprintf(str,"%4d",ngin); LCD_Gotoxy(10,1); LCD_Puts(str); ngout=max-ngin; sprintf(str,"%4d",ngout); LCD_Gotoxy(10,0); LCD_Puts(str); while(1) { settup1(); } } // -the end // 37 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào/ra sử dụng vi điều khiển MCS51 MỘT SỐ HÌNH ẢNH MẠCH THỰC 38 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào/ra sử dụng vi điều khiển MCS51 CHƢƠNG 5: KẾT LUẬN VÀ PHƢƠNG HƢỚNG PHÁT TRIỂN Ƣu điểm, nhƣợc điểm Trong khoảng thời gian làm đồ án chúng em học hỏi thêm nhiều kiến thức linh vực công nghệ tự động, vi điều khiển hoàn thành đề tài mà giáo viên giao cho Sau hoàn thành xong đồ án, chúng em đạt số kết sau: + Đã hoàn thành mơ hình, chương trình điều khiển quản lý xe tơ vào bãi xe + Mơ hình chạy yêu cầu mà giáo viên hướng dẫn đề quản lý số lượng xe vào bãi, hiển thị kết lên hình LCD, thông báo bãi xe đầy Tuy nhiên, bên cạnh kết đạt được, thiếu sót cần khắc phục: +Bố trí mạch chưa khoa học, chưa mang tính cơng nghiệp Phƣơng hƣớng phát triển Ngày với phát triển khoa học kỹ thuật, nhu cầu kiểm soát xe ngày cao việc thiết kế mạch sử dụng vi điều khiển khơng cịn tối ưu Mạch đơn giản khơng tích hợp thêm chức hỗ trợ giám soát, tuổi thọ sử dụng mạch ngắn, có nhiều sai sót, dễ hư hỏng Chính vậy, nhóm chúng em cần nâng cao kiến thức để nâng cấp mạch vi điều khiển, kết hợp với sử dụng máy tính để thiết kế mạch tự động kiểm sốt thu vé, kiểm sốt xe qua hình ảnh Kết luận Trong thời gian thực đề tài với bảo giúp đỡ tận tình giáo viên hướng dẫn, đến đề tài chúng em hoàn thành Chúng em cố gắng vận dụng kiến thức học trường để giải yêu cầu Tuy nhiên thời gian trình độ chun mơn có hạn nên đồ án cịn tồn nhiều thiếu sót hạn chế Chúng em mong nhận ý kiến góp ý thầy cô khoa ý tưởng thiết kế mơ hình sản phẩm chúng em để sản phẩm hoàn thiện Cuối chúng em xin cảm ơn quý thầy cô tạo điều kiện tốt để giúp đỡ chúng em hoàn thành đề tài 39 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào/ra sử dụng vi điều khiển MCS51 TÀI LIỆU THAM KHẢO http://www.alldatasheet.com/ Giáo trình “ Cấu trúc lập trình họ vi điều khiển 8051”- Nguyễn Tăng Cường, Phan Quốc Thắng Giáo trình “ Thực hành linh kiện điện tử “ http://www.webdien.com/ http://www.dientuvietnam.net/ “Kỹ thuật số thực hành” – Huỳnh Đắc Thắng 40 ... điều khiển cho khối đếm 2.1.2 Sơ đồ nguyên lí Đề tài: Nghiên cứu thiết kế mạch đếm xe vào/ ra sử dụng vi điều khiển MCS51 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào/ ra sử dụng vi điều khiển MCS51. .. 37 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào/ ra sử dụng vi điều khiển MCS51 MỘT SỐ HÌNH ẢNH MẠCH THỰC 38 Đề tài: Nghiên cứu thiết kế mạch đếm xe vào/ ra sử dụng vi điều khiển MCS51 CHƢƠNG 5: KẾT... chúng em định chọn đề tài ? ?Nghiên cứu thiết kế mạch đếm xe vào/ ra phẩm vào sử dụng vi điều khiển MCS51? ?? Đề tài: Nghiên cứu thiết kế mạch đếm xe vào/ ra sử dụng vi điều khiển MCS51 CHƢƠNG 2: TỔNG

Ngày đăng: 28/01/2016, 20:20

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan