单片机,全称单片微型计算机(英语:Single-Chip Microcomputer),又称微控制器(Microcontroller),是把中央处理器、存储器、定时/计数器(Timer/Counter)、各种输入输出接口等都集成在一块集成电路芯片上的微型计算机。与应用在个人电脑中的通用型微处理器相比,它更强调自供应(不用外接硬件)和节约成本。它的最大优点是体积小,可放在仪表内部,但存储量小,输入输出接口简单,功能较低。由于其发展非常迅速,旧的单片机的定义已不能满足,所以在很多应用场合被称为范围更广的微控制器;由于单芯片微电脑常用于当控制器故又名single chip microcontroller,但是目前在中国大陆仍多沿用“单片机”的称呼。
概述绝大多数现在的单片机都是基于冯·诺伊曼结构的,这种结构清楚地定义了嵌入式系统所必需的四个基本部分:一个中央处理器核心,程序存储器(只读存储器或者闪存)、数据存储器(随机存储器)、一个或者更多的定时/计时器,还有用来与外围设备以及扩展资源进行通信的输入/输出端口——所有这些都被集成在单个集成电路芯片上。 说单片机与通用型中央处理单元芯片不同,是因为前者一般很容易配合最小型的外部支持芯片制成工作计算机。这样就可以很容易的把单片机系统植入装置内部来控制装置了。近年来为了在指令和数据上使用不同的字宽,并提高处理器流水线速度,哈佛结构在单片机(Microcontrollers)和数字信号处理器(Digital Signal Processor, DSP)也逐渐得到了广泛的应用。 传统的微处理器是不允许这么做的。它要完成单片机的工作,就必须连接一些其他芯片。比如说,因为芯片上没有数据存储器,就必须要添加一些RAM的存储芯片,虽然所添加存储器的容量很灵活,但是至少还是要添加。另外还需要添加很多连线来传递芯片之间的数据。与以上的情况相比,单片机的工作则相对独立,一个典型的单片机只需要一个时钟发生器和很少的RAM和ROM(或者EPROM, E2PROM)就可以在软件和晶振下工作了。同时,单片机具有丰富的输入输出设备,例如模拟数字转换器(Analog-to-Digital Converter, ADC),定时器,串口,以及其他串行通讯接口,比如I2C,SPI(串行周边接口),CAN(控制器局域网)等。通常,这些集成在内部的设备可以通过特殊的指令来操作。 单片机时钟频率通常较同时代的计算机芯片低,但它价格低廉,能够提供充足的程序存储器、丰富的片上接口。某些架构的单片机生产厂商众多,例如8051系列、Z80系列。一些现代的单片机支持一些内建的高级编程语言,比如BASIC语言、C语言、C++等。
常见的单片机微芯公司的PIC系列出货量居于业界领导者地位;Atmel的51系列及AVR系列种类众多,受支持面广;德州仪器的MSP430系列以低功耗闻名,常用于医疗电子产品及仪器仪表中;瑞萨单片机在日本使用广泛。 - AVR系列(爱特梅尔公司)
- Atmel AT91 series (ARM 处理器等)
- AT90 series – AVR (Atmel 的高性能RISC 8位单片机,老产品)
- ATmega series – AVR (Atmel 的高性能RISC 8 位单片机,新产品)
- ATXmega series – AVR (Atmel 的高性能RISC 32 位单片机,新产品)
- Atmel AT89 series (Intel 8051/MCS51 架构8位单片机)
- MARC4
- Cypress MicroSystems(赛普拉斯微系统公司)
- Freescale Semiconductor(飞思卡尔半导体)
- 8-bit
- 68HC05 (CPU05)
- 68HC08 (CPU08)
- 68HC11 (CPU11)
- 16-bit
- 68HC12 (CPU12)
- 68HC16 (CPU16)
- Freescale DSP56800 (DSPcontroller)
- 32-bit
- Freescale 683XX (CPU32)
- MPC500
- MPC 860 (PowerQUICC)
- MPC 8240/8250 (PowerQUICC II)
- MPC 8540/8555/8560 (PowerQUICC III)
- Holtek(盛群半导体)
- HT48FXX Flash I/O type
- HT48RXX I/O type
- HT46RXX A/D type
- HT49RXX LCD type
- Intel(英特尔)
- 8-bit
- 8XC42
- MCS48
- MCS51 : Intel 8051系列历史悠久,兼容产品众多,使用广泛
- 8xC251
- 16-bit
- 32-bit
- Microchip(微芯公司)的PIC单片机系列
- 8-bit : PIC10 PIC12 PIC16 PIC18
- 16-bit : PIC24F PIC24H dsPIC30 dsPIC33
- 32bit : PIC32 (采用MIPS M4K 核心架构)
- National Semiconductor(美国国家半导体)
- NXP Semiconductors(恩智浦半导体,由飞利浦以 Philips Semiconductors 为班底新成立)
- Renesas 瑞萨科技系列单片机
- Renesas 16-bits
- Renesas M16C Series
- Renesas M32C Series
- Renesas R8C Series
- Renesas M16C/Tiny Series
- Renesas R8C/Tiny Series
- Renesas H8/Tiny Series
- STMicroelectronics(意法半导体)
- STM32 series (ARM Cortex-M3 系列,32位)
- STM8 series (自主RISC指令集,8 位)
- SyncMOS 新茂国际科技全系列单片机
- SM59RXXA2 8-bits 1T(RISC)
- SM59DXXG2 8-bits 6T(ISP)
- SM59XX 8-bits 12T(ISP)
- SM89XX 8-bits 12T(Traditional 8051)
- SM79XX 8-bits 12T(Customization)
- PADAUK应广科技全系列单片机(多核心单片机)
- P201CS/CD 8-bits
- P211CS/CD 8-bits
- p232CS/CD 8-bits
- P234CS/CD 8-bits
- STC 宏晶系列单片机
- STC89C series 6T/12T增强性单片机 (Intel 8051架构,有外部总线)
- STC11F/11L series 2T 增强性单片机 (Intel 8051增强架构,无外部总线程序支持)
- STC12C/12LE series 2T 增强性单片机 (Intel 8051增强架构,无外部总线程序支持)
- STC15C/15LE series 2T 增强性单片机 (Intel 8051增强架构,无外部总线程序支持,正在开发中)
- Kernel-IC 华芯单片机 LS系列
- LSx051 series 12T 双核单片机(Intel 8051架构,无外部总线)
- LSx151 series 12T 三核单片机(Intel 8051架构,无外部总线)
- LS052A series 6T 三核单片机(Intel 8051架构,无外部总线)其他系列的单片机
- Msp430系列单片机
- 8098、80196系列单片机
- AT8P5X系列单片机
- CZG8000系列单片机
单片机的开发单片机的软件开发中,以往多使用汇编语言,如今越来越多的使用C语言,又或者使用BASIC语言等更适合初学者的语言,部分集成开发环境支持C++。单片机的软件测试需要使用单片机开发器或模拟器。 随着技术的发展,2000年后已经有很多单片机自带了ISP(在线编程设计)或支持IAP,彻底地改变了传统的开发模式,使得开发单片机系统时不会损坏芯片的引脚,加速了产品的上市并降低了研发成本,缩短了从设计、制造到现场调试的时间,简化了生产流程,大大提高了工作效率。这类单片机包括AT89S系列单片机、AVR系列单片机等。
硬件开发板可以进一步简化程序的开发和烧制过程。开发板可能包含实际芯片或是仿真器。通过配套的下载线连接电脑与开发板,在电脑上编写程序下载到开发板。批量生产会用到编程器。
软件开发环境一些知名的单片机开发环境有: - 微芯公司的 MPLAB IDE 可用于该公司全系列单片机的开发与除错,除支持该公司的 ASM 汇编器 C 语言编译器外,也支持许多第三方的编译器。
- ARM 公司的 μVision 集成开发环境(原为 Keil 公司产品,2005年该公司已由 ARM 购并),包含汇编器与 C 编译器,可用于51单片机及ARM开发。
|