PIC의 기초

    Microcontroller를 사용하기 위하여 몇가지 기본적인 지식이 필요하다. 신호의 종류에 따라 Digital 신호와 Analog 신호로 나눌 수 있다. Digital 신호는 0 또는 1의 신호만을 사용하는 경우이며 Analog 신호는 연속된 신호를 의미한다. Microcontroller를 기준으로 신호의 흐름에 따라 Input, Output으로 나눌수 있다. Input의 경우 Microcontroller의 Pin으로 신호가 들어오는 방향이며, Output의 경우 Microcontroller에서 외부로 나가는 방향이다. 따라서 Digital, Analog 신호에 대한 Input, Output이 존재하여 크게 4개의신호에 대하여 알고 있어야 한다.

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


PIC16F18345의 모양과 핀 구조

PIC16F18345의 경우 위의 오른쪽 그림과 같이 A, B, 그리고 C와 같이 3개의 Digital I/O Port를 가지고 있다.
2. Digital Input
    Microcontroller를 사용하여 외부(Microcontroller외 주변 장치)의 Digital 신호를 받아 들이기 위하여 것(Input)을 이야기한다. 주변장치로는 켜지고 꺼짐을 위한 스위치, 빛의 유무를 알기 위한 CdS, 정확한 위치를 알기위하여 사용하는 Photo Interrupter, ..... 등 다양한 소자 및 센서들이 있다. 이러한 주변장치등의 출력 형태는 켜짐/꺼짐, 있음/없음 등 상태는 두가지가 존재하는 경우이다. 이러한 두가지 상태를 전기적인 신호(주로 전압)로 변환하여 Microcontroller의 Digital Iput Pin을 통하여 읽을 수 있다.

3. Digital Output
    Microcontroller를 사용하여 0 또는 1의 신호를 내는 것을 이야기하며, 0 또는 1의 신호는 Low High를 의미하기도 하며 전압의 경우 흔하게 0 V 와 5 V에 해당하며 또는 낮은 전압 높은 전압 두 경우가 존재사용합니다. 이러한 디지탈 신호를 사용하여 장치를 켜고 끄는 역할을 할 수 있다. 가장 간단한 테스트는 LED를 Digital Output Pin에 연결하고 코딩하여 LED를 켜고 끄는 것이 있다.

4. Analog Input
    온도, 압력, 습도, ...... 와 같은 물리적인 신호는 시간에따라 변화 할 수 있는 량으로 다양한 크기및 세기를 지니고 있다. 이러한 물리적 량을 측정하기 위하여 다양한 물리적 량의 신호를 Microcontroller 또는 다른 소자(주로 ADC)를 사용하여 받아 들이기 위한 것을 말하며, 주로 ADC(Analog to Digital COnverter)가 담당하여 아날로그 신호를 디지탈 신호로 변환한다. PIC Microcontroller의 경우 Microcontroller 내부에 10 Bit 또는 12 Bit의 ADC를 내장하고 있다. Digital Output, Digital Input의 경우 신호의 종류가 두가지(Low/High) 만 존재하는 것에 비하여, Analog Input의 경우 ADC에 따라 1024(10 bit), 4096(12bit), 65536(16bit), ... 등 으로 나루 수 있으며 사용 목적에 따라 적당한 ADC를 선택할 수 있다.

5. Analog Output
    Analog Output은 Microcontroller를 사용하여 디지탈 값을 전압신호로 변환하여 내보내는 것을 이야기 하며 주로 DAC(Digital to Analaog Converetr)를 사용하며 DAC 또한 사용하는 목적에 따라 12bit, 16bit, 24bit DAC를 사용한다.

참고:

     1. 포트(Port)의 이해
     2. MCU Port 확장하기 (74HC573)
     3. Interfacing