Báo cáo Giao tiếp máy tính và Vi điều khiển sử dụng C# và VB

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ằngC# . 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

pdf84 trang | Chia sẻ: netpro | Lượt xem: 5240 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Báo cáo Giao tiếp máy tính và Vi điều khiển sử dụng C# và VB, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
p máy tính - VĐK sử dụng C# và VB Trang 23 while( TF0); // chờ khi nào cờ TF1 =1 TF0 = 0 ; // xóa cờ tràn TR0 = 0; // dừng bộ ñịnh thời }; } Có lẽ người dùng Keil C lần đầu tiên gặp trở ngại khi dùng #include đó là không biết liệt kê các header file nào cần thiết cho ứng dụng của mình. Để có thể biết được header file nào dùng cho vi điều khiển của mình thì các bạn mở thư mục cài Keil C ra, tìm đến thư mục C51/INC bạn sẽ thấy một loạt các thư mục của các hãng như Atmel,Dalas,.. Tôi xin lấy ví dụ một file regx51.h trong thư mục /Atmel. Bạn mở file đó lên sẽ thấy đầu đề của nó như sau: Code: *-------------------------------------------------------------------- AT89X51.H Header file for the low voltage Flash Atmel AT89C51 and AT89LV51. Copyright (c) 1988-2002 Keil Elektronik GmbH and Keil Software, Inc. All rights reserved. -------------------------------------------------------------------*/ Chứng tỏ file này dùng cho con AT89C51 và AT89LV51 rồi. Khi đó bạn sẽ thêm header file này vào chương trình của mình. Còn làm thế nào để mình làm việc với các thành ghi, các port như trong ASM bây giờ. Câu trả lời ở trong file này: Code: #ifndef __AT89X51_H__ #define __AT89X51_H__ /*------------------------------------------------ Byte Registers ; ðịnh nghĩa các thành ghi ở các ñịa chỉ trong RAM 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 24 ------------------------------------------------*/ sfr P0 = 0x80; sfr SP = 0x81; sfr DPL = 0x82; sfr DPH = 0x83; sfr PCON = 0x87; sfr TCON = 0x88; sfr TMOD = 0x89; sfr TL0 = 0x8A; sfr TL1 = 0x8B; sfr TH0 = 0x8C; sfr TH1 = 0x8D; sfr P1 = 0x90; sfr SCON = 0x98; sfr SBUF = 0x99; sfr P2 = 0xA0; sfr IE = 0xA8; sfr P3 = 0xB0; sfr IP = 0xB8; sfr PSW = 0xD0; sfr ACC = 0xE0; sfr B = 0xF0; /*------------------------------------------------ P0 Bit Registers ; ðịnh nghĩa các cổng của Port 0 vì port này là thanh ghi 8 bít ñịnh ñược ñịa chỉ trực tiếp ------------------------------------------------*/ sbit P0_0 = 0x80; sbit P0_1 = 0x81; sbit P0_2 = 0x82; sbit P0_3 = 0x83; sbit P0_4 = 0x84; sbit P0_5 = 0x85; sbit P0_6 = 0x86; sbit P0_7 = 0x87; 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 25 /*------------------------------------------------ PCON Bit Values ------------------------------------------------*/ #define IDL_ 0x01 #define STOP_ 0x02 #define PD_ 0x02 /* Alternate definition */ #define GF0_ 0x04 #define GF1_ 0x08 #define SMOD_ 0x80 /*------------------------------------------------ TCON Bit Registers ------------------------------------------------*/ sbit IT0 = 0x88; sbit IE0 = 0x89; sbit IT1 = 0x8A; sbit IE1 = 0x8B; sbit TR0 = 0x8C; sbit TF0 = 0x8D; sbit TR1 = 0x8E; sbit TF1 = 0x8F; /*------------------------------------------------ TMOD Bit Values ------------------------------------------------*/ #define T0_M0_ 0x01 #define T0_M1_ 0x02 #define T0_CT_ 0x04 #define T0_GATE_ 0x08 #define T1_M0_ 0x10 #define T1_M1_ 0x20 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 26 #define T1_CT_ 0x40 #define T1_GATE_ 0x80 #define T1_MASK_ 0xF0 #define T0_MASK_ 0x0F /*------------------------------------------------ P1 Bit Registers ------------------------------------------------*/ sbit P1_0 = 0x90; sbit P1_1 = 0x91; sbit P1_2 = 0x92; sbit P1_3 = 0x93; sbit P1_4 = 0x94; sbit P1_5 = 0x95; sbit P1_6 = 0x96; sbit P1_7 = 0x97; /*------------------------------------------------ SCON Bit Registers ------------------------------------------------*/ sbit RI = 0x98; sbit TI = 0x99; sbit RB8 = 0x9A; sbit TB8 = 0x9B; sbit REN = 0x9C; sbit SM2 = 0x9D; sbit SM1 = 0x9E; sbit SM0 = 0x9F; /*------------------------------------------------ P2 Bit Registers ------------------------------------------------*/ sbit P2_0 = 0xA0; sbit P2_1 = 0xA1; 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 27 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 = 0xA8; /* 1=Enable External interrupt 0 */ sbit ET0 = 0xA9; /* 1=Enable Timer 0 interrupt */ sbit EX1 = 0xAA; /* 1=Enable External interrupt 1 */ sbit ET1 = 0xAB; /* 1=Enable Timer 1 interrupt */ sbit ES = 0xAC; /* 1=Enable Serial port interrupt */ sbit ET2 = 0xAD; /* 1=Enable Timer 2 interrupt */ sbit EA = 0xAF; /* 0=Disable all interrupts */ /*------------------------------------------------ P3 Bit Registers (Mnemonics & Ports) ------------------------------------------------*/ sbit P3_0 = 0xB0; sbit P3_1 = 0xB1; sbit P3_2 = 0xB2; sbit P3_3 = 0xB3; sbit P3_4 = 0xB4; sbit P3_5 = 0xB5; sbit P3_6 = 0xB6; sbit P3_7 = 0xB7; sbit RXD = 0xB0; /* Serial data input */ sbit TXD = 0xB1; /* Serial data output */ sbit INT0 = 0xB2; /* External interrupt 0 */ sbit INT1 = 0xB3; /* External interrupt 1 */ 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 28 sbit T0 = 0xB4; /* Timer 0 external input */ sbit T1 = 0xB5; /* Timer 1 external input */ sbit WR = 0xB6; /* External data memory write strobe */ sbit RD = 0xB7; /* External data memory read strobe */ /*------------------------------------------------ IP Bit Registers ------------------------------------------------*/ sbit PX0 = 0xB8; sbit PT0 = 0xB9; sbit PX1 = 0xBA; sbit PT1 = 0xBB; sbit PS = 0xBC; sbit PT2 = 0xBD; /*------------------------------------------------ PSW Bit Registers ------------------------------------------------*/ sbit P = 0xD0; sbit FL = 0xD1; sbit OV = 0xD2; sbit RS0 = 0xD3; sbit RS1 = 0xD4; sbit F0 = 0xD5; sbit AC = 0xD6; sbit CY = 0xD7; /*------------------------------------------------ Interrupt Vectors: Interrupt Address = (Number * 8) + 3 ------------------------------------------------*/ #define IE0_VECTOR 0 /* 0x03 External Interrupt 0 */ #define TF0_VECTOR 1 /* 0x0B Timer 0 */ #define IE1_VECTOR 2 /* 0x13 External Interrupt 1 */ #define TF1_VECTOR 3 /* 0x1B Timer 1 */ 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 29 #define SIO_VECTOR 4 /* 0x23 Serial port */ #endif Các bạn nhìn trên thấy là các thanh ghi, các port quả là giống như với ASM phải không. Do vậy việc lập trình các bạn sẽ làm việc trực tiếp với các các địa chỉ của Ram mà được định nghĩa ở trên Giới thiệu các hàm ngắt. Trong 8051 có 5 nguyên nhân sinh ra ngắt: ngắt ngoài 0, timer0, ngắt ngoài 1, timer1, ngắt nối tiếp. Các bạn lại mở file regx51.h ra ở phần cuối của file như sau: Code: /*------------------------------------------------ Interrupt Vectors: Interrupt Address = (Number * 8) + 3 ------------------------------------------------*/ #define IE0_VECTOR 0 /* 0x03 External Interrupt 0 */ #define TF0_VECTOR 1 /* 0x0B Timer 0 */ #define IE1_VECTOR 2 /* 0x13 External Interrupt 1 */ #define TF1_VECTOR 3 /* 0x1B Timer 1 */ #define SIO_VECTOR 4 /* 0x23 Serial port */ Địa chỉ của ngắt trong bảng vector ngắt = 8 * số thứ tự ngắt + 3, số thứ tự ngắt = 0,1,2,3,4 như kí hiệu trong file đó. Như vậy địa chỉ trong RAM từ 0x03 đến 0x30 là dành cho bảng vector ngắt. Cú pháp của hàm thực hiện ngắt như sau, hàm này không có tham số, không có kiểu trả về nên là dạng Code: Void tên hàm(void) Cú pháp chính như sau: 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 30 Code: void inter0(void) interrupt 0 using 1{ } // ngắt ngoài 0, dùng bank 1 Tương tự với các ngắt khác, ta thay số 0 bằng số thứ tự các ngắt tương ứng các ngắt tương ứng. Code: void inter1(void) interrupt 1 using 1{ } void inter2(void) interrupt 2 using 1{ } Tiếp tục với 2 ngắt còn lại Các bạn lưu ý là để vdk nhảy đến bảng vector ngắt thì bạn phải enable ngắt đó. Ví dụ: bạn muốn ngắt nối tiếp thì phải cho như sau: Các bạn xem lạ thanh ghi IE ở trong file regx51.h, thanh ghi này định được địa chỉ bit Code: EA = 1;// cho phép dùng ngắt ES = 1;// dùng ngắt nối tiếp Hàm ngắt trong Keil C Cách dùng hàm ngắt và một số đoạn code mẫu. 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 31 Hàm ngắt là một hàm không có tham số, không có kiểu trả về. Vì thực chất các biến mà hàm này thao tác chính là các biến toàn cục (các thanh ghi, các port). Cấu trúc một hàm ngắt như sau: Code: void tenham(void) interrupt a using b{ // code } Trong đó: những chữ in nghiêng là bắt buộc phải có và using b có thể có hoặc không có. tên hàm: tùy các bạn chọn. a : là thứ tự của ngắt trong bảng vector ngắt a = 0 : ngắt ngoài 0 a = 1 : ngắt timer0 a = 2 : ngắt ngoài 1 a = 3 : ngắt timer1 a = 4 : ngắt nối tiếp b: là bank được chọn dùng để thực hiện hàm ngắt. Do 8051 có 4 bank là bank 0, 1, 2, 3. Do đó : b có thể là một trong các giá trị 0, 1, 2, 3. Lưu ý: nếu không viết thêm using b thì 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 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 32 } 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: # include "regx51.h" // ham gay tre void delay(int time){ while(time--){ unsigned char j = 122; while(j--); }; } // ham thiet lap ban dau void init(){ EA = 1; // cho phep dung ngat ES = 1; // dung ngat noi tiep // Thiet lap tan so bus TMOD = 0x02; // dung timer1, che do 8 bit tu nap lai TH1 = 253; // chon tan so bus = 9600 TR1 = 1 ; // khoi dong timer1 } // Ham ngat void inter4(void) interrupt 4 using 2{ if (RI){ // kiem tra co tran nhan RI. P2 = SBUF; // lay du lieu tu SBUF RI = 0; // xoa co ngat }; } // ham main void main(){ // tao xung tren chan P1.0 init(); while(1){ 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 33 P1_0 = 1; delay(500); P1_0 = 0; delay(500); } } 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 34 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 thanh menu, thanh công cụ, cửa sổ thư mục dự án, của sổ Properties, cửa sổ Form 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 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 35 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. Để 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. 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 36 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. 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 37 Tiếp tục đặt tên cho dự án, và lưu lại. Bước tiếp theo là thêm các đối tượng tương tác trên form. Để thêm một đối tượng vào form, bạn click vào đối tượng trên Toolbox, sau đó đưa chuột vào form thiết kế rê chuột từ điểm đầu đến kết thúc tương ứng với kích thước của đối tượng. Hình trên chúng ta đã tạo một Label cho form. Bây giờ ta sẽ thay đổi các thuộc tính của label này cho phù hợp yêu cầu. 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 38 Cick vào label, tới cửa sổ Properties, tìm dòng Caption để thay đổi văn bản hiển thị của label này. Kết quả như hình sau: Để thay đổi Font chữ, màu chữ, kích thước Font ta tìm đến dòng Font và ForeColor trong cửa sổ Properties của đối tượng label 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 39 Tiếp theo, chúng ta thêm vào làm việc với các đối tượng button, shape, textbox Cũng như thao tác thêm label ở trên ta tiến hành click vào đối tượng và Click vào form tại vị trí muốn đưa đối tượng vào. Hình trên là kết quả sau khi chúng ta thêm 8 Shape tượng trung cho 8 led đơn mà ta điều khiển. 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 40 Để đổi shape vuông thành tròn bạn tìm đến dòng Shape trong cửa sổ Properties của mỗi Shape và chọn dòng 3 – Circle Thực hiện tương tự cho 7 shape còn lại. Sau đó chúng ta đổi tên cho 8 shape này. Tìm đến dòng (Name) trong của sổ Properties của Shape. Ta sẽ đổi tên 8 shape này đều là shapLed. Tiếp theo ta thêm 8 label tương ứng 8 led đơn, để khi ta click vào label này các shape sẽ đổi màu. Kết quả thực hiện sẽ như hình bên dưới. 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 41 Ta tiến hành đổi tên cho 8 label này thành labelLed, lưu ý ta có thể đổi tên tùy ý nhưng các label này phải trùng tên nhau, để cho việc viết code dễ hơn, ta chỉ cần sử dụng index của đối tượng để gọi đối tượng ra thực thi. Sau đó chúng ta thêm vào nút nhấn, nút Gửi dữ liệu, nút Start/Stop và nút Thoát. Để máy tính có thể gửi và nhận dữ liệu qua cổng com, chúng ta phải thêm đối tượng cổng nối tiếp vào form. Các bước tiến hành như sau. 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 42 Vào menu Project > Components… (hoặc bấm tổ hợp phím Ctrl + T) Hộp thoại Components hiện ra, chúng ta tìm đến dòng Microsoft Comm Control 6.0 và đánh dấu vào dòng đó, chon 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 43 Khi đó trên Toolbox sẽ có thêm đối tượng như hình , click vào đối tượng này và click vào form để thêm cổng com cho form. Kết quả như hình bên dưới. Click vào đối tượng này để thay đổi các thuộc tính như hình bên dưới. 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 44 2.2 Viết chương trình thực thi Bước tiếp theo chúng ta se viết lệnh cho các đối tượng. Để viết code, ta click phải chuột vào form, chọn View Code. 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 45 Cửa sổ Project1 – Form (code) hiện ra trong vùng làm việc. Trong trình sổ xuống (General) sẽ chứa tất cả đối tượng mà ta đã thêm bên ngoài giao diện. Click và chọn một đối tượng bất kỳ, ở đây chúng ta sẽ chọn đối tượng labelLED, sẽ xuất hiện 2 dòng code như sau: Private Sub LabelLED_Click(Index As Integer) // lệnh cần thực thi End Sub Hàm này sẽ thực thi những lệnh mà ta viết giữa hai dòng này khi click vào mỗi labelLed. Ta sẽ thêm dòng lệnh dưới đây vào giữa để hàm thực thi. Kết quả sẽ như sau: Private Sub LabelLED_Click(Index As Integer) ShapeLED(Index).FillStyle = 1 - ShapeLED(Index).FillStyle End Sub Bây giờ chúng ta sẽ nhấn phím F5 để chạy chương trình, kiểm tra lệnh mình vừa viết ở trên. 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 46 Kế đến chúng ta viết lệnh cho các button. Lệnh thực thi cho nút Thoat Private Sub cmdExit_Click() Beep End End Sub Lệnh thực thi cho nút Gui du lieu Private Sub cmdSend_Click() Dim t As Integer Dim i As Integer t = 0 For i = 0 To 7 t = t + (2 ^ i) * (1 - ShapeLED(i).FillStyle) Next i MSComm1.Output = Chr(t) End Sub Lệnh thực thi cho nút Stop Private Sub cmdStop_Click() If MSComm1.PortOpen = True Then MSComm1.PortOpen = False cmdStop.Caption = "Start" Else cmdStop.Caption = "Stop" MSComm1.PortOpen = True 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 47 End If End Sub Chúng ta phải thêm một hàm bên dưới để lúc form khởi động, sẽ tự động mở cổng COM1 và cấu hình cho cổng com truyền dữ liệu. Private Sub Form_Load() MSComm1.CommPort = 1 MSComm1.Settings = "9600,n,8,1" MSComm1.PortOpen = True End Sub 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 48 CHƯƠNG 3: SỬ DỤNG VISUAL C# GIAO TIẾP VĐK Khởi động C#. Tạo dự án mới: Vào menu File -> New Project … (Hoăc bấm Ctrl + Shift + N) Hộp thoại New Project xuất hiện, chọn vào biểu tượng Window Application. Sửa tên ứng dụng WindowsApplication1 thành tên chương trình của bạn, ví dụ như Dkdongco, Donhietdo, .. lưu ý không nên viết có ký tự trống và tiếng việt trong tên này! Xong bạn Click OK Giao diện ban đầu C# tự động tạo cho bạn như bên dưới 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 49 Các bạn có thể click chuột vào các góc của của sổ From1 và kéo cho nó thay đổi kích thước vừa ý. Giờ chúng ta sẽ làm việc với Form1 này. Bạn Click vào vị trí bất kì trên form, sau đó qua cửa sổ thuộc tính, 2 thuộc tính bạn cần quan tâm để chỉnh sửa là Name và Text Lưu ý: Để thay đổi thuộc tính của bất cứ đối tượng nào, việc bắt buộc đầu tiên bạn phải click chuột vào đối tượng đó. 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 50 Các bạn có thể đổi sửa thuộc tính Name thành frmMain hay bất kí tên gì, có thể giữ nguyên là Form1 Đối với thuộc tính Text, chính là dòng chữ hiển thị trên thanh tiêu đề của cửa sổ chương trình, bạn nên đổi thành nội dung đề tài của bạn (VD: Chương trình theo dõi nhiệt độ phòng máy, …), chương trình cho phép bạn nhập liệu tiếng việt. Tiếp theo bạn đổi tên các file trong của sổ quản lý Project của chương trình như hình bên dưới Bước thứ hai là lúc bạn thêm các đối tượng lên của sổ form chính. 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 51 - Đối tượng Label, để hiển thị các thông tin như là trường, lớp, tên đề tài, nhóm, thành viên nhóm, … Trong Cửa sổ Toolbox, bạn tìm đối tượng Label Click chuột vào đối tượng label sau đó đưa chuột qua của sổ form, Click vào form tại ví trí mà bạn muốn đặt label này Bây giờ ta tiến hành thay đổi các thuộc tính của label này. Click chuột vào label trên form, chứng ta chuyển qua của sổ Thuộc tính. Lúc này cửa sổ thuộc tính sẽ chứa các thuộc tính của label 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 52 Tương tự như form chính lúc nãy 2 thuộc tính bạn cần thay đổi đầu tiên là Name và Text Thuộc tính Name bạn thay đổi để khi viết chương trình bạn dễ nhớ khi gọi đối tượng này ra xử lý, ở đây label này hiển thị tên trường nên mình đặt tên cho nó là labelTruong. Lưu ý: + Để hạn chế không bị nhầm lẫn giữa các đối tượng bạn nên thêm tiền tố label trước tên của nó, để biết đối tượng này là loại label, label này để hiển thị Trường. Để dễ nhớ thôi, chứ chương trình sẽ không cho 2 đối tượng trùng tên nhau. + Tên đối tượng bạn không được nhập khoảng trắng và không nên nhập tiếng việt Kết quả như hình dưới. 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 53 Giờ bạn thay đổi Font chữ, màu chữ, kích thước chữ. Vẫn Click chuột vào đối tượng label này. Chuyển qua Cửa sổ Thuộc tính Click vào nút … ở dòng Font, cửa sổ Font hiện ra, bạn chọn các thuộc tính font cho vừa ý 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 54 Mình chọn Font Tahoma, In đậm, Size 18 Chọn màu chữ Blue. Kết quả thay đổi như sau 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 55 Tương tự để bạn thêm các label hiển thị lớp, nhóm, tên để tài, … Bạn có thể Click chuột kéo rê các label đúng vị trí như ý muốn. Bước tiếp theo, chúng ta tạo một Nút nhấn để khi bạn click vào nó, form điều khiển sẽ hiện ra đồng thời form chính sẽ ẩn đi - Đối tượng Button: sẽ thực hiện một công việc gì đó khi ta Click vào (theo code ta viết) Trong cửa sổ Toolbox, tìm dòng có đối tượng Button, Click vào dòng này. Sau đó đưa chuột qua form, click vào vị trí muốn đặt button tren form. 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 56 Ta đã có một nút nhấn trên giao diện chính. Bay giờ bạn tiến hành thay đổi các thuộc tính cho nó. 2 thuộc tính cần thay đổi là Name và Text Tương tự như đổi thuộc tính Name và Text của label bạn sẽ được kết quả như hình dưới 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 57 Ngoài ra để nút nhấn của mình thêm phần sinh động, bạn có thể thay đổi font, màu chữ, … hoặc thêm biểu tượng cho nó, bạn tự tìm hiểu thêm nhé, tất cả đều nằm trong cửa sổ thuộc tính của button này. Bây giờ chúng ta tạo một nút nhấn, để khi click vào, chương trình sẽ kết thúc. Thực hiện tương tự như các bước tạo button ở trên, bạn thay đổi thuộc tính Name cho nút nhấn này là buttonExit, màu chữ đỏ (tùy ý), Text là Exit hay Thoát, tùy ý bạn. 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 58 Bước kế tiếp, tạo sự kiện đóng chương trình cho buttonExit này. Bạn click đúp vào nút Thoát, cửa sổ viết code hiện ra, bạn gõ lệnh như sau: private void buttonExit_Click(object sender, EventArgs e) { Application.Exit(); // Thoát ứng dụng } Để thực hiện bước tiếp theo, chúng ta cần tạo ra một form mới có tên là frmDieuKhien. Vì nút nhấn này khi click vào thì form điều khiển được hiển thị. Trong cửa sổ Solution Explorer, bạn click phải vào tên chương trình và click vào Windows From… 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 59 Hộp thoại Add New Item hiện ra, bạn đặt tên form mới này theo yêu cầu của mình (VD là frmDieuKhien) Click Ok để tạo form mới. Giao diện form mới hiện ra trên cửa sổ làm việc. Bước đầu tiên bạn cũng tiến hành đổi tên form, tiêu đề form như đã thực hiện với form chính lúc đầu. Kết quả sau khi thực hiện mình có form điều khiển như hình dưới Mẹo nhỏ: Để kích thước 2 form này giống nhau hoàn toàn, trong cửa sổ thuộc tính của form chính (frmMain) bạn tìm đến dòng Size và copy 2 con số (rộng, cao). Sau đó 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 60 cũng tìm đến dòng Size của form điều khiển (frmDieuKhien) dán 2 con số này vào. Enter Bây giờ chúng sẽ viết lệnh tạo sự kiện để nút nhấn Bảng ĐK sẽ thực hiện khi nhấn vào nó. Chuyển qua form chính (frmMain), Click đúp vào Button Bảng ĐK. Cửa sổ viết code của chương trình hiện ra, bạn viết những lệnh như dưới vào hàm sự kiện của buttonNext, bạn không cần phải quan tâm đến các đoạn code khác. private void buttonNext_Click(object sender, EventArgs e) { fromDieuKhien frmDK = new fromDieuKhien(); // Khởi tạo biến "ñại diện" form ñiều khiển frmDK.Show(); // Hiện thị form ñiều khiển this.Hide(); // Ẩn form chính } Bây giờ bạn có thế Bấm phím F5 để chạy kiểm tra những gì mình vừa làm. Như vậy chúng ta đã tương tác xong với form chính (frmMain) rồi giờ chúng ta sẽ chuyển sang form điều khiển (frmDieuKhien) tạo các đối tượng, viết code cho nó. Bước đầu tiên bạn tạo một button Thoát như ở form chính để khi click vào chương trình sẽ thoát. 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 61 Click đúp vào nút Thoát để viết code tạo sự kiện cho nó. private void buttonExit_Click(object sender, EventArgs e) { Application.Exit(); // Thoát chương trình } Xong, giờ ta sẽ thêm các đối tượng như cổng nối tiếp, các nút nhấn, listbox chứa tên cổng com, … - SerialPort: đối tượng để truyền nhận dữ liệu qua công nối tiếp với VĐK Để thêm một serial port, tương tự như đã thực hiện với các đối tượng trên. Ta tiến hành đổi thuộc tính Name cho serialport này như hình bên dưới. 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 62 Lưu ý: Mình đổi tên cổng nối tiếp này thành port. Các thuộc tín còn lại bạn hãy để như mặc định. - Listbox: đối tượng này sẽ chứa danh sách cổng com chúng ta sẽ kết nối 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 63 - Bây giờ chúng ta sẽ thay đổi thuộc tính Name và Item cho ListBox này. + Bạn đổi Name listBox1 thành listBoxComport. + Ở dòng Item, Bạn click vào nút … để thêm danh sách cổng Com cho listBox này hiển thị 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 64 - Click OK, kết quả bạn sẽ thấy trên form điều khiển, một danh sách cổng com ta vừa thêm. Lưu ý là tên cổng com không có khoảng trắng,

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

  • pdfGiao tiếp máy tính - Vi điều khiển sử dụng C# và VB.pdf