历史上的今天
返回首页

历史上的今天

今天是:2024年11月19日(星期二)

正在发生

2018年11月19日 | 单片机执行程序的过程,加深对51单片机指令的理解

2018-11-19 来源:eefocus

 为了加深初学者对51单片机指令的理解,现在把指令执行的过程在此详细说明,希望对你有启发!


单片机执行程序的过程,实际上就是执行我们所编制程序的过程。即逐条指令的过程。计算机每执行一条指令都可分为三个阶段进行。即取指令-----分析指令-----执行指令。


取指令的任务是:根据程序计数器PC中的值从程序存储器读出现行指令,送到指令寄存器。


分析指令阶段的任务是:将指令寄存器中的指令操作码取出后进行译码,分析其指令性质。如指令要求操作数,则寻找操作数地址。


计算机执行程序的过程实际上就是逐条指令地重复上述操作过程,直至遇到停机指令可循环等待指令。


一般计算机进行工作时,首先要通过外部设备把程序和数据通过输入接口电路和数据总线送入到存储器,然后逐条取出执行。但单片机中的程序一般事先我们都已通过写入器固化在片内或片外程序存储器中。因而一开机即可执行指令。


下面我们将举个实例来说明指令的执行过程:


开机时,程序计算器PC变为0000H。然后单片机在时序电路作用下自动进入执行程序过程。执行过程实际上就是取出指令(取出存储器中事先存放的指令阶段)和执行指令(分析和执行指令)的循环过程。


例如执行指令:MOV A,#0E0H,其机器码为“74H E0H”,该指令的功能是把操作数E0H送入累加器,0000H单元中已存放74H,0001H单元中已存放E0H。当单片机开始运行时,首先是进入取指阶段,其次序是:


1 程序计数器的内容(这时是0000H)送到地址寄存器;


2 程序计数器的内容自动加1(变为0001H);


3 地址寄存器的内容(0000H)通过内部地址总线送到存储器,以存储器中地址译码电跟,使地址为0000H的单元被选中;


4 CPU使读控制线有效;


5 在读命令控制下被选中存储器单元的内容(此时应为74H)送到内部数据总线上,因为是取指阶段,所以该内容通过数据总线被送到指令寄存器。至此,取指阶段完成,进入译码分析和执行指令阶段。


由于本次进入指令寄存器中的内容是74H(操作码),以译码器译码后单片机就会知道该指令是要将一个数送到A累加器,而该数是在这个代码的下一个存储单元。所以,执行该指令还必须把数据(E0H)从存储器中取出送到CPU,即还要在存储器中取第二个字节。其过程

与取指阶段很相似,只是此时PC已为0001H。指令译码器结合时序部件,产生74H操作码的微操作系列,使数字E0H从0001H单元取出。因为指令是要求把取得的数送到A累加器,所以取出的数字经内部数据总线进入A累加器,而不是进入指令寄存器。至此,一条指令的执行完毕。单片机中PC="0002H",PC在CPU每次向存储器取指或取数时自动加1,单片机又进入下一取指阶段。这一过程一直重复下去,直至收到暂停指令或循环等待指令暂停。CPU就是这样一条一条地执行指令,完成所有规定的功能。


推荐阅读

史海拾趣

Ametherm公司的发展小趣事

随着技术的不断进步,Ametherm公司始终保持着对技术创新的追求。他们不断研发新的材料、优化生产工艺,以提高产品的性能和稳定性。同时,公司还密切关注市场需求的变化,根据客户需求进行产品升级和改进。这些努力使得Ametherm的功率热敏电阻在行业中逐渐脱颖而出,赢得了客户的信赖和好评。

Dynastream公司的发展小趣事

Dynastream公司成立于1998年,当时正值科技飞速发展的年代。创始人凭借其敏锐的市场洞察力和对技术的深厚理解,决定专注于个人监视传感器和运动分析领域的研究与开发。在创业初期,公司面临资金短缺、人才匮乏等种种困难,但团队凭借着对技术的热情和不懈的努力,成功研发出了第一代产品,并在市场上引起了广泛关注。

Chipcera Technology Co Ltd公司的发展小趣事

人才是企业发展的核心动力。为了保持技术领先地位和市场竞争力,Chipcera高度重视人才引进和团队建设。公司积极招聘具有丰富经验和专业技能的人才,并为员工提供良好的工作环境和发展空间。同时,公司还定期组织各种培训和学习活动,提升员工的专业素养和创新能力。这些措施使得Chipcera的团队更加团结、高效,为公司的持续发展提供了有力保障。

