인텔 8051

인텔 8051은 1980년 발표된 8비트 마이크로컨트롤러로 8051계열을 통틀어 MCS 51이라 부른다. 8051은 컴퓨터 시스템의 기초적인 요소인
 CPU-코어(ACC와 B레지스터, ALU, 일반 레지스터 뱅크, SP,PC),
 포트, 타이머, 시리얼통신 등 하드웨어 모듈,
 메모리인 PROM과 SRAM 등을
한칩에 내장한 마이크로컨트롤러이다.

마이크로컨트롤러가 다양한 시스템에 적용해야 하기 때문에, 8051계열이 발전하면서 부가 하드웨어는 다양한 방식으로 변경 및 추가를 통해 여러 모델의 칩을 여러 제조사에서 제공한다. 경우에 따라 ADC, SPI 등의 하드웨어 모듈 등이 존재하는 8051 계열 칩도 존재한다. 이와 더불어 메모리도 EPROM 대신 플래시 방식으로, 그리고 EEPROM도 추가하는 경우도 있다.

1980년에서 1990년초까지 모뎀이나 타자기, 게임기등에 광범위하게 이용되었으며 지금도 Atmel, Infineon Technologies, Maxim Integrated Products, NXP, Winbond, ST Microelectronics, Silicon Laboratories, Texas Instruments, Cypress Semiconductor에서 다기능의 호환제품을 생산하고 있다.

인텔의 오리지널 8051은 NMOS공정으로 제작되었으나 후에 CMOS 공정으로 바꾸어 저전력의 배터리 전원 기기에 적용시킬 수 있었다. CMOS공정의 제품은 "C"를 붙여 80C51과 같이 표기한다.

8051의 기본 특징 

 32개의 입출력 라인으로 4개의 8bit 포트(포트 0, 1, 2, 3)
 2개의 16비트 타이머/카운터 (겸용)
 5개의 인터럽트
 2레벨의 인터럽트 우선 순위
 4kbyte 의 롬(OTP)
 128 x 8 bit 의 램
 풀 듀플렉스의 직렬 데이터 통신용 포트 내장
 불 대수(boolean) 연산 능력
 비트 단위의 어드레싱이 가능한 램
 외부에 64kbyte의 프로그램 메모리와 데이터 메모리 확장 가능
 111개의 명령어(60개는 싱글 사이클 동작)

위 기능 외에 MCS51로 분류되는 다른 칩들은 다양한 부가기능을 가진다.
 프로그램 보호를 위한 EPROM 보안 기능
 내부 플래시 메모리 사용으로 프로그램을 손쉽게 함

MCS 51 패밀리

개발도구 

컴파일 및 IDE는 여러회사에 만들어 판매한다.

 케일 8051 개발도구(Keil C51 Development Tools)
 8051계열의 다양한 MCU을 지원한다.지원 칩들

 IAR 개발도구 (IAR Embedded Workbench for 8051)
 소형소자 C 컴파일러 (SDCC, Small Device C Compiler)
 오픈소스이며 8051 뿐만 아니라 다양한 CPU도 지원한다.
 eclipseSDCC
 SDCC와 이클립스의 연동으로 IDE을 구성할 수 있다. 이클립스의 CDT에 eclipseSDCC 플러그인 설치를 통해 SDCC 컴파일러를 사용할 수 있다.

각주

외부 링크 
 인텔 MCS 51 시리즈
 Atmel의 8051 호환 마이크로컨트롤러
 Maxim의 8051 호환 마이크로컨트롤러
 Winbond의 8051 호환 마이크로컨트롤러
 Silicon Labs의 8051 호환 마이크로컨트롤러
 Cypress의 8051내장 USB컨트롤러
 TI의 8051 호환 마이크로컨트롤러
 Dolphin 의 8051 IP provider
 8051 명령어 요약(PDF)

마이크로컨트롤러