单片机应用在各个领域的各种设备中,并在每种设备中扮演着各种角色。但是,在所有情况下,单片机的基本操作都是通用的,可以将其大致分为以下三种类型。
单片机首先按顺序读取(1)用户编写的程序中编写的指令。然后,(2)执行读取指令。最后,(3)将执行结果输出到单片机外部。输出例如是显示、发射红外信号、捕获按钮信息、测量时间以及与外围IC通信。
单片机通过重复这三个基本操作来执行各种复杂的处理。
一、单片机的内部主要由三个模块组成
那么,单片机实现这些操作的机制是什么?粗略分类时,单片机具有三个功能块:“内存”,“ CPU”和“外围电路”,这三个功能块共同工作以实现三个基本操作。
让我们依次看一下三个基本操作。首先,(1)为了执行程序,你必须将程序放在单片机中的某个位置。内存起“程序存储”的作用。用户必须在使用单片机之前将程序写入存储器。
单片机启动后,(2)执行从该程序读取的指令的功能块是CPU。CPU可以一次执行一个简单的程序,但是在程序内容复杂的计算中,可能需要在计算过程中临时存储数据。在这里,存储器用作“数据的临时存储”。
最后,(3)外围电路负责将执行结果输出到外部的操作。尽管它取决于单片机的类型,但是在CPU周围集成了一些执行特定功能(例如红外线、按钮信息、时间测量以及与通信相关的处理)的单独电路块。
如下图所示,总结了以上描述。我对其进行了相当多的总结,并通过三个大型功能块来表示单片机的内部。
指令和数据在存储器和CPU之间交换。有关程序执行结果的信息在CPU和外围电路之间来回发送。外围电路起着与单片机外部接口的作用。“总线”用于在块之间传输大量数据。
存储器实际上分为几种类型。闪存和EEPROM(还有许多其他类型,因此我将在系列中再次介绍它们)的目的是不写入数据,然后经常重写数据包含少量程序。另一方面,CPU计算数据经常被重写。这样的数据存储在称为RAM(随机存取存储器)的存储器中。
详细查看上图时会发现,CPU也由几个块组成。主要分为三类:“ALU(算术和逻辑单元)”,“寄存器”和“移位器”。ALU负责算术和逻辑运算。移位器用于移位(移位)数据和旋转(循环)数据。寄存器用于在计算之前临时存储从内存中获取的数据。
如前所述,外围电路有各种类型,并且所安装的外围电路根据单片机的类型而不同。在图2中,以通信功能,模拟功能和计时器为例列出。有各种符合各种标准的通信功能,典型的是SPI,USART和I2C。除了这些,还有每个人都熟悉的纯音频I2S和USB。
作为模拟功能,可以使用将模拟信号转换为数字数据的AD转换器和将数字数据转换为模拟信号的DA转换器。另一个模拟功能是一个比较器,用于比较两个模拟信号的幅度。
计时器的基本功能是测量时间很简单。但是,高性能计时器可能具有输入捕捉,触发和PWM输出功能。
二、单片机实际上如何运作?
接下来,让我们按照实际使用单片机的过程来了解这些功能的工作原理。
这里,“使用单片机”是指从用户创建程序到与单片机的外部交换诸如数据之类的信息的过程。
每个部分(内存,CPU,外围电路)的详细信息将在后面说明。
参考下图。使用该图时,将按照单片机的操作步骤(1)→(2)→(3)→(4)→(5)→(6)→(7)粗略地解释每个部分的工作。
(1)编写程序
用户使用PC来创建与他或她希望单片机执行的工作相对应的程序。
(2)将程序放入单片机的ROM中
将完成的程序写入ROM(这也可以在PC上完成)。
(3)CPU开始运行
当你打开单片机的电源时,CPU将开始运行。CPU从写入ROM的程序中读取指令,然后按顺序执行它们。
(4)进行计算
ALU执行算术和逻辑运算以及数据传输。移位器处理移位数据的操作。
(5)临时存储数据
如果需要在算术处理过程中临时存储数据,请将其存储在RAM或寄存器中。RAM可以存储大量数据。数据量少时使用寄存器。
(6)外围电路说明
CPU向外围电路发出工作指令。
(7)CPU-外围电路-外部电路
与单片机外部外围电路交换的数据与CPU交换。
以上就是英锐恩单片机开发工程师分享的有关单片机的内部各个模块的工作方式。英锐恩专注单片机应用方案设计与开发,提供8位单片机、16位单片机、32位单片机、运放芯片和模拟开关。