为了使单片机能够自动完成某项特定的任务,必须把所要解决的问题编译成一系列的指令(这些指令必须是所选用的单片机能够识别并执行的指令),这一系列指令的集合就成为程序,而程序需要预先存放在一个具有存储功能的部件——存储器中。
内存是由很多个存储单元(最小的存储单元)组成的,就好比一栋大楼是由很多个房间组成的一样。指令就存放在这些单元里,取出单元里的指令就可以执行。就像一栋大楼里的每个房间都被分配了一个唯一的房间号一样,每个存储单元也必须被分配一个唯一的地址号,这个地址号就叫做存储单元的地址。这样,只要知道了存储单元的地址,就能够找到这个存储单元,取出里面存放的指令然后执行。
程序通常是按顺序执行的,因此程序中的指令也是按顺序存放的。单片机在执行程序时,必须能把这些指令逐条取出来执行,就必须有一个元件能跟踪指令的地址,这个元件就是程序计数器PC(包含在CPU内)。当程序开始执行时,PC被赋值为程序中第一条指令的地址,以后每执行一条命令,PC的内容就会自动增加,增加的数量由本条指令的长度决定,可能是1、2或3,以指向下一条指令的起始地址,保证指令的顺序执行。应用:单片机作为计算机发展的一个重要分支,根据发展情况,从不同的角度看,可以粗略地分为通用/专用、总线/非总线和工控/家电类。
通用型:这是根据单片机的应用范围来划分的。例如80C51型通用单片机,它不是为某一特定用途而设计的;专用型单片机则是为某一类产品甚至某一特定产品而设计生产的。例如为了满足电子体温计的要求,在芯片内集成了具有ADC接口等功能的测温控制电路。
总线类型:这是通过微控制器是否提供并行总线来区分的。
总线型微控制器一般都配有并行的地址总线、数据总线和控制总线,这些引脚用于扩展并行的外围设备,可以通过串口与微控制器连接。另外,很多微控制器已经把所需的外围设备和外围接口集成到一块芯片上,因此很多情况下不需要并行扩展总线,大大降低了封装成本和芯片体积。这种类型的微控制器称为非总线型微控制器。
控制类型:这是根据单片机的一般应用领域来划分的。一般来说,工业控制类型的单片机寻址范围大,运算能力强;家用电器中使用的单片机多为专用型,通常封装小,价格低,外围器件和外围接口的集成度高。显然,上述分类并不是唯一和严格的。
例如80C51类型的单片机既是通用型的,又是总线型的,还可以用于工业控制。