单片机

概述

绝大多数现在的单片机都是基于冯·诺伊曼结构的，这种结构清楚地定义了嵌入式系统所必需的四个基本部分：一个中央处理器核心，程序存储器（只读存储器或者闪存）、数据存储器（随机存储器）、一个或者更多的定时/计数器，还有用来与外围设备以及扩展资源进行通信的输入/输出端口——所有这些都被集成在单个集成电路芯片上。
说单片机与通用型中央处理单元芯片不同，是因为前者一般很容易配合最小型的外部支持芯片制成工作计算机。这样就可以很容易的把单片机系统植入设备内部来控制设备了。近年来为了在指令和数据上使用不同的字宽，并提高处理器线速度，哈佛结构在微控制器（Microcontrollers）和数字信号处理器也逐渐得到了广泛的应用。
传统的微处理器是不允许这么做的。它要完成单片机的工作，就必须连接一些其他芯片。比如说，因为芯片上没有数据存储器，就必须要添加一些RAM的存储芯片，虽然所添加存储器的容量很灵活，但是至少还是要添加。另外还需要添加很多连线来传递芯片之间的数据。与以上的情况相比，单片机的工作则相对独立，一个典型的微控制器只需要一个时钟发生器和很少的RAM和ROM（或者EPROM, E²PROM）就可以在软件和晶振下工作了。同时，微控制器具有丰富的输入输出设备，例如模拟数字转换器、定时器、串口，以及其他串行通讯接口，比如I²C，串行周边接口，控制器局域网等。通常，这些集成在内部的设备可以通过特殊的指令来操作。
单片机时钟频率通常较同时代的计算机芯片低，但它价格低廉，能够提供充足的程序存储器、丰富的片上接口。某些架构的单片机生产厂商众多，例如8051系列、Z80系列。一些现代的微控制器支持一些内建的高级编程语言，比如BASIC(培基)语言、C语言、C++等。

单片机的比特数

根据总线或数据寄存器的宽度，单片机又分为4位、8位、16位和32位单片机。4位单片机多用于冰箱、洗衣机、微波炉等家电控制中；8位、16位单片机主要用于一般的控制领域，一般不使用操作系统；32位用于网络操作、多媒体处理等复杂处理的场合，一般要使用嵌入式操作系统。

单片机的开发

单片机的软件开发中，以往多使用汇编语言，如今越来越多的使用C语言，又或者使用BASIC语言等更适合初学者的语言，部分集成开发环境支持C++。单片机的软件测试需要使用单片机开发器或模拟器。
随着技术的发展，2000年后已经有很多单片机自带了ISP（在线编程设计）或支持IAP，彻底地改变了传统的开发模式，使得开发单片机系统时不会损坏芯片的引脚，加速了产品的上市并降低了研发成本，缩短了从设计、制造到现场调试的时间，简化了生产流程，大大提高了工作效率。这类单片机包括AT89S系列单片机、AVR系列单片机等。

硬件

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

PROTEUS

Proteus软件是初学者入门的首选软件，它是Labcenter Electronics公司的一款商业版电路设计与仿真软件。内包括ISIS、ARES等软件模块。ARES模块主要用来完成PCB的设计，ISIS模块用来完成电路原理图的布图与仿真。
Proteus的软件仿真基于VSM技术，它与其他软件最大的不同也是最大的优势就在于能仿真大量的单片机芯片，比如MCS-51系列、PIC系列等等，甚至ARM处理器，以及单片机外围电路，比如键盘、LED、LCD等等。该软件还附带了一些案例和丰富的帮助文件。