MPLAB X IDE 설치 및 사용 준비
1. 개요
MPLAB X IDE V6.05를 이용한 PIC 프로그램을 다시 시작한다. 타겟 보드는 굿플 사의 RSWT Main PCB를 이용한다. 이 PCB는 PIC16F722A IC로 설계되어 있으며, SMPS가 내장되어 있으나 이 기능은 보류하고, 직접 5Vdc를 인가해서 테스트 한다.
디버거는 Pickit4를 이용하고, 컴파일러는 Microchip에서 제공하는 XC8을 이용한다.
우선 MPLAB X IDE를 이용한 프로젝트 만드는 방법을 진행하고, I/O, Timer, Interrupt등의 순서대로 진행한다.
2. Porject 초기설정
위의 아이콘을 클릭하여 MPLAB X IDE v6.05를 실행시킨다.
위와 같지는 않겠으나 IDE가 실행된다. 이제 프로젝트를 만들어보자.
File – (New Project, Ctrl+Shift+N)을 선택한다.
Microchip Embeded- Standalone Project를 선택한다.
Mid-Range 8-bit MCUs (PIC10/12/16/MCP)의 PIC16f722A를 선택한다. Tool은 Pickit4를 사용할 것이다.
MPLAB를 인스톨하고 난 뒤 XC8 컴파일러를 인스톨했으므로 컴파일러 툴 체인에서 XC8을 선택한다.
프로젝트 폴더와 위치, 프로젝트 명을 선택한다.
Encoding은 ISO-8859-1로 선택하는데 이 부분은 확인이 필요하다.
Finish를 누르면 빈 화면이 나타나고, Source File에서 우측 마우스 버튼을 눌러 main.c를 만들어준다.
위와 같은 기본 메인 파일이 만들어진다.
해당 프로세서의 Configuration Bits를 먼저 설정한다.
와 같이 설정하고, “Generate Source Code to Output”버튼을 눌러 코드를 생성한다.
아래와 같은 코드가 생성되고, 이 코드를 main.c의 최 상단에 카피해 둔다.
각각의 의미에 대해서는 다시 지면을 할애해서 설명하겠다.
// PIC16F722A Configuration Bit Settings
// 'C' source line config statements
// CONFIG1
#pragma config FOSC = INTOSCIO // Oscillator Selection bits (INTOSCIO oscillator: I/O function on RA6/OSC2/CLKOUT pin, I/O function on RA7/OSC1/CLKIN)
#pragma config WDTE = OFF // Watchdog Timer Enable bit (WDT disabled and can be enabled by SWDTEN bit of the WDTCON register)
#pragma config PWRTE = OFF // Power-up Timer Enable bit (PWRT disabled)
#pragma config MCLRE = OFF // RE3/MCLR Pin Function Select bit (RE3/MCLR pin function is digital input, MCLR internally tied to VDD)
#pragma config CP = OFF // Code Protection bit (Program memory code protection is disabled)
#pragma config BOREN = OFF // Brown-out Reset Selection bits (BOR disabled)
#pragma config BORV = 25 // Brown-out Reset Voltage selection bit (Brown-out Reset Voltage (VBOR) set to 2.5 V nominal)
#pragma config PLLEN = ON // INTOSC PLL Enable bit (INTOSC Frequency is 16MHz (32x))
// CONFIG2
#pragma config VCAPEN = DIS // Voltage Regulator Capacitor Enable bits (All VCAP pin functions are disabled)
// #pragma config statements should precede project file includes.
// Use project enums instead of #define for ON and OFF.
#include <xc.h>
* 각 프로젝트를 작성할 때 위의 과정을 기본으로 진행한다.
** 기본 클럭은 8MHz로 고정되어 설정되며, 프로그램 시작 시 클럭을 16MHz로 변경할 수 있다.