深度解析,单片机运行原理,你知道吗?
单片机是将中央处理单元(CPU)、储存器、输入输出集成在一片芯片上,可以说单片机就是一台微型计算机,只是和我们平常使用的计算机相比它的功能有所不同,也没有我们用的计算机那样强大。
计算机可以运行一个个应用,单片机可以按照工程师的编写可执行文件,实现各种各样的功能。那么,单片机是怎么知道要执行什么指令,做什么动作呢,我们的指令又是怎么被单片机识别呢?了解这个过程,可以加深对单片机的理解。
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……
锁存器
但是寄存器是怎么帮我们保存数据的呢?这就要锁存器(Latch)来帮助了,两个或非门组成了一个最简单的锁存器。
简单的说,这个单元记住了之前S端的输入1,直到我们把R端设为1,输出端Q才变回0。
然后在这个简单锁存器加上控制端G和一个输入端D就变成了D锁存器:
它有两个输入端,分别是一个信号控制G,一个输入数据信号D,一个输出Q。它的功能就是在G有效的时候把D的值传给Q,也就是锁存的过程。
触发器
把两个D锁存器结合到一起就成了D触发器(DATA flip-flop)。触发器也叫双稳态门,又称双稳态触发器,是一种可以在两种状态下运行的数字逻辑电路。
触发器一直保持它们的状态,直到它们收到输入脉冲,又称为触发。常见的触发器包括:RS 触发器、D 触发器和 JK触发器等,其中D触发器最为常用。
当锁存器-1控制G为有效信号时,D的输入传到到锁存器-2的输入,但是此时锁存器-2的控制信号不是有效的,所以锁存器-2的输出Q没有改变;当锁存器-1的控制G变为无效,锁存器-2的控制信号变为有效,锁存器-2的输出Q就改变了,也就是触发器的D输入传到了Q,并且D没有输入就一直不变。
时序电路
我们再来看看1—100的累加过程,如果寄存器-1和寄存器-2的存储速度不一样,或者运算单元取数不协调,也就是寄存器-2没来得及存储,或者寄存器-1还没取出下一个参与运算的数字,则此次的运算就会就会出错,又会影响到下一次的运算,这个影响会无限放大到之后的结果,并且单片机还有很多外设需要同步运行,这时就需要一个统一指挥来同步各个部分的行动,什么时候该做什么,做到哪一步了。
这个指挥就是时钟。时钟电路产生脉冲信号给电路,可以认为给一次脉冲信号,单片机各个部位就动一下,电路就刷新一下,这就做到了行动统一。前面的D锁存器,D触发器G输入端就是时钟脉冲信号输入,控制G输入信号,进而控制Q的输出,或者记住Q值。这是内存最初的样子。
到此,我们知道了寄存器就是一种时序逻辑电路,但这种时序逻辑电路只包含存储电路。寄存器的存储电路是由锁存器或触发器构成的,用来暂时存放参与运算的数据和运算结果。
一个锁存器或触发器能存储1位二进制数,所以由N个锁存器或触发器可以构成N位寄存器,一般有8位寄存器、16位寄存器等。它被广泛的用于各类数字系统和计算机中。
- 运行程序 -
有了前面的铺垫,我们来分析一下,代码从是怎么被单片机识别的,并转换成功能输出的。
首先工程师把代码逻辑写好,再编译成单片机的可执行程序,这个可执行程序实际上就是变成由0,1组成的按一定规律排列好的二进制数,再用烧录器写进单片机。
单片机内部就是由我们前面学的门电路的各种组合,门电路也由半导体器件构成,这些半导体PN结是一种特殊的熔丝。空白的单片机内部是矩阵排列的熔丝,在烧录过程,程序中0的地方就熔断,1的地方就导通。烧录好之后,单片机就有了逻辑功能。
执行程序过程:从程序存储区读取程序指令——分析指令——执行指令。
读取指令:就是根据程序计算器(PC)的地址取出相应的指令,送到指令寄存器。
分析指令:将指令寄存器中的指令操作码取出后进行译码,分析其指令性质。如指令是我们之前的加法运算中的取加数,则寻找加数的地址。
执行指令:无非是把一条二进制代码,转换成数字信号(高低电平),操作逻辑门电路,就像我们的加法器一样输入输出。把经过逻辑门运算的结果输出,把单片机的相关引脚电平输出高或低。
也就是单片机上电开机,单片机处于初始状态,可以认为初始状态中程序计算器(PC)就有了第一个指令地址,在时序电路作用下,送到指令寄存器,分析指令,执行指令,输出功能,如此循环。单片机就这样自动进入执行程序过程。
当然单片机运行的过程是很复杂的,这里只是个人简单的理解,总结。
从晶体管组合成逻辑电路,逻辑电路组合成单片机,再从单片机在到现在的计算机,超级计算机,是一个不断积累,不停进步的过程。想要你的人生也是这样的精彩过程吗,来找我领取入门资料,开启与导师的一对一互动,进入高阶学习,成就精彩人生。
走进跃迁 单片机的工作原理与典型应用分析
单片机由运算器、控制器、存储器、输入输出设备构成。那么单片机是如何工作的呢?原理是什么?大家一起来看看
单片机工作原理
单片机的工作原理与计算机CPU的工作原理是一样的,主要是利用片内的半导体存储器存放用户的程序和数据,单片机的核心中央微处理器CPU中有指令寄存器、指令译码器,程序计数器等部件,由程序计数器寻找下一条要执行的指令,找到后,将指令送给指令寄存器,再由指令译码器翻译执行该指令,完成对指令功能的操作。一句话:单片机的工作就是不断地取指令、分析指令、执行指令的循环过程。按预先编写的程序执行,以达到用户期待的结果。
单片机自动完成赋予它的任务的过程,也就是单片机执行程序的过程,即一条条执行的指令的过程,所谓指令就是把要求单片机执行的各种操作用的命令的形式写下来,这是在设计人员赋予它的指令系统所决定的,一条指令对应着一种基本操作;单片机所能执行的全部指令,就是该单片机的指令系统,不同种类的单片机,其指令系统亦不同。
为使单片机能自动完成某一特定任务,必须把要解决的问题编成一系列指令(这些指令必须是选定单片机能识别和执行的指令),这一系列指令的集合就成为程序,程序需要预先存放在具有存储功能的部件——存储器中。存储器由许多存储单元(最小的存储单位)组成,就像大楼房有许多房间组成一样,指令就存放在这些单元里,单元里的指令取出并执行就像大楼房的每个房间的被分配到了唯一一个房间号一样,每一个存储单元也必须被分配到唯一的地址号,该地址号称为存储单元的地址,这样只要知道了存储单元的地址,就可以找到这个存储单元,其中存储的指令就可以被取出,然后再被执行。
程序通常是顺序执行的,所以程序中的指令也是一条条顺序存放的,单片机在执行程序时要能把这些指令一条条取出并加以执行,必须有一个部件能追踪指令所在的地址,这一部件就是程序计数器PC(包含在CPU中),在开始执行程序时,给PC赋以程序中第一条指令所在的地址,然后取得每一条要执行的命令,PC在中的内容就会自动增加,增加量由本条指令长度决定,可能是1、2或3,以指向下一条指令的起始地址,保证指令顺序执行。
应用领域
1、医用设备领域
单片机在医疗设施及医用设备中的用途亦相当广泛,例如在医用呼吸机、各种分析仪、医疗监护仪、超声诊断设备及病床呼叫系统中都得到了实际应用。
2、商业营销设备
在商业营销系统中单片机已广泛应用于电子秤、收款机、条形码阅读器、IC卡刷卡机、出租车计价器以及仓储安全监测系统、商场保安系统、空气调节系统、冷冻保险系统等。
3、办公自动化设备
现在办公自动化设备中大多数嵌入了单片机控制核心。如打印机、复印机、传真机、绘图机、考勤机及电话等。通过单片机控制不但可以完成设备的基本功能,还可以实现与计算机之间的数据通信。
4、智能仪器
内部含有点片剂的仪器系统称为智能仪器,也称为微机化仪器。这类仪器大多采用单片机进行信息处理、控制及通信,与非智能化仪器相比,功能得到了强化,增加了诸如数据存储、故障诊断、联网集控等功能。以单片机作为核心组成智能仪器表已经是自动化仪表发展的一种趋势。
5、家用电器
单片机功能完善、体积小、价格廉、易于嵌入,非常适合于对家用电器的控制。嵌入单片机的家用电器实现了智能化,是传统型家用电器的更新换代,现已广泛应用于洗衣机、空调、电视机、视盘机、微波炉、电冰箱、电饭煲以及各种视听设备等。
6、汽车电子产品
现代汽车的集中显示系统、动力监测控制系统、自动驾驶系统、通信系统和运行监视器等装置中都离不开单片机。特别是采用现场总线的汽车控制系统中,以单片机担当核心的节点通过协调、高效的数据传送不仅完成了复杂的控制功能,而且简化了系统结构。
7、信息和通信产品
信息和通信产品的自动化和智能化程度很高,其中许多功能的完成都离不开单片机的参与。这里最具代表性和应用最广的产品就是移动通信设备,例如手机内的控制芯片就是属于专用型单片机。另外在计算机外部设备中,如键盘、打印机中也离不开单片机。新型单片机普遍具备通信接口,可以方便地和计算机进行数据通信,为计算机和网络设备之间提供连接服务创造了条件。
8、工业控制
工业自动化控制是最早采用单片机控制的领域之一,在测控系统、过程控制、机电一体化设备中主要利用单片机实现逻辑控制、数据采集、运算处理、数据通信等用途。单独使用单片机可以实现一些小规模的控制功能,作为底层检测、控制单元与上位计算机结合可以组成大规模工业自动化控制系统。特别在机电一体化技术中,单排年级的结构特点使其更容易发挥其集机械、微电子和计算机技术于一体的优势。
综上所述,单片机的工作过程实质上就是执行指令的过程,而执行指令可以分为三部分:取指令,译码分析指令和执行指令。随着时期的发展与高新科技的发展趋势,现阶段该技术性的实践活动运用日趋成熟期,单片机设计被运用于各行各业。
相关问答
单片机原理 及应用主要学什么?单片机原理:单片机由运算器、控制器、存储器、输入输出设备构成。单片机自动完成赋予它的任务的过程,也就是单片机执行程序的过程,即一条条执行的指令的过程...
单片机 控制器 原理 ?单片机原理是指一种在线式实时控制计算机的原理方式。在线式就是现场控制,需要的是有较强的抗干扰能力,较低的成本,这也是和离线式计算机(比如家用PC)的主要...
单片机 控制电路 原理 ?你好,单片机控制电路原理是指利用单片机作为控制核心,通过输入输出接口与外部电路相连接,实现对外部电路的控制和监测。其原理如下:1.单片机选择:根据实际...
微机 原理 与 单片机 哪个容易?区别在那里?1、微机原理就是计算机原理,一般地该课程及其书籍都会讲电脑硬件方面的知识,而其中或多或少会带有一些单片机方面的知识。要说学的话,微机原理容易学些。2、...
单片机 重启 原理 ?单片机复位的原理是,在时钟电路开始工作后,在单片机的RST复位引脚施加24个以上的时钟振荡脉冲的高电平,单片机便可以实现复位。当RST引脚从高电平跳变为低电...
STC 单片机 基本 原理 ?STC单片机是高速、低功耗、超强抗干扰的新一代8051单片机51单片机,指令代码完全兼容传统,内部集成MAX810专用复位电路。4路PWM8路高速10位A、D转换,常应用强...
基于 单片机 的电梯控制系统难不难做?基于单片机的电梯控制系统,其原理实现并不难,通过采集按键选择停留的楼层,单片机系统结合楼层信息,控制电动机转动,控制电梯停留在相应的楼层。电梯控制系统...
空调 单片机 控制 原理 ?空调的室内风机电机是反馈试调速电机,控制那3根线是连接单片机的,是转速信号,一般是霍尔原件,供电是连接电源,用可控硅调速。原理是这样的:电机启动后单...
单片机 信号输出 原理 ?单片机信号输出的原理主要涉及数字信号转换为模拟信号的过程。单片机产生的数字信号首先经过DAC(数字模拟转换器,如DAC0832)转换为模拟信号。这个模拟信号接着...
单片机 ttl 原理 ?ttl电路的工作原理ttl电路的工作原理比较复杂,需要结合工作图加以了解。ttl电路采用反相器,通常和非门组成电路结构:输入级,输出级,中间级。输入级是一个与...