Federal Custom Cable公司的发展小趣事

随着电子行业的快速发展,电缆产品的技术要求也越来越高。Federal Custom Cable不断引进先进的生产设备和技术,提升电缆产品的性能和质量。公司注重研发创新,投入大量资金用于新产品开发和工艺改进。这些努力使得Federal Custom Cable的电缆产品逐渐在行业内树立了高品质、高性能的形象。

Corsair Electrical Connectors Inc公司的发展小趣事

随着市场的不断发展,Corsair意识到只有不断创新才能在竞争中立于不败之地。因此,公司加大了对研发的投入,积极引进先进技术和设备,不断提升产品的性能和质量。在一次次的尝试和失败后,Corsair的研发团队终于突破了行业技术瓶颈,成功开发出了一款具有高性能、高稳定性的连接器产品。这一创新成果不仅赢得了客户的青睐,也为公司在行业中树立了良好的口碑。

Barnbrook Systems Limited公司的发展小趣事

为了保持技术上的领先地位,Barnbrook积极寻求与高校、研究机构的合作。通过与这些机构的深入合作,Barnbrook不仅获得了最新的科研成果和人才支持,还成功研发出了一系列具有创新性的电子产品。这些产品不仅提升了公司的技术实力,也为公司的长期发展注入了新的活力。

问答坊 | AI 解惑

《数字信号处理》习题解答

《数字信号处理》习题解答 奥本海姆的《数字信号处理》的习题解答。…

查看全部问答>

芯片是怎样被搞坏的?

芯片会损坏,这是不争的事实。至于损坏的原因,大致有两个方面,一是内因——芯片工艺缺陷;二是外因——使用不当。下面两个例子,都是在工厂里形成的故障,属于芯片或机器的固有缺陷,照理说,都是应该召回的。 【制作环境潮湿,芯片爆米花】 ...…

查看全部问答>

原理图更新PCB时的错误提醒

在生成更改后 出现的错误 我不知道这个提醒是什么意思  望大家指导 谢谢…

查看全部问答>

bulkusb问题,急.

我想请问一下有兄弟用DDK自带的bulkusb这个例子吗? 我编译安装后提示的是一个感叹号,无法正确安装. 不知道为什么编译后无法正确安装呢? 急啊,兄弟们. 谢谢…

查看全部问答>

触摸屏的有效范围

完成触摸屏校准后,发现屏幕右边和下面大概2-3厘米的范围点击触摸没有反应,其它地方正常。不知道如何入手,请大家提点一下。发现我的wince6.0校准程序的上下左右四个校准点比wince5.0下的校准点要更靠近中心点2-3厘米。不知道是不是Wince6.0的校准 ...…

查看全部问答>

恭喜一下STM8S

今天有个EP868购买用户,弃用MCP,全面改用STM8S。 我免费送了STM8S仿真功能,不过貌似客户不太领情,呵呵。 看来都是ST-Link做开路先锋呀。…

查看全部问答>

TMS320C2801的eCAP功能可以捕获PWM的脉冲个数吗?

查看了TMS320C2801的eCAP功能手册和相关样例,介绍的都是利用该捕获功能进行脉冲周期的测量,而没有对脉冲个数的测量,请问:该功能模块可以现实对脉冲个数的捕获吗? 本人是初学者,请高手们指点一下,最好可以提供一个样例程序,非常感谢!!!…

查看全部问答>

2011_MCU_Day_-_20个城市巡回_火热报名中

自MSP430系列单片机99年进入中国市场以来,以其超低功耗,高性能深得广大工程师青睐。 2011年MCU DAY研讨会我们更注重MCU技术前沿,重点对value line,low voltage MCU以及FRAM MCU等新技术进行研讨。研讨会共巡回20个城市,以16位超低功耗MSP430 ...…

查看全部问答>

低功耗DSP处理器的设计

       在信息日益成为一种重要资源的今天,强大的市场需求和微电子技术的发展促成了便携式电子系统的飞速发展。这些便携式电子设备,不但对速度和面积要求非常高,而且对系统的平均功耗要求也很严格,使功耗问题日渐成 ...…

查看全部问答>

RF功率测量系统 设计完成

RF功率测量系统,初步完工   以下是源程序、电路图和PCB文件。   程序有两个版本的分别是3.2寸TFT驱动为ILI9320、2.8寸TFT驱动为ST7783。   其中3.2寸的程序不完整,由于该屏过大,安装失败,实现功能全部在2.8寸上。3.2寸只 ...…

查看全部问答>