1.2 单片机内部主要结构
一台能够工作的计算机要有这样几个部分构成:CPU(进行控制、运算)、RAM(数据存储)、ROM(程序存储)、输入/输出设备(如串行口、并行输出口等)。在个人计算机上这些部分被分成若干块芯片,安装在一个称为主板的印制电路板上。而在单片机中,这些部分,全部被做到一块集成电路芯片中了,所以就称为单片(单芯片)机,而且有一些单片机中除了上述组成部分外,还集成了其他部分,如A/D,D/A等。单片机内部的基本结构如图1-1所示。
图1-1 单片机内部的基本结构
计算机是数字电子计算机的简称,顾名思义,计算机既是利用电路实现数字运算的装置,任何一台计算机的计算都是在中央处理器(Central Processing Unit,CPU)中进行的;同时,CPU还要实现计算机整个工作过程的控制和管理。CPU一次所能进行的数据最大长度(用二进制数来衡量)称为计算机的字长,单片机通常有4位、8位和16位这几种类型。
输入/输出接口(Input/Output Interface,I/O)是计算机与外界交换数据的通道,需要计算机处理的数据、计算机处理后的数据和控制命令(也是数字信号)都得通过I/O接口实现计算机与外部设备的交换。I/O接口可以分为两大类:并行接口和串行接口。
单片机中的存储器按作用来分,也可分为两大类:程序存储器和数据存储器。在单片机中,程序存储器通常使用只读存储器(Read Only Memory,ROM)。在ROM中,存储单片机要执行的程序、常数和表格。数据存储器通常使用随机读写存储器(Random Access Memory,RAM)。在RAM中,存储单片机要处理的数据、运算的中间数据和最终的结果等。
既然单片机是数字电子计算机,单片机所能处理的信号只能是“数字”。这句话有以下几个含义:
① 单片机所能处理的信号只能是“数字”,而且只能是由“0”和“1”两种信号组成的二进制数,其他任何需要单片机处理的信号最终都必须用(也必定能够用)二进制数表示。
②单片机所能执行的指令也只能是由“0”和“1”两种信号组成的二进制数。由二进制数表示的指令又称为机器码。由于机器码难懂、不易记,人们通常采用助记符来表示单片机的指令。助记符通常都是由表示指令所完成的功能英文单词缩略而成,因而用助记符表示单片机的指令比机器码要容易得多,参见《附录A标准8051单片机指令说明》。
③ 由①、②两条可知,单片机所执行的指令和数据都是由二进制数表示的,其运算也只能采用二进制。显然,CPU中的部件也只能是存储和运算(处理)数字电路,也就是存储器或称为寄存器的功能不仅仅是为了存储数据,而是有些“特殊”功能,如单片机中主要完成算术、逻辑运算的寄存器——累加器(Accumulator,ACC),控制程序运行的程序计数器(Program Counter,PC)等。所以,CPU中的这些存储器又称“特殊寄存器或专用寄存器(Specified Register)”。
④ 不仅如此,不管是并行I/O接口(Parallel Port)还是串行I/O接口(Serial Port),单片机也是通过读、写这些I/O接口的特殊寄存器与外部电路交换数据(信息)的。