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 IDE và MPLAB 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.
Bước 2: Tạo 1 dự án (project) mới bằng cách chọn File >> New Project.
Một của sổ tạo 1 dự án mới sẽ xuất hiện. 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.
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.
Bước 5: Chọn trình biên dịch
Chọn trình biên dịch XC8, sau đó Next.
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.
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.
Sau đó, bạn đặt tên và thư mục chứa file lập 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 >> Target Memory Views >> Configuration Bits
- 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.
- Click Generate Source Code to Output
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.