首页>>科技 >>内容

单片机工作原理图,单片机工作原理详解

发布时间:2023-10-04 14:38:11编辑:温柔的背包来源:

很多朋友对单片机工作原理图,单片机工作原理详解不是很了解,每日小编刚好整理了这方面的知识,今天就来带大家一探究竟。

单片机工作原理图,单片机工作原理详解

单片机将中央处理单元(CPU)、存储器、输入和输出集成在一个芯片上。可以说,单片机就是微型计算机,但是它的功能与我们平时使用的计算机不同,而且没有我们平时使用的计算机那么好用。计算机同样强大。

计算机可以一一运行应用程序,单片机可以根据工程师的指令编写可执行文件,实现各种功能。那么,单片机如何知道要执行什么指令、采取什么动作,以及我们的指令是如何被单片机识别的呢?了解这个过程可以加深你对单片机的理解。

中央处理器

首先我们先从CPU的组成说起。 CPU由晶体管组成,晶体管是半导体器件。例如,二极管是最常见的半导体器件。电流只能从正极流向负极,反向被阻止。

晶体管通过各种组合形成门电路:与门、或门、非门、异或门等。门电路又称逻辑门,是数字电路的基础。共门电路及其真值表:

让我们了解一下与门电路:

与门电路可以想象为控制灯泡的两个串联开关。只有当两个开关同时闭合时,灯泡才会点亮。开关代表晶体管的通断,灯泡的点亮和熄灭代表电路输出的高低电平。

其他门电路也是由各种晶体管组成,具有不同的输入和不同的输出,形成各种功能。各种门电路通过复杂的组合就成为CPU。然后利用CPU完成各种复杂的计算。

加法器

有了CPU,我们用它来算一道小学生的算术题,1+1=2,看看它是怎么计算的。我们从一个简单的加法器开始,它由一个半加器组成。

半加器

半加器由与门和异或门组成。无论低位进位的进位值是多少,都只有两个输入和两个输出。

1+1=2,2用二进制表示为0010。半加器中:异或门输入不同电平(不同时高或低),输出为高,即1+0或0+1,输出为1。当两个输入都为1时,输出为0。与门的输出为1,即进位。可以抽象成一个黑盒子:

全加器

一个全加器可以由两个半加器组成:

当多个数字相加时,可以使用半加器将最低数字相加并给出进位数。第二位的加法有两个要相加的数(B和进位CO),以及前一个低位发送的进位数(A)。将这三个数字相加得到根数和(全和)和进位数字。也可以抽象为:

这个黑盒子是一个函数,输入两个加数,进行加法运算,然后输出和。

如果要计算多个数字的加法,则需要多个全加器和其他门电路组合成更复杂的加法器。减法运算可以分解为加法运算:

减法:10 - 5=10 + (-5),必须通过求逆、求补等运算来完成。

其他算子也是由相关门电路组成,这里不再展开相关知识。

从加法器不难推断出,CPU的操作就是各种门电路的高低电平输入和输出。高电平为1,低电平为0。我们普通的十进制数转换成二进制数进行输入输出。二进制数。

登记

两个数的加法是通过全加器的组合来完成的。如果是多个数字相加怎么办?比如1+2+3+4+5+.+100,怎么完成呢?

按照我们的计算流程看这道题,我们先取出前两个数相加,然后将得到的和与第三个数相加,然后加到100,然后转换到单片机就完成了它。然后我们需要将所有相加的和放在一个内存中,以便每次加法时都可以检索,并且保存每次相加的和以供下次加法时使用。这是使用寄存器的地方。

寄存器1 存储从1 到100 的数字,寄存器2 存储每次加法的结果。计算1-100的加法。寄存器2的初始值为0。将寄存器1中的数字依次与寄存器2中的结果相加:

1+0=1,

2+1=3,

3+3=6,

4+6=10……

闩锁

但是寄存器是如何帮助我们保存数据的呢?这需要闩锁的帮助。两个或非门构成最简单的锁存器。

简单来说,本机记住了之前在S端子处输入的1。直到我们将R 端设置为1,输出端Q 才变回0。

