Mạch đếm và phân loại sản phẩm dùng vi xử lý PIC 16f877a giao tiếp máy tính

100 1.2K 6
Mạch đếm và phân loại sản phẩm dùng vi xử lý PIC 16f877a giao tiếp máy tính

Đ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

Đồ án tốt nghiệp kỹ sư công nghiệp GVHD : Ths Lê Minh Hải LỜI MỞ ĐẦU Trong sống ngày nay, khoa học kỹ thuật phát triển nhanh đặt biệt phát triển công nghiệp vi điện tử, kỹ thuật số hệ thống điều khiển dần tự động hóa Với kỹ thuật tiên tiến Vi xử lý, Vi mạch số… ứng dụng vào lĩnh vực điều khiển hệ thống điều khiển khí thô sơ với tốc độ xử lý chậm, xác thay hệ thống điều khiển tự động với lệnh chương trình thiết lập trước Trong trình sản xuất nhà máy, xí nghiệp nay, việc phân loại tự động yêu cầu cần thiết quan trọng Vì nắm bắt việc phân loại sản phẩm giúp tiết kiệm công sức, thời gian cho công nhân, cho sản phẩm đầu Và có xử lý kịp thời tránh hư hỏng cố xảy cho sản phẩm Để đáp ứng yêu cầu phân loại tự động có nhiều cách để thực Việc ứng dụng vi điều khiển PIC 16F877A vào việc phân loại tự động phương pháp tối ưu Đồng thời đồng ý khoa Xây Dựng Và Điện, em ứng dụng vào đề tài: “ Mạch đếm phân loại sản phẩm dùng PIC 16F877A giao tiếp máy tính” Giới hạn đề tài: Với thời gian tháng thực đề tài, thời gian có nhiều lễ hội năm, với trình độ chuyên môn có hạng, em cố gắng để hoàn thành tập luận văn thời hạn trường đặt Tập luận văn tập trung giải vấn đề sau:  Tìm hiểu vi điểu khiển PIC16F877A  Thiết kế mạch đếm sản phẩm mô hình băng chuyền  Viết chương trình phần mềm để đáp ứng yêu cầu phân loại sản phẩm Mục đích nghiên cứu: Mục đích trước hết thực đề tài hoàn tất chương trình học đủ điều kiện trường Cụ thể nghiên cứu thực đề tài em muốn phát huy thành ứng dụng Vi điều khiển PIC nhằm tạo sản phẩm tốt đạt hiệu sản xuất cao ……………………………………………………………………… …………………………………………………………………………………… SVTH : Nguyễn Duy Phúc MSSV : 08510030059 …………………………………………………………………………… ……… …………………………………………………………………………… ……… Đồ án tốt nghiệp kỹ sư công nghiệp GVHD : Ths Lê Minh Hải LỜI CẢM ƠN Để thực hoàn chỉnh luận văn này, công sức nhỏ bé em, công lao tận tình giảng dạy, truyền thụ lớn tất Thầy Cô khoa Xây Dựng Và Điện nói chung Thầy Cô giảng dạy môn Điện-Điện Tử nói riêng Đặc biệt cả, em xin bày tỏ lòng biết ơn chân thành Ths Lê Minh Hải dành thời gian quý báo, tận tình giúp đỡ em thực hoàn thành luận văn thời hạn Và xin chân thành cảm ơn người bạn, người thân giúp đỡ động viên học tập trình thực đồ án tốt nghiệp Cuối cùng, em xin chúc quý Thầy Cô khoa Xây Dựng Và Điện, Thầy Cô hội đồng bảo vệ Thầy hướng dẫn Ths Lê Minh Hải dồi sức khỏe SVTH : Nguyễn Duy Phúc MSSV : 0851030059 Đồ án tốt nghiệp kỹ sư công nghiệp GVHD : Ths Lê Minh Hải MỤC LỤC Lời mở đầu Lời cảm ơn Mục lục Chương 1: DẪN NHẬP – PHƯƠNG ÁN THIẾT KẾ 1.1 Đặt vấn đề……………………………………………………………………… 1.2 Phương án thiết kế……………………………………………………………… 1.2.1 Dùng IC số……………………………………………………………………… 1.2.2 Dùng vi xử lý…………………………………………………………………… 1.3 Mục đích yêu cầu đề tài …………………………………………………… 1 1 2 1.4 giới hạn đề tài……………………………………………………………… Chương 2: GIỚI THIỆU VI XỬ LÝ PIC 16F877A 2.1 Tổng quan vi xử lý PIC 16F877A…………………………………………… 2.1.1 PIC ?……………………………………………………………………… 2.1.2 Đặc tính vi xử lý PIC 16F877A…………………………………………… 2.2 Giới thiệu vi xử lý PIC 16F877A ……………………………………………… 2.2.1 Đặc tính ngoại vi ……………………………………………………………… 2.2.2 Đặc tính Analog……………………………………………………………… 2.2.3 Đặc tính đặc biệt……………………………………………………………… 2.2.4 Công nghệ CMOS …………………………………………………………… 2.3 Sơ đồ chân vi xử lý PIC 16F877A……………………………………………… 2.4 Sơ đồ khối vi xử lý PIC 16F877A ……………………………………………… 2.5 Tổ chức nhớ………………………………………………………………… 2.5.1 Bộ nhớ chương trình … ………………………………………………… 2.5.2 Bộ nhớ liệu ……………… ……………………………………………… 2.6 Các ghi đặc biệt FSR …………………………… 2.7 Thanh ghi mục đích chung GPR ……………………………………………… 2.8 Stack…………………………… ……………………………………………… 2.9 Các cổng xuất nhập PIC 16F877A ……………………………………… 2.9.1 PORTA………………………………………………………………………… 2.9.2 PORTB………………………………………………………………………… 2.9.3 PORTC………………… …………………………………………………… 2.9.4 PORTD………………………………………………………………………… 2.9.5 PORTE………………………………………………………………………… 2.10 Tổng quan số đặc tính CPU … ………………………………… 2.10.1 Configuration bit …………………………………………………………… 2.10.2 Các đặc tính OSCILLATOR… ……………………….……………… 2.10.3 Các chế độ Reset……………………………………………………………… 2.11 Ngắt (Interrupt)………………………………………………………………… 2.12 Tập lệnh Vi xử lý PIC …………………………………………………… 2.12.1 Vài nét sơ lược tập lệnh Vi xử lý PIC ……………………………… 2.12.2 Tập lệnh…… ………………………………………………………………… 4 4 5 6 7 9 10 11 14 14 15 15 16 19 20 21 22 22 23 24 26 29 29 31 SVTH : Nguyễn Duy Phúc MSSV : 0851030059 Đồ án tốt nghiệp kỹ sư công nghiệp GVHD : Ths Lê Minh Hải CHƯƠNG : GIỚI THIỆU LINH KIỆN SỬ DỤNG TRONG MẠCH 3.1 Điện trở………… ……………………………………………………………… 3.1.1 Khái niệm……………………………………………………………………… 3.1.2 Hình dáng ký hiệu………….……………………………………………… 3.1.3 Bảng quy ước màu điện trở …………………………………………… 3.1.4 Cách đọc……… ……………………………………………………………… 3.2 Tụ điện…………………………………………………………………………… 3.2.1 Khái niệm tụ điện …………………………………………………………… 3.2.2 Cấu tạo tụ điện…………………………………………………………… 3.2.3 Phân loại tụ điện……………………………………………………………… 3.2.4 Điện dung - Đơn vị - Kí hiệu tụ điện.…………………………………… 3.2.5 Sự phóng nạp – Cách đọc trị số - Ý nghĩa điện áp tụ điện…………… 3.3 Diode……………… …………………………………………………………… 3.3.1 Khái niệm cấu tạo diode……………………………………………… 3.3.2 Hoạt động phân cực cho diode…………………………………………… 3.3.3 Phân loại cho diode…………………………………………………………… 3.4 Cầu diode………………………………………………………………………… 3.4.1 Sơ đồ chân…… ……………………………………………………………… 3.4.2 Đặc tính bản………………… …………………………………………… 3.5 Transistor…………………… ………………………………………………… 3.5.1 Cấu tạo…….…………………………………………………………………… 3.5.2 Nguyên tắc hoạt động Transistor ……………………………………… 3.5.3 Kí hiệu hình dạng Transistor ……………………………………… 3.5.4 Xác định chân Transistor ………….………………………………………… 3.6 Led…….……………………………….………………………………………… 3.6.1 Khái niệm……………………………………………………………………… 3.6.2 Nguyên lý làm việc cấu tạo led… …………………………………… 3.7 Led đoạn……… ……………………………………………………………… 3.7.1 Các khái niệm bản…….…………………………………………………… 3.7.2 Cấu tạo……… ……………………………………………………………… 3.8 Led thu phát hồng ngoại ……………………………………………………… 3.8.1 Khái niệm tia hồng ngoại …………………………………………………… 3.8.2 Công dụng loại ………………………………………………………… 3.9 Relay………………… ………………………………………………………… 3.10 IC ổn áp………………………………………………………………………… 3.10.1 Sơ đồ chân …………………………………………………………………… 3.10.2 Đặc tính bản……………………….……………………………………… 3.11 IC 74244………………………………………………………………………… 3.11.1 Sơ đồ chân…….……………………………………………………………… 3.11.2 Đặc tính bản……………………………………………………………… 3.12 Mosfet IRFZ44N… …………………………………………………………… 3.12.1 Sơ đồ chân …………………………………………………………………… 3.12.1 Đặc tính ……………………………………………………………… 3.13 IC MAX232………………… ………………………………………………… SVTH : Nguyễn Duy Phúc MSSV : 0851030059 38 38 38 38 38 39 39 39 39 40 41 41 42 42 43 44 46 46 46 46 46 46 48 49 49 49 50 51 51 51 52 52 52 53 53 53 53 54 54 54 54 54 54 55 Đồ án tốt nghiệp kỹ sư công nghiệp GVHD : Ths Lê Minh Hải CHƯƠNG : SƠ ĐỒ KHỐI TOÀN MẠCH 4.1 Khối nguồn………………………………….…………………………………… 4.2 Khối cảm biến…………………………………………………………………… 4.3 Khối xử lý………………………………………………………………………… 4.4 Khối động lực……………………………………….…………………………… 4.5 Khối hiển thị ……………………………………….…………………………… CHƯƠNG 5: SƠ ĐỒ NGUYÊN LÝ – TÍNH TOÁN MẠCH 5.1 Khối nguồn ……………………… …………………………………………… 5.2 Khối cảm biến…………………………………………………………………… 5.3 Khối xử lý……… ……………………………………………………………… 5.3.1 Mạch reset …… ……………………………………………………………… 5.3.2 Mạch tạo xung nhịp…………………………………………………………… 5.3.3 Khối truyền thông nối tiếp …………………………………………………… 5.4 Khối hiển thị…………….……………………………………………………… 5.5 Khối động lực…………… …………………………………………………… CHƯƠNG 6: LẬP TRÌNH CHO PIC 6.1 Lưu đồ giải thuật ……………………………………………………………… 6.1.1 Lưu đồ giải thuật chương trình chính…….………………………………… 6.1.2 Lưu đồ giải thuật chương trình con………………………………………… 6.2 Viết chương trình cho vi xử lý PIC 16F877A ………………………………… CHƯƠNG 7: LẬP TRÌNH ĐIỀU KHIỂN TRÊN PC 7.1 Cơ giao tiếp RS232……………………………………………………… 7.2 VISUAL BASIC 6.0 …………………………………………………………… 7.2.1 Tổng quan Visual Basic …………………………………………………… 7.2.2 Các Thuộc Tính (property) ………………………………………………… 7.2.3 Sự kiện OnComm …………………………………………………………… 7.3 Mã nguồn Visual Basic 6.0 chương trình giao tiếp máy tính….………… 7.4 Giao diện chương trình sau biên dịch ……….…………………………… KẾT LUẬN PHỤ LỤC TÀI LIỆU THAM KHẢO SVTH : Nguyễn Duy Phúc MSSV : 0851030059 56 56 56 56 56 56 57 57 59 60 60 61 61 61 62 63 63 63 64 68 76 76 78 78 79 82 83 90 91 92 94 Đồ án tốt nghiệp kỹ sư công nghiệp SVTH : Nguyễn Duy Phúc GVHD : Ths Lê Minh Hải MSSV : 0851030059 Đồ án tốt nghiệp kỹ sư ngành công nghiệp GVHD :Ths Lê Minh Hải CHƢƠNG 1: DẪN NHẬP – PHƢƠNG ÁN THIẾT KẾ Đặt vấn đề: 1.1 Ngày với phát triển ngành Khoa học kỹ thuật, kỹ thuật điện – điện tử… kỹ thuật số đóng vai trò quan trọng lĩnh vực Khoa học kỹ thuật, quản lý, tự động hóa, thông tin liên lạc… Từ ý tưởng tự động hóa sản xuất, “Mạch đếm phân loại sản phẩm” em chọn làm đề tài tốt nghiệp gần gũi với thực tế Để làm mạch này, hệ thống cần có phận đếm phận cảm biến:  Bộ phận cảm biến: gồm phần phát phần thu Thông thường phần phát sử dụng led phát hồng ngoại phần thu led thu hồng ngoại  Bộ phận đếm có nhiều phương pháp thực thi, là: o Lắp mạch đếm dùng IC số với IC đếm, chốt, giải mã, so sánh o Lắp mạch dùng kỹ thuật Vi xử lý 1.2 Phƣơng án thiết kế: 1.2.1 Dùng IC số: Ưu điểm:  Cho phép tăng hiệu suất lao động  Đảm bảo độ xác cao  Tần số đáp ứng lớn, cho phép đếm với tốc độ cao  Khoảng cách cảm biến thu – phát đặt xa cho phép đếm sản phẩm có kích thước lớn  Tổn hao công suất thấp, dùng pin ắc quy  Khả đếm rộng  Giá thành thấp  Mạch đơn giản Việc sử dụng IC số khó đáp ứng mục đích thay đổi số đếm Muốn thay đổi số đếm buộc phải thay đổi phần cứng Do cần phải lắp đặt lại mạch gây tốn kinh tế Với phát triển mạnh ngành kỹ thuật số, đặc biệt cho đời họ Vi điều khiển, SVTH : Nguyễn Duy Phúc MSSV : 0851030059 Trang Đồ án tốt nghiệp kỹ sư ngành công nghiệp GVHD :Ths Lê Minh Hải Vi xử lý đa chức việc sử dụng Vi xử lý, Vi điều khiển giải bế tắc mà dùng IC số kết hợp không giải 1.2.2 Dùng Vi xử lý: Ngoài ưu điểm liệt kê sử dụng IC số ghép lại, mạch đếm sử dụng Vi xử lý có ưu điểm sau:  Mạch thay đổi số đếm cách linh hoạt cách thay đổi phần mềm mà không ảnh hưởng tới phần cứng  Sử dụng linh kiện  Mạch đơn giản mạch sử dụng IC số  Mạch cài đặt số đếm ban đầu  Mạch lưu lại số lượng ca sản xuất  Mạch giao tiếp với máy tính Nhưng thiết kế, người ta thường chọn phương pháp tối ưu kinh tế em chọn phương pháp “Đếm sản phẩm dùng Vi xử lý” Mục đích yêu cầu đề tài: 1.3 Trong đồ án này, em thực đếm sản phẩm phương pháp dựa thay đổi mức logic chân cảm biến Như sản phẩm băng chuyền cần có thiết bị để cảm nhận sản phẩm, thiết bị gọi cảm biến Khi sản phẩm qua cảm biến, cảm biến nhận thay đổi mức logic (1 0) đưa khối xử lý để tăng số đếm phân loại sản phẩm (cao – trung – thấp) Sản phẩm đếm hiển thị led đoạn hình máy tính Tuy nhiên, phận hay ca sản xuất lại yêu cầu với số đếm khác nên phải có chuyển đổi linh hoạt việc chuyển đổi số đếm Bộ phận chuyển đổi trực quan bàn phím Khi cần thay đổi số đếm, người sử dụng việc nhập số hệ thống tự động đếm Khi số sản phẩm đếm với số sản phẩm nhập từ bàn phím mạch đếm dừng đếm Từ suy mục đích yêu cầu đề tài:  Số đếm phải xác việc thay đổi số đếm cách linh hoạt  Bộ phận hiển thị rõ ràng  Mạch không phức tạp, đảm bảo an toàn sử dụng  Giá thành không cao SVTH : Nguyễn Duy Phúc MSSV : 0851030059 Trang Đồ án tốt nghiệp kỹ sư ngành công nghiệp 1.4 GVHD :Ths Lê Minh Hải Giới hạn đề tài: Do mạch sử dụng phận cảm biến led phát led thu hồng ngoại tín hiệu hồng ngoại từ led phát không đủ mạnh để truyền xa không gian nên để led thu nhận tín hiệu cách mạnh ổn định khoảng cách khoảng cách đặt led thu led phát không xa đặt với Chính mà kích thước sản phẩm đếm không lớn Đếm số sản phẩm phạm vi từ 00 đến 99 SVTH : Nguyễn Duy Phúc MSSV : 0851030059 Trang Đồ án tốt nghiệp kỹ sư ngành công nghiệp GVHD :Ths Lê Minh Hải CHƢƠNG 2: GIỚI THIỆU VI XỬ LÝ PIC16F877A 2.1 Tổng quan họ Vi điều khiển PIC: 2.1.1 PIC ? PIC họ vi điều khiển RISC sản xuất công ty Microchip Technology Dòng PIC PIC1650 phát triển Microelectronics Division thuộc General Instrument PIC bắt nguồn chữ viết tắt "Programmable Intelligent Computer" (Máy tính khả trình thông minh) sản phẩm hãng General Instruments đặt cho dòng sản phẩm họ PIC1650 Lúc này, PIC1650 dùng để giao tiếp với thiết bị ngoại vi cho máy chủ 16bit CP1600, vậy, người ta gọi PIC với tên "Peripheral Interface Controller" (Bộ điều khiển giao tiếp ngoại vi) CP1600 CPU tốt, lại hoạt động xuất nhập, PIC 8-bit phát triển vào khoảng năm 1975 để hỗ trợ hoạt động xuất nhập cho CP1600 PIC sử dụng microcode đơn giản đặt ROM, mặc dù, cụm từ RISC chưa sử dụng thời bây giờ, PIC thực vi điều khiển với kiến trúc RISC, chạy lệnh chu kỳ máy (4 chu kỳ dao động) Năm 1985 General Instruments bán phận vi điện tử họ, chủ sở hữu hủy bỏ hầu hết dự án - lúc lỗi thời Tuy nhiên PIC bổ sung EEPROM để tạo thành điều khiển vào khả trình Ngày nhiều dòng PIC xuất xưởng với hàng loạt module ngoại vi tích hợp sẵn (như USART, PWM, ADC ), với nhớ chương trình từ 512 Word đến 32K Word 2.1.2 Đặc tính Vi xử lý PIC: Hiện có nhiều dòng PIC có nhiều khác biệt phần cứng, điểm qua vài nét sau:  8/16 bit CPU, xây dựng theo kiến trúc Harvard có sửa đổi  Flash ROM tuỳ chọn từ 256 byte đến 256 Kbyte  Các cổng Xuất/Nhập (I/O ports) (mức logic thường từ 0V đến 5.5V, ứng với logic logic 1)  8/16 Bit Timer  Công nghệ Nanowatt SVTH : Nguyễn Duy Phúc MSSV : 0851030059 Trang Đồ án tốt nghiệp kỹ sư ngành công nghiệp        GVHD :Ths Lê Minh Hải Commport: Xác định số thứ tự cổng truyền thông Cú pháp: MSComm1 Commport = PortNumber PortNumber giá trị nằm khoảng từ  99, mặc định Ví dụ: MSComm1 Commport = xác định sử dụng COM1 PortOpen: Đặt trạng thái hay kiểm tra trạng thái đóng hay mở cửa cổng nối tiếp Nếu dùng thuộc tính để mở cổng nối tiếp phải sử dụng trước thuộc tính Settings CommPort Cú pháp: MSComm1.PortOpen = TRUE | FALSE Giá trị xác định TRUE thực mở cổng FALSE để đóng cổng đồng thời xoá nội dung đệm truyền nhận Ví dụ: mở cổng COM1 với tốc độ truyền nhận 9600 bps MSComm1.Settings = “9600, N, 8, 1” MSComm1.CommPort = MSComm1.PortOpen = TRUE Các thuộc tính nhận liệu: Input: nhận chuỗi ký tự xóa khỏi đệm Cú pháp : InputString = MSComm1.Input Thuộc tính kết hợp với InputLen để xác định số ký tự đọc vào Nếu InputLen = đọc toàn liệu có đệm InBufferCount: số ký tự có đệm nhận Cú pháp: Count = MSComm1 InBufferCount Thuộc tính dùng để xóa đệm nhận cách gán giá trị MSComm1 InBufferCount = InbufferSize: đặt xác định kích thước đệm nhận ( tính byte ) Cú pháp: MSComm1 InBufferCount = NumByte Giá trị mặc định 1024 byte Kích thước đệm phải đủ lớn để tránh tình trạng liệu Ví dụ: đọc toàn nội dung đệm nhận có liệu MSComm1.InPutLen = If MSComm1 InBufferCount Then InputString = MSComm1.Input End If Các thuộc tính xuất liệu: Bao gồm thuộc tính OutPut, OutBufferCout, OutBufferSize, chức thuộc tính giống thuộc tính nhập CDTimeout: Đặt xác định khoảng thời gian lớn tính ms từ lúc phát sóng mang lúc có liệu Nếu khoảng thời gian mà chưa có liệu gán thuộc tính CommEvent CDTO tạo kiện OnComm Cú pháp: MSComm.CDTimeout = Numtime Xác định thời gian chờ tính hiệu DSR trƣớc xảy kiện OnComm CTSTimeout: Đặt xác định khoảng thời gian lớn đợi tính hiệu CTS trước đặt thuộc tính CommEvent CTSTO tạo kiện OnComm SVTH : Nguyễn Duy Phúc MSSV : 0851030059 Trang 80 Đồ án tốt nghiệp kỹ sư ngành công nghiệp         Cú pháp: MSComm1.CTSTimeout = NumTime CTSHolding: Xác định có tín hiệu CTS hay chưa, tín hiệu dùng cho trình bắt tay phần cứng ( cho biết DCE sẵn sàng nhận liệu ), trả giá trị True hay False DSRHolding: Xác định trạng thái DSR ( báo hiệu tồn DCE ), trả giá trị True hay False CDHolding: Xác định trạng thái CD, trả giá trị True hay False DTREnable: Đặt hay xóa tín hiệu DTR để báo tồn DTE Cú pháp: MSComm.DTREnable = True | False RTSEnable: Đặt hay xóa tín hiệu RTS để yêu cầu truyền liệu đến DTE Cú pháp: MSComm1.RTSEnable = True | False NullDiscard: Cho phép nhận ký tự Null Cú pháp: MSComm1.NullDiscard = True | False SThreshold: Số byte đệm truyền làm phát sinh kiện OnComm Nếu giá trị không tạo kiện OnComm Cú pháp: MSComm1.Sthreshold = NumChar HandShaking: Chọn giao thức bắt tay thực truyền liệu Cú pháp: MSComm1.HandShaking = protocol Các giao thức truyền bao gồm: Protocol ComNone ComXon/Xoff ComRTS ComRTSXon/Xoff  GVHD :Ths Lê Minh Hải Giá trị Mô tả Không bắt tay (mặc định) Bắt tay phần mềm (Xon/Xoff) Bắt tay phần cứng (RTS/RCS) Bắt tay phần cứng phần mềm CommEvent: Trả lại lỗi truyền thông hay kiện xảy cổng nối tiếp Các kiện: Sự kiện CommEvSend CommEvReceive CommEvCTS CommEvDSR CommEvCD CommEvRing CommEvEOF SVTH : Nguyễn Duy Phúc Giá trị Mô tả Đã truyền ký tự Khi có ký tự đệm nhận Có thay đổi CTS (Clear to Send) Có thay đổi DSR (Data set Ready) Có thay đổi CD (Carrier Detect) Phát chuông Nhận ký tự kết thúc file MSSV : 0851030059 Trang 81 Đồ án tốt nghiệp kỹ sư ngành công nghiệp GVHD :Ths Lê Minh Hải Các lỗi truyền thông: Lỗi ComBreak ComCTSTO ComFrame ComOver ComCDTO ComRxOver ComRxparity ComTxFull Giá trị 1001 1002 1004 1006 1007 1008 1009 1010 Mô tả Nhận tín hiệu Break Carrier Detect Timeout Lỗi khung Phần cứng không đọc ký tự trước gửi ký tự kế Carrier Detect Timeout Tràn đệm nhận Lỗi parity Tràn đệm nhận 7.2.3 Sự kiện OnComm: Sự kiện OnComm xảy giá trị thuộc tính CommEvent thay đổi Các thuộc tính Rthreshold Sthreshold = cấm kiện OnComm thực nhận hay gởi liệu Thông thường Sthreshold = Rthreshold = Một chương trình truyền nhận đơn giản thực cách nối chân TxD với RxD cổng COM1 Phương pháp dùng để kiểm tra cổng nối tiếp Thuộc tính cổng nối tiếp: Hình 4.1 Các thuộc tính MSComm SVTH : Nguyễn Duy Phúc MSSV : 0851030059 Trang 82 Đồ án tốt nghiệp kỹ sư ngành công nghiệp 7.3 GVHD :Ths Lê Minh Hải Mã nguồn Visual Basic 6.0 chƣơng trình giao tiếp máy tính: Public i As Integer Public t As Integer Public a As String Public chay As Boolean Dim buffer As Variant Private Sub Frmspthuc_DragDrop(Source As Control, X As Single, Y As Single) End Sub Private Sub cmddatspcao_Click() htspcao.Value = Val(txtspcao.Text) End Sub Private Sub cmddatspthap_Click() htspthap.Value = Val(txtspthap.Text) End Sub Private Sub cmddatsptrung_Click() htsptrung.Value = Val(txtsptrung.Text) End Sub Private Sub cmdcapnhat_Click() If txtspcao.Text = "00" Or txtsptrung.Text = "00" Or txtspthap.Text = "00" Then MsgBox "BAN PHAI NHAP GIA TRI CAC SAN PHAM" Else chay = False htspcao.Value = Val(txtspcao.Text) htsptrung.Value = Val(txtsptrung.Text) htspthap.Value = Val(txtspthap.Text) If MSComm1.PortOpen = True Then SVTH : Nguyễn Duy Phúc MSSV : 0851030059 Trang 83 Đồ án tốt nghiệp kỹ sư ngành công nghiệp GVHD :Ths Lê Minh Hải MSComm1.Output = "#D" & txtspcao.Text & txtsptrung.Text & txtspthap.Text & "." End If End If End Sub Private Sub cmdchay_Click() If txtspcao.Text = "00" Or txtsptrung.Text = "00" Or txtspthap.Text = "00" Then MsgBox "BAN PHAI NHAP GIA TRI CAC SAN PHAM" Else chay = True If MSComm1.PortOpen = True Then MSComm1.Output = "#S." htspcao.Value = htsptrung.Value = htspthap.Value = End If End If End Sub Private Sub cmdketnoi_Click() On Error GoTo OpenFalse With MSComm1 Settings = "9600,N,8,1" RThreshold = SThreshold = InBufferSize = 1024 OutBufferSize = 1024 InputMode = comInputModeText ParityReplace = "" CommPort = cmbcom.ListIndex + SVTH : Nguyễn Duy Phúc MSSV : 0851030059 Trang 84 Đồ án tốt nghiệp kỹ sư ngành công nghiệp GVHD :Ths Lê Minh Hải End With If MSComm1.PortOpen = False Then MSComm1.PortOpen = True Exit Sub OpenFalse: MsgBox Err.Description & vbLf + vbCr + "Loi, khong the mo cong Hay dong cac ung dung dang su dung cong COM" End Sub Private Sub cmdngat_Click() If MSComm1.PortOpen = True Then MSComm1.Output = "#xoa." MSComm1.PortOpen = False htketnoi.Active = False End If End Sub Private Sub cmdok_Click() chay = True If MSComm1.PortOpen = True Then MSComm1.Output = "#set." End If End Sub Private Sub cmdpause_Click() If MSComm1.PortOpen = True Then MSComm1.Output = "#dung." End Sub SVTH : Nguyễn Duy Phúc MSSV : 0851030059 Trang 85 Đồ án tốt nghiệp kỹ sư ngành công nghiệp GVHD :Ths Lê Minh Hải Private Sub cmdreset_Click() lblcanhbao.Caption = "" txtspcao.Text = "00" txtsptrung.Text = "00" txtspthap.Text = "00" htspcao.Value = htsptrung.Value = htspthap.Value = Text2.Text = "00" Text3.Text = "00" Text4.Text = "00" Text5.Text = "00" Text6.Text = "00" Text7.Text = "00" chay = False If MSComm1.PortOpen = True Then MSComm1.Output = "#xoa." End If End Sub Private Sub cmdthoat_Click() If MSComm1.PortOpen = True Then MSComm1.Output = "#xoa." MSComm1.PortOpen = False End If End End Sub Private Sub Command1_Click() End Sub SVTH : Nguyễn Duy Phúc MSSV : 0851030059 Trang 86 Đồ án tốt nghiệp kỹ sư ngành công nghiệp GVHD :Ths Lê Minh Hải Private Sub Form_Load() Text1.Visible = False Text2.Visible = False Text3.Visible = False Text4.Visible = False Text5.Visible = False Text6.Visible = False Text7.Visible = False 'Text8.Visible = False End Sub Private Sub MSComm1_OnComm() Select Case MSComm1.CommEvent Case comEvReceive If MSComm1.InBufferCount > Then buffer = MSComm1.Input Text8.Text = buffer End If End Select End Sub Private Sub Timer1_Timer() Text1.Text = Mid(Text8.Text, 2, 2) Text2.Text = Mid(Text8.Text, 4, 2) Text3.Text = Mid(Text8.Text, 6, 2) If MSComm1.PortOpen = True And chay = True Then htspcao.Value = Val(Text1.Text) htsptrung.Value = Val(Text2.Text) htspthap.Value = Val(Text3.Text) SVTH : Nguyễn Duy Phúc MSSV : 0851030059 Trang 87 Đồ án tốt nghiệp kỹ sư ngành công nghiệp GVHD :Ths Lê Minh Hải End If End Sub Private Sub Timernutnhan_Timer() If MSComm1.PortOpen = False Then txtspcao.Enabled = False txtspthap.Enabled = False txtsptrung.Enabled = False cmdngat.Enabled = False cmdchay.Enabled = False cmdreset.Enabled = False cmdok.Enabled = False cmdketnoi.Enabled = True cmdcapnhat.Enabled = False End If If MSComm1.PortOpen = True Then txtspcao.Enabled = True txtspthap.Enabled = True txtsptrung.Enabled = True cmdngat.Enabled = True cmdchay.Enabled = True cmdreset.Enabled = True cmdok.Enabled = True htketnoi.Active = True cmdketnoi.Enabled = False cmdcapnhat.Enabled = True End If End Sub Private Sub Timersosanh_Timer() SVTH : Nguyễn Duy Phúc MSSV : 0851030059 Trang 88 Đồ án tốt nghiệp kỹ sư ngành công nghiệp GVHD :Ths Lê Minh Hải If Val(txtspcao) And htspcao.Value >= Val(txtspcao) And chay = True Then lblcanhbao.Caption = "SẢN PHẨM CAO ĐÃ ĐỦ!" ElseIf Val(txtsptrung) And htsptrung.Value >= Val(txtsptrung) And chay = True Then lblcanhbao.Caption = "SẢN PHẨM TRUNG ĐÃ ĐỦ!" ElseIf Val(txtspthap) And htspthap.Value >= Val(txtspthap) And chay = True Then lblcanhbao.Caption = "SẢN PHẨM THẤP ĐÃ ĐỦ!" Else lblcanhbao.Caption = "" End If End Sub SVTH : Nguyễn Duy Phúc MSSV : 0851030059 Trang 89 Đồ án tốt nghiệp kỹ sư ngành công nghiệp GVHD :Ths Lê Minh Hải 7.4 Giao diện chƣơng trình sau biên dịch: SVTH : Nguyễn Duy Phúc MSSV : 0851030059 Trang 90 Đồ án tốt nghiệp kỹ sư ngành công nghiệp GVHD :Ths Lê Minh Hải KẾT LUẬN Tính ưu điểm mạch : Mạch thiết kế nhỏ gọn, hoạt động tốt thời gian dài, tổn hao lượng Mạch góp phần đưa công nghiệp phát triển thể tính đặc biệt, giúp người cải tiến kỹ sản xuất từ ứng dụng rộng rãi lĩnh vực khác Mạch hiển thị số cho người sử dụng biết số sản phẩm bắt đầu chu trình dễ dàng Tính nhược điểm: Khoảng cách đặt cặp led thu – phát hẹp Mạch sử dụng led hồng ngoại nên gặp nhiều khó khăn sử dụng môi trường ẩm ướt, có nhiều bụi làm mạch hoạt động không hiệu Led thu – phát hồng ngoại phải đặt đường thẳng để thu – phát tín hiệu dễ dàng nên thiết kế lắp đặt phải ý đến yếu tố Do giới hạn thời gian kiến thức, em chưa làm hệ thống hoàn thiện Nếu phát triển, em hoàn thành mô hình cách hoàn chỉnh Băng chuyền lớn phân loại nhiều sản phẩm có kích thước lớn chiều cao cảm biến thay đổi SVTH : Nguyễn Duy Phúc MSSV : 0851030059 Trang 91 Đồ án tốt nghiệp kỹ sư ngành công nghiệp GVHD :Ths Lê Minh Hải PHỤ LỤC  Hình ảnh mạch sau hoàn thành: Hình mặt trƣớc mạch: Hình ảnh mạch in mạch: SVTH : Nguyễn Duy Phúc MSSV : 0851030059 Trang 92 Đồ án tốt nghiệp kỹ sư ngành công nghiệp  GVHD :Ths Lê Minh Hải Giao diện chƣơng trình điều khiển máy tính: SVTH : Nguyễn Duy Phúc MSSV : 0851030059 Trang 93 Đồ án tốt nghiệp kỹ sư ngành công nghiệp GVHD :Ths Lê Minh Hải DANH MỤC TÀI LIỆU THAM KHẢO [1] [2] [3] [4] [5] [6] [7] [8] TS Nguyễn Phan Kiên, Giáo trình linh kiện điện tử, Đại Học Bách Khoa Hà Nội Ths Phan Văn Hiệp, giáo trình kỹ thuật xung số Tự học VB6 nhanh –VN GUIDE www.Microchip.com www.diendandientu.net www.dientuvietnam.net www.picvietnam.net www.datasheet4u.com SVTH : Nguyễn Duy Phúc MSSV : 0851030059 Trang 94 ... THIỆU VI XỬ LÝ PIC 16F877A 2.1 Tổng quan vi xử lý PIC 16F877A ………………………………………… 2.1.1 PIC ?……………………………………………………………………… 2.1.2 Đặc tính vi xử lý PIC 16F877A ………………………………………… 2.2 Giới thiệu vi xử lý PIC. .. Hải Vi xử lý đa chức vi c sử dụng Vi xử lý, Vi điều khiển giải bế tắc mà dùng IC số kết hợp không giải 1.2.2 Dùng Vi xử lý: Ngoài ưu điểm liệt kê sử dụng IC số ghép lại, mạch đếm sử dụng Vi xử lý. .. trợ giao tiếp LIN  Hỗ trợ giao tiếp IrDA  Một số dòng có tích hợp RF (PIC1 6F639, RFPIC)  KEELOQ mã hoá giải mã  DSP tính xử lý tín hiệu số (dsPIC) 2.2 Giới thiệu Vi xử lý PIC 16F877A: PIC1 6F877A

Ngày đăng: 09/07/2017, 12:46

Từ khóa liên quan

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

Tài liệu liên quan