Hướng dẫn lập trình vi điều khiển bằng C trong Keil C

MỤC LỤC

Cấu trúc cơ bản một chương trình C cho VĐK trong Keil C a. Phần đầu tiên là liệt kê các header file mà các bạn dùng bằng từ khóa

Khi bạn viết theo cách thứ nhất thì trình biên dịch sẽ tìm kiếm file .h hoặc .c này trong thư mục hiện tại chứa dự án của bạn, nếu không có thì sẽ tìm kiếm trong thư mục Inc trong thư mục cài đặt KeilC. Để có thể sử dụng đúng các file .h cho các vi điều khiển của mình thì bạn nên mở thư mục /inc trong thư mục này có các thư mục con như tên của hãng sản xuất. 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.

Có lẽ việc lập trình cho vi điều khiển một hàm không thể thiếu đó là trễ: như trễ khi nháy led chẳng hạn (ví dụ đơn giản nhất),. Chúng ta sẽ sử dụng chế độ khởi động bộ định thời bằng phần mềm tức 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). 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,. 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.

SỬ DỤNG VISUAL BASIC 6.0 GIAO TIẾP VI ĐIỀU KHIỂN

Thiết kế giao diện

Để 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. 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ụ. Để 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.

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. 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. Để 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.

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. Để đổ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.

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. 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. 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. 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.

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
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

Viết chương trình thực thi

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. 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. 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.

Lệnh thực thi cho nút Gui du lieu Private Sub cmdSend_Click() Dim t As Integer. 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.

SỬ DỤNG VISUAL C# GIAO TIẾP VĐK

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 đó. Đố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.

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. 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. + Để 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.

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. 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.

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. 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. 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ó.

- 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. Button này có thuộc tính Name là buttonDisConnect và thuộc tính Text là Ngắt kết nối, font, màu chữ tùy ý. Label này có thuộc tính Name là labelTinhTrang, thuộc tính Text bạn để một khoảng trắng vì ban đầu chưa chạy chương trình thì chưa có thông báo gì.

- Sau khi viết hàm gửi ký tự bạn có thể Click đúp vào các nút ROLE 1 đến ROLE 8 để tạo sự kiện gửi dữ liệu. - Để chương trình của bạn luôn hiển thị trên các cửa sổ còn lại, bạn chuyển qua cửa sổ thuộc tính của frmMain, tìm đến dòng TopMost đổi thành True, làm tương tự đối với frmDieuKhien.

CÁC VÍ DỤ GIAO TIẾP MÁY TÍNH VÀ VĐK