然后给这个简单的锁存器加上一个控制端G和一个输入端D就变成了一个D锁存器:

它有两个输入端,一个用于信号控制G,一个用于输入数据信号D,一个用于输出Q。其作用是在G有效时将D的值传送到Q,即锁存过程。

扳机

将两个D锁存器组合在一起就成为D触发器(DATA触发器)。触发器,也称为双稳态门,是一种可以在两种状态下工作的数字逻辑电路。

触发器保持其状态直到收到输入脉冲(也称为触发)。常见的触发器有:RS触发器、D触发器、JK触发器等,其中D触发器最为常用。

当latch-1控制G为有效信号时,D的输入被传递到latch-2的输入,但此时latch-2的控制信号无效,因此latch-2 Q的输出还没有改变了;当latch-1的控制G无效,latch-2的控制信号有效时,latch-2的输出Q发生变化,即触发器的D输入传给Q,D保持不变无需输入。

时序电路

我们看一下从1到100的累加过程,如果register-1和register-2的存储速度不同,或者运算单元的访问不协调,即register-2还没有来得及存储,或register-1尚未取出。如果计算中涉及到一个数字,那么当前的计算就会出错,并且会影响下一步的计算。这种影响会无限放大到后续的结果,而且单片机还有很多需要同步运行的外设。这时候就需要一个统一的命令来同步各部分的动作,什么时候做什么,已经做到哪一步了。

这个导体就是时钟。时钟电路产生脉冲信号给电路。可以认为,当给定一个脉冲信号时,单片机各部分就会动作,电路就会被刷新。这样就实现了统一行动。前面的D锁存器和D触发器G输入端是时钟脉冲信号输入,控制G输入信号,进而控制Q输出,或者记住Q值。这就是记忆最初的样子。

至此,我们知道寄存器是一个时序逻辑电路,但是这个时序逻辑电路只包含存储电路。寄存器的存储电路由锁存器或触发器组成,用于暂时存储运算中涉及的数据和运算结果。

一个锁存器或触发器可以存储1位二进制数,因此N个锁存器或触发器可以组成一个N位寄存器,一般为8位寄存器、16位寄存器等,广泛应用于各种数字系统中和电脑。

运行程序

有了前面的铺垫,我们来分析一下代码是如何被单片机识别并转换成功能输出的。

首先,工程师编写代码逻辑,然后将其编译成微控制器的可执行程序。这个可执行程序实际上就是把0和1按照一定的规则排列组成的二进制数,然后用编程器写入到单片机中。

微控制器的内部是由我们之前学过的门电路的各种组合组成的。门电路也由半导体器件构成。这些半导体PN结是特殊的保险丝。空白微控制器内部有呈矩阵排列的保险丝。烧录过程中,程序中的0被烧断,1被打开。编程后,单片机具有逻辑功能。

程序执行过程:从程序存储区——读取程序指令,分析指令——执行指令。

读指令:根据程序计算器(PC)的地址取出相应的指令并发送给指令寄存器。

分析指令:取出指令寄存器中的指令操作码并解码,分析其指令属性。如果我们之前的加法运算指令是获取加数,则找到加数的地址。

执行指令:无非是将二进制代码转换成数字信号(高低电平),操作逻辑门电路,像我们的加法器一样进行输入输出。输出逻辑门运算的结果,并输出单片机的相关引脚电平高或低。

也就是说,当单片机上电启动时,单片机处于初始状态。可以认为程序计算器(PC)在初始状态下具有第一指令地址。在时序电路的作用下,送入指令寄存器,解析指令,执行指令,输出函数,如此循环。单片机自动进入执行过程。

当然,运行微控制器的过程是非常复杂的。这里只是我的简单理解和总结。

从晶体管组合成逻辑电路,逻辑电路组合成单片机,再从单片机到现在的计算机、超级计算机,是一个不断积累和进步的过程。你希望你的人生有这样一个美妙的过程吗?来找我接收信息,开始与导师一对一互动,进入高级学习,成就精彩人生。

以上知识分享希望能够帮助到大家!