Tạo một dự án với MPLAB X IDE và MPLAB XC8

0
223
Tạo project với mplab x

Trong bài viết này, chúng ta sẽ tìm hiểu làm thế nào để làm cho đèn LED chớp tắt với vi điều khiển PIC bằng trình biên dịch MPLAB XC8 Compiler. Gần đây, Microchip đã phát hành một loạt các công cụ phát triển bao gồm MPLAB X IDEMPLAB XC Compiler. MPLAB X IDE là phần mềm chạy trên máy tính nhằm phát triển các ứng dụng cho các bộ vi điều khiển và các bộ điều khiển tín hiệu số của Microchip. Các phần mềm có thể được sử dụng với hệ điều hành Windows, Mac và Linux. Nó được gọi là môi trường phát triển tích hợp (Integrated Development Environment) vì nó cung cấp các phương tiện toàn diện cho các nhà phát triển. Không giống như các phiên bản trước của MPLAB, MPLAB X IDE dựa trên mã nguồn mở NetBeans IDE của Oracle.

Trình biên dịch MPLAB XC là giải pháp chung cho tất cả các vi điều khiển PIC của Microchip và nó có thể được sử dụng cho bất kỳ dự án nào. Nó thay thế tất cả các trình biên dịch MPLAB C và Hi-Tech C. Microchip khuyến nghị mọi nhà phát triển nên sử dụng trình biên dịch MPLAB XC.

Các bước tạo một Project trên MPLAB X IDE

Bước 1: Khởi động phần mềm MPLAB X IDE

Sau khi phần mềm MPLAB X IDE được khởi động thì một giao diện xuất hiện như hình bên dưới.

Giao diện MPLAB X IDE

Bước 2: Tạo 1 dự án (project) mới bằng cách chọn File >> New Project.

Tạo 1 project mới

Sẽ xuất hiện một của số tạo 1 dự án mới. Trong cửa sổ này các bạn chọn: Microchip Embedded >> Standalone Project. Sau đó click Next, sẽ xuất hiện cửa sổ lựa chọn dòng vi điều khiển mà bạn muốn sử dụng.

Bước 3: Chọn vi điều khiển

Trong bài viết này, tôi chọn vi điều khiển PIC16F877A.

Chọn vi điều khiển

Lưu ý: Nếu bạn chọn PIC16 thì mục Family bạn phải chọn Mid-Range 8-bit MCUs (PIC10/12/16/MCP) còn nếu bạn chọn PIC18 thì chọn Advanced 8-bit MCUs (PIC18). Sau đó phần Device các bạn gõ tên PIC mình dùng vào sau đó chọn Next.

Bước 4: Chọn mạch nạp

Ở bước này các bạn chọn mạch nạp. Ở đây tôi thường chọn Simulator, sau đó chọn Next.

Chọn mạch nạp

Bước 5: Chọn trình biên dịch

Chọn trình biên dịch XC8, sau đó Next.

Chọn trình biên dịch mplab x

Bước 6: Đặt tên cho dự án

Bạn đặt một tên bất kỳ cho dự án và chọn thư mục để lưu dự án, sau đó click Finish

Đặt tên cho dự án trong mplab x

Xin chúc mừng, như vậy là bạn đã hoàn tất việc tạo ra một dự án mới trên MPLAB X.

Bây giờ bạn đã sẵn sàng để viết chương trình của bạn. Để làm điều này, bạn thực hiện các bước tiếp theo như sau:

Click chọn folder Source Files, sau đó click phải chuột chọn New, tiếp tục chọn main.c như hình bên dưới.

Viết chương trình

Sau đó, bạn đặt tên và thư mục chứa file lập trình. 

Tên và thư mục chứa file chương trình

Tập tin nguồn mới được tạo, bạn có thể viết chương trình ở đây.
Giao diện viết chương trình

Chương trình chớp tắt LED

#define _XTAL_FREQ 8000000

#include <xc.h>

// BEGIN CONFIG

#pragma config FOSC = HS // Oscillator Selection bits (HS oscillator)

#pragma config WDTE = OFF // Watchdog Timer (WDT disabled)

#pragma config PWRTE = OFF // Power-up Timer Enable bit (PWRT disabled)

#pragma config BOREN = ON // Brown-out Reset Enable bit (BOR enabled)

#pragma config LVP = OFF // Low-Voltage (Single-Supply) In-Circuit Serial Programming Enable bit (RB3 is digital I/O, HV on MCLR must be used for programming)

#pragma config CPD = OFF // Data EEPROM Memory Code Protection bit (Data EEPROM code protection off)

#pragma config WRT = OFF // Flash Program Memory Write Enable bits (Write protection off; all program memory may be written to by EECON control)

#pragma config CP = OFF // Flash Program Memory Code Protection bit (Code protection off)

//END CONFIG

 

int main()

{

  TRISB0 = 0; //RB0 la chan ngo ra

  while(1)

  {

    RB0 = 1;  // LED SANG

    __delay_ms(1000); // Delay 1 giay

    RB0 = 0;  // LED TAT

    __delay_ms(1000); // Delay 1 giay

  }

  return 0;

}

Giải thích chương trình

Câu lệnh đầu tiên #define _XTAL_FREQ 8000000 xác định tần số xung nhịp của vi điều khiển được sử dụng để tính toán độ trễ trong hàm __delay_ms (). Câu lệnh thứ hai #include <xc.h> bao gồm tệp tiêu đề xc.h chứa định nghĩa của hàm __delay_ms () và các thanh ghi TRIS, PORT.

Tiếp theo là các lệnh cấu hình #pragma, được sử dụng để báo cho trình biên dịch thiết lập Configuration Bits của vi điều khiển PIC. Bạn có thể tạo nó bằng MPLAB X IDE như sau.

  • Chọn menu Window >> PIC Memory Views >> Configuration Bits

Cấu hình bit trên mplab x

  • Bạn chọn cấu hình bit ở dưới cùng của MPLAB X IDE như hình bên dưới.Chọn cấu hình bit
  • Click Generate Source Code to Output

Kết quả cấu hình bit

Bạn chỉ cần sao chép và dán code được tạo này vào của sổ viết chương trình.

Sau khi viết xong chương trình đèn LED nhấp nháy, bạn tiến hành biên dịch chương trình bằng cách nhấp chọn menu Production >> Build Main Project.

File Hex sẽ được tạo ở vị trí thư mục project của bạn >> dist >> default >> production (ví dụ trong bài viết này file hex được lưu trong thư mục có đường dẫn là E:/…/MPLABXProjects/Test.X/dist/default/production/Test.X.production.hex.)

Mô phỏng trên Proteus

Các bạn vẽ mạch nguyên lý bằng phần mềm Proteus như hình dưới đây.

Mạch led đơn

Để nạp file hex cho vi điều khiển, bạn nhấp chuột phải vào IC rồi chọn Edit Properties. Ở ô Program File, bạn nhấp vào biểu tượng Open rồi dẫn đến file hex mà phần mềm MPLAB X vừa tạo ở trên rồi chọn OK. Để tiến hành mô phỏng, bạn chọn menu Debug >> Run Simulation hoặc nhấn vào nút Run ở góc dưới bên trái màn hình.

 

BÌNH LUẬN

Please enter your comment!
Please enter your name here