인텔 8051
인텔 8051은 1980년 발표된 8비트 마이크로컨트롤러로 8051계열을 통틀어 MCS 51이라 부른다. 8051은 컴퓨터 시스템의 기초적인 요소인
- CPU-코어(ACC와 B레지스터, ALU, 일반 레지스터 뱅크, SP,PC),
- 포트, 타이머, 시리얼통신 등 하드웨어 모듈,
- 메모리인 PROM과 SRAM 등을
한칩에 내장한 마이크로컨트롤러이다.[1]
마이크로컨트롤러가 다양한 시스템에 적용해야 하기 때문에, 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 패밀리
| Mask ROM | ROM 없음 | EPROM | ROM 용량 | RAM 용량 | 타이머/카운터 | 인터럽트 | 제조 공정 | 외부 ROM & RAM |
|---|---|---|---|---|---|---|---|---|
| 8051 | 8031 | 8751 | 4096 | 128 | 2개 | 5개 | HMOS | 64kB |
| 8051AH | 8031AH | 8751H | 4096 | 128 | 2개 | 5개 | HMOS | 64kB |
| 80C51BH | 80C31BH | 87C51 | 4096 | 128 | 2개 | 5개 | CMOS | 64kB |
| 8052AH | 8032AH | 8752BH | 8192 | 256 | 3개 | 6개 | HMOS | 64kB |
| 80C52 | 80C32 | 87C52 | 8192 | 256 | 3개 | 6개 | CMOS | 64kB |
| 80C52FA | 80C32FA | 87C52FA | 8192 | 256 | 3개 | 6개 | CMOS | 64kB |
개발도구
컴파일 및 IDE는 여러회사에 만들어 판매한다.
- 케일 8051 개발도구(Keil C51 Development Tools)
- 8051계열의 다양한 MCU을 지원한다.지원 칩들
- IAR 개발도구 (IAR Embedded Workbench for 8051)
- 소형소자 C 컴파일러 (SDCC, Small Device C Compiler)
- 오픈소스이며 8051 뿐만 아니라 다양한 CPU도 지원한다.
- SDCC와 이클립스의 연동으로 IDE을 구성할 수 있다. 이클립스의 CDT에 eclipseSDCC 플러그인 설치를 통해 SDCC 컴파일러를 사용할 수 있다.
각주
- ↑ “8051 Family Data Sheet” (PDF) (영어). 《8051 사용 설명서》. Intel Co. January,1995. 2013년 9월 23일에 확인함.
외부 링크
- 인텔 MCS 51 시리즈
- Atmel의 8051 호환 마이크로컨트롤러
- Maxim의 8051 호환 마이크로컨트롤러
- Winbond의 8051 호환 마이크로컨트롤러
- Silicon Labs의 8051 호환 마이크로컨트롤러
- Cypress의 8051내장 USB컨트롤러
- TI의 8051 호환 마이크로컨트롤러
- Dolphin 의 8051 IP provider
- 8051 명령어 요약(PDF)
모듈:Authority_control 159번째 줄에서 Lua 오류: attempt to index field 'wikibase' (a nil value).
- 인용 오류 - 날짜
- CS1 - 영어 인용 (en)
- 스크립트 오류가 있는 문서
- 잘못된 파일 링크가 포함된 문서
- 위키데이터 속성 P18을 사용하는 문서
- 위키데이터 속성 P41을 사용하는 문서
- 위키데이터 속성 P94를 사용하는 문서
- 위키데이터 속성 P117을 사용하는 문서
- 위키데이터 속성 P154를 사용하는 문서
- 위키데이터 속성 P213을 사용하는 문서
- 위키데이터 속성 P227을 사용하는 문서
- 위키데이터 속성 P242를 사용하는 문서
- 위키데이터 속성 P244를 사용하는 문서
- 위키데이터 속성 P245를 사용하는 문서
- 위키데이터 속성 P268을 사용하는 문서
- 위키데이터 속성 P269를 사용하는 문서
- 위키데이터 속성 P271을 사용하는 문서
- 위키데이터 속성 P347을 사용하는 문서
- 위키데이터 속성 P349를 사용하는 문서
- 위키데이터 속성 P350을 사용하는 문서
- 위키데이터 속성 P373을 사용하는 문서
- 위키데이터 속성 P380을 사용하는 문서
- 위키데이터 속성 P396을 사용하는 문서
- 위키데이터 속성 P409를 사용하는 문서
- 위키데이터 속성 P428을 사용하는 문서
- 위키데이터 속성 P434를 사용하는 문서
- 위키데이터 속성 P435를 사용하는 문서
- 위키데이터 속성 P436을 사용하는 문서
- 위키데이터 속성 P454를 사용하는 문서
- 위키데이터 속성 P496을 사용하는 문서
- 위키데이터 속성 P549를 사용하는 문서
- 위키데이터 속성 P650을 사용하는 문서
- 위키데이터 속성 P651을 사용하는 문서
- 위키데이터 속성 P691을 사용하는 문서
- 위키데이터 속성 P716을 사용하는 문서
- 위키데이터 속성 P781을 사용하는 문서
- 위키데이터 속성 P791을 사용하는 문서
- 위키데이터 속성 P864를 사용하는 문서
- 위키데이터 속성 P865를 사용하는 문서
- 위키데이터 속성 P886을 사용하는 문서
- 위키데이터 속성 P902를 사용하는 문서
- 위키데이터 속성 P906을 사용하는 문서
- 위키데이터 속성 P947을 사용하는 문서
- 위키데이터 속성 P950을 사용하는 문서
- 위키데이터 속성 P966을 사용하는 문서
- 위키데이터 속성 P982를 사용하는 문서
- 위키데이터 속성 P1003을 사용하는 문서
- 위키데이터 속성 P1004를 사용하는 문서
- 위키데이터 속성 P1005를 사용하는 문서
- 위키데이터 속성 P1006을 사용하는 문서
- 위키데이터 속성 P1015를 사용하는 문서
- 위키데이터 속성 P1045를 사용하는 문서
- 위키데이터 속성 P1048을 사용하는 문서
- 위키데이터 속성 P1053을 사용하는 문서
- 위키데이터 속성 P1146을 사용하는 문서
- 위키데이터 속성 P1153을 사용하는 문서
- 위키데이터 속성 P1157을 사용하는 문서
- 위키데이터 속성 P1186을 사용하는 문서
- 위키데이터 속성 P1225를 사용하는 문서
- 위키데이터 속성 P1248을 사용하는 문서
- 위키데이터 속성 P1273을 사용하는 문서
- 위키데이터 속성 P1315를 사용하는 문서
- 위키데이터 속성 P1323을 사용하는 문서
- 위키데이터 속성 P1330을 사용하는 문서
- 위키데이터 속성 P1362를 사용하는 문서
- 위키데이터 속성 P1368을 사용하는 문서
- 위키데이터 속성 P1375를 사용하는 문서
- 위키데이터 속성 P1407을 사용하는 문서
- 위키데이터 속성 P1556을 사용하는 문서
- 위키데이터 속성 P1584를 사용하는 문서
- 위키데이터 속성 P1695를 사용하는 문서
- 위키데이터 속성 P1707을 사용하는 문서
- 위키데이터 속성 P1736을 사용하는 문서
- 위키데이터 속성 P1886을 사용하는 문서
- 위키데이터 속성 P1890을 사용하는 문서
- 위키데이터 속성 P1907을 사용하는 문서
- 위키데이터 속성 P1908을 사용하는 문서
- 위키데이터 속성 P1960을 사용하는 문서
- 위키데이터 속성 P1986을 사용하는 문서
- 위키데이터 속성 P2041을 사용하는 문서
- 위키데이터 속성 P2163을 사용하는 문서
- 위키데이터 속성 P2174를 사용하는 문서
- 위키데이터 속성 P2268을 사용하는 문서
- 위키데이터 속성 P2349를 사용하는 문서
- 위키데이터 속성 P2418을 사용하는 문서
- 위키데이터 속성 P2456을 사용하는 문서
- 위키데이터 속성 P2484를 사용하는 문서
- 위키데이터 속성 P2558을 사용하는 문서
- 위키데이터 속성 P2750을 사용하는 문서
- 위키데이터 속성 P2980을 사용하는 문서
- 위키데이터 속성 P3223을 사용하는 문서
- 위키데이터 속성 P3233을 사용하는 문서
- 위키데이터 속성 P3348을 사용하는 문서
- 위키데이터 속성 P3372를 사용하는 문서
- 위키데이터 속성 P3407을 사용하는 문서
- 위키데이터 속성 P3430을 사용하는 문서
- 위키데이터 속성 P3544를 사용하는 문서
- 위키데이터 속성 P3562를 사용하는 문서
- 위키데이터 속성 P3563을 사용하는 문서
- 위키데이터 속성 P3601을 사용하는 문서
- 위키데이터 속성 P3723을 사용하는 문서
- 위키데이터 속성 P3788을 사용하는 문서
- 위키데이터 속성 P3829를 사용하는 문서
- 위키데이터 속성 P3863을 사용하는 문서
- 위키데이터 속성 P3920을 사용하는 문서
- 위키데이터 속성 P3993을 사용하는 문서
- 위키데이터 속성 P4038을 사용하는 문서
- 위키데이터 속성 P4055를 사용하는 문서
- 위키데이터 속성 P4114를 사용하는 문서
- 위키데이터 속성 P4143을 사용하는 문서
- 위키데이터 속성 P4186을 사용하는 문서
- 위키데이터 속성 P4423을 사용하는 문서
- 위키데이터 속성 P4457을 사용하는 문서
- 위키데이터 속성 P4534를 사용하는 문서
- 위키데이터 속성 P4535를 사용하는 문서
- 위키데이터 속성 P4581을 사용하는 문서
- 위키데이터 속성 P4613을 사용하는 문서
- 위키데이터 속성 P4955를 사용하는 문서
- 위키데이터 속성 P5034를 사용하는 문서
- 위키데이터 속성 P5226을 사용하는 문서
- 위키데이터 속성 P5288을 사용하는 문서
- 위키데이터 속성 P5302를 사용하는 문서
- 위키데이터 속성 P5321을 사용하는 문서
- 위키데이터 속성 P5368을 사용하는 문서
- 위키데이터 속성 P5504를 사용하는 문서
- 위키데이터 속성 P5587을 사용하는 문서
- 위키데이터 속성 P5736을 사용하는 문서
- 위키데이터 속성 P5818을 사용하는 문서
- 위키데이터 속성 P6213을 사용하는 문서
- 위키데이터 속성 P6734를 사용하는 문서
- 위키데이터 속성 P6792를 사용하는 문서
- 위키데이터 속성 P6804를 사용하는 문서
- 위키데이터 속성 P6829를 사용하는 문서
- 위키데이터 속성 P7293을 사용하는 문서
- 위키데이터 속성 P7303을 사용하는 문서
- 위키데이터 속성 P7314를 사용하는 문서
- 위키데이터 속성 P7902를 사용하는 문서
- 위키데이터 속성 P8034를 사용하는 문서
- 위키데이터 속성 P8189를 사용하는 문서
- 위키데이터 속성 P8381을 사용하는 문서
- 위키데이터 속성 P8671을 사용하는 문서
- 위키데이터 속성 P8980을 사용하는 문서
- 위키데이터 속성 P9070을 사용하는 문서
- 위키데이터 속성 P9692를 사용하는 문서
- 위키데이터 속성 P9725를 사용하는 문서
- 위키데이터 속성 P9984를 사용하는 문서
- 위키데이터 속성 P10020을 사용하는 문서
- 위키데이터 속성 P10299를 사용하는 문서
- 위키데이터 속성 P10608을 사용하는 문서
- 위키데이터 속성 P10832를 사용하는 문서
- 위키데이터 속성 P11249를 사용하는 문서
- 위키데이터 속성 P11646을 사용하는 문서
- 위키데이터 속성 P11729를 사용하는 문서
- 위키데이터 속성 P12204를 사용하는 문서
- 위키데이터 속성 P12362를 사용하는 문서
- 위키데이터 속성 P12754를 사용하는 문서
- 위키데이터 속성 P13049를 사용하는 문서
- 마이크로컨트롤러