제 2일차 mplab ide 및 icd2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf ·...

79
PIC 마이컴 30 일 완성 Page 1 제 2 일차 MPLAB IDE 및 ICD2 사용 방법

Upload: others

Post on 29-Feb-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

PIC 마이컴 30 일 완성

Page 1

제 2 일차

MPLAB IDE 및

ICD2 사용 방법

Page 2: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

Page 2 PIC 마이컴 30 일 완성

MPLAB IDE 소프트웨어의 설치

마이크로칩 홈-페이지 www.microchip.com 이나 네오칩 홈-페이지 www.neochip.co.kr

에 접속 하여 무료로 제공 되고 있는 MPLAB IDE 소프트웨어를 다운로드를 받도록 하자

다운로드 받는 방법과 인스톨하는 방법에 대해서는 아래에 설명하기로 한다.

우선 MPLAB IDE 는 얼마전까지는 버전 5.xx 를 사용하였지만 이제는 버전 6.xx 가

사용이 된다. 또한 앞으로는 버전 5.xx 는 더 이상 업-그레이드가 되지 않으므로

MPLAB 사용자는 버전 6.xx 를 사용 하기를 바란다.

또한 MPLAB 버전 6.xx 는 한글 에디터 기능이 지원이 되기 때문에 효율적으로 프로그래

밍이 가능해 짐과 동시에 사용하는 명령어가 제대로 작성이 됬는지를 바로 확인 할수 있는

컬러기능이 지원이 되므로 보다 간편하게 디자인을 할 수 있다.

마이크로칩 홈 페이지로부터 다운 받아서 설치 하는 과정을 설명 하기로 한다

1. www.microchip.com 의 마이크로칩 홈페이지로 들어간다

2. 홈페이지 메뉴중 Design 의 MPLAB IDE 를 클릭한다

Page 3: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

PIC 마이컴 30 일 완성

3. MPLAB IDE v7.00 을 선택한다.

마이크로칩 최신 MPLAB IDE 를 다운 받기 위하여 MPLAB IDE v7.00 을 클릭한다.

그러나 지속적으로 MPLAB 이 업-그레이드가 되므로 항상 최신의 버전을 사용 하는

것이 좋다. 왜냐하면 마이크로칩은 MPLAB 을 업-그레이드 할 때 마다 각종

소프트웨어 버그를 수정하여 업그레이드 시키기 때문에 항상 최신의 버전을 다운

받아 사용하는 것이 좋다.

4. 아래 그림에서 MPLAB IDE v7.00 을 자신의 하드 디스크에 저장 시키자.

또한 사용자 매뉴얼 또한 다운로드 받아 참고 하기를 바란다

Page 3

Page 4: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

Page 4 PIC 마이컴 30 일 완성

5. 하드 디스크에 저장 시킨 압축 파일을 푼후 설치 버튼을 눌러 설치를 시작 한다

6. NEXT 버튼을 눌러 설치를 시작 한다

Page 5: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

PIC 마이컴 30 일 완성

7. 라이센스를 동의함을 클릭한후 NEXT 버튼을 클릭한다

8. 설치 타입을 “ COMPLETE” 을 선택후 NEXT 버튼을 클릭한다

Page 5

Page 6: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

Page 6 PIC 마이컴 30 일 완성

9. 소프트웨어를 설치를 할 디렉터리를 지정한후 NEXT 버튼을 클릭한다

초기 디렉터리는 C;\program files\microchip\MPLAB IDE 로 설치가 되며 설치

위치를 변경을 원하는 경우는 “ Browse” 버튼을 클릭하여 설치 위치를 지정 하여 준다

10. 지금까지 설정한 환경이 맞는 지를 묻는 화면이 나오면 NEXT 버튼을 누른다

Page 7: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

PIC 마이컴 30 일 완성

11. 설치를 시작한다

12. 마이크로칩 롬-라이터인 MPLAB PM3 롬-라이터의 드라이버 설치 방법을 볼것인가라는

질문에 YES 를 클릭한다

Page 7

Page 8: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

Page 8 PIC 마이컴 30 일 완성

13. 마이크로칩 에뮬레이터인 MPLAB ICE4000 드라이버 설치 방법을 볼것인가라는 질문에

YES 를 클릭한다

14. FINISH 버튼을 클릭하여 MPLAB IDE 소프트웨어의 설치를 종료한다

Page 9: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

PIC 마이컴 30 일 완성

MPLAB IDE 소프트웨어의 사용 방법

컴퓨터 화면상의 MPLAB IDE 아이콘인 아이콘을 클릭하여 MPLAB IDE

화면으로 들어 간다

Page 9

Page 10: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

Page 10 PIC 마이컴 30 일 완성

1. 사용할 마이컴의 선택

*** 메뉴에서

Configure Select device 클릭

하면 아래와 같은 화면이 나타나는데 여기서 PIC16F877A 를 클릭 하도록 하자

Page 11: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

PIC 마이컴 30 일 완성

2. 프로젝터의 생성

*** 메뉴에서

Project New.. 클릭

한후 아래와 같은 화면에서 프로젝트명과 Browse 버튼을 클릭하여 그 프로젝트 파일을

위치 시킬 디렉토리를 지정함

Page 11

Page 12: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

Page 12 PIC 마이컴 30 일 완성

아래 처럼 BABO 라는 프로젝트가 생성 되었슴

Page 13: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

PIC 마이컴 30 일 완성

3. 사용할 언어의 선택

*** 메뉴에서

Project Select language toolsuite.. 클릭

한후 아래와 같은 화면에서 마이크로칩 어셈블러인 Microchip MPASM toolsuite 를

클릭 하도록 하자. 만약 C 언어를 사용 한다면 해당 회사의 C 컴파일러를 클릭

하도록 한다

Page 13

Page 14: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

Page 14 PIC 마이컴 30 일 완성

4. 프로그램의 작성

소스 프로그램을 작성 하기 위해서는

*** 메뉴에서

File New 클릭

한후 아래와 같이 프로그램을 작성해 보자

Page 15: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

PIC 마이컴 30 일 완성

5. 소스 프로그램의 저장

소스 프로그램을 저장 하기 위해서는

*** 메뉴에서

File Save as.. 클릭

