설명을 통해 PIC 마이크로 컨트롤러 및 아키텍처에 대해 알아보기

문제를 제거하기 위해 도구를 사용해보십시오





PIC는 주변기기 인터페이스 마이크로 컨트롤러 1993 년에 General Instruments 마이크로 컨트롤러에 의해 개발되었습니다. 소프트웨어에 의해 제어되고 다른 작업을 수행하고 생성 라인을 제어하는 ​​방식으로 프로그래밍됩니다. PIC 마이크로 컨트롤러는 스마트 폰, 오디오 액세서리 및 고급 의료 기기와 같은 다양한 새로운 애플리케이션에 사용됩니다.

PIC 마이크로 컨트롤러

PIC 마이크로 컨트롤러



PIC16F84부터 PIC16C84까지 다양한 PIC가 시장에 나와 있습니다. 이러한 유형의 PIC는 저렴한 플래시 PIC입니다. Microchip은 최근 16F628, 16F877 및 18F452와 같은 다양한 유형의 플래시 칩을 출시했습니다. 16F877은 기존 16F84의 가격보다 두 배나 비싸지 만 더 많은 RAM과 훨씬 더 많은 I / O 핀, UART, A / D 컨버터 및 훨씬 더 많은 기능을 갖춘 코드 크기보다 8 배 더 많습니다.


PIC 마이크로 컨트롤러 아키텍처

그만큼 PIC 마이크로 컨트롤러 RISC 아키텍처를 기반으로합니다. 메모리 아키텍처는 프로그램과 데이터를위한 개별 메모리의 Harvard 패턴을 따르며 별도의 버스가 있습니다.



PIC 마이크로 컨트롤러 아키텍처

PIC 마이크로 컨트롤러 아키텍처

1. 메모리 구조

PIC 아키텍처는 프로그램 메모리와 데이터 메모리의 두 가지 메모리로 구성됩니다.

프로그램 메모리 : 이것은 4K * 14 메모리 공간입니다. 13 비트 명령어 또는 프로그램 코드를 저장하는 데 사용됩니다. 프로그램 메모리 데이터는 프로그램 메모리의 주소를 보유하는 프로그램 카운터 레지스터에 의해 액세스됩니다. 주소 0000H는 리셋 메모리 공간으로 사용되고 0004H는 인터럽트 메모리 공간으로 사용됩니다.

데이터 메모리 : 데이터 메모리는 368 바이트의 RAM과 256 바이트의 EEPROM으로 구성됩니다. 368 바이트의 RAM은 여러 뱅크로 구성됩니다. 각 뱅크는 범용 레지스터와 특수 기능 레지스터로 구성됩니다.


특수 기능 레지스터는 타이머와 같은 칩 리소스의 다양한 작업을 제어하는 ​​제어 레지스터로 구성됩니다. 아날로그-디지털 변환기 , 직렬 포트, I / O 포트 등. 예를 들어, 포트 A의 입력 또는 출력 동작을 변경하기 위해 비트를 변경할 수있는 TRISA 레지스터.

범용 레지스터는 임시 데이터를 저장하고 데이터의 결과를 처리하는 데 사용되는 레지스터로 구성됩니다. 이러한 범용 레지스터는 각각 8 비트 레지스터입니다.

작업 등록 : 각 명령어의 피연산자를 저장하는 메모리 공간으로 구성됩니다. 또한 각 실행의 결과를 저장합니다.

상태 레지스터 : 상태 레지스터의 비트는 명령을 실행할 때마다 ALU (산술 논리 장치)의 상태를 나타냅니다. 또한 RAM의 4 개 뱅크 중 하나를 선택하는데도 사용됩니다.

파일 선택 레지스터 : 다른 범용 레지스터에 대한 포인터 역할을합니다. 레지스터 파일 주소로 구성되며 간접 주소 지정에 사용됩니다.

또 다른 범용 레지스터는 13 비트 레지스터 인 프로그램 카운터 레지스터입니다. 5 개의 상위 비트는 PCLATH (프로그램 카운터 래치)로 사용되어 다른 레지스터와 독립적으로 작동하고 하위 8 비트는 프로그램 카운터 비트로 사용됩니다. 프로그램 카운터는 프로그램 메모리에 저장된 명령어에 대한 포인터 역할을합니다.

EEPROM : 256 바이트의 메모리 공간으로 구성됩니다. ROM과 같은 영구 메모리이지만 마이크로 컨트롤러가 작동하는 동안 내용을 지우고 변경할 수 있습니다. EEPROM의 내용은 EECON1, EECON 등과 같은 특수 기능 레지스터를 사용하여 읽거나 쓸 수 있습니다.

2. I / O 포트

PIC16 시리즈는 포트 A, 포트 B, 포트 C, 포트 D 및 포트 E와 같은 5 개의 포트로 구성됩니다.

