GIAO TIẾP MÁY TÍNH - VĐK SỬ DỤNG C# VÀ VB
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC VĂN HIẾN KHOA ĐIỆN TỬ - VIỄN THÔNG Bài Tập Lớn: Môn Truyền Số Liệu G G I I A A O O T T I I Ế Ế P P M M Á Á Y Y T T Í Í N N H H - - V V Đ Đ K K S S Ử Ử D D Ụ Ụ N N G G C C # # V V À À V V B B GVHD : Nguyễn Văn Khải SVTH : Nguyễn Phước TP.HCM, ngày 08 tháng 07 năm 2011 BT Lớn Môn Truyền Số Liệu Giao tiếp máy tính - VĐK sử dụng C# và VB Trang 2 Mục lục CHƯƠNG 1: MÔ PHỎNG GIAO TIẾP MÁY TÍNH SỬ DỤNG PROTEUS VÀ KEIL C 3 1.1 Chương trình hỗ trợ tạo cổng Com ảo 3 1.2 Mạch mô phỏng vi điều khiển giao tiếp máy tính 3 1.3 Lập trình cho VĐK sử dụng Keil C 6 1.3.1 Các bước xây dựng dự án Keil C 6 1.3.2 Cấu trúc cơ bản một chương trình C cho VĐK trong Keil C . 18 CHƯƠNG 2: SỬ DỤNG VISUAL BASIC 6.0 GIAO TIẾP VI ĐIỀU KHIỂN 34 2.1 Thiết kế giao diện . 34 2.2 Viết chương trình thực thi . 44 CHƯƠNG 3: SỬ DỤNG VISUAL C# GIAO TIẾP VĐK . 48 CHƯƠNG 4: CÁC VÍ DỤ GIAO TIẾP MÁY TÍNH VÀ VĐK 69 4.1 Giao tiếp máy tính điều khiển động cơ bước bằng C# . 69 4.1.1 Mô phỏng Proteus . 69 4.1.2 Viết chương trình Keil C cho VĐK 69 4.1.3 Giao diện điều khiển từ máy tính 71 4.2 Giao tiếp máy tính điều khiển động cơ DC bằng C# 72 4.2.1 Mô phỏng Proteus . 72 4.2.2 Viết chương trình Keil C cho VĐK 72 4.2.3 Giao diện C# điều khiển trên máy tính . 75 4.3 Giao tiếp máy tính điều khiển LCD 4 dòng bằng VB 76 4.3.1 Mô phỏng Proteus . 76 4.3.2 Chương trình Keil C cho VĐK . 76 4.3.3 Giao diện VB điều khiển trên máy tính 79 4.4 Giao tiếp máy tính điều khiển 8 LED đơn bằng VB . 79 4.4.1 Mô phỏng Proteus . 79 4.4.2 Viết chương trình Keil C cho VĐK 79 4.4.3 Giao diện VB điều khiển trên máy tính 80 4.5 Giao tiếp máy tính điều khiển LED ma trận DC bằng C# 81 4.5.1 Mô phỏng Proteus . 81 4.5.2 Viết chương trình Keil C cho VĐK 81 4.5.3 Giao diện C# điều khiển trên máy tính . 84 BT Lớn Môn Truyền Số Liệu Giao tiếp máy tính - VĐK sử dụng C# và VB Trang 3 CHƯƠNG 1: MÔ PHỎNG GIAO TIẾP MÁY TÍNH SỬ DỤNG PROTEUS VÀ KEIL C 1.1 Chương trình hỗ trợ tạo cổng Com ảo Virtual Serial Port Driver là chương trình giúp bạn tạo ra những cặp cổng com ảo, vào nối chúng với nhau tạo một kết nối ảo để thực hiện truyền dữ liệu. Sau khi cài đặt chương trình, bạn khởi động chương trình vào tạo một hoặc nhiều cổng com ảo cho việc mô phỏng giao tiếp máy tính và vi điều khiển. Chọn 2 cổng com mà bạn muốn kết nối và Click nút Add pair. Bạn sẽ có những cặp cổng com được nối với nhau, như COM1 COM2, COM4 COM5 1.2 Mạch mô phỏng vi điều khiển giao tiếp máy tính Khởi động chương trình mô phỏng mạch Proteus, lấy các linh kiện cần thiết và vẽ mạch như hình dưới đây. BT Lớn Môn Truyền Số Liệu Giao tiếp máy tính - VĐK sử dụng C# và VB Trang 4 Đây là mạch mô phỏng giao tiếp máy tính và vi điều khiển cơ bản nhất, tương tác điều khiển led đơn, từ đây bạn có thể thay led thành các role để điều khiển động cơ DC, động cơ bước (đảo chiều), … Để thực hiện gửi và nhận dữ liệu giữa máy tính và vi điều khiển, bạn cần thiết lập tần số thạch anh cho vi điều khiển, tùy chọn tên cổng com cho cổng com ảo. Các bước thực hiện như sau. Click đúp vào vi điều khiển bạn sẽ thấy hộp thoại Edit Component, ở dòng thông số Clock Frequency, bạn nhập vào 11.0592MHz như hình dưới đây, và click OK BT Lớn Môn Truyền Số Liệu Giao tiếp máy tính - VĐK sử dụng C# và VB Trang 5 Tiếp theo, ta click đúp vào cổng com (COMPIM) để đổi tên cổng com BT Lớn Môn Truyền Số Liệu Giao tiếp máy tính - VĐK sử dụng C# và VB Trang 6 Tại dòng Physical port, ta chọn tên cổng com phù hợp. Việc chọn tên cổng com tùy thuộc vào chương trình tạo cổng com ảo. Ở đây ta chọn COM2, vì trước đó ta có kết nối đã được thiết lập giữa COM1 và COM2 bằng Virtual Serial Port Driver. Tương ứng để gửi nhận dữ liệu giữa vi điều khiển và Máy tính, trong giao chương trình Giao tiếp bằng C# hay VB ta phải chọn cổng com còn lại của cặp này là COM1 1.3 Lập trình cho VĐK sử dụng Keil C 1.3.1 Các bước xây dựng dự án Keil C Sau khi khởi động Keil C, giao diện chương trình sẽ như hình sau Để tạo dự án mới, ta vào menu Project > New Project… BT Lớn Môn Truyền Số Liệu Giao tiếp máy tính - VĐK sử dụng C# và VB Trang 7 Hộp thoại Create New Project hiện ra, bạn chọn thư mục để lưu dự án của mình và đặt tên cho dự án mới. Sau đó click vào nút Save BT Lớn Môn Truyền Số Liệu Giao tiếp máy tính - VĐK sử dụng C# và VB Trang 8 Sau đó hộp thoại Select Device for Target hiện ra yêu cầu bạn phải chọn phần cứng – loại IC mà bạn viết chương trình cho nó. Ở đây mình chọn IC AT89C51 của hàng Atmel, họ MSC-51 (8051). Và click OK. BT Lớn Môn Truyền Số Liệu Giao tiếp máy tính - VĐK sử dụng C# và VB Trang 9 Các bước khởi tạo dự án mới đã xong, bây giờ bạn bắt đầu thêm file vào dự án của mình để có thể viết chương trình và biên dịch file hex nạp cho VĐK. Vào menu File > New, một file mới đã được tạo. Tiếp theo bạn vào menu File > Save để lưu file mới này. BT Lớn Môn Truyền Số Liệu Giao tiếp máy tính - VĐK sử dụng C# và VB Trang 10 File mới có tên mặc định là Text1 được tạo ra như ta thấy trong cửa sổ làm việc ở trên. [...]... Truyền Số Liệu Giao tiếp máy tính - VĐK sử dụng C# và VB Bạn lưu ý phải lưu tên file và phần mở rộng phải là c ví dụ như hình bên dưới Trang 11 BT Lớn Môn Truyền Số Liệu Giao tiếp máy tính - VĐK sử dụng C# và VB Tiếp theo sau khi lưu file mới, bạn click phải chuột vào cây thư mục của dự án, chọn Add Files to Group ‘Source Group 1’ để thêm file mới vào dự án Chọn file và click vào nút Add và đóng của hộp... Liệu Giao tiếp máy tính - VĐK sử dụng C# và VB Sau khi hoàn tất thao tác trên bạn sẽ được như hình dưới này Bước tiếp theo, ta sẽ tùy chọn cho dự án khi biên dịch sẽ tạo file hex nạp cho vi điều khiển Trang 13 BT Lớn Môn Truyền Số Liệu Giao tiếp máy tính - VĐK sử dụng C# và VB Hộp thoại Option for Target 1 hiện ra bạn thiết lập như hình bên dưới Trang 14 BT Lớn Môn Truyền Số Liệu Giao tiếp máy tính - VĐK... 32 BT Lớn Môn Truyền Số Liệu Giao tiếp máy tính - VĐK sử dụng C# và VB P1_0 = 1; delay(500); P1_0 = 0; delay(500); } } Trang 33 BT Lớn Môn Truyền Số Liệu Giao tiếp máy tính - VĐK sử dụng C# và VB CHƯƠNG 2: SỬ DỤNG VISUAL BASIC 6.0 GIAO TIẾP VI ĐIỀU KHIỂN 2.1 Thiết kế giao diện Khởi động VISUAL BASIC 6.0 tử màn hình Desktop hoặc từ trình đơn Start Menu Màn hình làm việc của VB như hình dưới đây Bao gồm... thực hiện như hình dưới đây Trang 15 BT Lớn Môn Truyền Số Liệu Giao tiếp máy tính - VĐK sử dụng C# và VB Vào menu Peripherals > I/O-Ports và đánh dấu vào các port của vi điều khiển mà bạn muốn xem mức logic khi thực thi chương trình của bạn Trang 16 BT Lớn Môn Truyền Số Liệu Giao tiếp máy tính - VĐK sử dụng C# và VB Click vào đoạn chương trình bất kì, Bấm phím F11 để chạy từng dòng lệnh mà ta đã viết,... layout và Toolbox Để tạo một dự án VB mới, ta vào menu File > New Project (hoặc bấm tổ hợp phím Ctrl + N) Hộp thoại New Project hiện ra, ta chọn loại chương trình, thường là Standard EXE (file thực thi chuẩn) Click OK Trang 34 BT Lớn Môn Truyền Số Liệu Giao tiếp máy tính - VĐK sử dụng C# và VB Dự án mới của chúng ta được tạo ra ban đầu như hình dưới Ta sẽ dử dụng Toolbox để thêm các đối tượng vào form... chương trình là vi điều khiển nên hàm main không có giá trị trả về và không có tham số đưa vào Và thực chất cũng chẳng cần biến toàn cục vì ta chỉ cần viết 1 file thôi, nên không đưa biến toàn cục vào đây Kết luận, chương trình của chúng ta sẽ có dạng như sau: Code: Trang 19 BT Lớn Môn Truyền Số Liệu Giao tiếp máy tính - VĐK sử dụng C# và VB // liệt kê header file #inlucde"tên header file" // các marco... TMOD.3 và TMOD.7 = 0 Việc xác định chế độ nào phụ thuộc vào giá trị của 2 bit TM1 và TM0 của từng timer (xem định nghĩa từng bít trong thanh ghi TMOD) Trang 21 BT Lớn Môn Truyền Số Liệu Giao tiếp máy tính - VĐK sử dụng C# và VB TM1=0 , TM0 =0 chế độ 0 TM1=0, TM0 =1 chế độ 1 TM1=1, TM0 =1 chế độ 2 Chế độ 1 là chế độ 16 bít không tự nạp lại, cách sử dụng bằng cách nạp giá trị cho các thanh ghi TH1, TL1... mặc định là hàm ngắt thực hiện tại bank0 Do đó, một thí dụ về hàm ngắt nối tiếp sẽ có dạng như sau: void inter4(void) interrupt 4 using 2{ // mã th c hi n hàm Trang 31 BT Lớn Môn Truyền Số Liệu Giao tiếp máy tính - VĐK sử dụng C# và VB } Sau đây là một đoạn chương trình tạo một xung ở chân P1.0 và khi nhận được dữ liệu nối tiếp thì chuyển sang port P2 Tần số thạch anh là 11.0592 MHz Dùng AT89C51 Code:... form Để thay đổi thanh tiêu đề cho form, ta click vào form, quay lại của sổ Properties, tìm đến dòng Caption để nhập dữ liệu Trang 35 BT Lớn Môn Truyền Số Liệu Giao tiếp máy tính - VĐK sử dụng C# và VB Lưu ý bạn nên save lại dự án trước khi thực hiện các bước tiếp theo bằng các bấm Ctrl + S hay Click biểu tượng Save trên thanh công cụ Đặt tên cho Form và Click nút Save Trang 36 ... sbit SM1 = 0x9E; sbit SM0 = 0x9F; /* -P2 Bit Registers */ sbit P2_0 = 0xA0; sbit P2_1 = 0xA1; Trang 26 BT Lớn Môn Truyền Số Liệu Giao tiếp máy tính - VĐK sử dụng C# và VB sbit P2_2 = 0xA2; sbit P2_3 = 0xA3; sbit P2_4 = 0xA4; sbit P2_5 = 0xA5; sbit P2_6 = 0xA6; sbit P2_7 = 0xA7; /* -IE Bit Registers */ sbit EX0 =