한후 C:\Program files \ Microchip \ MPLAB IDE 밑으로 파일 이름을

babo.asm 으로 저장 시킨다

Page 15

Page 16: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

Page 16 PIC 마이컴 30 일 완성

6. 프로젝트 창에 소스 프로그램의 연결

프로젝트 창에 소스 파일을 연결 하기 위해서는 마우스를 프로젝트 창의 소스 파일 위치

에 같다 놓은 후 마우스의 오른쪽을 클릭 Add files 를 클릭 한 다음 조금전에 저장시

킨 C:\ Program files \ Microchip \ MPLAB IDE \ babo.asm 파일을 찾아 더블

클릭 하면 프로젝트 창에 babo.asm 파일이 연결이 되는 것을 볼수가 있다

Page 17: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

PIC 마이컴 30 일 완성

7. 옵션의 정의

사용 하는 옵션을 정의 하기 위해서는

*** 메뉴에서

Configure Configuration Bits 클릭

PIC16F877A 의 옵션에는 아래와 같은 것들이 있다

*** 오실레이터의 설정

- RC 오실레이터 : 외부에 RC 회로로 오실레이터를 구성 하였을때

- XT 오실레이터 : 외부에 최대 4MHz 까지의 레조레이터나 크리스털로

오실레이터 회로를 구성 하였을 때

- HS 오실레이터 : 외부에 최대 20MHz 까지의 레조레이터나 크리스털로

오실레이터 회로를 구성 하였을 때

- LP 오실레이터 : 외부에 최대 200KHz 까지의 레조레이터나 크리스털로

오실레이터 회로를 구성 하였을 때

Page 17

Page 18: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

Page 18 PIC 마이컴 30 일 완성

*** WDT ( Watch Dog Timer) 의 설정

WDT 란 프로그램이 수행 도중 프로그램 한곳에서 LOCKING 이 걸려서 비정상적으

로 동작이 될 때 마이컴을 강제적으로 리셋 시키는 기능이다

따라서 이 기능은 아주 조심스럽게 사용을 하여야 할것이다

*** PWRT (Power Up Timer) 의 설정

PWRT 란 최초 전원 투입시 마이컴 주변 하드웨어의 안정 타임을 제공 하는 타이머

로 인에이블이 되면 약 72msec 의 시간 지연을 제공 하는 기능이다

*** BOD (Brown Out detecter) 의 설정

BOD 기능이란 전원이 투입되어 프로그램이 수행중 외부 하드웨어 요인으로 인하여

마이컴 전원이 4V 이하로 내려 갔을 경우 시스템이 불안해 지므로 이때 마이컴을

리셋 시킬 것인지를 결정 하는 옵션 사항이다

*** LVP ( Low Voltage Program) 의 설정

LVP 기능이란 보통 마이컴을 롬-라이팅을 하기 위해서는 마이컴 VPP 핀에 약 13V

이상의 전압이 공급 되어야만 가능 한데 LVP 기능을 사용 하면 5V 에서도 마이컴

롬-라이팅을 하수가 있다. 그러나 이 기능이 사용이 되면 마이컴 핀중에 PGM 핀은

일반 I/O 핀으로 사용 할 수가 없슴을 유의 하여야만 한다.

또한 옵션에서 이 기능을 인에이블 시킨 상태에서 롬-라이팅을 하기 위해서는 PGM

핀에 5V 를 공급 함으로서 가능해 진다

*** FLASH PROGRAM WRITE

이 기능은 마이컴 내부의 플래시 메모리의 라이트 프로텍트를 실행 시키는 옵션이다

*** DATA EE READ PROTECT

이 기능은 외부에서 마이컴 내부의 EEPROM 의 내용을 읽지 못하도록 하는

기능이다

*** CODE PROTECT

이 기능은 다른 사람이 마이컴 내부의 프로그램 메모리의 내용을 읽어 보지 못하도록

하는 기능이며 반드시 제품 양산시에는 이 CODE PROTECT 기능을 인에이블 하여

롬-라이팅을 하여야 한다

Page 19: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

PIC 마이컴 30 일 완성

TEST 를 위하여 아래 옵션처럼 셋팅 하도록 하자

오실레이터 : XT

WDT : OFF

POWER UP TIMER : ON

BROWN OUT DETECTER: OFF

LOW VOLTAGE PROGRAM: DISABLE

FLASH PROGRAM WRITE: WRITE PROTECTION OFF

DATA EE READ PROTECT: OFF

CODE PROTECT : OFF

Page 19

Page 20: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

Page 20 PIC 마이컴 30 일 완성

8. 작성된 프로그램 어셈블

작성된 프로그램을 마이컴이 인식 할수 있는 기계어로 바꾸는 과정을 어셈블이라

하며 이는

*** 메뉴에서

Project Build All 클릭

혹은 아이콘 클릭

Page 21: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

PIC 마이컴 30 일 완성

어셈블이 완료 되면 반드시 반드시 BUILD SUCCEED 란 메시지가 나와야만 어셈블이

정상적으로 이루어짐을 의미한다

만약 BUILD 가 FAIL 이란 메시지가 나타나면 프로그램 상에 오류가 발생 한 것

이므로 이때에 어떤 곳에서 오류가 있는지를 확인하기 위해서는 OUTPUT 의

화면상에서 ERROR 가 발생한 곳에 마우스를 위치 시킨후 더블-클릭을 하면 자동

적으로 오류가 발생한 프로그램으로 점프하는데 이는 프로그램상에서 어느곳에서

오류가 발생 하였는지를 쉽게 찿게 해 준다.

반드시 이러한 에러는 프로그램을 수정 하여 고친후 다시 어셈블을 하여 반드시

BUILD SUCCEEDED 란 메시지가 나오도록 하여야만 한다

Page 21

Page 22: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

Page 22 PIC 마이컴 30 일 완성

마이크로칩 PIC 마이컴을 어셈블 하였을 때 나타나는 문구는 아래와 같다

*** error : 이 것은 어셈블시 틀린 부분을 나타내 주는 것으로 반드시 소스코드를

수정하여 해결 해 주어야 한다

*** warning : 이것은 프로그램을 실행하는 것에는 아무런 상관이 없지만 가능한

소스코드를 수정하여 해결해 주는 것이 좋다.

