51单片机的内部结构和程序执行过程解析

发布时间:2023-09-05  

注:

1.ROM:只读存储器,单片机的只读存储区大多用于存储程序固又称程序存储器。


51单片机是EPROM,所谓的EPROM是可擦除的只读存储器。可以把原来的程序擦除了,再写一个新的进去。


断电后是可以保存的,数据存储器(RAM)是不能保存的。

51单片机的内部结构和程序执行过程解析

RAM只能在程序执行的时候不断地重新存储定义的变量。如int x,int y

可以通过code这个指令来将定义的变量放在ROM,而不是RAM中,节省RAM资源

2.RAM:随机存取存储器,用于存储定义的变量等,速度快

51单片机的RAM存储容量远小于ROM,但是速度非常之快

内部详细图示

51单片机的内部结构和程序执行过程解析

内部的结构看似十分复杂,但是大致上可以分为两个部分:运算器(红色框)和控制器(蓝色框)。

运算器:主要作用是进行加减乘除和逻辑运算

内部的结构可以上网查询

控制器:控制单片机的各种操作

程序执行过程

1.程序地址

程序开始的时候,要先知道第一条程序的地址,这个通过PC(程序计数器)知道。

比如刚开始的时候地址是0000H,这个是16进制的。

当这个地址送给地址寄存器后,即取出第一条指令后,PC自动加1,准备取出下一条指令。

51单片机的内部结构和程序执行过程解析

2.程度读取

地址寄存器知道指令的地址后,就从ROM(只读存储器)里面取出地址所指向的一条指令。

并把取出来的指令放到指令寄存器中,经过指令编码器编译

51单片机的内部结构和程序执行过程解析

3.数据处理

指令有可能要用到加减乘除和赋值语句的判断。经过指令编码器,就知道要取出那些定义的数据或者哪些赋值语句。

通过总线来调取我们要用到的数据。并通过运算器来运算。

51单片机的内部结构和程序执行过程解析

比如说我们定义了int x和int y,这两个数据放在RAM中。

当我们取出了一个a = x + y 的指令后,需要x和y的值来计算。

那么通过上一张图的取数据的过程后取出了x和y的数据

通过运算器来运算。

51单片机的内部结构和程序执行过程解析

如图,取出x和y进入黑色框(运算器)中来的到最终结果

最终的结果还会通过a这个变量存储在数据存储器(RAM)中

4.操作器件

当然,除了计算这种步骤外,还有一种情况就是来直接控制IO口的高低电平或者其他的器件了。

51单片机的内部结构和程序执行过程解析

文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    很多人也被计算机的“快”搞晕了。但是编程或分析程序时,完全可以认为计算机执行一条条指令时,就像我们人走步一样有条不紊。实际上AT89C2051单片机确实可以慢慢地运行,1秒钟甚至更长时间才执行l条指令,就像......
    单片机执行程序的全过程介绍;单片机执行程序的过程,实际上就是执行我们所编制程序的过程。即逐条指令的过程。计算机每执行一条指令都可分为三个阶段进行。即取指令-----分析指令-----执行......
    用c语言编写单片机流水灯程序详解;用C语言编写的单片机流水灯程序的软件和硬件,可以让八个LED轮流点亮,每个灯点亮和熄灭时间均为1秒。是利用单片机I/O口控制外部设备的简单例子。当然,在你掌握了本程序......
    如何用用C语言编写的单片机来控制流水灯;用C语言编写的单片机流水灯程序的软件和硬件,可以让八个LED轮流点亮,每个灯点亮和熄灭时间均为1秒。是利用单片机I/O口控制外部设备的简单例子。当然,在你掌握了本程序......
    函数调用通过R0-R7和栈来实现。   为什么单片机启动时,不需要用bootloader将代码从ROM搬移到RAM,而ARM则需要。这里我们可以先看看单片机程序执行的过程,单片机执行分三个步骤,取执行......
    个地址单元被保留用于某些特定地址 问题:单片机复位后,程序计数器PC的内容为0000H,即系统从0000H单元开始执行程序。然而,由于0003H单元被保留,不能存放用户程序。我们怎么存放大量的程序......
    ,从外部执行程序);ALE、PSEN引脚悬空即可。 (5)其他32个引脚为单片机的输入输出接口。 3.晶振电路 晶振电路是单片机的时钟源,为单片机提供执行程序的基准源,它的周期决定了单片机执行程序......
    工作方式即称为扫描方式,它将串行程序工作和电器并行工作两种关系协调了起来。另外,单片机执行一条指令的时间是μs级,执行一个扫描周期的时间为几ms乃至几十ms。相对于电器的动作时间而言,扫描周期是短暂的,可以......
    计数器PC、堆栈指针SP等。这里程序计数器PC是由16位寄存器构成的计数器。要单片机执行一个程序,就必须把该程序按顺序预先装入存储器ROM的某个区域。单片机动作时应按顺序一条条取出指令来加以执行。因此,必须......
    器、地址指针DPTR及程序计数器PC、堆栈指针SP等。这里程序计数器PC是由16位寄存器构成的计数器。要单片机执行一个程序,就必须把该程序按顺序预先装入存储器ROM的某个区域。单片机动作时应按顺序一条条取出指令来加以执行......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>