单片机

，是把中央處理器、存儲器、定時/計數器（）、各種輸入輸出接口等都集成在一塊-{zh-hans:集成电路; zh-hant:積體電路;}-芯片上的微型計算機。與應用在個人電腦中的通用型微處理器相比，它更強調自供應（不用外接硬件）和節約成本，整合程度更高，但因為規格已經包含，所能實現的功能也較專一。它的最大優點是體積小，可放在儀表內部，但存儲量小，輸入輸出接口簡單。由於其發展非常迅速，舊的定義已不能滿足，所以在很多應用場合被稱為範圍更廣的-{微控制器}-；由於單晶片微電腦常用於當控制器，故又名single chip microcontroller。

概述 
绝大多数现在的单片机都是基于冯·诺伊曼结构的，这种结构清楚地定义了嵌入式系统所必需的四个基本部分：一个中央处理器核心，程序存储器（只读存储器或者闪存）、数据存储器（随机存储器）、一个或者更多的定时/计数器，还有用来与外围设备以及扩展资源进行通信的输入/输出端口——所有这些都被集成在单个集成电路芯片上。

单片机与通用型中央处理单元芯片不同在于前者一般很容易配合最小型的外部支持芯片制成工作计算机，这样就可以很容易的把单片机系统植入装置内部来控制装置了。近年来为了在指令和数据上使用不同的字宽，并提高处理器线速度，哈佛结构在微控制器（Microcontrollers）和数字信号处理器也逐渐得到了广泛的应用。

传统的微处理器是不允许这么做的。它要完成单片机的工作，就必须连接一些其他芯片。比如说，因为芯片上没有数据存储器，就必须要添加一些RAM的存储芯片，虽然所添加存储器的容量很灵活，但是至少还是要添加。另外还需要添加很多连线来传递芯片之间的数据。与以上的情况相比，单片机的工作则相对独立，一个典型的微控制器只需要一个时钟发生器和很少的RAM和ROM（或者EPROM, E2PROM）就可以在软件和晶振下工作了。同时，微控制器具有丰富的输入输出设备，例如模拟数字转换器、定时器、串口，以及其他串行通讯接口，比如I2C，-{zh-tw:序列周邊介面;zh-cn:串行周边接口}-，-{zh-tw:控制器區域網路;zh-cn:控制器局域网}-等。通常，这些集成在内部的设备可以通过特殊的指令来操作。

单片机时钟频率通常较同时代的计算机芯片低，但它价格低廉，能够提供充足的程序存储器、丰富的片上接口。某些架构的单片机生产厂商众多，例如8051系列、Z80系列。一些现代的微控制器支持一些内建的高级编程语言，比如BASIC(培基)语言、C语言、C++等。

单片机的位元数 
根据匯流排或資料暫存器的宽度，单片机又分为4位元、8位元、16位元和32位元单片机。4位单片机多用于冰箱、洗衣机、微波炉、燈具等簡單的家电控制中；8位、16位单片机主要用于一般的控制领域，例如遙控器手把、空調、發動機等，一般不使用操作系统；32位用于网络操作、多媒体处理等复杂处理的场合，一般要使用嵌入式操作系统，例如電視、車機、監視器等產品。

常见的单片机 
生產這種產品的供應商眾多而且技術各有所長，微芯（Microchip）的PIC系列出货量居于业界领导者地位；Atmel的51系列及AVR系列种类众多，受支持面广，滿足各種場景的市場需求；德州仪器的MSP430系列以低功耗闻名，常用于医疗电子产品及仪器仪表中；瑞萨单片机在日本汽車業中使用广泛。

 英特尔
 8-bit 8051系列
 8XC42
 MCS48
 MCS51 : Intel 8051系列歷史悠久，相容產品眾多，使用廣泛
 8xC251
 16-bit
 MCS96系列
 MXS296
 32-bit
 i960

 ARM （Acorn RISC Machine）系列单片机

 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（赛普拉斯微系统公司）
 CY8C2xxxx (PSoC)

 飞思卡尔半导体
 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

 微晶片科技（微芯公司）的PIC微控制器系列
 8-bit : PIC10 PIC12 PIC16 PIC18
 16-bit : PIC24F PIC24H dsPIC30 dsPIC33
 32bit : PIC32 （採用MIPS M4K 核心架構）

 美國國家半導體
 COP8
 CR16

 NEC
 78K

 恩智浦半导体
 LPC2000
 LPC900
 LPC700

 Parallax, Inc.
 BASIC Stamp

 瑞萨科技系列单片机
 Renesas 16-bits
 Renesas M16C Series
 Renesas M32C Series
 Renesas R8C Series
 Renesas M16C/Tiny Series
 Renesas R8C/Tiny Series
 Renesas H8/Tiny Series

 意法半導體
 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

 ZiLOG
 Z8
 Z86E02

 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架构，无外部总线)

 新唐科技 Nuvoton NuMicro Family
 8051 单片机 (8-bits)
 ARM Cortex-M0 单片机 (32-bits)
 ARM Cortex-M4 单片机 (32-bits)

其他系列的单片机 
 MSP430系列单片机
 LM3S系列单片机
 北京君正 JZ系列单片机
 8098、80196系列单片机
 AT8P5X系列单片机
 CZG8000系列单片机

单片机的开发 
单片机的软件开发中，以往多使用汇编语言，如今越来越多的使用C语言，又或者使用BASIC语言等更适合初学者的语言，部分集成开发环境支持C++。单片机的软件测试需要使用单片机开发器或模擬器。

随着技术的发展，2000年后已经有很多单片机自带了ISP（在线编程设计）或支持IAP，彻底地改变了传统的开发模式，使得开发单片机系统时不会损坏芯片的引脚，加速了产品的上市并降低了研发成本，缩短了从设计、制造到现场调试的时间，简化了生产流程，大大提高了工作效率。这类单片机包括AT89S系列单片机、AVR系列单片机等。

硬件 
开发板可以进一步简化程序的开发和烧制过程。开发板可能包含实际芯片或是仿真器。通过配套的下载线连接电脑与开发板，在电脑上编写程序下载到开发板。批量生产会用到编程器。

软件開發環境 
一些知名的微控制器開發環境有：

 微芯公司的 MPLAB IDE 可用於該公司全系列微控制器的開發與除錯，除支持該公司的 ASM組譯器 C语言編譯器外，也支援許多第三方的編譯器。
 ARM公司的 μVision 整合開發環境（原為 Keil 公司產品，2005年該公司已由 ARM 購併），包含組譯器與 C編譯器，可用于51单片机及ARM开发。
 ARM公司的Mbed，可以使用線上IDE來開發。

PROTEUS 
Proteus软件是初学者入门的首选软件，它是Labcenter Electronics公司的一款商业版电路设计与仿真软件。內包括ISIS、ARES等软件模块。ARES模块主要用来完成PCB的设计，ISIS模块用来完成电路原理图的布图与仿真。

Proteus的软件仿真基于VSM技术，它与其他软件最大的不同也是最大的优势就在于能仿真大量的单片机芯片，比如MCS-51系列、PIC系列等等，甚至ARM处理器，以及单片机外围电路，比如键盘、LED、LCD等等。该软件还附带了一些案例和丰富的帮助文件。

参考文献

外部链接 
 SDCC - Small Device C Compiler - 一个支持多种微控制器的编译器自由软件
 一个免费提供单片机教程的网站

参见 
 微处理器、數位訊號處理器、单板机
 嵌入式操作系统
 系統單晶片
 工業電腦
 数字信号控制器

数字电子
嵌入式系统
微控制器
中央处理器