*** massage : 이것은 사용자에게 다시한번 remind 를 시켜주는 용도로 사용이

되며 이러한 메세지가 나타나는 것은 소프트웨어 동작과 아무런 상관이 없다.

즉 사용자에게 다시한번 확인을 하라는 의미이며, 예를들어

소스 코드중에

BSF STATUS,RP0

CLRF TRISB

BCF STATUS,RP0

이러한 구문이 들어 있을 경우 어셈블하면 CLRF TRISB 에 massage 가 나타난

다. 왜냐하면 TRISA 라는 레지스터는 BANK0 가 아니라 BANK1 에 있기

때문에 사용자에게 다시 한번 정확하게 사용 했는지 확인을 하라는 의미에서

massage 형태로 나타나게 되는 것이다

Page 23: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

PIC 마이컴 30 일 완성

9. 사용 모드의 선택

작성된 소스 코드의 어셈블 작업이 완료 되었으므로 이제는 사용 하고자 하는 모드를

선택 하여야 하는데 모드 선택 방법은

*** 메뉴에서

Debugger Select Tool 클릭

Page 23

Page 24: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

Page 24 PIC 마이컴 30 일 완성

NONE

아무런 동작 모드도 아니다

MPLAB SIM

소프트웨어 시뮬레이션 모드이며 이 모드를 사용하여 프로그램의

디버깅을 할수 있으나 실시간으로 외부 하드웨어와 인터페이스하는

동작은 구현 시킬수가 없다. 그러나 각종 인터럽트의 수행도 가능하며

멀티-브레이크 포인트도 설정이 가능하기 때문에 프로그램 메모리

사이즈가 적은 경우에는 MDS(마이컴 개발 장비) 장비가 없어도 시뮬레

이터 기능만으로도 개발이 가능해진다.

MPLAB ICD2

이 모드는 ICD2 (IN-CIRCUIT DEBUGGER 2 ) 디버거 장비를 사용

할 때 선택하여야 하는 모드이다.

MPLAB ICE2000

ICE2000 장비는 마이크로칩에서 생산되는 8 비트 PIC 마이콤

전용 개발 에뮬레이터이며 이 장비는 dsPIC 제품은 사용이 불가능하다.

따라서 개발을 위하여 외부에 ICE2000 장비를 연결하였을때는 이 모드

를 선택 하여야 한다.

단 ICE2000 장비는 외부 메모리 인터페이스 기능은 지원이 되지

않는다.

MPLAB ICE4000

ICE4000 장비는 마이크로칩 제품중 PIC18F 시리즈와 dsPIC 제품만

사용이 가능한 에뮬레이터이며 외부메모리 인터페이스가 가능하다.

따라서 외부에 ICE4000 을 연결 하였을때는 이 MPLAB ICE4000 모드

를 선택 하여야만 한다. ICE4000 은 외부 메모리 억세스 기능을 지원하

는 MDS 이다

장비가 외부에 연결이 되지 않았으므로 MPLAB SIM 모드를 선택 하기로 하자.

Page 25: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

PIC 마이컴 30 일 완성

: 프로그램을 실행 시키는 아이콘이다.

: 프로그램이 실행되는 도중에 프로그램을 멈추게 하는 아이콘이다

: 에니메이션 아이콘으로 이 아이콘을 클릭하면 천천히 자동적으로

프로그램이 수행 되는 과정을 보여 준다

: 프로그램를 한 스텝, 한스텝 수행시키는 아이콘이다.

: 위의 아이콘과 같이 프로그램을 한스텝씩 실행 시키는 것은

같으나 아이콘은 CALL 과 같은 명령을 수행시 그 CALL 루틴으로

점프하여 프로그램을 한 스텝씩 수행 시키지만 아이콘은 CALL 루틴

을 프로그램 스스로 수행이 된후 CALL 다음의 명령이 수행된다는

차이점이 있다.

: 이 아이콘은 서브 루틴으로 점프하여 갔을 때 바로 서브 루틴으로부터

빠져 나게게끔 하는 아이콘이다

: 프로그램을 초기화 (리셋 ) 시키는 아이콘이다.

Page 25

Page 26: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

Page 26 PIC 마이컴 30 일 완성

10. 프로그램의 실행과 멈춤

A. 아이콘을 클릭 하여 프로그램을 초기화 시킨다. 그러면 커서가 프로그램 메모리

0 번지로 점프 하는 것을 볼수 있다

B. 아이콘을 이용 프로그램을 실행 시킨다. 실행이 되면 화면 좌측 하단에 실행

커서가 나타나면서 현재 프로그램이 실행 중임을 나타낸다

Page 27: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

PIC 마이컴 30 일 완성

C. 아이콘을 이용 프로그램을 멈춘다

D. 아이콘과 아이콘을 클릭 하면서 프로그램을 한스텝, 한스텝 실행

시켜 보자

Page 27

Page 28: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

Page 28 PIC 마이컴 30 일 완성

11. 각종 레지스터의 확인

A. FILE 레지스터의 확인

File 레지스터란 PIC16F877A 마이컴 내부에 있는 데이터 메모리를 의미 하며

사용자가 디버깅시에 이러한 레지스터의 값을 보기를 원하는 경우에 필요 하게 된다

*** 메뉴에서

View File Registers 클릭

Page 29: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

PIC 마이컴 30 일 완성

B. SFR ( Special Function Register) 의 확인

SFR 레지스터란 PIC16F877A 마이컴 내부에 있는 여러 하드웨어 모듈들이 사용

하는 레지스터를 말하며 사용자가 임의의 용도로는 사용이 불가능하다

그러나 이러한 SFR 레지스터의 값들을 체크 하면서 사용자가 소스 코드를 디버깅을

할수 있으므로 상당히 중요한 레지스터들이라 할수 있다

*** 메뉴에서

View Special Funtion Register 클릭

Page 29

Page 30: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

Page 30 PIC 마이컴 30 일 완성

C. 프로그램 메모리의 확인

마이컴 내부의 프로그램 메모리를 확인 하는 과정 역시 매우 중요하다. 어떻게 hex

코드가 생성이 되었는지를 이 프로그램 메모리의 확인을 통하여 알수가 있다

*** 메뉴에서

View Program Memory 클릭

Page 31: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

PIC 마이컴 30 일 완성

