Port

PIC 8 Bit Microcontroller를 사용하기 위한 기본 내용

    Microcontroller에서 Port란 특정한 기능을 담당하는 Register(특정한 기능을 수행하는 기억장치)로 외부 핀과 연결되어있으며, PIC의 종류에따라 다양한 포트를 제공하고 있다. PIC는 6핀의 단순한 마이크로컨트롤러부터 64핀 이상의 다양한 종류의 마이크로컨트롤러를 제공하고 있다. Port는 Microcontroller의 종류에 따라 다르며 보통 Digital I/O(input Output) Port의 경우 하나당 8 비트(8개) 입출력 I/O 핀으로 이루어져있습니다. 또한 일부 핀들은 특수 기능을 할 수 있도록 되어있습니다. 따라서 PIC의 Port를 잘 사용하기 위하여 PIC 데이타시트를 참고하여야 한다.


PIC16F18345의 모양과 핀 구조

PIC16F18345은 오른쪽 그림과 같이 20 Pin 8 Bit Microcontroller로 A, B, 그리고 C와 같이 3개의 Digital I/O포트를 제공하고 있으며, 모든 Pin들은 Input 또는 Output으로 사용가능하다.

Port A는 6개의 I/O Pin (주황색, RA0, RA1, RA2, RA3, RA4, RA5)을,
Port B는 4개의 I/O Pin (노란색, RB0, RB1, RB2, RB3, RB4, RB5, RB6, RB7)을,
Port C는 8개의 I/O Pin (파란색, RC0, RC1, RC2, RC3, RC4, RC5, RC6, RC7)을 제공하고 있다.

각 Pin의 쓰임새를 정확하게 알고 사용하여야 한다.


    아래 표는 각 Pin에 대한 설명으로 Port A의 경우 모두 6개의 I/O 핀으로 이루어져 있으며, Pin 이름은 RA0, RA1, RA2, RA3, RA4, RA5로 되어있다. 각 이름에 해당하는 핀번호는 19, 18, 17, 4, 3, 2 으로 되어 있다. 표에서 볼 수 있듯이 Port A의 일부핀은 Digial Input/Output의 기능 이외에도 다른 기능을 할 수 있다. RA0의 경우 아래 표에서도 나와있듯이 ANA0의 기능을 할 수 있는데 Analog Input 0로 사용 가능하다. 또한 RA0와 RA1은 PICKit3와 연결할 수 있는 Pin으로 ICSPDATA와 ICSPCLK Pin으로도 사용한다. 따라서 PICKit3와 연결하여 프로그램을 이식하는 경우에 이핀을 사용하여야 한다.


PIC16(L)F18325/18345 Full-Featured, Low Pin Count MCUs with XLP Data Sheet


    Port B의 경우 모두 4개의 I/O 핀으로 이루어져 있고, 각 Pin 이름은 RB4, RB5, RB6, 그리고 RB7 이다. 각 I/O에 해당하는 Pin 번호는 13, 12, 11, 10 으로 할당되어 있다. 이중 RB5(RX)은 UART 통신의 위한 수신 Pin으로 할당되어있어 UART 통신에서 다른 장치에서의 신호를 받을 수 있는 Pin으로 사용할 수 있다

    포트 C의 경우 모두 8개의 I/O 핀으로 이루어져 있습니다. 각 Pin 이름은 RC0, RC1, RC2, RC3, RC4, RC5, RC6, 그리고 RC7 이다. 각 I/O에 해당하는 핀번호는 16, 15, 14, 7, 6, 5, 8, 9로 이루어져 있다.

    위의 표에서 볼수 있듯이 하나의 Pin은 하나만의 기능을 수행하는 것이 아니고 Pin에 따라 다른 기능을 할 수 있도록 구성되어있다.

참고:

     1. PIC16(L)F18325/18345 Full-Featured, Low Pin Count MCUs with XLP Data Sheet
     2. PIC16F887 입출력 포트