포트 A : 16 비트 포트로 TRISA 레지스터의 상태에 따라 입력 또는 출력 포트로 사용할 수 있습니다.

포트 B : 입력 및 출력 포트로 모두 사용할 수있는 8 비트 포트입니다. 입력으로 사용되는 4 개의 비트는 인터럽트 신호에 따라 변경 될 수 있습니다.

포트 C : 작동 (입력 또는 출력)이 TRISC 레지스터의 상태에 의해 결정되는 8 비트 포트입니다.

포트 D : 8 비트 포트로 I / O 포트와는 별도로 연결을위한 슬레이브 포트 역할을합니다. 마이크로 프로세서 버스.

포트 E : A / D 컨버터에 대한 제어 신호의 추가 기능을 제공하는 3 비트 포트입니다.

3. 타이머

PIC 마이크로 컨트롤러는 3 개로 구성됩니다. 타이머 , Timer 0 및 Timer 2는 8 비트 타이머이고 Time-1은 16 비트 타이머로, 카운터 .

4. A / D 컨버터

PIC 마이크로 컨트롤러는 8 채널, 10 비트 아날로그-디지털 변환기로 구성됩니다. 의 운영 A / D 컨버터 특수 기능 레지스터 ADCON0 및 ADCON1에 의해 제어됩니다. 변환기의 하위 비트는 ADRESL (8 비트)에 저장되고 상위 비트는 ADRESH 레지스터에 저장됩니다. 작동을 위해 5V의 아날로그 기준 전압이 필요합니다.

5. 발진기

발진기 타이밍 생성에 사용됩니다. PIC 마이크로 컨트롤러는 크리스털 또는 RC 발진기와 같은 외부 발진기로 구성됩니다. 수정 발진기의 경우 수정은 두 발진기 핀 사이에 연결되고 각 핀에 연결된 커패시터의 값은 발진기의 작동 모드를 결정합니다. 다른 모드는 저전력 모드, 크리스탈 모드 및 고속 모드입니다. RC 발진기의 경우 저항기 및 커패시터의 값이 클록 주파수를 결정합니다. 클록 주파수 범위는 30kHz ~ 4MHz입니다.

6. CCP 모듈 :

CCP 모듈은 다음 세 가지 모드에서 작동합니다.

캡처 모드 : 이 모드는 신호 도착 시간을 캡처합니다. 즉, CCP 핀이 하이가 될 때 Timer1의 값을 캡처합니다.

비교 모드 : timer1 값이 특정 기준 값에 도달하면 출력을 생성하는 아날로그 비교기 역할을합니다.

PWM 모드 : 그것은 제공합니다 펄스 폭 변조 10 비트 분해능 및 프로그래밍 가능한 듀티 사이클로 출력합니다.

기타 특수 주변 장치로는 소프트웨어 오작동시 마이크로 컨트롤러를 재설정하는 워치 독 타이머와 전력 변동 등의 경우 마이크로 컨트롤러를 재설정하는 브라운 아웃 재설정이 있습니다. 이 PIC 마이크로 컨트롤러에 대한 더 나은 이해를 위해이 컨트롤러를 작동에 사용하는 하나의 실용적인 프로젝트를 제공합니다.

차량 움직임 감지시 빛을 발하는 가로등

LED 가로등 제어 프로젝트 고속도로에서 차량의 움직임을 감지하여 앞의 가로등 블록을 켜고 후행 등을 끄고 에너지를 절약하도록 설계되었습니다. 이 프로젝트에서 PIC 마이크로 컨트롤러 프로그래밍은 다음을 사용하여 수행됩니다. 임베디드 C 또는 어셈블리 언어.

차량 움직임 감지시 빛을 발하는 가로등

차량 움직임 감지시 빛을 발하는 가로등

전원 공급 장치 회로는 AC 주 전원 공급 장치를 스텝 다운, 정류, 필터링 및 조절하여 전체 회로에 전원을 공급합니다. 고속도로에 차량이 없으면 모든 조명이 꺼져있어 전력을 절약 할 수 있습니다. IR 센서는 차량의 움직임을 감지하여 도로 양쪽에 배치되어 마이크로 컨트롤러 LED를 켜거나 끕니다. 차량이 가까이 다가 오면 LED 블록이 켜지고 차량이이 경로를 벗어나면 강도가 낮아 지거나 완전히 꺼집니다.

그만큼 PIC 마이크로 컨트롤러 프로젝트 비디오 게임 주변 장치, 오디오 액세서리 등과 같은 다양한 응용 프로그램에서 사용할 수 있습니다.이 외에도 프로젝트에 대한 도움이 필요하면 댓글 섹션에 댓글을 달아 문의 할 수 있습니다.