D. 마이컴 내부의 EEPROM 데이터의 확인

마이컴 내부의 EEPROM 데아터 메모리의 내용을 확인 하는 경우에 사용이 된다

*** 메뉴에서

View EEPROM 클릭

Page 31

Page 32: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

Page 32 PIC 마이컴 30 일 완성

E. 소스 코드의 LIST 파일을 확인 하고자 하는 경우

어셈블을 완료 하였을 경우 어떻게 어셈블이 되었는지 LIST 파일을 확인 하여 보

고자 할 때 이용이 된다

*** 메뉴에서

View Disassembley Listing 클릭

Page 33: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

PIC 마이컴 30 일 완성

F. WATCH 윈도우를 통한 디버깅

소스 코드를 디버깅 하는 경우 많은 레지스터를 확인 하여야 하는 경우가 발생이

된다. 이때 각각의 레지스터 창을 열어 확인 하는 경우는 상당히 불편하다.

따라서 자주 이용이 되는 레지스터들만 모아서 WATCH 윈도우에 모아 놓고 확인

하면 상당히 간편하게 디버깅을 할수 있다는 장점이 있다

*** 메뉴에서

View Watch 클릭

Page 33

Page 34: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

Page 34 PIC 마이컴 30 일 완성

또한 앞장의 WATCH 윈도우에 있는 PORTB 레지스터의 값을 보면 0X4A 로

16 진수로 표시가 되어 있는 것을 확인 할 수가 있을 것이다. 그러나 상황에 따라서

이 값을 2 진수 혹은 10 진수의 값으로 확인 하는 경우가 더 편할 수가 있으므로 이를

바꾸어 보도록 하자

바꾸는 방법은 변환 시켜 보고자 하는 레지스터에 마우스를 놓고 마우스의 오른쪽

버튼을 누르면 Properties 란 메뉴가 있는데 이를 클릭 하여 2 진수 혹은 10 진수

그리고 16 진수로 사용자가 보기 편한 진수를 선택 하여 볼수가 있다

Page 35: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

PIC 마이컴 30 일 완성

G. 트레이스 메모리의 혹인

트레이스 메모리란 현재 어떤 과정으로 프로그램이 진행이 되었는지를 확인 하고자

할 때 이용이 되는 창이며 이를 이용 효율적으로 디버깅이 가능하다

*** 메뉴에서

View Simulator Trace 클릭

Page 35

Page 36: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

Page 36 PIC 마이컴 30 일 완성

12. 브레이크 포인터의 설정 및 이용방법

브레이크 포인트란 프로그램의 실행시 어떤 루틴으로 프로그램이 실행이 되는지를

확인 하고 싶을 때 이용이 된다.

일반적으로 브레이크 포인트에는 ROM 브레이크 포인트와 RAM 브레이크 포인트

가 있는데 가장 일반적으로 사용이 되고 있는 것이 ROM 브레이크 포인트이다.

ROM 브레이크 포인트를 설정 하는 방법은 프로그램 상에서 브레이크를 설정 하

고 싶은 장소로 마우스를 클릭한후 마우스의 오른쪽 버튼을 누르면 “SET BREAK

POINT” 란 메뉴가 있다. 이를 클릭하면 원하는 프로그램 메모리상에 란 마크

가 표시 될 것이다.

브레이크 포인트를 해제 하고 싶은 경우에는 다시 한번 마우스의 오른쪽 버튼을

클릭하면 “REMOVE BREAK POINT”가 나타나는데 이를 클릭하면 브레이크 포

인터가 해제가 된다.

브레이크 포인트를 설정하는 손쉬운 방법은 원하는 프로그램 메모리상에 마우스를

위치 시키고 더블-클릭을 하면 브레이크 포인트가 설정이 된다. 또한 브레이크

포인트의 해제 역시 현재 설정 되어 있는 위치에 마우스를 위치시키고 더블-클릭을

하면 해제가 된다.

Page 37: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

PIC 마이컴 30 일 완성

13. STOP WATCH 기능의 사용

프로그램을 작성을 하다가 보면 어떤 구간에 소요된 시간 계산을 할 필요가 있는데

이때 사용 하는 기능이 STOPWATCH 기능이다.

*** 메뉴에서

Debugger Stop Watch 클릭

아래 화면에서 두개의 브레이크 포인터가 설정이 되어 있다.

예를들어서 “CLRF PORTB” 명령에서부터 “NOP” 명령까지의 수행 시간을 계산

하여 보면 아래와 같이 STOP WATCH 란에 소요된 시간이 표시될 것이다.

Page 37

Page 38: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

Page 38 PIC 마이컴 30 일 완성

앞의 그림을 보면 4MHz 오실레이터를 사용 하고 있는 상황에서 2 실행 사이클에

소요 시간은 2usec 의 시간이 소요 되었음을 확인 할 수 있을 것이다.

위의 프로그램은 너무 간단하여 그의미가 다소 퇴색이 되지만 프로그램이 복잡해

지면 STOP WATCH 기능은 아주 유용하게 사용이 될것이다.

또한 특히 STOP WATCH 기능이 많이 사용이 되는 부분은 타이머 인터럽트 기능

을 사용 할때이다.

타이머 인터럽트가 사용자가 셋팅하여 놓은 시간마다 발생 하는지를 체크 하기 위

해서는 인터럽트 부분에 브레이크 포인터를 설정 한후 STOP WATCH 화면을

ON 시켜 놓고 프로그램을 실행시키면 브레이크가 걸리게 되며 STOP WATCH

화면에 그 시간이 표시가 되기 때문에 정확한 디버깅이 가능해 진다.

주의 사항: 이러한 STOPWATCH 기능은 오직 소프트웨어 시뮬레이터 모드에서만

지원이 되며 ICD2 를 사용 하거나 MPLAB ICE2000 을 사용 하는 경우에는 지원이

되지 않음을 유의 하기를 바란다

Page 39: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

PIC 마이컴 30 일 완성

14. 시뮬레이터모드에서 주파수의 변경

사용하고자 하는 오실레이터의 주파수를 변경 하고자 할 때

*** 메뉴에서

Debugger Setting 클릭

위의 화면은 현재 오실레이터로 4MHz 를 사용하고 있다는 것을 보여 주고 있으며

