本系列连载着重解读述嵌入式系统开发之基础知识。这一类技术要点是软硬件技术人才都需共同掌握的核心技能。拥有了电子电路及数字电路的基础,嵌入式系统的关键元素——单片机,便可进行深入研究。在此,我们将对单片机的基础知识进行全面介绍。
在单片机的入门教学里,我们将首先探讨其基本构造与工作原理,以及其外围功能电路的运作方式。随后,我们将通过实践操作,体验单片机的实际运行过程。
单片机——电子产品的“大脑”
在现代社会,无论我们生活的哪一角落,都能看到单片机的身影。例如,我们的手机、电视、冰箱、洗衣机以及那些儿童玩具,只要一按下开关,LED就会闪烁。那么,在这些电器中,单片机究竟扮演了怎样的角色呢?
单片机是这些电器动作的指挥官,它控制着硬件的运行。例如,它会接收按钮或按键的输入信号,然后根据事先编写好的程序,指挥马达和LCD的外围功能电路进行相应的动作。
单片机的构造
那么,究竟什么是单片机呢?(见图1)它是由CPU、内存以及各种外围功能模块构成的。如果将单片机比作一个生命体,那么CPU便是思考的核心,内存负责存储信息,而外围功能模块则相当于感知外界的感官系统和控制身体各部分行动的系统。
(图1:单片机的构成示意图)
虽然CPU的作用仿佛人类的大脑,但它并不具备人类的自主思考能力。CPU只能依次读取并执行预先存储在内存中的指令序列(程序)。这些指令并不是像“走路”、“说话”那样复杂的命令,而是执行一些简单的操作,如从内存的某处“读取数据”,或将数据“写入”内存的某处,进行加法、乘法以及逻辑运算等。这些简单操作的组合却能够实现复杂的功能。
CPU的工作原理
让我们更深入地了解CPU的作用和构造。(见图2)
(图2:CPU的工作原理图)
程序计数器
当CPU读取指令时,它需要知道要执行的指令保存在内存的什么位置。这个位置信息被称为地址,类似于家庭住址。程序计数器(PC)就是一个存储这些地址信息的寄存器。通常,PC的设计是按1递增的。也就是说,当CPU执行了地址0000中的指令后,PC会自动加1,变为0001地址。每执行一条指令,PC都会自动递增,指向下一条指令的地址。PC决定了程序执行的顺序。
指令解码电路
指令解码电路的任务是解读从内存中读取的指令的含义。运算电路是根据解码结果进行操作的。具体来说,指令解码电路的工作原理类似于我们在“数字电路基础”课程中学过的解码电路。虽然电路结构稍显复杂,但它的工作原理就是从被符号化(加密)的指令中还原出指令的真实含义。
运算电路
运算电路也被称为算术逻辑单元(ALU),它是完成各种运算的电路。它可以执行加法、乘法等算术运算,也可以执行AND、OR、BIT-SHIFT等逻辑运算。这些运算是在指令解码电路的控制下进行的。通常,运算电路的结构较为复杂。
CPU内部寄存器
CPU内部寄存器是用于存储临时信息的场所。这里有存储运算值和运算结果的通用寄存器,也有一些特殊寄存器,如存储运算标志的标志寄存器等。在运算电路进行运算时,它并不是直接在内存中进行运算的,而是先将内存中的数据复制到通用寄存器中,然后在通用寄存器中进行运算。