考试&面试必备 | 单片机基本结构详解

关于单片机的应用领域,相必大家以相当的熟悉了,达到航空航天,小到个人的穿戴设备、电动玩具,都离不开单片机的影子,如果没有单片机,我的现在炒的火热的物联网、AI也无从说起。对于大多数人而言,知道单片机的应用领域,已经足够,但对于我们开发人员来说,了解其结构组成与原理是必不可少的。

 

什么是单片机?

 

单片机是典型的嵌入式微控制器MCU,由运算器,控制器,存储器,输入输出设备等构成,相当于一个微型的计算机。

 

与应用在个人电脑中的通用型微处理器相比,它更强调自供应(不用外接硬件)和节约成本。它的最大优点是体积小,可放在仪表内部,但存储量小,输入输出接口简单,功能较低。由于其发展非常迅速,旧的单片机的定义已不能满足,所以在很多应用场合被称为范围更广的微控制器

 

单片机的基本结构

 

运算器

 

运算器由运算部件——算术逻辑单元(简称ALU)、累加器和寄存器等几部分组成。ALU的作用是把传来的数据进行算术或逻辑运算,输入来源为两个8位数据,分别来自累加器和数据寄存器。

 

ALU能完成对这两个数据进行加、减、与、或、比较大小等操作,最后将结果存入累加器。例如,两个数67相加,在相加之前,操作数6放在累加器中,7放在数据寄存器中,当执行加法指令时,ALU即把两个数相加并把结果13存入累加器,取代累加器原来的内容6

 

  运算器有两个功能:

 

   执行各种算术运算。

 

  执行各种逻辑运算,并进行逻辑测试,如零值测试或两个值的比较。

 

  

 控制器

 

  控制器由程序计数器、指令寄存器、指令译码器、时序发生器和操作控制器等组成,是发布命令的决策机构,即协调和指挥整个微机系统的操作。其主要功能有:

 

   从内存中取出一条指令,并指出下一条指令在内存中的位置。

 

   对指令进行译码和测试,并产生相应的操作控制信号,以便于执行规定的动作。

   指挥并控制CPU、内存和输入输出设备之间数据流动的方向。

 

  微处理器内通过内部总线把ALU、计数器、寄存器和控制部分互联,并通过外部总线与外部的存储器、输入输出接口电路联接。外部总线又称为系统总线,分为数据总线DB、地址总线AB和控制总线CB。通过输入输出接口电路,实现与各种外围设备连接。

 

主要寄存器

 

累加器A

 

  累加器A是微处理器中使用最频繁的寄存器。在算术和逻辑运算时它有双功能:运算前,用于保存一个操作数;运算后,用于保存所得的和、差或逻辑运算结果。

 

  数据寄存器DR

 

  数据寄存器通过数据总线向存储器和输入/输出设备送()或取()数据的暂存单元。它可以保存一条正在译码的指令,也可以保存正在送往存储器中存储的一个数据字节等等。

 

  指令寄存器IR和指令译码器ID

 

  指令包括操作码和操作数。

 

  指令寄存器是用来保存当前正在执行的一条指令。当执行一条指令时,先把它从内存中取到数据寄存器中,然后再传送到指令寄存器。当系统执行给定的指令时,必须对操作码进行译码,以确定所要求的操作,指令译码器就是负责这项工作的。其中,指令寄存器中操作码字段的输出就是指令译码器的输入。

 

程序计数器PC

 

  PC用于确定下一条指令的地址,以保证程序能够连续地执行下去,因此通常又被称为指令地址计数器。在程序开始执行前必须将程序的第一条指令的内存单元地址(即程序的首地址)送入PC,使它总是指向下一条要执行指令的地址。

 

地址寄存器AR

 

  地址寄存器用于保存当前CPU所要访问的内存单元或I/O设备的地址。由于内存与CPU之间存在着速度上的差异,所以必须使用地址寄存器来保持地址信息,直到内存读/写操作完成为止。

 

  显然,当CPU向存储器存数据、CPU从内存取数据和CPU从内存读出指令时,都要用到地址寄存器和数据寄存器。同样,如果把外围设备的地址作为内存地址单元来看的话,那么当CPU和外围设备交换信息时,也需要用到地址寄存器和数据寄存器。

the end

评论(0)