만약 이를 20MHz 로 변경 시키고 싶다면 4 대신 20 을 넣으면 되는것이다

Page 39

Page 40: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

Page 40 PIC 마이컴 30 일 완성

15. 화면 정리

복잡하게 보이는 화면을 보기 좋게 정리 하기 위해서는

*** 메뉴에서

Window Tile Vertically 혹은 Tile Horizontally 클릭

Page 41: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

PIC 마이컴 30 일 완성

Page 41

MPLAB ICD2 의 사용

MPLAB ICD2 (IN-CIRCUIT DEBUGGER2) 개발 장비는 저렴한 가격대의 마이크로칩

인-서킷 디버거이다. 즉 사용자고자 하는 마이컴을 보드에 부착한 상태에서 디버깅 및

롬-라이팅을 하여 테스트 하여 볼수 있는 장비이다.

MPLAB ICD2 는 PC 와 RS-232 연결 또는 USB 로 연결이 되는데 만약 USB

로 연결하여 사용 하는 경우는 처음 한번은 반드시 USB 드라이버를 인스톨 하여

주어야 한다.

따라서 MPLAB ICD2 를 USB 케이블을 이용 PC 에 연결 하여 놓은 상태에서

*** 시작 제어판 하드웨어 장치 관리자 범용 직렬 버스 콘트롤러

에 Microchip MPLAB ICD2 Firmware Client 라는 드라이버가 인스톨이 되어 있지

않다면 먼저 MPLAB ICD2 USB 드라이버를 설치 해 주어야만 한다

지금부터는 윈도우가 XP 일때 USB 드라이버를 인스톨 하는 과정에 대해서 설명하도록

하겠다.

Page 42: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

Page 42 PIC 마이컴 30 일 완성

Page 43: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

PIC 마이컴 30 일 완성

1. MPLAB ICD2 드라이버의 설치

먼저 MPLAB ICD2 를 USB 케이블을 이용 하여 컴퓨터와 연결하면 컴퓨터는

자동적으로 아래 화면 처럼 새 하드웨어 검색 마법사창을 나타내개 된다

A. 목록 또는 특정 위치에서 설치 클릭

B. NEXT 클릭

Page 43

Page 44: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

Page 44 PIC 마이컴 30 일 완성

C. “검색 할 때 다음 위치 포함” 클릭

D. “찿아보기” 클릭

E. 패스를 C:\ Program Files \ Microchip \ MPLAB IDE \ ICD2

\ Drivers 선택후 확인 클릭

F. 다음 버튼 클릭

Page 45: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

PIC 마이컴 30 일 완성

G. 컴퓨터가 아래 그림처럼 검색을 시작 하여 펌-웨어를 찿음

H. 다음 버튼 클릭

Page 45

Page 46: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

Page 46 PIC 마이컴 30 일 완성

I. 컴퓨터가 자동적으로 소프트웨어를 설치 한다

J. 계속 버튼 클릭

Page 47: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

PIC 마이컴 30 일 완성

K. 설치를 계속 한다

L. 만약 필요한 파일이 필요 하다는 메시지가 나타나면 찿아 보기 버튼을

클릭하여 이전과 마찬 가지로 C:\ Program Files \ Microchip

\ MPLAB IDE \ ICD2 \Drivers 및으로 연결 시킨다

Page 47

Page 48: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

Page 48 PIC 마이컴 30 일 완성

M. 설치를 계속한다

N. 설치가 완료되었다

Page 49: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

PIC 마이컴 30 일 완성

O. MPLAB ICD2 드라이버 설치가 제대로 완료 되었는지를 확인 하기

위하여

*** 시작 제어판 하드웨어 장치 관리자 범용 직렬 버스 콘트롤러

Page 49

Page 50: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

Page 50 PIC 마이컴 30 일 완성

주의 사항

P. 만약 MPLAB ICD2 드라이버가 설치가 제대로 되지 않았으면 USB

케이블을 컴퓨터로부터 분리 시킨후 조금 있다가 다시 연결 하여 위와

같은 방법으로 재 설치 시켜 준다

Q. 또한 제대로 설치가 되었다 할지라도 컴퓨터에 따라서 하드웨어 마법사가

다시 설치 화면을 나타나는 경우가 있다. 이러한 경우에도 위와 같은 방법

으로 다시 설치 하여 주면 된다

Page 51: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

PIC 마이컴 30 일 완성

2. MPLAB IDE 에서 ICD2 사용 방법

디버거 모드로 사용 하는 경우

컴퓨터 화면상의 MPLAB IDE 아이콘인 아이콘을 클릭하여 MPLAB IDE

화면으로 들어 간다

Page 51

Page 52: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

Page 52 PIC 마이컴 30 일 완성

A. 사용할 마이컴의 선택

*** 메뉴에서

Configure Select device 클릭

하면 아래와 같은 화면이 나타나는데 여기서 PIC16F877A 를 클릭 하도록

하자

Page 53: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

PIC 마이컴 30 일 완성

B. 프로젝터의 생성

*** 메뉴에서

Project New.. 클릭

한후 아래와 같은 화면에서 프로젝트명과 Browse 버튼을 클릭하여 그 프로젝트 파일을

위치 시킬 디렉토리를 지정함

Page 53

Page 54: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

Page 54 PIC 마이컴 30 일 완성

아래 처럼 BABO 라는 프로젝트가 생성 되었슴

Page 55: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

PIC 마이컴 30 일 완성

C.사용할 언어의 선택

*** 메뉴에서

Project Select language toolsuite.. 클릭

한후 아래와 같은 화면에서 마이크로칩 어셈블러인 Microchip MPASM toolsuite 를

클릭 하도록 하자. 만약 C 언어를 사용 한다면 해당 회사의 C 컴파일러를 클릭

하도록 한다

Page 55

Page 56: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

Page 56 PIC 마이컴 30 일 완성

D. 프로그램의 작성

소스 프로그램을 작성 하기 위해서는

*** 메뉴에서

File New 클릭

한후 아래와 같이 프로그램을 작성해 보자

Page 57: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

PIC 마이컴 30 일 완성

E. 소스 프로그램의 저장

소스 프로그램을 저장 하기 위해서는

*** 메뉴에서

File Save as.. 클릭

