总结单片机的基本概念
时间:2026-07-28
在电子技术领域,单片机作为一种关键的集成电路芯片,广泛应用于各种电子设备中。下面我们来深入总结一下单片机的基本概念。
单片机执行指令
当我们使用编程器将一条指令写入单片机内部,即便取下单片机,它仍能执行该指令。这意味着这条指令必然存储在单片机的某个特定区域,且该区域在单片机掉电后能确保指令不丢失,这个区域就是单片机内部的只读存储器(ROM,READ ONLY MEMORY)。以 89C51 为例,其中的 ROM 是一种电可擦除的 ROM,即 FLASH ROM。虽然我们可以借助编程器在特殊条件下对 ROM 进行写操作,但在单片机正常工作时,只能从 ROM 中读取数据,而不能写入,所以仍将其称为 ROM。
单片机数的本质和物理现象
计算机能够进行数学运算,这对于很多人来说难以理解,毕竟它们只是由电子元器件组成。以我们人类计算 37 + 45 为例,会先在纸上写下数字,然后通过大脑运算得出结果,运算的原材料和结果都记录在纸上。那么在计算机中,这些数据存放在哪里呢?为了解答这个疑问,我们可以做一个实验。一盏灯只有亮和不亮两种状态,我们可以用 “0” 和 “1” 分别代表这两种状态,规定亮为 “1”,不亮为 “0”。当放上三盏灯时,它们的状态组合有 000、001、010、011、100、101、110、111,这些组合就构成了我们所学的二进制数。实际上,灯的亮灭原本只是一种物理现象,但按照一定顺序排列后,就可以代表数字。进一步抽象来看,灯亮是因为输出电路输出高电平通电,所以灯的亮灭可以用电路输出的高、低电平来表示,这样数字就与电平的高低建立了联系。
单片机数位的含义
通过上述实验可知,一盏灯的亮灭或者一根线电平的高低能代表两种状态,即 0 和 1,这实际上就是一个二进制位。因此,我们将一根线称为一 “位”,用 BIT 表示。
单片机字节的含义
一根线可以表示 0 和 1,两根线能表达 00、01、10、11 四种状态,也就是可以表达 0 - 3;三根线可以表达 0 - 7。在计算机中,通常将 8 根线放在一起同时计数,就可以表示 0 - 255 共 256 种状态。这 8 根线或者 8 位就被称为一个字节(BYTE)。
单片机存储器的构造
存储器是用于存放数据的地方,它利用电平的高低来存储数据,实际上存储的是电平的高低,而非我们习惯认为的 1234 等数字。存储器就像一个个小抽屉,每个小抽屉里有八个小格子,每个小格子用于存放 “电荷”,电荷通过与之相连的电线传入或释放。我们可以将电线想象成水管,小格子里的电荷就像水,这样会更好理解。存储器中的每个小抽屉就是一个存储数据的 “单元”。当我们要存放数据 12(即 00001100)时,只需将第二号和第三号小格子存满电荷,其他小格子释放电荷即可。然而,一个存储器有多个单元,由于线是并联的,如果直接操作,放入电荷时会将电荷放入所有单元,释放电荷时会将每个单元的电荷都放掉,导致所有单元只能存放同一个数,这显然不符合我们的需求。因此,需要在结构上进行改进,在每个单元设置一个控制线。当要将数据放入某个单元时,给该单元的控制线发送一个信号,控制线会打开开关,使电荷能够自由流动;而其他单元控制线上没有信号,开关不会打开,不会受到影响。这样,通过控制不同单元的控制线,就可以向各单元写入不同的数据。同理,要从某个单元取数据时,只需打开相应的控制开关即可。
单片机存储器的译码
那么,如何控制各个单元的控制线呢?如果将每个单元的控制线都引出到集成电路外面,对于一片 27512 存储器,其中有 65536 个单元,这样集成电路就需要有 6 万多个引脚,显然不可行。因此,需要想办法减少线的数量,有一种方法叫做译码。一根线可以代表 2 种状态,2 根线可以代表 4 种状态,3 根线可以代表 8 种状态,那么表示 256 种状态需要 8 根线,所以表示 65536 种状态只需要 16 根线即可。
单片机存储器的选片概念
解决了译码问题后,我们再来看另一个问题。送入每个单元的八根线是从计算机接过来的,通常这八根线除了连接一个存储器外,还会连接其他器件。这样就会出现一个问题:如果总是将某个单元连接在这八根线上,当不同存储器单元的数值不同时,这八根线的电平状态就难以分辨。为了解决这个问题,当外面的线接到集成电路引脚后,不直接连接到各单元,而是在中间增加一组开关。平时开关处于打开状态,当需要向这个存储器写入数据或从存储器中读出数据时,再将开关接通。这组开关由三根引线控制,分别是读控制端、写控制端和片选端。要将数据写入片中时,先选中该片,然后发出写信号,开关合上,数据(电荷)就会被写入片中;要读取数据时,先选中该片,然后发出读信号,开关合上,数据就会被送出。读和写信号同时也会接入到另一个存储器,但由于片选端不同,即使有读或写信号,没有片选信号,另一个存储器也不会 “误会” 而打开,从而避免冲突。在设计好的系统中,不会同时选中两片芯片,因为这是由计算机控制的,如果出现同时选中两片的情况,那就是电路出现故障了,这里暂不讨论。
单片机的总线概念
从上述介绍可以看出,用来传递数据的八根线并非专用,而是多个器件共用的,我们将其称为数据总线,英文名为 BUS,就像公交车道,谁都可以使用。而十六根地址线也是连接在一起的,称为地址总线。