16
Tạo Project với MPLAB 1 Tạo Project với MPLAB | [Pick the date] To project vi MPLAB, trình biên dch CCS, program và debug vi PICKit2 1. Cài đặt phn mm MPLAB IDE v8.92 2. Cài đặt phn mm CCS PIC C Compiler 3. To project trên MPLAB vi trình biên dch CCS 3.1 To project sdng trình biên dch CCS Vào Menu Project Project Wizard Click Next đến ca schn loi PIC phù hp

Tạo Project với MPLAB - kdientu.duytan.edu.vnkdientu.duytan.edu.vn/media/50107/tao-project-voi-mplab.pdf · Tương tự như khi chuyển chế độ từ program sang debug

Embed Size (px)

Citation preview

Tạo Project với MPLAB

1

Tạ

o P

roje

ct vớ

i MP

LA

B

|

[P

ick

th

e d

ate]

Tạo project với MPLAB, trình biên dịch CCS, program và debug với

PICKit2

1. Cài đặt phần mềm MPLAB IDE v8.92

2. Cài đặt phần mềm CCS PIC C Compiler

3. Tạo project trên MPLAB với trình biên dịch CCS

3.1 Tạo project sử dụng trình biên dịch CCS

Vào Menu Project Project Wizard

Click Next đến cửa sổ chọn loại PIC phù hợp

Tạo Project với MPLAB

2

Tạ

o P

roje

ct vớ

i MP

LA

B

|

[P

ick

th

e d

ate]

Click Next đến cửa sổ chọn trình biên dịch CCS(có thể chọn các loại trình biên

dịch khác như XC8 Tool, C18 Tool…)

Click Next đến cửa sổ chọn đường dẫn cho project

Tạo Project với MPLAB

3

Tạ

o P

roje

ct vớ

i MP

LA

B

|

[P

ick

th

e d

ate]

Save in : Vị trí tạo Project

File name : Tên project

Click Save để đến cửa sổ lưu đường dẫn project

Tạo Project với MPLAB

4

Tạ

o P

roje

ct vớ

i MP

LA

B

|

[P

ick

th

e d

ate]

Click Next đến cửa sổ Add file. Nếu đã tồn tại các file .c hoặc .h thì chọn

đường dẫn và add vào thư mục chứa project.

Nếu chưa có thì Click Next để hoàn thành các bước tạo project

Tạo Project với MPLAB

5

Tạ

o P

roje

ct vớ

i MP

LA

B

|

[P

ick

th

e d

ate]

Click Finish để hoàn thành.

Tạo Project với MPLAB

6

Tạ

o P

roje

ct vớ

i MP

LA

B

|

[P

ick

th

e d

ate]

Giao diện chương trình như sau:

Tạo File code và add các file thư viện

Vào mục File New (hoặc tổ hợp phím Ctrl + N) để tạo ra 1 file trống

Tạo Project với MPLAB

7

Tạ

o P

roje

ct vớ

i MP

LA

B

|

[P

ick

th

e d

ate]

Lập trình và lưu file, ở đây lấy tên main.c

Bước tiếp theo là add file vừa mới lưu (main.c) và thư mục Source File

của project. Click chuột phải vào Source File và chọn Add Files…

Tạo Project với MPLAB

8

Tạ

o P

roje

ct vớ

i MP

LA

B

|

[P

ick

th

e d

ate]

Chọn đường dẫn đến file main.c trong cùng thư mục và click Open

Tiếp theo ta tiếp tục Add các file header vào Header Files trên cây thư mục

Tiến hành chỉnh sửa code và build chương trình

3.2 Build chương trình

Tạo Project với MPLAB

9

Tạ

o P

roje

ct vớ

i MP

LA

B

|

[P

ick

th

e d

ate]

Trên thanh công cụ có các Button phục vụ cho việc Build chương trình

Click vào biểu tượng để tiến hành build chương trình. Kiểm tra tất cả các

lỗi cú pháp trong chương trình

Quan sát tại cửa sổ Output, tab Build, đã xuất hiện lỗi ở dòng 33. Click đúp vào

dòng lỗi, vị trí lỗi sẽ được đánh dấu trong khung chương trình. Lỗi ở đây có tên

là “Expect ;” thông báo cho ta dòng lệnh sai cú pháp là thiếu dấu chấm phẩy.

Tạo Project với MPLAB

10

Tạ

o P

roje

ct vớ

i MP

LA

B

|

[P

ick

th

e d

ate]

Thêm dấu ‘;’ vào dòng lệnh và tiến hành Build chương trình một lân nữa.

Chương trình đã hết lỗi và bước tiếp theo là debug chương trình.

3.3 Gỡ lỗi chương trình

Các lỗi cú pháp đều được sửa chữa trong quá trình Build ở trên. Trong bước

này, ta tiến hành debug chương trình để gỡ lỗi hệ thống. Các lỗi hệ thống ở đây

là các lỗi xuất hiện khi người viết chưa quản lý hoàn thiện khung chương trình,

dẫn đến thiết bị phần cứng hoạt động không theo ý muốn của người lập trình.

Để thực hiện được quá trình Debug, ta phải kết nối PICKit2 vào PC và mạch vi

xử lý.

Vào tab Debugger Select tool PICKit2

Tạo Project với MPLAB

11

Tạ

o P

roje

ct vớ

i MP

LA

B

|