한후 C:\Program files \ Microchip \ MPLAB IDE 밑으로 파일 이름을

babo.asm 으로 저장 시킨다

Page 57

Page 58: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

Page 58 PIC 마이컴 30 일 완성

F. 프로젝트 창에 소스 프로그램의 연결

프로젝트 창에 소스 파일을 연결 하기 위해서는 마우스를 프로젝트 창의 소스 파일 위치

에 같다 놓은 후 마우스의 오른쪽을 클릭 Add files 를 클릭 한 다음 조금전에 저장시

킨 C:\ Program files \ Microchip \ MPLAB IDE \ babo.asm 파일을 찾아 더블

클릭 하면 프로젝트 창에 babo.asm 파일이 연결이 되는 것을 볼수가 있다

Page 59: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

PIC 마이컴 30 일 완성

G. 옵션의 정의

사용 하는 옵션을 정의 하기 위해서는

*** 메뉴에서

Configure Configuration Bits 클릭

PIC16F877A 의 옵션에는 아래와 같은 것들이 있다

*** 오실레이터의 설정

- RC 오실레이터 : 외부에 RC 회로로 오실레이터를 구성 하였을때

- XT 오실레이터 : 외부에 최대 4MHz 까지의 레조레이터나 크리스털로

오실레이터 회로를 구성 하였을 때

- HS 오실레이터 : 외부에 최대 20MHz 까지의 레조레이터나 크리스털로

오실레이터 회로를 구성 하였을 때

- LP 오실레이터 : 외부에 최대 200KHz 까지의 레조레이터나 크리스털로

오실레이터 회로를 구성 하였을 때

Page 59

Page 60: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

Page 60 PIC 마이컴 30 일 완성

*** WDT ( Watch Dog Timer) 의 설정

WDT 란 프로그램이 수행 도중 프로그램 한곳에서 LOCKING 이 걸려서 비정상적으

로 동작이 될 때 마이컴을 강제적으로 리셋 시키는 기능이다

따라서 이 기능은 아주 조심스럽게 사용을 하여야 할것이다

*** PWRT (Power Up Timer) 의 설정

PWRT 란 최초 전원 투입시 마이컴 주변 하드웨어의 안정 타임을 제공 하는 타이머

로 인에이블이 되면 약 72msec 의 시간 지연을 제공 하는 기능이다

*** BOD (Brown Out detecter) 의 설정

BOD 기능이란 전원이 투입되어 프로그램이 수행중 외부 하드웨어 요인으로 인하여

마이컴 전원이 4V 이하로 내려 갔을 경우 시스템이 불안해 지므로 이때 마이컴을

리셋 시킬 것인지를 결정 하는 옵션 사항이다

*** LVP ( Low Voltage Program) 의 설정

LVP 기능이란 보통 마이컴을 롬-라이팅을 하기 위해서는 마이컴 VPP 핀에 약 13V

이상의 전압이 공급 되어야만 가능 한데 LVP 기능을 사용 하면 5V 에서도 마이컴

롬-라이팅을 하수가 있다. 그러나 이 기능이 사용이 되면 마이컴 핀중에 PGM 핀은

일반 I/O 핀으로 사용 할 수가 없슴을 유의 하여야만 한다.

또한 옵션에서 이 기능을 인에이블 시킨 상태에서 롬-라이팅을 하기 위해서는 PGM

핀에 5V 를 공급 함으로서 가능해 진다

*** FLASH PROGRAM WRITE

이 기능은 마이컴 내부의 플래시 메모리의 라이트 프로텍트를 실행 시키는 옵션이다

*** DATA EE READ PROTECT

이 기능은 외부에서 마이컴 내부의 EEPROM 의 내용을 읽지 못하도록 하는

기능이다

*** CODE PROTECT

이 기능은 다른 사람이 마이컴 내부의 프로그램 메모리의 내용을 읽어 보지 못하도록

하는 기능이며 반드시 제품 양산시에는 이 CODE PROTECT 기능을 인에이블 하여

롬-라이팅을 하여야 한다

Page 61: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

PIC 마이컴 30 일 완성

TEST 를 위하여 아래 옵션처럼 셋팅 하도록 하자

오실레이터 : XT

WDT : OFF

POWER UP TIMER : ON

BROWN OUT DETECTER: OFF

LOW VOLTAGE PROGRAM: DISABLE

FLASH PROGRAM WRITE: WRITE PROTECTION OFF

DATA EE READ PROTECT: OFF

CODE PROTECT : OFF

Page 61

Page 62: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

Page 62 PIC 마이컴 30 일 완성

H. 작성된 프로그램 어셈블

작성된 프로그램을 마이컴이 인식 할수 있는 기계어로 바꾸는 과정을 어셈블이라

하며 이는

*** 메뉴에서

Project Build All 클릭

혹은 아이콘 클릭

Page 63: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

PIC 마이컴 30 일 완성

어셈블이 완료 되면 반드시 반드시 BUILD SUCCEED 란 메시지가 나와야만 어셈블이

정상적으로 이루어짐을 의미한다

만약 BUILD 가 FAIL 이란 메시지가 나타나면 프로그램 상에 오류가 발생 한 것

이므로 이때에 어떤 곳에서 오류가 있는지를 확인하기 위해서는 OUTPUT 의

화면상에서 ERROR 가 발생한 곳에 마우스를 위치 시킨후 더블-클릭을 하면 자동

적으로 오류가 발생한 프로그램으로 점프하는데 이는 프로그램상에서 어느곳에서

오류가 발생 하였는지를 쉽게 찿게 해 준다.

반드시 이러한 에러는 프로그램을 수정 하여 고친후 다시 어셈블을 하여 반드시

BUILD SUCCEEDED 란 메시지가 나오도록 하여야만 한다

Page 63

Page 64: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

Page 64 PIC 마이컴 30 일 완성

마이크로칩 PIC 마이컴을 어셈블 하였을 때 나타나는 문구는 아래와 같다

*** error : 이 것은 어셈블시 틀린 부분을 나타내 주는 것으로 반드시 소스코드를

수정하여 해결 해 주어야 한다

*** warning : 이것은 프로그램을 실행하는 것에는 아무런 상관이 없지만 가능한

소스코드를 수정하여 해결해 주는 것이 좋다.

