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
84 trang |
Chia sẻ: netpro | Lượt xem: 5337 | Lượt tải: 1
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:
- Giao tiếp máy tính - Vi điều khiển sử dụng C# và VB.pdf