[P

ick

th

e d

ate]

Hình MPLAB xác nhận đã nhận được PICKit2 ViCHIP

Trong quá trình debug cho chương trình, phải bảo đảm đã sửa hết tất cả các lỗi

cú pháp.

Quan sát giá trị thanh ghi và các biến của chương trình trong cửa sổ Watch

Vào menu View Watch

Chèn thêm vào cửa sổ quan sát các thanh ghi dùng chung bằng nút bấm Add

SFR; chèn thêm vào cửa sổ quan sát các biến xuất hiện trong chương trình

bằng nút bấm Add Symbol

Quan sát cửa sổ Stack : Vào Menu View Hardware stack

Bộ công cụ Debug bao gồm các chức năng sau đây:

Nút Reset phím tắt F6 : Reset chip

Nút Run phím tắt F9 : Run toàn bộ chương trình

Tạo Project với MPLAB

12

Tạ

o P

roje

ct vớ

i MP

LA

B

|

[P

ick

th

e d

ate]

Nút Step Into phím tắt F7 : chạy từng dòng lệnh và đi vào chương

trình con

Nút Step Over phím tắt F8 : chạy từng dòng lệnh và bỏ qua chương

trình con

Lệnh Animate thì không có phím tương ứng, ta phải chọn lệnh trong

menu Debugger hoặc chọn trên thanh công cụ

Với các phím F7 và F8, ta sẽ thấy con trỏ mô phỏng hình mũi tên màu xanh

(cho biết vị trí lệnh sắp được thực thi), di chuyển mỗi khi nhấn phím. Với phím

F9 hay Animate thì con trỏ mô phỏng sẽ không được cập nhật cho đến khi

phím Halt (F5) được nhấn

Lấy ví dụ, ở đây ta sẽ dùng PICKit2 để dubug chương trình đơn giản là ấn

button RA2 để đảo trạng thái led RA1 và tăng giá trị biến đếm i lên 1 đơn vị.

Chương trình được viết như sau:

#include "main.h"

int8 i = 0;

void main()

{

TRISA = 0X04;

TRISB = 0X00;

TRISD = 0XFF;

while(TRUE)

{

if(SW1)

{

Tạo Project với MPLAB

13

Tạ

o P

roje

ct vớ

i MP

LA

B

|

[P

ick

th

e d

ate]

while(!SW1);

LED = ~LED;

i++;

} }}

Thực hiện các thao tác như đã trình bày, ta có giao diện chương trình như sau:

Liên tục bấm F7 cho đến con trỏ nhàu vào vòng lặp vô hạn. Rõ ràng ta

thấy button RA2 chưa được bấm nhưng trạng thái led RA1 vẫn luôn bị đảo và

vòng lệnh không thoát ra khỏi cấu trúc if(SW1) được. Điều này có nghĩa là

trạng thái này luôn đúng và chương trình luôn thực hiện các câu lệnh bên trong

cấu trúc if này. Kiểm tra lại phần cứng kết nối ta có sơ đồ nguyên lý như sau:

Tạo Project với MPLAB

14

Tạ

o P

roje

ct vớ

i MP

LA

B

|

[P

ick

th

e d

ate]

Như vậy ta thấy RA2 được tích cực mức thấp, như vậy cấu trúc if phải được

sửa lại như sau: if(!SW1)

Build lại chương trình và tiến hành debug trở lại.

Ấn F7 liên tục cho đến khi con trỏ vào vòng lặp vô hạn. Rõ ràng lúc này ta thấy

trạng thái led không đổi và con trỏ không thực hiện các lệnh bên trong cấu trúc

if.

Ấn button RA2 trên board mạch đích và giữ nguyên, tiếp tục bấm F7, khi đó,

con trỏ sẽ thực hiện cấu trúc if, led thay đổi trạng thái và biến đếm tăng lên 1

Như vậy chương trình đã hoặt động đúng như yêu cầu đặt ra. Bước tiếp theo ta

thực hiện Nạp chương trình vào chip.

R210K

R3470

SW2

BUTTON

D1

LED

VCC

0

RA2

RA1

Tạo Project với MPLAB

15

Tạ

o P

roje

ct vớ

i MP

LA

B

|

[P

ick

th

e d

ate]

3.4 Nạp chương trình vào chip

Chuyển từ chế độ debug sang chế độ program. Vài menu Programer Select

programer PICKit2, cửa sổ confirm hiện ra

Tương tự như khi chuyển chế độ từ program sang debug. Click OK để xác

nhận

Bộ công cụ Programer bao gồm các phím bấm sau đây:

Nút bấm Program the target device : Nạp chương trình đã biên dịch

vào chip

Nút bấm Read target device memory : đọc ngược chương trình từ

chip lên PC

Nút bấm Verify the content of the target device :Kiểm tra trạng thái

KIT kết nối

Nút bấm Erase target device memory : xóa nội dung bộ nhớ của chip

Nút bấm MCLR : đưa trạng thái chân MCLR của chip lên Vcc

hoặc xuống GND

Nút bấm Re-establish PICKit2 connection : Thử kết nối lại PICKit

với PC

Để nạp chương trình, click nút Program trên thanh công cụ, sau đó click

MCLR sườn lên để xem kết quả trên mạch thật

Tạo Project với MPLAB

16

Tạ

o P

roje

ct vớ

i MP

LA

B

|

[P

ick

th

e d

ate]