*** massage : 이것은 사용자에게 다시한번 remind 를 시켜주는 용도로 사용이

되며 이러한 메세지가 나타나는 것은 소프트웨어 동작과 아무런 상관이 없다.

즉 사용자에게 다시한번 확인을 하라는 의미이며, 예를들어

소스 코드중에

BSF STATUS,RP0

CLRF TRISB

BCF STATUS,RP0

이러한 구문이 들어 있을 경우 어셈블하면 CLRF TRISB 에 massage 가 나타난

다. 왜냐하면 TRISA 라는 레지스터는 BANK0 가 아니라 BANK1 에 있기

때문에 사용자에게 다시 한번 정확하게 사용 했는지 확인을 하라는 의미에서

massage 형태로 나타나게 되는 것이다

Page 65: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

PIC 마이컴 30 일 완성

I. 사용 모드의 선택

작성된 소스 코드의 어셈블 작업이 완료 되었으므로 이제는 사용 하고자 하는 모드를

선택 하여야 하는데 모드 선택 방법은

*** 메뉴에서

Debugger Select Tool 클릭 MPLAB ICD2 클릭

Page 65

Page 66: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

Page 66 PIC 마이컴 30 일 완성

NONE

아무런 동작 모드도 아니다

MPLAB SIM

소프트웨어 시뮬레이션 모드이며 이 모드를 사용하여 프로그램의

디버깅을 할수 있으나 실시간으로 외부 하드웨어와 인터페이스하는

동작은 구현 시킬수가 없다. 그러나 각종 인터럽트의 수행도 가능하며

멀티-브레이크 포인트도 설정이 가능하기 때문에 프로그램 메모리

사이즈가 적은 경우에는 MDS(마이컴 개발 장비) 장비가 없어도 시뮬레

이터 기능만으로도 개발이 가능해진다.

MPLAB ICD2

이 모드는 ICD2 (IN-CIRCUIT DEBUGGER 2 ) 디버거 장비를 사용

할 때 선택하여야 하는 모드이다.

MPLAB ICE2000

ICE2000 장비는 마이크로칩에서 생산되는 8 비트 PIC 마이콤

전용 개발 에뮬레이터이며 이 장비는 dsPIC 제품은 사용이 불가능하다.

따라서 개발을 위하여 외부에 ICE2000 장비를 연결하였을때는 이 모드

를 선택 하여야 한다.

단 ICE2000 장비는 외부 메모리 인터페이스 기능은 지원이 되지

않는다.

MPLAB ICE4000

ICE4000 장비는 마이크로칩 제품중 PIC18F 시리즈와 dsPIC 제품만

사용이 가능한 에뮬레이터이며 외부메모리 인터페이스가 가능하다.

따라서 외부에 ICE4000 을 연결 하였을때는 이 MPLAB ICE4000 모드

를 선택 하여야만 한다. ICE4000 은 외부 메모리 억세스 기능을 지원하

는 MDS 이다

MPLAB ICD2 모드를 선택 하기로 하자.

Page 67: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

PIC 마이컴 30 일 완성

아이콘을 클릭 하여 컴퓨터에 ICD2 를 연결 시키자. 그러면 아래와

같은 메시지가 나타나는데 이것은 현재 사용 하고 있는 MPLAB 버전과 ICD2 의

펌-웨어 버전이 틀려서 그런것이므로 “이창을 다시 표시 하지 않음” 에 클릭한후

OK 버튼을 클릭하여 새로운 펌-웨어를 ICD2 로 다운로드 시킨다

Page 67

Page 68: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

Page 68 PIC 마이컴 30 일 완성

그러면 아래와 같이 ICD2 로 새로운 펌-웨어가 다운로드 된다.

다운로드가 완료 되면 다시 한번 아이콘을 클릭하면 아래 그림처럼 현재 사

용 하고 있는 마이컴이 OUTPUT 창에 표시가 될것이다. 만약 OUTPUT 창이

보이지 않으면 VIEW OUTPUT 을 클릭하면 된다

Page 69: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

PIC 마이컴 30 일 완성

만약 USB 연결이 잘 되지 않은 경우는

*** 메뉴 : Debbuger Setting Communication 탭

을 클릭 하며 현재 연결이 USB 로 설정이 되어 있는 지를 확인 하여라

Page 69

Page 70: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

Page 70 PIC 마이컴 30 일 완성

J. HEX 파일의 다운로드

사용자는 프로그램 수정시 반드시 어셈블을 한후에 버튼을 이용 하여 새로운

HEX 파일을 다운로드 시켜 주어 Programming Suceeded 란 메시지가 나와야만

프로그래밍이 성공한것이다.

만약 verify 에러라든가 다른 에러 메시지가 나오면 프로그래밍이 정상적으로 된것이

아니므로 옵션을 체크 하여 본다던가 전원을 다시 투입하여 본다든지 하는 MPLAB

소프트웨어를 다시 기동시켜 보거나 하는 작업이 수반 되어야만 한다

Page 71: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

PIC 마이컴 30 일 완성

K. 프로그램의 디버깅

이제는 MPLAB IDE 소프트웨어 부분에서 설명한

와 같은 아이콘들을 사용하여 디버깅을 하여 보도록 하자

: 프로그램을 실행 시키는 아이콘이다.

: 프로그램이 실행되는 도중에 프로그램을 멈추게 하는 아이콘이다

: 에니메이션 아이콘으로 이 아이콘을 클릭하면 천천히 자동적으로

프로그램이 수행 되는 과정을 보여 준다

: 프로그램를 한 스텝, 한스텝 수행시키는 아이콘이다.

: 위의 아이콘과 같이 프로그램을 한스텝씩 실행 시키는 것은

같으나 아이콘은 CALL 과 같은 명령을 수행시 그 CALL 루틴으로

점프하여 프로그램을 한 스텝씩 수행 시키지만 아이콘은 CALL 루틴

을 프로그램 스스로 수행이 된후 CALL 다음의 명령이 수행된다는

차이점이 있다.

: 이 아이콘은 서브 루틴으로 점프하여 갔을 때 바로 서브 루틴으로부터

빠져 나게게끔 하는 아이콘이다

: 프로그램을 초기화 (리셋 ) 시키는 아이콘이다.

Page 71

Page 72: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

Page 72 PIC 마이컴 30 일 완성

ICD2 사용시 주의 사항

다음은 ICD2 의 하드웨어 셋팅에 대하여 알아보도록 하자

전원 연결 방법

ICD2 와 연결하여 사용 하는 Target Board 는 두가지의 Power Source 공급이 가능한데

그것은 ICD2 쪽으로부터 Power 를 공급 받아 사용하는 방법과 데모보드쪽으로 Power 직접

공급하여 사용하는 방법을 말한다.

1. ICD2 쪽으로부터 Power 를 공급 받는 경우

위의 경우는 약간의 제한이 있는데 사용하는 전류가 200mA 이하이어야 하며 또한 ICD2

쪽으로부터 공급 되는 전압은 5V 단일 전원 이기 때문에 Target 보드가 3V 전원을 사

용 하는 경우에는 주의가 요구 된다.

Page 73: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

PIC 마이컴 30 일 완성

2. Target Board 에 직접 Power 를 공급하여 사용 하는 경우

위의 경우는 직접 Target Board 에 Power 를 공급하여 사용하는 방법을 보여 주고 있다.

이때 주의 하여야 할 사항은 Target Board 에 Power 를 공급 하기전에 반드시 먼저 PC

와 ICD2 장비를 연결 시켜야만 안전하게 ICD2 를 사용 할수 있을 것이다.

이때 어떤 방식으로 전원을 연결 하여 사용 할지를 결정 하는 방법은

*** MPLAB 메뉴

Debugger Setting Power 탭을 클릭 하여 결정 한다

Page 73

Page 74: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

Page 74 PIC 마이컴 30 일 완성

그러면 이번에는 ICD2 와 Target 보드사이의 연결 하는 방법에 대하여 알아보자

전기적인 연결도

Page 75: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

PIC 마이컴 30 일 완성

Page 75

Page 76: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

Page 76 PIC 마이컴 30 일 완성

Target 보드를 연결하여 사용할때의 주의 사항은 아래와 같다.

1. MPLAB ICD2 를 디버거로 사용 하기 위해서는 반드시 오실레이터가

동작이 되어야만 한다

2. 앞에서 설명한 2 종류의 전원 공급중 하나를 선택하여야 한다

3. 디버깅 중에는 WDT(Watch Dog Timer) 는 반드시 disable 로 하여야 한다

4. 디버깅 중에는 모든 코드 프로텍트 기능을 반드시 disable 로 하여야 한다

5. 디버깅 중에는 모든 Table Read 프로텍션 기능을 반드시 disable 로 하여야 한다

6. ICD2 를 디버거로 사용 할 때 약간의 프로그램 메모리와 데이터 메모리는 사용

할수 없다

7. LVP(LOW VOLTAGE PROGRAMMING) 기능 또한 disable 로 하여야 한다

8. PLL 오실레이터로의 전환 시에는 반드시 Target 보드의 전원을 OFF 하여야 한다

9. 만약 사용하는 MCU 에 아날로그 전압 핀(Avdd/Agnd)이 있으면 반드시 적당하게

연결을 해 주어야만 한다

10. 오실레이터등 사용하고자 하는 용도에 맞게 여러 옵션 사항을 셋팅 하여야만 한다

Page 77: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

PIC 마이컴 30 일 완성

Target 보드 회로 구성시 주의 사항

이번에는 Target 보드 회로 구성시 주의 사항에 대하여 알아보자

1. PGC(클럭핀)/PGD(데이터핀)에 풀업 저항이 요구되지 않는다.

왜냐하면 MPLAB ICD2 내부에 4.7Kohm 풀-다운 저항이 연결이 되어 있으므로

만약 풀-업 저항을 사용하면 이 라인의 전압이 divide 되기 때문에 풀-업 저항을

사용 하여서는 안된다.

2. PGC(클럭핀)/PGD(데이터핀)에 콘덴서를 부착하면 안된다. 콘덴서를 부착하면

디버깅이나 롬-프로그래밍시에 데이터 라인과 클럭 라인의 변환을 용이롭게 하지

못하기 때문에 사용 하여서는 안된다.

3. /MCLR 라인에 콘덴서를 부착 하여서는 안된다. 이 또한 Vpp 의 전압 절환을 지연

시키기 때문에 부착 하여서는 안된다.

4. PGC/PGD 라인에 다이오드가 요구 되지 않는다. 왜냐하면 다이오드를 부착하면

ICD2 와 Target 보드사이에 양방향 통신을 할 수가 없기 때문에 다이오드를 부착

하여서는 안된다.

Page 77

Page 78: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

Page 78 PIC 마이컴 30 일 완성

ICD2 의 여러 제약

ICD2 를 디버깅 모드로 사용할 때 아래와 같은 제약점들이 있으나 ICD2 를 프로그래밍

툴로 사용 할때에는 이러한 제약 사항들이 사라지게 된다.

1. /MCLR/VPP 핀은 프로그래밍 핀과 리셋 제어핀으로 Share 된다.

2. LVP(Low Voltage Programming) 모드는 반드시 disable 되어야만 한다

3. PGC/PGD 핀은 디버깅 모드에서는 일반 I/O 로 사용 하지 못한다.

즉 RB6 와 RB7 핀은 ICD2 를 사용하여 디버깅시에는 일반 I/O 핀으로 사용

하지 못한다

4. 약간의 RAM(General Purpose Register) 는 사용 하지 못한다

5. PIC12FXXX 와 PIC16FXXX 마이컴 패밀리를 사용시에는 1 개의 STACK 을

사용 하지 못하며 PIC18FXXX 마이컴 계열을 사용 할때는 2 개의 STACK 을 사용

하지 못한다.

6. ICD2 를 디버깅 툴로 사용 할 때 프로그램 메모리의 상위 몇백 바이트는 사용하지

못한다

7. PIC18FXXX 마이컴을 사용 할 때 Shadow Register 가 사용이 된다

Page 79: 제 2일차 MPLAB IDE 및 ICD2 사용 방법eleparts.co.kr/data/goods_old/data/mplab_datas.pdf · 2015-04-23 · PIC 마이컴 30일 완성 7. 옵션의 정의 사용 하는 옵션을

PIC 마이컴 30 일 완성

Page 79